IoTを色々いじっていると、電気が思った通りに変化しているか、電圧の波形を見たいことがある。つまり、可視化。
ということで、Arduinoで何とか測定装置、要するにオシロスコープはできないだろうか、できそうではないか、一定時間間隔で電圧を測定して記録さえできれば、あとは表示するだけだ。
といっても、オシロスコープを自分で考えるのはとても面倒である。
折角のインターネット時代なので、ちょっとインターネットで検索してみたら、こんなサイトが見つかった。
Arduino簡易オシロスコープ|国立大学法人 九州工業大学情報工学部【飯塚キャンパス】で作り方が公開されているのだった。
ソフトウエアもダウロードできるようになっていて、これはもう作るしかない。
Arduino1台と、簡単な回路を作ることと、パソコン側にProcessingという最近流行りのプログラミング言語をインストールしてオシロスコープの画面・制御パネルを動かす構成になっている。
Arduinoは、その機能の一部が使われるだけなので、Arduino Uno の必要もなく、もっと小さいArduino Nanoで十分である。Arduinoはオープンハードウェアなので、安い互換品が多数存在する。
ネットで調べていたら、中国からのネットショッピングで、USBケーブル+Geekcreit® ATmega328P Nano V3 Module Improved Version が1セット275円であったので入手した。
とても怪しいビニール袋(小さなゴミ袋の感じ)に、最低限の包装で物が入っているだけだったが、組み立てたらちゃんと動作した。
ということで、ケーブル付きで275円のArduino nanoを、ブレッドボード互換のユニバーサル基板に若干の部品と共に取り付けたら、Arduino側ができた。
その他の部品を入れて、400円程度で完成した。つまり、普通に安いオシロスコープの値段の1%である。
そして、パソコンとしてはとりあえずUbuntuにProcessingをインストールして、Arduinoを繋いで起動したら、動いた。
それで、何か適当な例はないかと、整流回路の電圧を測定してみた。
詳しくは、Wikipediaの整流器を見てみよう。
電源トランスで電圧を下げて、さらにもうちょっと下げるために可変抵抗で扱いやすい電圧まで下げた。このオシロスコープが0から5Vの範囲しか対応していないようだったので、電圧を下げている。
トランスは2相交流が取り出せるのだが、片側しか利用してないので、普通のブリッジ形全波整流回路を組んだ。
出力の両端を測ると全波整流になっていて(ch 1)、1つのダイオードの両端を測ると半波整流になっている(ch2)。
これらをArduinoの側の回路の入力のch1とch2に接続した回路全体とオシロスコープの画面を示す。
分かりやすいように、拡大してみた。
上が全波整流、下が半波整流の出力結果である。
上でどちらも、縦方向が1メモリ1.0ボルトなので、全波整流で2.8v, 半波整流で3.6v程度だと読み取れて、差が0.8vくらいあるのが分かる。
これは、ダイオード1つ分の電圧降下が出ているためである。まあ、詳しくは、整流回路やダイオードの説明を探して欲しい。
まあ、超安価なオシロスコープなので、できることも限られる。もちろん高周波無理。信頼度にも問題がありそうだが、それでも、IoTなどの確認するくらいなら可能なことが多いので、十分に利用可能である。