前回、単純なモバイルバッテリーのオートパワーオフをキャンセルするUSBアダプターを作りましたが、
今回は、もう少し省電力な物を作りました。
作った物
前回作ったものは、USBの出力に抵抗を付けて流れる電流を増やすだけの単純なものでした。
今回は、AVRマイコンを使って10秒に1回電流を多く流すようにしてオートパワーオフを阻止するようにしました。
電流を連続で流し続けるより、断続的に流すことでとても省電力です。
使ったAVRマイコンは、通称”米粒AVR”と言われるATtiny10と言う物を使いました。
これは米粒程度の大きさの物ですが、マイコンなのでプログラムを書き込んで様々な動作をさせることが可能です。
これを使う事で、今回作る装置をかなり小型化できました。
電流のオン/オフをスイッチするのに、MOS-FETを使いました。
これも装置を小型化する為にチップタイプの物を選びました。
電流の制限には抵抗を使いました。
前回同様に定格電力をクリアする為に1/4Wの物を並列に3つ繋ぎました。
回路はこのようになっています。
電流制限の抵抗R1~R3は回路図上は200Ωと表記していますが、150Ωを3つにしています。
そして、基板は以前紹介したレーザー加工機を使ってPCBを作る方法で作りました。
コネクター代をケチる節約する為に、基板を直接USBコネクターに差し込めるようにパターンを作りました。
部品を実装するとこんな感じに仕上がりました。
米粒AVR(Tiny10)には、予めプログラムを書き込んでから半田付けします。
半田付け後のプログラムの書き換えはできない仕様です。
尚、書き込んだプログラムは以下の内容
#define F_CPU 1000000UL #include <avr/io.h> #include <util/delay.h> #define L PB0 int main(void) { DDRB |= (1<<L); while(1) { PORTB |= (1<<L); _delay_ms(300); PORTB ^= (1<<L); _delay_ms(9700); } }
基本的に、Lチカのプログラム。
PB0ピンを300ミリ秒オンにして、9700ミリ秒オフにするだけのプログラムです。
今回使った生基板(銅張基板)は0.8mm厚の物で、USBコネクターに差し込むには厚みが足りないので、3Dプリンターでスペーサーを作り、両面テープで貼り付けています。
これで差し込み部分は約2.5mmの厚みになっています。
前回と同様に、コネクターを二股にできるツインチャージャーを使い、片方にオートパワーオフキャンセラーを差し込み、もう片方からArduino等に給電します。
今回も、Arduino Nano(偽物)を使って耐久実験をしました。
前回同様にダイソーの500円のモバイルバッテリーを使い、NanoにはArduinoIDEのサンプルのblinkプログラムを書き込んで、何時間動作出来るかを試しました。
そして結果ですが、前回の単純なキャンセラーでは16時間だったのが、今回はなんと75時間も動作し続けました。
事前の予想では40時間くらい動けば良いかなと言う感じで始めた耐久実験が、思わぬ長時間化してびっくりしました。
このブログ記事もその間塩漬けで、何度途中で辞めようか悩んだことか・・・w
と言う訳で、モバイルバッテリーのオートパワーオフキャンセラーを作った話でした。