micro:bitを使ってみる 47 〜電流センサ

家庭やオフィスでは、省エネ・環境問題への啓蒙活動などのために、電化製品が使う電流値を「見える化」したいケースがあります。
また、工場では、製造装置の稼働状況監視のために、装置が使う電流値を測定したい場合もあります。

このため、マイクロビットと「電流センサ」を使って、機器が使う電流値を測定できないか、試してみたいと思います。


今回使うのは、スイッチサイエンスで購入した「クランプ式AC電流センサ30A」です。



電源コードを電流センサではさむと、コードを流れる電流に比例した2次電流がセンサ側にも流れます。比率は2000:1なので、コードに30Aの電流が流れると、15mAの2次電流が流れます。
センサの端子の両端に抵抗をつなぎ、抵抗の両端端子の電位差を測定することで、電流値が計算できます。
30A程度までの交流電流を測定でき、測定対象の回路を壊さずに取り付けることができます。

今回は、以下のような回路構成にしました。

micro:bitの電源端子とグランド端子を、4.7kΩの抵抗ふたつでつなぎ、中間電位を作ります。
電流センサには47Ωの抵抗をつなぎ、その一方の端に先ほど作った中間電位をつなぎます。
電流センサのふたつの端子を、micro:bitの0番、1番端子につなぎます。
micro:bitでは、0番、1番端子のアナログ値を読み取り、両者の差を観測することで、電源コードを流れる電流値を把握できます。

なお、micro:bitで読み取ったアナログ値を電圧に補正し、さらに「電源コードを流れる電流値 I = ふたつの端子の電圧の差 V / 47 * 2000」の式に当てはめることで、コードを流れる電流値が計算できますが、現状では、測定した電流値の確からしさを確認する術を思いつかないので、今回は補正は何も行わず、アナログ値のままで電流消費の傾向だけを把握することにしました。

まずは、以下のような、ごく簡単なプログラムを作りました。ふたつの端子のアナログ値を読み取り、両者の差をシリアル通信で書き出すだけです。

回路は以下のとおり、ブレッドボードで作ります。

電源コードを電流センサではさみます。
電源コードは2本の線でできていますが、両方をはさんでも2次電流は流れないので、写真のように2本の線の片方だけをはさみます。
今回、電源コードには、ヘアドライヤーをつなぎました。

結果は以下のとおりです。ドライヤーの状態に応じて、波形の大きさが変化しています。

次に、以下のプログラムを作りました。
1ミリ秒ごとにふたつの端子のアナログ値を読み取り、両者の差を2乗します。100回分を平均し、その平方根を求め、その結果をシリアル通信で書き出します。

結果は以下のとおりです。ドライヤーの状態に応じて、電流消費が変化していることを把握できました。

なお、私がマイクロビットの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。


初心者向けから、比較的高度なものまで、さまざまな情報が記載されているだけでなく、子供向けの作例も多数掲載されていますので、「プログラミング教育」のための題材さがしなどにもおすすめです。


このサイトで書いている、マイクロビットに関するブログ記事を、「さとやまノート」という別のブログページに、あらためて整理してまとめました。

他のマイクロビット記事にも興味のある方は「さとやまノート」をご覧ください。