机の横に棚が欲しかったけど、ちょうどいいのがないので作った。

机の横に防湿庫を置いていて、その上のスペースがあいている感じだったので、

  • 机の高さにあわせるため、防湿庫に1段作る
  • その上に載るように棚をつくる

という感じでやった。どちらも 1x8材 で作った。

高さをあわせる用のやつは 1x8 6 feet のものを自分でノコギリで切って作った。だいぶヘタクソな感じだけど、寸法的にはちょうどのものが作れた。事前に設計図的なのを書かず、場当たり的に作ってしまった

その上にのっける棚は 1x8 12feet の板から全部の板をとったけど、こちらはホームセンターでカットしてもらった。一旦 SketchUp でモデリングしてから、必要なサイズを事前に計算したので比較的スムーズに発注・組み立てができた。

組み立てはコーススレッドをぶちコムだけなので、と思っていたけどトルク強すぎて板が割れたり結構大変だった。サイズをぴったりにはならないので鉋か荒いヤスリが必要だなーとか、店頭で良く見てから買わないとかなり反った材料を買ってしまうなーとか、気付きはいろいろあった。

あとは 120 -> 240 でやすりをかけて、ニスをひたすら塗るだけだけど、どう考えてもこの一連の作業が一番辛い。ただ手を抜くと悲しい感じではあるのでわりと頑張った。

一連の作業を行うと翌日激しい筋肉痛になる。金で解決できるなら金で解決するほうが安いというこのご時世ではありますが、たまに DIY をやると、いろいろ気付くことや思うことがあるし、物理的に形あるものを作るのも、ヘタクソではありつつも愛着が沸いておもしろいものであります。




  1. トップ
  2. ham
  3. 週末 DIY

ディスクユーティリティを使って FAT でフォーマッットをすると、フォーマットしようとしているディスクが2G未満だと自動的に FAT16 になってしまうようだ。

世の中にはFAT32だけをサポートするという変わったシステムもあるので、そのような環境において 2GB 未満のメディアを使おうとすると、これは困る。しかし以下のように diskutil コマンドからならば普通にフォーマットをかけられる。

$ diskutil list
# /dev/disk2 とか、フォーマットしたいディスクをよくよく確認する
$ diskutil partitionDisk /dev/{{disk}} 1 MBRFormat "MS-DOS FAT32" SD 100%
  1. トップ
  2. tech
  3. Mac で強制的に FAT32 でフォーマットする

超薄型 1Gsサンプリング100MHzFFT機能付カラーポータブルデジタルオシロスコープフルセット SDS7102 -

5.0 / 5.0

OWON SDS7102 というのを買った。OWON は中国の測定器メーカーで、かなり安いオシロスコープを出しているけど、ググったりしてみると割と評判が良く、英語圏でも使ってみたりハックしたりしている記事がヒットする。

オシロスコープの選定基準は主に

  • 帯域
  • サンプリングレート
  • チャンネル数

があるけど、買ったモデルは、帯域 100MHz、サンプリングレート1G samples/sec、2ch のもので、中堅クラスぐらいのもの。帯域が100MHz でも、矩形波にすると25MHz程度までしか観測できないので、マイコンプログラミング程度でもこれぐらいのスペックが必要になり、なかなか厳しいものがある。デジタル回路を見る場合2chは必要…

これ以上のスペックものは正直高すぎて手が出ない。購入価格は正規代理店経由のもので 52000円ぐらい。円安になりつつあって一時期より値段があがっていたけど、消費税もあがると買うことにした。

所感

今までオシロスコープを所持したことがないので、他のオシロスコープとの比較はできない。

届いてあけた感想としては「画面がでかい!」「奥行がない!」という感じだった。ちょうどいい大きさ。

使いこなせるかな、思っていたけど、予想よりは全然操作が簡単で、すぐトリガをかけて単発現象を観測したりはできるようになった。

見えないものが見えるようになるというのはすごくテンションがあがる。可能性が一気に広がったように感じる。

よくないところ

現時点では完全に使いこなせているとは言えないので、あまり思いつかないけど、

  • USB host 側として、FAT32 しかファイルシステムをサポートしてない
  • USB slave 側として、Mac につなげるとなぜか Mac がフリーズする
  • 電源ケーブルが硬く、ソケットが左向きについているので、結構邪魔
  • 電源ケーブルの接続がなんか心もとない

というのがあった。LAN ポートもついていて、こっちの連携はすぐにうまくいった。

  1. トップ
  2. tech
  3. オシロスコープを買った
  1. トップ
  2. ham
  3. オシロスコープを買った

普通にルーターと接続してアドレスとかを設定すると、設定したポートで listen するようになってるのでコマンドを送るだけ。

なので自分で Ruby で実装を書いてみた。bmp を得られるけど、png で欲しいので ImageMagick で変換までしている。

プロトコルフォーマットはググると出てくる。ただ、bin なフォーマットは仕様書とだいぶ違っていて、結構めんどうくさい。

というのがあって、解析したコードがあったりする。けど、とりあえず必要ないし、そこまで実装してない。

  1. トップ
  2. tech
  3. SDS7102 のスクリーンショットを LAN からとる
  1. トップ
  2. ham
  3. SDS7102 のスクリーンショットを LAN からとる

AI の挙動不審

AI (Auto Information) でデータが自動でくるようになるけど、その状態でこちらから読み出しコマンドを出したり、書き込みコマンドを出したりすると、それらのコマンドがうまく読みとってくれなかったり、あるいは出力が混ざったりする。

解決方法でいまいち良いのがない

考えた解決案

  • AI はするが、コマンドは何度か送りつける
  • 一旦 AI を止めて、コマンドを送りつけて AI を再開する
  • AI を一切やめて必要な情報だけをポーリングする
AI はするが、コマンドは何度か送りつける
  • 3回程度送りつけても結局失敗することがある

コマンドが成功していることが確認できるまで送り続ける方法もあるが、コマンドごとに確認方法が違うのでコーディングが大変

一旦 AI を止めて、コマンドを送りつけて AI を再開する
  • まず、AI を止めるためのコマンドが認識されないことがある
  • AI を止めてもすぐに止まるわけではないっぽい
AI を一切やめて必要な情報だけをポーリングする

確実に動くけど

  • 情報が反映されるのが非常に遅くなる

例えば読み出しコマンドを発行すると、250ms ぐらいでようやくレスポンスがあるので (何やってんだ?) 、4個値を読み出すだけで1秒かかってしまう。

AI はそのまま

AI はそのままにするのがやはりよさそう。コマンドを送って確実に操作するよりも情報を早く受けとるほうが重要だと思う。

とはいえ、コマンドを送ったのに反映されないのもイラつくので、かなり執拗に送信確認をする必要がある。

  • 書きこみするコマンドを3回送りつける
  • 読みだしする

として、返答があるのを250msぐらい待って、セットできていなかったらリトライする。

  1. トップ
  2. tech
  3. FT-450D の CAT の挙動
  1. トップ
  2. ham
  3. FT-450D の CAT の挙動

RS-232 TTL 変換をフォトカプラでやる。

グラウンドを分離したいと、ノイズ相互の流入を防ぎたいのでRS-232変換を専用ドライバーICではなく、フォトカプラで行うようにした。無線機側とグラウンドを共通にするとインターフェアがでやすいらしい。

面倒な点は、RS-232 側の両電源を別に用意しなくてはならないところだけど、ググってみるとRTSにきてる電圧と RX の電圧をうまいこと利用している例があったので、それに従うことにした。一応RTS CTSをショートさせて電圧を計ってできそうなことを確かめた。

回路

これのコピーです

RS-232 が正負電圧で論理表現をするのでそこが面倒なところ、正電圧はRTSできてるのでいいけど、負電源をとれるピンはないので、TXのアイドル (負電圧がかかってる) を使ってる。47uFの電解コンデンサは電源を安定させるためについてる。

TX のアイドル時にコンデンサに電荷をためといて、RX が正じゃないときはダイオードを通じて RX のレベルを負に保つようになっている。コンデンサの前に 680Ω の抵抗がついているのは正のときにおかしくならないようにかな……

あとは電圧をクリップするダイオードがついていたり、フォトカプラのスペックにあわせるための抵抗がついてたり。

RS-232とTTLは論理が逆だけど、フォトカプラがオープンコレクタなので自動で反転して丁度いい。

手元で試した限りだと、ボーレート 19200 でもうまくうごいた。

挙動を確認する

その後オシロスコープを買ったので再度挙動を確認してみた。

これは Linux → Rig 方向のもの。この方向の負電圧は 47uF に蓄えられているものが使われる (と思う) ので、連続して送信を行うと、だんだん電圧レベルがさがってしまう。最後のほうは 3V 未満になってしまっているので、RS-232 レベル的には動かない。

200uF にすると、だいぶマシになる。適切なのを選択する必要がありそう。

ハマったところ

ハマったのは、USB シリアル変換ケーブルと、無線機のRX TXの配線が逆な点だった。これは普通にドライバーIC使ったときもハマったので比較的すぐ抜けれたけど、毎回ハマる…

あとはTTLレベルのRXをRS232ドライバICに面倒くさがって繋がったままやってたら動かなかったのもハマった (電源が入ったままだったので GND に落ちていたっぽい)。変なことしないほうがよい

あと、もっと簡略化した回路(TXとRXを繋ぐ部分、負電源部分を削除したもの)もググるとでてくるけど、それだと今回はレベルが安定しなくて、エコーする現象が起きてだめだった。

フォトカプラは FOD817B300 というのを使った。応答速度の関係でものによっては動かないとかあるみたいだけど手元にあったのでうまく動いた。

参考文献

  1. トップ
  2. tech
  3. 絶縁型 RS-232 ⇔ TTL レベル変換
  1. トップ
  2. ham
  3. 絶縁型 RS-232 ⇔ TTL レベル変換