Съдържание:
- Стъпка 1: Въведение
- Стъпка 2: Какво ще измерим и как
- Стъпка 3: Схема
- Стъпка 4: Програми
- Стъпка 5: Заключение
Видео: Тестер за батерии Arduino с WEB потребителски интерфейс .: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:51
Днес електронното оборудване използва резервни батерии, за да запази състоянието, в което операцията е била оставена, когато оборудването е било изключено или когато случайно е било изключено. Потребителят, когато се включи, се връща към мястото, където е останал и по този начин не губи нито време, нито реда на изпълнение на задачите си.
Стъпка 1: Въведение
Правя проект за измерване на състоянието на батерии с различен капацитет и напрежение, като използвам метода: Двустепенно DC натоварване. Този метод се състои в извличане на малък ток от батерията за 10 секунди и висок ток за 3 секунди (стандарти IEC 61951-1: 2005). От това измерване се изчислява вътрешното съпротивление и оттам неговото състояние.
Работната станция ще се състои от няколко конектора, по един за всеки тип батерия, и компютър. За това е необходим потребителски интерфейс (UI). Най -важната част от този урок е потребителският интерфейс, тъй като в други инструкции са описани тези методи за тестване на батерията. Опитах Processing и получих добри резултати, но реших да направя свой собствен софтуер, използвайки локален уеб сървър и да се възползвам от потенциала на HTML, CSS и php.
Известно е, че е много трудно да се изпраща информация от Arduino до компютър с Windows, но в крайна сметка успях. Всички програми са включени в този урок.
Стъпка 2: Какво ще измерим и как
Вътрешно съпротивление.
Всяка истинска батерия има вътрешно съпротивление. Винаги приемаме, че това е идеален източник на напрежение, тоест можем да получим много ток, поддържайки номиналното напрежение постоянно. Размерът на батерията, химичните свойства, възрастта и температурата обаче влияят върху количеството ток, който батерията може да генерира. В резултат на това можем да създадем по -добър модел на батерия с идеален източник на напрежение и резистор последователно, както е показано на фиг.
Батерия с ниско вътрешно съпротивление е в състояние да подава по -голям ток и поддържа студена, но батерията с високо съпротивление кара батерията да се нагрее и напрежението да падне при натоварване, което води до ранно изключване.
Вътрешното съпротивление може да се изчисли от връзката ток-напрежение, дадена от две точки в кривата на разряд.
Двустепенният метод на DC натоварване предлага алтернативен метод чрез прилагане на две последователни натоварвания на разряд с различни токове и продължителност на времето. Батерията първо се разрежда при нисък ток (0.2C) за 10 секунди, последван от по -висок ток (2C) за 3 секунди (виж Фигура 2); законът на Ом изчислява стойностите на съпротивлението. Оценката на сигнала на напрежението при двете условия на натоварване предлага допълнителна информация за батерията, но стойностите са строго резистивни и не разкриват състоянието на зареждане (SoC) или оценките на капацитета. Изпитването на натоварване е предпочитаният метод за батерии, които захранват DC натоварвания.
Както беше посочено по -горе, има много методи за измерване на батерии, третирани в други инструкции и които могат да бъдат приложени с Arduino, но в този случай, въпреки че не предлага пълна оценка на състоянието на батерията, той дава стойности, които могат да бъдат използвани за оценка на бъдещото им поведение.
Вътрешното съпротивление се намира чрез използване на връзката
Където
Ri = (V1 - V2) / (I2 - I1)
? 1-Напрежението се измерва по време на слаб ток и по-дълъг момент от време;
? 2-Напрежение, измерено по време на високия ток и по-кратък миг от време;
? 1 - Ток през по -дълъг момент от време;
? 2 - Ток през по -краткия момент.
Стъпка 3: Схема
Веригата е източник на ток, който черпи 0.2C (в този случай 4mA) и 2C (в този случай 40mA) от батерии, използвайки само една верига, управлявана с PWM сигнал от Arduino. По този начин е възможно да се измерват всички резервни батерии с C = 20mAh, независимо от напрежението им в диапазона от 1.2V до 4.8V и други батерии с различен капацитет. В първата версия използвах два транзистора всеки с товар за източване на 4mA, а другият 40mA. Този вариант не беше подходящ за бъдещето, тъй като те искаха да измерват други батерии с различен капацитет и тази схема изискваше голям брой резистори и транзистори.
Схемата с източник на ток е показана на фиг. 3. Честотата на PWM сигнала от пин 5 на платката Arduino е 940Hz, затова Fc на нискочестотния филтър (LPF) е 8 Hz, което означава, че първата хармоника на ШИМ сигналът (940Hz) ще бъде отслабен 20dB, тъй като RC филтрите осигуряват 10 dB затихване на десетилетие (на всеки 10 пъти Fc - затихването ще бъде 10dB при 80Hz и 20dB при 800Hz). Транзисторът IRFZ44n е извънгабаритен, защото в бъдеще ще бъдат тествани батерии с по -голям капацитет. LM58n, двоен операционен усилвател (OA), е интерфейсът между платката Arduino и IRFZ44n. LPF е поставен между двата операционни усилвателя, за да се осигури добро отделяне между микропроцесора и филтъра. На фиг.3, щифт A1 на Arduino е свързан към източника на транзистор IRFZ44n, за да провери тока, извлечен от батерията.
Веригата се състои от 2 части, под дъската на Arduino UNO и над източника на ток, както е показано на следващата снимка. Както можете да видите, в тази схема няма нито превключватели, нито бутони, те са в потребителския интерфейс на компютър.
Тази схема също позволява измерване на капацитета на батерията в mAh, тъй като тя има източник на ток, а платката Arduino има таймер.
Стъпка 4: Програми
Както бе споменато по -горе, приложението има, от едната страна, потребителски интерфейс, направен с HTML, CSS и, от другата страна, скицата на Arduino. Интерфейсът е изключително прост, за момента, тъй като изпълнява само измерването на вътрешното съпротивление, в бъдеще ще изпълнява повече функции.
Първата страница има падащ списък, от който потребителят избира напрежението на батерията, която ще се измерва (фиг. 4). HTML програма на първа страница се нарича BatteryTesterInformation.html. Всички батерии са с капацитет 20 mAh.
Втора страница, BatteryTesterMeasurement.html.
На втората страница батерията е свързана към посочения конектор и започва (бутон START) измерването. За момента този светодиод не е включен, тъй като има само един конектор, но в бъдеще те ще имат повече конектори.
След като натиснете бутона СТАРТ, комуникацията с дъската на Arduino започва. На същата страница формулярът Резултати от измерването се показва, когато платката Arduino изпраща резултатите от теста на батерията и бутоните START и CANCEL са скрити. Бутонът НАЗАД се използва за започване на теста на друга батерия.
Функцията на следващата програма, PhpConnect.php, е да се свърже с дъската на Arduino, да предава и получава данни от дъските на Arduino и уеб сървъра.
Забележка: Предаването от компютър към Arduino е бързо, но предаването от Arduino към компютър има забавяне от 6 секунди. Опитвам се да разреша тази досадна ситуация. Моля, всяка помощ е високо оценена.
И скицата на Arduino, BatteryTester.ino.
Когато полученото вътрешно съпротивление е 2 пъти по -голямо от първоначалното (нова батерия), батерията е лоша. Тоест, ако тестваната батерия има 10 ома или повече и по спецификация този вид батерия трябва да има 5 ома, тази батерия е лоша.
Този потребителски интерфейс беше тестван с FireFox и Google без проблеми. Инсталирах xampp и wampp и работи добре и в двете.
Стъпка 5: Заключение
Този тип разработка, използваща потребителски интерфейс на компютъра, има много предимства, тъй като позволява на потребителя по -лесно разбиране на работата, която вършат, както и избягване използването на скъпи компоненти, които изискват механично взаимодействие, което ги прави податливи на счупвания.
Следващата стъпка от това развитие е да добавите конектори и да промените някои части на веригата, за да тествате други батерии, както и да добавите зарядно устройство. След това печатната платка ще бъде проектирана и поръчана.
Потребителският интерфейс ще има още модификации, за да включва страницата за зарядно устройство
Моля, всяка идея, подобрение или корекция не се колебайте да коментирате, за да подобрите тази работа. От друга страна, ако имате въпроси, попитайте ме, аз ще отговоря възможно най -бързо.
Препоръчано:
Esp8266 базиран усилвател конвертор с невероятен потребителски интерфейс Blynk с регулатор на обратната връзка: 6 стъпки
Esp8266 базиран усилващ преобразувател с невероятен потребителски интерфейс Blynk с регулатор на обратната връзка: В този проект ще ви покажа ефективен и често срещан начин как да увеличите постояннотоковото напрежение. Ще ви покажа колко лесно може да бъде изграждането на усилващ конвертор с помощта на Nodemcu. Нека го изградим. Той също така включва екранен волтметър и обратна връзка
Iterator (приложение за графичен потребителски интерфейс на Python): 5 стъпки
Iterator (приложение за графичен потребителски интерфейс на Python): Здравейте, момчета, върнах се с още една страхотна инструкция. Този път научих Python и си помислих, че след като научих език за програмиране, е по -добре да разработя софтуер. Така че имам идея защо да не създам софтуер, който да помогне с досадното
Логически анализатор с потребителски интерфейс за Android: 7 стъпки
Логически анализатор с потребителски интерфейс на Android: Светът вече е наводнен с толкова много логически анализатори. В моето хоби по електроника имах нужда от такъв за отстраняване на неизправности и отстраняване на грешки. Търсих в интернет, но не мога да намеря този, който търся. Ето ме, представям … " ОЩЕ още един
ДИЗАЙН НА ARDUINO МЕНЮ С OLED-UI (ПОТРЕБИТЕЛСКИ ИНТЕРФЕЙС): 4 стъпки
ДИЗАЙН НА МЕНЮ ARDUINO С OLED-UI (ПОТРЕБИТЕЛСКИ ИНТЕРФЕЙС): Здравейте, всички! В този урок ще се опитам да обясня как да направя ДИЗАЙН НА ARDUINO МЕНЮ, като използвам i2c OLED екран. Той е известен също като потребителски интерфейс (потребителски интерфейс). Използва се за много проекти, но трябва да ви е познат от 3d принтери :) Тук също видео
Потребителски интерфейс за Android (remotexy) за управление на серво мотор с помощта на Arduino и Bluetooth: 7 стъпки (със снимки)
Потребителски интерфейс за Android (remotexy) за управление на серво мотор с помощта на Arduino и Bluetooth: В тази инструкция ще ви дам бърза стъпка да направите потребителски интерфейс на Android с помощта на Remotexy Interface Maker за управление на серво мотор, свързан към Arduino Mega чрез Bluetooth. Това видео показва как потребителският интерфейс ще контролира скоростта и позицията на серво мотора