- Вимірювання окремої напруги комірки в серії батарей
- Диференціальний контур для вимірювання окремої напруги комірки
- Кругова діаграма
- Дизайн та виготовлення друкованих плат із використанням Easy EDA
- Розрахунок та замовлення зразків через Інтернет
- Тестування схеми контролю напруги
- Вимірювання напруги на літієвих елементах за допомогою Arduino
- Програмування Arduino
- Індивідуальний дисплей напруги комірки працює
Пробіг та продуктивність електромобіля залежить від ємності та ефективності його акумуляторної батареї. За підтримку повного стану акумуляторної батареї відповідає Система управління акумуляторами (BMS). BMS - це складний блок в електромобілі, який виконує багато заходів, таких як моніторинг клітин, їх збалансування і навіть захист від перепадів температури. Ми вже дізналися про це в цій статті про систему керування акумулятором, тож перевірте їх, якщо ви тут новачок.
Щоб зробити що-небудь, першим кроком для BMS було б знати поточний стан елементів у літієвій батареї. Це робиться шляхом вимірювання напруги та струму (іноді також температури) осередків у пачці. Тільки з цими двома значеннями BMS може обчислити SOC або SOH та виконати балансування комірок тощо. Отже, вимірювання напруги та струму комірки є життєво важливим для будь-якої схеми BMS, будь то простий акумулятор або акумулятор для ноутбука або такий складний пакет, як Сонячні батареї.
У цій статті ми дізнаємось, як можна виміряти напругу окремих елементів комірок, що використовуються в літієвій батареї. Для цього проекту ми використаємо чотири послідовно з'єднані літієві елементи 18650 для формування акумуляторної батареї та спроектуємо просту схему з використанням операційних підсилювачів для вимірювання напруги окремих елементів та відображення її на РК-екрані за допомогою Arduino.
Вимірювання окремої напруги комірки в серії батарей
Проблема вимірювання окремої напруги комірки в комплекті послідовно підключених акумуляторів полягає в тому, що контрольна точка залишається незмінною. Наведене нижче зображення ілюструє те саме
Для простоти припустимо, що всі чотири комірки знаходяться на рівні напруги 4 В, як показано вище. Тепер, якщо ми використовуємо мікроконтролер, такий як Arduino, для вимірювання напруги в комірці, у нас не виникне проблем із вимірюванням напруги 1- ї комірки, оскільки інший кінець підключений до землі. Але для інших комірок нам потрібно виміряти напругу цієї комірки разом із попередніми комірками, наприклад, коли ми вимірюємо напругу 4-ї комірки, ми вимірюватимемо напругу всіх чотирьох комірок разом. Це пояснюється тим, що контрольну точку не можна змінити з місця.
Тому нам потрібно ввести тут додаткову схему, яка може допомогти нам виміряти окремі напруги. Грубим способом є використання потенційного дільника для відображення рівнів напруги, а потім їх вимірювання, але цей метод дозволить зменшити роздільну здатність зчитаного значення більш ніж до 0,1 В. Отже, у цьому підручнику ми будемо використовувати Op-Amp Differential Circuit для вимірювання різниці між кожною клемою для вимірювання окремої напруги.
Диференціальний контур для вимірювання окремої напруги комірки
Ми вже знаємо, що підсилювач Op-A під час роботи в якості диференціального підсилювача дає різницю між двома значеннями напруги, поданими на його інвертуючий і неінвертуючий штифт. Отже, для нашої мети вимірювання напруги 4 комірок нам потрібні три диференціальних підсилювача, як показано нижче.
Зверніть увагу, що це зображення лише для представлення; фактична схема потребує більше компонентів, і це буде розглянуто далі в цій статті. Перший операційний підсилювач O1 вимірює напругу 2- ї комірки, обчислюючи різницю між 2- м клітинним терміналом та 1- м клітинним терміналом, тобто (8-4). Подібним чином Op-amp O2 та O3 вимірюють напругу 3- ї та 4- ї комірок відповідно. Ми не використали операційний підсилювач для 1 - й осередки, оскільки вона може бути виміряна безпосередньо.
Кругова діаграма
Повна принципова схема для контролю напруги багатоклітинної батареї в літієвій батареї наведена нижче. Схема була розроблена за допомогою EasyEDA, і ми будемо використовувати її для виготовлення нашої друкованої плати.
Як ви можете бачити, у нашій схемі є два квадрокоптери з високовольтним оптичним підсилювачем OPA4197, обидва живляться загальною напругою блоку. Одна мікросхема (U1) використовується для буферної схеми, яка називається послідовником напруги, тоді як інша мікросхема (U2) використовується для формування схеми диференціального підсилювача. Буферна схема потрібна, щоб запобігти навантаженню будь-якої комірки окремо, тобто струм не повинен витрачатися з однієї комірки, а лише утворювати пакет в цілому. Оскільки буферна схема має дуже високий вхідний опір, ми можемо використовувати для зчитування напруги з комірки, не отримуючи від неї потужності.
Всі чотири операційних підсилювача в мікросхемі U1 використовуються для буферизації напруги чотирьох комірок відповідно. Вхідні напруги з комірок позначені від B1 + до B4 +, а буферна вихідна напруга позначена від B1_Out до B4_Out. Потім ця буферна напруга надсилається на підсилювач диференціалу для вимірювання окремої напруги комірки, як обговорювалося вище. Значення всього резистора встановлено на 1K, оскільки коефіцієнт підсилення диференціального підсилювача встановлений на одиницю. Ви можете використовувати будь-яке значення резистора, але всі вони повинні мати одне і те ж значення, за винятком резисторів R13 і R14. Ці два резистори утворюють потенційний дільник для вимірювання напруги в акумуляторі, щоб ми могли порівняти його із сумою виміряних напруг комірки.
Рейка до залізниці, високовольтний Op-Amp
Вищевказана схема вимагає використання високочастотного підсилювача між рейкою та залізницею, такого як OPA4197, з двох причин. Обидва мікросхеми Op-Amp працюють при напрузі в пакеті, яка становить максимум (4,3 * 4) 17,2 В, отже, Op-amp повинен мати здатність обробляти високі напруги. Крім того, оскільки ми використовуємо буферну схему, вихід буфера повинен дорівнювати напрузі в блоці для 4- ї клеточної клеми, тобто вихідна напруга повинна дорівнювати робочій напрузі операційного підсилювача, тому нам потрібно використовувати рейку для Залізничний операційний підсилювач
Якщо ви не можете знайти напрямну до залізничного операційного підсилювача, ви можете замінити мікросхему на простий LM324. Цей мікросхем може обробляти високу напругу, але не може виконувати роль залізниці до рейки, тому вам доведеться використовувати підтягуючий резистор 10k на першому штифті U1 Op-Amp IC.
Дизайн та виготовлення друкованих плат із використанням Easy EDA
Тепер, коли наша схема готова, настав час її сформувати. Оскільки Op-Amp, який я використовую, доступний лише в пакеті SMD, мені довелося виготовити друковану плату для моєї схеми. Отже, як завжди, ми використовували Інтернет-інструмент EDA під назвою EasyEDA, щоб виготовити нашу друковану плату, оскільки вона дуже зручна у використанні, оскільки має хорошу колекцію слідів та є відкритим кодом.
Після проектування друкованої плати ми можемо замовити зразки друкованих плат завдяки їх недорогим послугам з виготовлення друкованих плат. Вони також пропонують послугу пошуку компонентів, де вони мають великий запас електронних компонентів, і користувачі можуть замовити необхідні компоненти разом із замовленням друкованих плат.
Проектуючи свої схеми та друковані плати, ви також можете зробити свої схеми та конструкції друкованих плат загальнодоступними, щоб інші користувачі могли їх копіювати або редагувати та отримувати користь від вашої роботи; ми також зробили всі наші схеми схем та друкованих плат друкованими для цієї схеми, перевірте посилання нижче:
easyeda.com/CircuitDigest/Multicell-Voltage-measuring-for-BMS
Ви можете переглянути будь-який шар (верхній, нижній, верхній, молочний та ін.) Друкованої плати, вибравши шар у вікні "Шари". Нещодавно вони також представили опцію тривимірного перегляду, щоб ви також могли переглядати друковану плату Multicell для вимірювання напруги, як вона буде виглядати після виготовлення, використовуючи кнопку 3D View в EasyEDA:
Розрахунок та замовлення зразків через Інтернет
Після завершення проектування цієї схеми вимірювання напруги літієвих елементів ви можете замовити друковану плату через JLCPCB.com. Щоб замовити друковану плату у JLCPCB, вам потрібен файл Gerber. Щоб завантажити файли Gerber з вашої друкованої плати, просто натисніть кнопку «Створити файл виготовлення» на сторінці редактора EasyEDA, а потім завантажте файл Gerber звідти або натисніть кнопку «Замовити в JLCPCB», як показано на малюнку нижче. Це перенаправить вас на JLCPCB.com, де ви зможете вибрати кількість друкованих плат, які ви хочете замовити, скільки шарів міді вам потрібно, товщину друкованої плати, масу міді і навіть колір друкованої плати, як наведений нижче знімок:
Після натискання кнопки замовлення на кнопці JLCPCB ви перейдете на веб-сайт JLCPCB, де ви можете замовити будь-яку кольорову друковану плату за дуже низькою ціною, яка становить 2 долари для всіх кольорів. Їхній час збірки також дуже менший, що становить 48 годин при доставці DHL 3-5 днів, в основному ви отримаєте свої друковані плати протягом тижня з моменту замовлення. Більше того, вони також пропонують знижку в розмірі 20 доларів на доставку за ваше перше замовлення.
Після замовлення друкованої плати ви можете перевірити виробничий прогрес вашої друкованої плати з датою та часом. Ви перевіряєте це, перейшовши на сторінку облікового запису та клацніть на посилання "Прогрес виробництва" під друкованою платою, як показано на малюнку нижче.
Через кілька днів замовлення друкованих плат я отримав зразки друкованої плати в гарній упаковці, як показано на малюнках нижче.
Переконавшись, що сліди та сліди правильні. Я приступив до збірки друкованої плати, використовував жіночі заголовки, щоб розмістити Arduino Nano та LCD, щоб я міг їх видалити пізніше, якщо вони знадобляться для інших проектів. Повністю припаяна дошка виглядає так нижче
Тестування схеми контролю напруги
Після пайки всіх компонентів просто підключіть акумулятор до роз’єму H1 на платі. Я використав сполучні кабелі, щоб переконатись, що не зміню підключення в майбутньому випадково. Будьте дуже обережні, щоб не підключити його неправильно, оскільки це може призвести до короткого замикання та призвести до пошкодження акумуляторів або ланцюга назавжди. Моя друкована плата з акумулятором, яку я використовував для тестування, показана нижче.
Тепер використовуйте мультиметр на терміналі H2 для вимірювання індивідуальної напруги продажу. Термінал позначений цифрами для ідентифікації напруги комірки, що вимірюється струмом. Звідси можна зробити висновок, що схема працює. Але щоб зробити це цікавіше, давайте підключимо РК-дисплей і використовуємо Arduino для вимірювання цих значень напруги та відображення на РК-екрані.
Вимірювання напруги на літієвих елементах за допомогою Arduino
Схема підключення Arduino до нашої друкованої плати показана нижче. Він показує, як підключити Arduino Nano до РК-дисплея.
Роз'єм заголовка H2 на друкованій платі повинен бути підключений до аналогових висновків плати Arduino, як показано вище. Аналогові штирі A1 до A4 використовуються для вимірювання чотирьох напруг комірки відповідно, тоді як штифт A0 підключений до контактного виводу v 'P1. Цей висновок v 'може бути використаний для вимірювання загальної напруги блоку. Ми також підключили 1- й штифт P1 до Vin-шпильки Arduino і 3- й штифт P1 o заземлюючий штифт Arduino для живлення Arduino від акумуляторної батареї.
Ми можемо написати програму для вимірювання всіх чотирьох напруг комірок та напруги акумулятора та відобразити її на РК-дисплеї. Щоб зробити це цікавішим, я також додав усі чотири напруги комірки і порівняв значення з виміряною напругою в блоці, щоб перевірити, наскільки близько ми насправді вимірюємо напругу.
Програмування Arduino
Повну програму можна знайти в кінці цієї сторінки. Програма досить проста, ми просто використовуємо функцію аналогового зчитування для зчитування напруги комірки за допомогою модуля АЦП та відображення обчислюваного значення напруги на РК за допомогою бібліотеки РК.
float Cell_1 = analogRead (A1) * (5.0 / 1023.0); // Вимірюємо напругу 1-го осередку lcd.print ("C1:"); lcd.print (Cell_1);
У наведеному вище фрагменті ми виміряли напругу комірки 1 і помножили її на 5/1023, щоб перетворити значення АЦП від 0 до 1023 до фактичного значення від 0 до 5 В. Потім ми відображаємо розраховане значення напруги на РК-дисплеї. Подібним чином ми робимо це для всіх чотирьох елементів і для загальної батареї. Ми також використовували змінну загальну напругу для підсумовування всіх напруг комірки та відображення її на РК-дисплеї, як показано нижче.
float Total_Voltage = Cell_1 + Cell_2 + Cell_3 + Cell_4; // Додаємо всі чотири виміряні значення напруги lcd.print ("Всього:"); lcd.print (Total_Voltage);
Індивідуальний дисплей напруги комірки працює
Після того, як ви готові до схеми та коду, завантажте код на плату Arduino та підключіть блок живлення до друкованої плати. РК-дисплей тепер повинен відображати напругу окремих комірок усіх чотирьох комірок, як показано нижче.
Як ви можете бачити, напруга, що відображається для комірок від 1 до 4, становить 3,78 В, 3,78 В, 3,82 В і 3,84 В відповідно. Тоді я використав мультиметр для перевірки фактичної напруги цих комірок, яка виявилася дещо іншою, різниця наведена нижче.
Вимірювана напруга |
Фактична напруга |
3,78 В |
3,78 В |
3,78 В |
3,78 В |
3,82 В |
3,81 В |
3,84 В |
3,82 В |
Як бачите, ми отримуємо точні результати для клітин один і два, але існує помилка до 200 мВ для комірок 3 і 4. Це, швидше за все, можна очікувати для нашого проекту. Оскільки ми використовуємо схему диференціатора з операційним підсилювачем, точність вимірюваної напруги буде знижуватися зі збільшенням кількості комірок.
Але ця помилка є виправленою помилкою і може бути виправлена в програмі шляхом взяття зразків показань та додавання множника для виправлення помилки. На наступному РК-екрані ви також можете побачити суму виміряної напруги та фактичну напругу в блоці, яку вимірювали через дільник потенціалу. Те саме показано нижче.
Сума виміряних напруг становить 15,21 В, а фактична напруга, виміряна через штифт A0 Arduino, виявляється 15,22 В. Таким чином, різниця становить 100 мВ, що непогано. Хоча цей тип ланцюга може бути використаний для меншої кількості осаду, як у енергетичних банках або акумуляторах для ноутбуків. Електричний автомобіль BMS використовує спеціальні типи мікросхем, такі як LTC2943, оскільки навіть помилка 100 мВ не допустима. Тим не менше ми дізналися, як це зробити для малого масштабу, де ціна є обмеженням.
Повний робочий по настройки можна знайти на відео, пов'язане нижче. Сподіваюся, вам сподобався проект і ви дізналися з нього щось корисне. Якщо у вас виникли запитання, залиште їх у розділі коментарів або скористайтесь форумами, щоб швидше відповісти.