« 3連休 | トップページ | 大トラブル »

Frisk level (フリスク水準器)

IMG_5311

AVRマイコン工作第二弾は、加速度センサを使った水準器の製作です。写真のようにLEDが並んでいて、水平だと中央の緑色のみが光るようになります。

IMG_1440

書き込み基板とブレッドボードで検証中の様子。以前購入した加速度センサー(ブレッドボードの奥のほうにあるDIP化されたIC)で水平を検出します。アナログ出力のセンサーなので、AVRのA/Dコンバータを使いました。ADCは初めて使い、ゼロから試行錯誤だったので、動いたときはうれしかったですねぇ。(Arduinoでは使ったけど、何も考えずに使えるようになってますからねぇ)
ブレッドボード中央にあるのはオペアンプ。ボルテージフォロアで使うと出力が安定するかと思って実験したのですが、違いがわからなかったので使わないことにしました。

マイコンにはAVRのATtiny861。手持ちの中ではLEDを7つ点灯させるにはこれしかなかったので、少し大きいし、プログラム容量はオーバースペックですが、861を使いました。

IMG_1438

ブレッドボードで動くようにしたら、フリスクのケースに組み込みます。
電池はCR2032。

IMG_5306

LEDの輝度をタクトスイッチでHiとLoの2段階で切り換えできるようにしました。手作業のPWMでデューティー比を変えただけ。2mAも流すと赤色LEDは十分な明るさになりますね。

基板の裏面はこんな感じ。配線ぎゅうぎゅうで修正するのもイヤになりますが、LEDとの配線を2カ所間違えていて泣く泣く修正しました。

IMG_5307

これであとは加速度センサーを水平になるようにしっかり固定すれば出来上がり。

だったんですが、電池を入れて二晩経ったらどうもLEDが暗くなっている感じ。プログラムでは当然しばらく放置すると(スイッチを押すと30秒は水準器としてLEDが点灯)、すべての出力をオフにしてMPU自体はスリープにする、という動作をさせているつもりでした。
が、消費電流を測ってみると消灯時でも2mAちょっとの電流が流れています。点灯時は4mAちょっとの消費電流なので、そこはまあ狙い通りなんですが、どうもうまくスリープしていないようです。LEDが消えたから設計通りスリープしているもんだと思ってデバッグをおろそかにしてしまったのが失敗でした(ソフト書いてるよりハンダ付けしてるほうが楽しいので、早く基板に実装したかった、ってのが最大の理由(^^;)。

フリスクのケースに入れるためにマイコンはソケットを使わずハンダ付けしてしまっています。なので、修正は大変面倒。ちょっと直す気が失せていて、電池からのコードの途中にスイッチでも入れるか、という気分です...

|

« 3連休 | トップページ | 大トラブル »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/9648/58570075

この記事へのトラックバック一覧です: Frisk level (フリスク水準器):

« 3連休 | トップページ | 大トラブル »