2008/07/04

ノートパソコンを電池で動かす、続編

ノートパソコンを電池で動かすの、続編です。

ただひたすら“直列にしてACアダプタの代わりに繋げました”という前回の状態ではあまりにも大雑把です。
そもそも電池がどれだけ減ってるのか解らないというのはバッテリー装置としてはあまり実用的ではありません。というわけで、残量表示をつけてみることにしました。

最近は安価なマイコンがいろいろと出始めています。特にPICマイコンは安くてラインナップも多く、周りでも使ってる人がいるということで自分でもちょっと買っていじってみたりしていました。
しかしこやつがいまいち言うことを聞いてくれない。結構書き込み機とか高かったのに、結局放置してしまってました。
なんかフル機能のC言語でサクっと動くものはないのか……
そこでふと目にとまったのがAtmelのAVRマイコンというもの。無料のコンパイラで超簡単!というようなことがどこかのページに書いてあったのでこれを使ってみることにしました。
機材も3千円くらいのを買えばあとは部品代だけ。これも投げ出したら目も当てられませんが(笑)

そんなわけで買って来ました。AVRマイコンと書き込み機。
AVR Studioというフリーの開発環境をダウンロードしてきてインストールします。
適当なプログラムを作ってコンパイルし、書き込み機で書き込み、テスト用の回路に乗せる。……すると、さっくり動きました。これは良い。

回路は最初いちいち半田付けとかしてられないのでブレッドボード上に作っていきます。
ブレッドボードは、ボード上の穴に部品を挿していくだけで回路が組めてしまいます。部品のデータシートとか見ながらザクザク挿して実験です。
とりあえずLEDをピカピカ光らせることに成功した後は、電池の残量を読み込むためにA/Dコンバーターを動かしてみました。24Vの変化を5Vの幅で読まないといけないので、抵抗で分圧して読み込みます。
この辺のプログラムも実に簡単。基本機能を走らせるだけで出来てしまいました。
表示は今回、10個LEDが入ったレベルメーター用の表示器を使うことにしました。
オーディオアンプとかについてる、ボリュームが大きくなるとバー表示が上に伸びていくアレです。仮装大賞の得点ランプみたいなやつ。
バッテリーが満タンなら全部点いていて、減ってきたら段々消していくことにします。

プログラムはめちゃくちゃ簡単です。A/Dの値を読む→LEDに表示。これだけ。
電池がやばくなって来たら音が鳴るように、スピーカーもつけてみました。一通りブレッドボード上で動くことを確認して、これ以上変更がないってところまで詰めたら回路図を作ります。

次は、回路図を見ながら実際に作っていきます。
部品の配置と、配線には結構頭を使います。パズルっぽい感じ。
方向性が決まったら、部品を一つ一つ半田付けして、配線もしていきます。

ブレッドボードで実験してた時と比べたらかなり小さくなりました。右上にくっつけてあるのはなおぽんさんがくれた電源ユニット。昔作ったそうです。小さく作ってあってすごい。

中ほどにある黒いのがAVRマイコンです。CPUです。1MHzで動いてます。最近のパソコンのCPUは1GHzが2個とかなのでこいつの2000倍以上の能力があるんですねぇ。
そういや昔のPC-9801なんかは20MHzを40MHzにオーバークロックするパーツが5万とかしてました。
このAVRは最大16MHzで動作させることが可能です。200円ぐらいなのに。
技術の進歩っておそろしいね。

残量表示が出来るようになったので、あとはこれを前回のものといっしょにきれいに箱に収めたら完成です。

続きはこちら