Автопортал || Авто - статьи

Сельскохозяйственная техника
Чтение RSS

Вимірювач ємності акумуляторів на Arduino

  1. думки читачів

вимірювальна техніка

Головна Головна   радіоаматорові   вимірювальна техніка радіоаматорові вимірювальна техніка


Сьогодні в експлуатації знаходиться велика кількість акумуляторів і акумуляторних батарей. Всі мобільні пристрої, в першу чергу, мобільні телефони, смартфони, планшети, програвачі, як правило, харчуються від акумуляторів. Крім того, акумуляторні батареї встановлені в блоках безперебійного живлення, ноутбуках і нетбуках. Нерідко ці джерела живлення виходять з ладу - зменшується їх ємність, збільшується внутрішній опір. Пропоноване пристрій, зібране на основі микроконтроллерной плати Arduino Uno, дозволяє провести діагностику акумуляторів і акумуляторних батарей - виміряти їх ємність і внутрішній опір.

Цей пристрій призначений для вимірювання електричної ємності акумуляторів і акумуляторних батарей (далі - акумуляторів) напругою від 1 до 15 В і ємністю до 20 ... 30 А · год. Стабільний струм розрядки можна встановити змінними резисторами в інтервалі 0 ... 3 А, напруга відключення - 0 ... 15 В. Застосовано двухстрочний шестнадцатісімвольний РКІ, на який виводиться інформація про чотирьох параметрах акумулятора: поточному напрузі, напрузі відключення (пороговому), разрядном струмі і ємності. Причому ємність вимірюється постійно, і в будь-який момент можна подивитися її поточне значення. Коли напруга акумулятора стане менше порогового, розрядка зупиняється, лунає звуковий сигнал, включається світлодіод червоного свічення, а на РКІ будуть виведені всі зазначені вище параметри. Крім того, якщо в процесі розрядки натиснути на кнопку, на РКІ додатково виводиться інформація про внутрішній опір акумулятора і його напрузі без навантаження.

Схема пристрою показана на рис. 1. Його основа - плата Arduino Uno, що управляє всіма вузлами і виконує основні операції. На ОУ DA1.1, польовому транзисторі VT2 і датчику струму - резисторах R9 і R10 зібраний стабілізатор розрядного струму, значення якого встановлюють змінними резисторами R3 "Грубо" і R4 "Точно". Це дозволило задавати бажаний струм розрядки в широкому інтервалі, крім того, спростити програму і, в підсумку, просто вимірювати час розрядки. Гранична напруга, до якого слід розряджати акумулятор, встановлюють змінними резисторами R5 "Грубо" і R6 "Точно". Напруга акумулятора, граничне, а також на датчику струму вимірює Arduino (входи А0, А1 і А2 відповідно). Значення перших двох напруг виводяться на РКІ HG1. Струм розрядки обчислюється як відношення напруги на датчику струму до його опору, а ємність акумулятора (С) - як твір розрядного струму на минулий час. Струм і ємність також відображаються на екрані РКІ. Інформацію про пороговому напрузі і струмі розрядки модуль Arduino не запам'ятовує, а зчитує безпосередньо з движків змінних резисторів, тому після установки їх не слід чіпати.

Мал. 1. Схема пристрою

Для підвищення точності вимірювань весь інтервал вхідної напруги розбитий на два, межа між ними - 4,9 В. Інтервали перемикаються автоматично за допомогою керованого атенюатора на елементах R1, R8 і VT1. У першому інтервалі транзистор VT1 закритий, і вся напруга акумулятора надходить на вхід А0. У другому інтервалі високий рівень з виходу А4 відкриває транзистор VT1, і на вхід А0 надходить приблизно втричі меншу напругу.

Про режим розрядки сигналізує світлодіод HL2, який включається низьким логічним рівнем з виходу 7 плати Arduino. У цьому випадку транзистор VT3 закритий, світлодіод HL1 знеструмлений і керуюча напруга з виходу ОУ DA1.1 безперешкодно надходить на затвор транзистора VT2. Після закінчення розрядки на виводі 7 з'являється високий рівень, світлодіод HL2 гасне, а транзистор VT3 відкривається. Чи включається світлодіод HL1 (струм через нього обмежує резистор R7), напруга на затворі транзистора VT2 зменшується до 1,8.2 В, в результаті чого він закривається та розряджання припиняється. Одночасно це супроводжується триразовим звуковим сигналом. Діоди VD2 і VD3 захищають вхід А0 плати Arduino від перевищення або неправильної полярності вхідної напруги.

Якщо розсіюється на транзисторі VT2 потужність перевищує кілька ват, необхідно за допомогою вимикача SA1 включити вентилятор.

Живлять пристрій від зовнішнього (краще стабілізованого) блоку живлення напругою 12 В, який підключають до гнізда XS1. Для захисту від неправильної полярності напруги живлення встановлений діод VD1. У деяких випадках, наприклад, при вимірюванні параметрів акумулятора ємністю кілька ампер-годин і напругою 12 В, пристрої можна живити безпосередньо від нього. Але при цьому для коректного вимірювання ємності слід врахувати струм, споживаний самим пристроєм.

Якщо натиснути на кнопку SB2 "R" під час розрядки, то пристрій час стане короткочасно відключати струм розрядки і вимірювати напругу акумулятора під навантаженням і без неї. У цьому випадку на РКІ виводиться інформація про напругу акумулятора без навантаження і про його внутрішньому опорі.

Після подачі напруги живлення движки змінних резисторів R3 і R5 встановлюють в нижню, а R4 і R6 - у верхнє за схемою становище і підключають розряджається акумулятор. На короткий час натискають на кнопку SB1 "Скидання / Старт". В результаті відбувається перезавантаження Arduino і включається світлодіод HL2 "Розрядка" зеленого світіння. У верхньому лівому кутку РКІ з'явиться інформація про напругу акумулятора - Ub (в вольтах). З цього моменту починається відлік часу розрядки, поточна ємність С (в А · год) виводиться в правому верхньому куті РКІ. Змінними резисторами R5 і R6 встановлюють поріг виключення Ut (в вольтах), при досягненні якого розрядка припиняється. Цей параметр виводиться в лівому нижньому кутку РКІ. Резисторами R3 і R4 встановлюють розрядний струм Ib (в амперах), він відображається в правому нижньому кутку.

Підключаючи акумулятор, будьте дуже уважні! Чи не переплутайте полярність! Справа в тому, що транзистор VT2 містить вбудований захисний діод, підключений анодом до витоку, катодом - до стоку. Якщо полярність акумулятора виявиться неправильною, через цей діод і резистори R9, R10 може протікати великий струм. Його значення залежить від параметрів акумулятора, в першу чергу, від напруги. В результаті деякі елементи пристрою можуть вийти з ладу.

Більшість деталей розміщені на друкованій платі з фольгованого з одного боку склотекстоліти, яка виконана у вигляді плати розширення (shield). Для підключення до модуля Arduino Uno на платі пристрою змонтовані штирові роз'єми (вилки XP2 і XP3). Це дозволяє в разі потреби швидко встановлювати і знімати Arduino Uno, використовуючи її в інших проектах. Креслення плати зображений на рис. 2, її розміри відповідають платі комп'ютерного блоку живлення, в корпусі якого й змонтовано пристрій. Розміщення елементів на платі показано на рис. 3, а зовнішній вигляд змонтованої плати - на рис. 4.

Мал. 2. Креслення плати

Мал. 3. Розміщення елементів на платі

Рис.4. Зовнішній вигляд змонтованої плати

У пристрої застосовані постійні резистори Р1-4, С2-23 (крім R9 і R10), змінні - СП4-1, СП3-4 або імпортні, підлаштування - імпортні чи СП3-19. У датчику струму використані два послідовно з'єднаних резистора серії RWR (R9 і R10) опором по 0,24 Ом і припустимою потужністю розсіювання по 5 Вт. Зроблено це з двох причин. По-перше, вони були в наявності, а по-друге, при струмі до 3 А на них буде виділятися потужність не більше 4,5 Вт, тому розігріватися вони стануть не дуже сильно, що підвищить точність вимірювання. Світлодіоди - будь-які малопотужні відповідних кольору світла з діаметром корпусу 3 або 5 мм.

Транзистор 2N7002 (встановлений на платі з боку друкованих провідників) можна замінити транзистором 2N7000, КП505, BSS88. Правда, в цьому випадку доведеться підкоригувати малюнок друкованих провідників. Натомість транзистора КТ315Б підійде будь-який з серій КТ315, КТ312, КТ3102. Роз'єми XP2, XP3 - однорядні вилки PLS-10. Кнопки - будь-які з самоповерненням, наприклад КМ-2. Можна застосувати і тактові кнопки ТС-0409 або аналогічні, закріпивши їх на панелі за допомогою клею. Гніздо для підключення джерела живлення може бути будь-яким.

Як уже сказано вище, пристрій зібрано в корпусі комп'ютерного блоку живлення розмірами 150x125x85 мм. Для підключення перевіряється акумулятора використані штатні мережеве гніздо і вилка (XP1). Оскільки в корпусі вже встановлено вентилятор, він застосований для охолодження тепловідведення, на якому закріплений транзистор VT2. Конструкція тепловідведення повинна бути такою, щоб потік повітря від вентилятора проходив уздовж його ребер. Для спрощення приладу було вирішено включати вентилятор вручну вимикачем, встановленим на верхній панелі, в разі, якщо розсіюється транзистором потужність перевищує 5 Вт. Крім вимикача, на верхній панелі пристрою розміщені всі змінні резистори, світлодіоди, РКІ і кнопка SB2, а гніздо XS1 і кнопка SB1 - на задній. Для них зроблені отвори відповідних форм і розмірів. К - HL2 РКІ і світлодіоди закріплені клеєм. Для підключення розряджається акумулятора використаний штатний мережевий кабель від блоку живлення, але укорочений до 0,5 м. Оскільки кабель містить три дроти, два з них з'єднані паралельно. На кінцях проводів розпаяні затискачі "крокодил", але можна застосувати і інші. У бічній стінці корпусу зроблено отвір для підключення USB-кабелю. Тому в Arduino Uno можна завантажувати програму (скетч), не виймаючи плату з корпусу. Зовнішній вигляд пристрою показано на рис. 5.

5

Мал. 5. Зовнішній вигляд пристрою

Після завантаження скетчу і підключення блоку живлення починають налагодження пристрою з комп'ютером, на якому встановлена ​​інтегрована середовище розробки Arduino - Arduino IDE. В першу чергу, підлаштування резистором R13 встановлюють необхідну контрастність зображення РКІ. Двигуни змінних резисторів R5 і R6 встановлюють в нижнє за схемою становище. Зразковим вольтметром вимірюють напругу харчування Vcc мікроконтролера на платі Arduino Uno і заносять його в скетч, після чого завантажують його в Arduino Uno.

Вхід пристрою підключають через зразковий амперметр до регульованого лабораторному блоку живлення з вихідною напругою 0 ... 15 В і струмом до 3 ... 4 А. Встановлюють напруга близько 4 В і змінним резистором R3 встановлюють розрядний струм 0,5 ... 1 А . Порівнюють показання амперметра Ia і РКІ Ib. У випадку виникнення розбіжностей змінюють в скетчі чисельне значення опору датчика струму RI і завантажують його в Arduino Uno до отримання точного збігу показань.

Потім вхід пристрою безпосередньо підключають до лабораторного блоку живлення. До нього ж підключають і зразковий вольтметр. Двигуни змінних резисторів R3-R6 встановлюють в нижнє за схемою становище. Встановлюють напруга близько 2,5 В і порівнюють показання вольтметра верб і Ub на РКІ. Зміною поправочний коефіцієнт K1 (в скетчі), по аналогії з попереднім випадком, домагаються рівності показань.

Встановлюють на виході лабораторного блоку живлення напруга близько 7 В і натискають на кнопку SB1 "Скидання / Старт". Після перезавантаження підлаштування резистором R8 приблизно зрівнюють показання вольтметра верб і Ub на РКІ. Добіркою поправочний коефіцієнт K2 (в скетчі) домагаються більш точного рівності показань.

На закінчення визначають опір сполучних проводів. Під час проведення цих робіт бажано включити вентилятор. На виході лабораторного блоку живлення встановлюють напругу 8.9 В, при цьому свідчення вольтметра верб і Ub на РКІ повинні збігатися. Потім резистором R3 встановлюють розрядний струм Ib = 2,5 ... 3 А, записують значення Ib, Uв і Ub на РКІ і обчислюють R = (Uв - Ub) / Ib. Це значення заносять в скетч. Після такої корекції при зміні струму розрядки від мінімуму до максимуму показання вольтметра і Ub на РКІ повинні практично збігатися.
При натисканні на кнопку SB2 "R" на РКІ повинні виводитися значення напруги акумулятора без навантаження U0 і його внутрішнього опору R. Для перевірки цього режиму на виході лабораторного блоку живлення послідовно з вхідними проводами встановлюють резистор опором 0,5 ... 1 Ом і встановлюють ток розрядки 1 ... 2 А. Після натискання на кнопку SB2 на екрані РКІ має відтворюватись опір цього резистора.

На закінчення слід зазначити, що для підвищення точності вимірювання струму розрядки Iр, опір резисторів R9 і R10, що утворюють датчик струму, вибрано порівняно великим (сумарний опір RI = 0,48 Ом). На цих резисторах падає напруга Uд = Ip - RI. Наприклад, при струмі 3 А Uд = 1,44 В, це означає, що нижче цього напруги акумулятор при такому струмі розрядити не вийде. Але зазвичай окремі малогабаритні акумулятори таким струмом і не розряджають, а батарею Ni-Cd, Ni-Mh акумуляторів або Li-Ion акумулятор розряджають до більшої напруги.

Але якщо необхідно зменшити падіння напруги на датчику струму, в ньому слід застосувати резистор опором, наприклад, 0,1 Ом. Але в цьому випадку напруга на ньому зменшиться, а похибка вимірювання зросте. Для усунення цього недоліку треба посилити (приблизно в десять разів) напруга з датчика струму за допомогою УПТ, який можна зібрати на невикористаний ОУ в мікросхемі DA1. Після цього доведеться встановити в скетчі відповідне чисельне значення датчика струму, помножене на коефіцієнт посилення УПТ.

У пристрої для Arduino написана найпростіша програма з мінімальним набором функцій. Не зраджуючи апаратну частину, можна істотно розширити можливості приладу. Наприклад, підвищити точність вимірювання напруги, використовуючи способи вимірювання зразкового напруги і застосовуючи методи статистичної обробки результатів. Можна вимірювати і порівнювати з граничним НЕ напруга акумулятора в процесі розрядки, а його ЕРС, відключаючи на цей час розрядний струм. Можна зробити два режими роботи пристрою: перший - з потужними батареями напругою 6 ... 15 В і струмом розрядки до 5 А, другий - з малопотужними батареями і акумуляторами напругою до 5 В і розрядних струмом до 1 А. І нарешті, додавши вузол зарядки , можна зробити автоматичне зарядно-розрядний пристрій з вимірюванням отриманого і відданого акумулятором заряду.

Крім того, можна запропонувати ще чимало поліпшень параметрів пристрою без зміни його схеми, а тільки за рахунок корекції скетчу. Але всі ці можливості з доопрацювання залишимо для шанувальників Arduin

Скетч можна знайти тут .

Автор: І. Нечаєв, м.Москва


Дата публікації: 04.08.2017

думки читачів
  • Artyr /
    Підтримую питання щодо креслень ПП, якщо це можливо, опублікуйте, будь ласка :)
  • Володимир /
    Сподобалося Ваше пристрій, але не можу завантажити плату. З повагою [email protected]
  • admin /
    Заробив FTP, можна завантажувати ...
  • Олексій /
    FTP не доступний. Чи можна викласти кудись в більш доступне місце?
  • Володимир /
    Дуже корисне і функціональне пристрій! Теж приєднуюся до прохання по скетчу і кресленням пп.
  • Вова /
    А можете викласти скетч і креслення пп?

Ви можете залишити свій коментар, думка або питання по наведеним вишематеріалу:


Чи можна викласти кудись в більш доступне місце?