100円ショップの時計で作るアナログ気圧計の製作
100円ショップのアナログ時計を改造して気圧計を作る話の続きです。

Arduino UNOとしてACアダプタで動かすところまでは完成していますが、どうせなら電池駆動にしたいところです。
ということでArduinoをスリープさせて省エネ化を図る方法について調べていました。いろいろやってみた結果、パワーダウンモードに入れれば消費電力を27μAまで下げることができたので早速気圧計のスケッチに追加。晴れて電池駆動までこぎつけました。
▼電池で動く気圧計

電池で動くモノはワクワクする、というか不思議な魅力を感じるのは私だけでしょうか?とりあえず006Pを改造して引っ張り出した4.5Vで動かしています。
気圧測定と時計の駆動中はCPUを動かすので12mA程度の電流を消費します。でも10分に1回、1秒程度動くだけなので平均電流としては20μA。これにCPUのスタンバイ中の電流の27μAを加えた合計の47μAが全体の消費電流になります。ということは、単三電池の容量が2000mAhあると仮定すると4年以上連続動作が可能になります。
▼回路図(クリックで別窓に拡大)

この気圧計は10分に一回しか動かないので、電池を入れた時にちゃんと動いているのかすごく不安になります。そこで、リセット時にボタンを同時押しすることで以下の動作をさせることにしました。
・Pin14をアースに落とす(ボタンを押す)→ 2秒間隔で測定
・Pin13をアースに落とす(ボタンを押す)→ 秒針を±10秒の範囲で連続で行ったり来たりさせる
2秒間隔の測定では針が落ち着き無くばたばたと動くと思います。気圧センサーであるMPL115A2の分解能は10ビットしかないのでこのあたりはしかたないところです。(一応100回測定の平均値を取っています。)
レンジフードなどの強力な換気扇を動かすと気圧の変化が判ります。またセンサーを指でちょっと暖めてやると、針が大きく振れるので正常に動作していることが判ります。そのまま放っておくと元の値(付近)に戻ります。
秒針を振らす機能は時計のムーブメントの個体差の調整用に付けてみました。この機能を動かしながらVR1を調整し、正転/逆転が正常に行われる範囲の中央に合わせることでVR1を最適値に調整出来るはずです。でも、まだ他のムーブメントで試したことが無いのでうまくいくかどうかは未確認です。なお、実験ではVR1の最適値は220Ωでした。また、この調整をやる時は秒針を付けておいたほうがいいでしょう。
▼回路部

動作はOKぽいのでこれを最終的な基板とケースに移すのが最後の作業になります。
ホームセンターでケースを物色したところ、
▼安全策ならこれ。

単三3本の電池ホルダーと秋月のC基板が無理なく入るサイズ。
でもなんだかスマートじゃないです。ならば、
▼思いっきり小さく作るならこれでしょう。

単三電池を4本入れるケースの一区画に回路を押し込めないか検討中。
はたしてうまくいくでしょうか?

Arduino UNOとしてACアダプタで動かすところまでは完成していますが、どうせなら電池駆動にしたいところです。
ということでArduinoをスリープさせて省エネ化を図る方法について調べていました。いろいろやってみた結果、パワーダウンモードに入れれば消費電力を27μAまで下げることができたので早速気圧計のスケッチに追加。晴れて電池駆動までこぎつけました。
▼電池で動く気圧計

電池で動くモノはワクワクする、というか不思議な魅力を感じるのは私だけでしょうか?とりあえず006Pを改造して引っ張り出した4.5Vで動かしています。
気圧測定と時計の駆動中はCPUを動かすので12mA程度の電流を消費します。でも10分に1回、1秒程度動くだけなので平均電流としては20μA。これにCPUのスタンバイ中の電流の27μAを加えた合計の47μAが全体の消費電流になります。ということは、単三電池の容量が2000mAhあると仮定すると4年以上連続動作が可能になります。
▼回路図(クリックで別窓に拡大)

この気圧計は10分に一回しか動かないので、電池を入れた時にちゃんと動いているのかすごく不安になります。そこで、リセット時にボタンを同時押しすることで以下の動作をさせることにしました。
・Pin14をアースに落とす(ボタンを押す)→ 2秒間隔で測定
・Pin13をアースに落とす(ボタンを押す)→ 秒針を±10秒の範囲で連続で行ったり来たりさせる
2秒間隔の測定では針が落ち着き無くばたばたと動くと思います。気圧センサーであるMPL115A2の分解能は10ビットしかないのでこのあたりはしかたないところです。(一応100回測定の平均値を取っています。)
レンジフードなどの強力な換気扇を動かすと気圧の変化が判ります。またセンサーを指でちょっと暖めてやると、針が大きく振れるので正常に動作していることが判ります。そのまま放っておくと元の値(付近)に戻ります。
秒針を振らす機能は時計のムーブメントの個体差の調整用に付けてみました。この機能を動かしながらVR1を調整し、正転/逆転が正常に行われる範囲の中央に合わせることでVR1を最適値に調整出来るはずです。でも、まだ他のムーブメントで試したことが無いのでうまくいくかどうかは未確認です。なお、実験ではVR1の最適値は220Ωでした。また、この調整をやる時は秒針を付けておいたほうがいいでしょう。
▼回路部

動作はOKぽいのでこれを最終的な基板とケースに移すのが最後の作業になります。
ホームセンターでケースを物色したところ、
▼安全策ならこれ。

単三3本の電池ホルダーと秋月のC基板が無理なく入るサイズ。
でもなんだかスマートじゃないです。ならば、
▼思いっきり小さく作るならこれでしょう。

単三電池を4本入れるケースの一区画に回路を押し込めないか検討中。
はたしてうまくいくでしょうか?