. Arduinoでニッケル水素充電池の充電器を自作 | あつラボ
Arduinoでニッケル水素充電池の充電器を自作 | あつラボ
Arduinoでニッケル水素充電池の充電器を自作 | あつラボ

Arduinoでニッケル水素充電池の充電器を自作

int sensorPin = A0; // select the input pin for the potentiometer int fet = 13; //充電FET制御ピン int mode = 0; //0充電中 1充電終了 2充電開始電圧異常 3タイマーアウト double max_v = 0; //充電休止時最大電圧 double b_threshold = 1.5 //(V)閾値デフォルト1.5V double voltage_c = cell * b_threshold; //充電を停止する電圧

int cell = 6; //セル数

void setup() < Serial.begin(9600); // シリアル通信(960bps)を開始 Serial.println(“NiMH – CHG SKTCH V1”); pinMode(fet, OUTPUT); //FET出力を出力に設定 digitalWrite(fet, LOW);//FET出力をLOWに設定

//ここで充電前で電圧を測定し1cellあたり0.9V以下の場合、処理終了 double voltage = analogRead(sensorPin); voltage *= 5; voltage /= 1024; voltage *= 3.374; double voltage_c = cell * 0.9; if(voltage_c >= voltage) < mode = 2; Serial.println(“Battery is not connected or Battery Voltage is too low.”); while(true) < delay(1000); > >

void loop() < //50秒充電、10秒休止 実充電電流500mA(LM317=600mA) digitalWrite(fet, HIGH); delay(50000); digitalWrite(fet, LOW); delay(10000); //電圧測定 double voltage = analogRead(sensorPin); voltage *= 5; voltage /= 1024; voltage *= 3.374; //voltage *= 330; /* 充電休止時電圧が閾値を超えていたら充電終了 */ if(voltage_c > /* サイクル数が384(6.4h)以上ならタイマーにより異状終了 */ if(384 mode = 3; Serial.println(“Termination by a timer.”); while(true) < delay(1000); > >

//最大電圧を記憶 if(max_v < voltage)< max_v = voltage; > Serial.print(voltage); Serial.print(“,”); Serial.print(voltage_c); Serial.print(“,”); Serial.print(max_v); Serial.print(“,”); Serial.print(cycle); Serial.print(“,”); Serial.println(mode); cycle++; >

電池電圧の分圧比、 voltage *= 3.374; の部分は抵抗により誤差があるので調整が必要です。 できれば金属皮膜抵抗器の方が精度が高いので良いでしょう。

あとがき

LM317だと排熱がすごいです。 LED用の定電流ドライバでも良いのですが出力の制限があるので このままでも良いかなと思っています。

電源電圧はセル×2V程は必要かと思います。 ただし、あまり電源が高いとシリーズ型のレギュレーターは 電源と電池電圧の差はすべて熱として捨てられるので排熱がより多くなります。

Multiplex 20160811 --> AVRISPmk2でArduinoブートローダーを書き込む Arduinoベースのデジタル制御電子負荷装置を作った arduino
  • 部屋の蛍光灯を使った光目覚ましをArduinoで自作した
  • arduinoのATMEGA328P-PUを単体で動作させる方法
  • 8ピンPICで作った気圧計をArduinoベースに作り変えた
  • Arduinoベースのデジタル制御電子負荷装置を作った
  • Arduinoで気圧計を作るのにパーツを買ってきた
  • Arduinoで作った気圧計・低消費電力の要・ソフト編
  • Arduinoで作ったRTC機能付SDシリアルデータロガー
  • Arduino.ccとArduino.orgの内部分裂
  • Arduinoベースの気圧計・ハードウェア編
  • FT232RLでATmega328Pにスケッチを書き込む方法
  • 超小型USBシリアル変換モジュールをArduinoとして使う方法
  • Arduinoでニッケル水素充電池の充電器を自作

© 2026 あつラボ All rights reserved.

📎📎📎📎📎📎📎📎📎📎