ドローン用に複数のリチウムポリマー(LiPo)電池を使っていると電圧をチェックしたいことがあります. そこで簡単に電圧をチェックできる電圧計を作りました. さらにそれを作るのに必要となったATtiny202用のライター(jtag2updi)も作りました.
おもに1S (1セル)のLiPo電池しか使わないので,1S用として設計しました. コネクタは使っている電池すべてに対応させるため,Molex (Micro Losi; 2.0mm),PH 2.0 (mCPX; 2.0mm),Micro 1.25 (mCX; 1.25mm)が使えるようにしました. 使用したLCD (昔購入したIM50175Hという3線で制御するもの)が5V用なのと,電圧が不明のLiPoバッテリーから電源を得るため,100円ショップで買った電池式USB充電器から取り出した5Vの昇圧回路を使用します. 使用するマイコンは,しばらく前から興味のあった低コストながらADC内蔵のATtiny202に決めました. ADCの内蔵基準電圧(VREF)は5種類ありますが,今回は1セルのLiPoを対象にすることから4.3Vとしました. 下記のように配線を行いました.
ATtiny202 | 接続先 |
VDD | DC-DC電源出力(5V) |
PA6 | LCD (LATCH) |
PA7 | LCD (DATA) |
PA1 | LCD (CLOCK) |
PA2 | ADC-IN (LiPo電池) |
PA0 | UPDI (ライター) |
PA3 | NC |
GND | GND |
ATtiny202は変換基板にのせてLCDの基板に貼り付けました. ケースは3Dプリンターで作りました. ファームウェアは単純にADCで読み取った値を変換してLCDに出力しているだけです. 2048回測定して平均値を表示しています. ファームウェアはここに置きました.
ATtiny202は従来のAVRとは異なる方法(UPDI)を使用して書き込みを行うため,新たにUPDIライターを用意する必要がありました. jtag2updiというものがArduino Nanoを使って非常に簡単に作れそうだったのでこれを用意しました. このライターはArduino IDEから直接使うことができます. Arduino Nanoをjtag2updiに改造する手順は,
だけです. ICSPコネクタで使うのは+5V,GND,D11/MOSI (UDPI)ピンです. オリジナルのjtag2updiの回路図ではD6 (PD6)ピンに4.7kΩの抵抗をつけてUPDI出力としますが,ファームウェアではD11 (PB3)ピンは未使用でハイインピーダンスなので,配線に利用しています. SMDのICに使える両挟みタイプのICクリップを使って実装済みのICに書き込みができるようにしました.