Зарядне для акумуляторних батарейок NiMH під управлінням Arduino

This entry was posted by Опубліковано: 15.03.2016

NiMhАвтор: Jason Poel Smith, переклад.
Джерело: www.allaboutcircuits.com

Акумуляторні батарейки – це чудовий спосіб живити ваші мобільні електроні пристрої. Вони допоможуть вам зберегти  чимало коштів  і до того ж вони набагато кращі для навколишнього середовища – менше потрібно утилізовувати. Щоб отримати максимум користі з ваших акумуляторів, їх необхідно правильно заряджати. Це означає, що ви потребуєте хорошого зарядного. Ви можете потратити багато грошей на комерційне зарядне, але набагато цікавіше зробити його самому. Отже як створити зарядне під управлінням Arduino.

Перше, на що важливо вказати – не існує універсального методу заряджання, який підходить для всіх акумуляторних батарей. Кожен тип батарей використовує різні хімічні процеси в своїй роботі. І як результат різні види батарей заряджаються по різному. Ми не зможемо охопити всі типи батарей і методи в цій статті. Тому для простоти, сфокусуємося на найбільш поширеній  батарейці, яку можна перезарядити: AA NiMH (нікель-метал-гідридній).

Комплектуючі.

chargerCompon

 

  • Мікроконтролер Arduino
  • Тримач батареї AA
  • Батарея NiMH AA
  • 10 Ом потужний резистор (щонайменше 5Вт)
  • 1МОм резистор
  • 1мкФ конденсатор
  • IRF510 MOSFET транзистор
  • TMP36 датчик температури
  • 5В регульований блок живлення
  • Макетна плата
  • З’єднувальні провідники

 

Як заряджати NiMH AA батареї

chargerButtery

Є багато різних способів заряджання NiMH батарей. Метод, який слід використовувати, залежить в основному від того, як швидко ви хочете зарядити. Швидкість заряду (Charge rate  або C-rate) вимірюєтся по відношенню до ємності батареї. Якщо ваша батарея має ємність 2500 мАгод і ви заряджаєте струмом 2500мА, тоді ви заряджаєте зі швидкістю 1C. Якщо ви заряджаєте струмом 250 мА, тоді швидкість заряду має рівень C/10.

Якщо заряджати акумулятор швидко (з рівнем вищим ніж C/10), то необхідно ретельно слідкувати за  напругою та температурою, для того щоб не перезарядити його. Це може серйозно пошкодити його. Проте, коли ви заряджаєте вашу батарею повільно (C/10 або нижче) тоді ймовірність пошкодження значно менша у випадку перезарядки. Через це, вважається, що повільний метод заряджання набагато безпечніший і допомагає збільшити термін служби акумулятора. Отже, для мого саморобного зарядного пристрою я вибрав швидкість C/10.

Принципова схема зарядного.

Принципова схема зарядного, базується на управлінні живленням з допомогою Arduino. Схема живиться від регульованого джерела напруги 5В, яке може бути наприклад AC адаптером або комп’ютерним ATX блоком живлення. Більшість USB портів не підходять для цього проекту через обмеження струму. 5 В джерело заряджає батарею через потужний 10 Ом резистор і потужний транзистор MOSFET.  MOSFET встановлює величину струму, що дозволений для втікання в батарею акумуляторів.

Резистор включений для простоти відслідковування величини струму – з допомогою аналогових входів Arduino вимірюється напруга на обох виводах резистора, вираховується падіння напруги на ньому і ділиться на величину опору резистора.

MOSFET управляється PWM виходом на Arduino. Імпульси від PWM згладжуються 1МОм резистором і  конденсатором 1мкФ. Ця схема дозволяє Arduino відслідковувати і управляти протіканням струму в батарею.

arduino-battery-circuit

Давач температури

chargerTMP36

Задля більшої безпеки, для контролю температури батареї я включив давач температури TMP36 . Напруга вихідного сигналу з давача відповідає температурі. Тобто немає потреби в калібруванні або балансуванні, як це потрібно робити у випадку з термістором.

Сенсор монтується в просвердленому отворі  в корпусі тримача з допомогою клею так, щоб він торкався до акумуляторної батареї коли вона буде встановлена всередину. Виводи давача під’єднані до 5В, GND і аналогового входу Arduino.

chargeholder

AA тримач батареї перед і після встановлення на макетну плату

chargerholder_hole


Код

chargercod

Код для цього проекту є досить простий. Змінні зверху дозволяють вам вибирати значення ємності і точний опір вашого потужного резистора. Також є змінні, які призначені для безпечних порогових значень вашого зарядного. Максимальна дозволена напруга батареї встановлено на рівні 1,6В. Максимальна температура батареї встановлена на рівні 35С. Максимальний час зарядки – 13 год. Якщо будь який поріг буде перевищено – зарядне виключиться.

В тілі коду, ви побачите, що система постійно вимірює напругу на виводах потужного резистора. Це зроблено для того щоб вирахувати і напругу на клемах батареї і струм, що втікає в неї. Цей струм в порівнюється з необхідним струмом, значення якого встановлюється для отримання швидкості заряду C/10. Якщо вирахуваний струм відрізняється від потрібного більше ніж на 10мА, система автоматично підкорегує його.

Arduino використовує інструмент моніторингу послідовного порту для відображення поточних даних. Якщо ви бажаєте слідкувати за роботою вашого зарядного – то ви можете під’єднати  Arduino до USB порта на вашому комп’ютері, але це не обов’язково, оскільки  Arduino живиться від 5В джерела живлення зарядного пристрою.

chargercode

Тепер ви маєте знань щоб розпочати створення свого власного зарядного пристрою. Переконайтесь що швидкість заряджання відповідна, бо перезаряд може бути небезпечним.

Ось такий вигляд матиме зарядний пристрій зібраний на макетній платі:

chargerBreadboard

Скетч для завантаження.