Съдържание:
- Стъпка 1: Промяна от базовия проект
- Стъпка 2: V0.2 на борда
- Стъпка 3: Платка: Разширен контролер за показване на символи I2c
- Стъпка 4: Макет: Дисплей на символи с интегриран I2c
- Стъпка 5: Реализация
- Стъпка 6: Разширяемост
- Стъпка 7: Списък на частите
- Стъпка 8: Платка: Нулиране, бутон Gnd E за избор на батерия
- Стъпка 9: Платка: I2c и щифтове за захранване
- Стъпка 10: Табло: Термистор и измерващо напрежение
- Стъпка 11: Табло: Резистор за измерване на напрежение
- Стъпка 12: Запояване Стъпка: Всички щифтове
- Стъпка 13: Стъпки за запояване: Издърпващ се резистор и термистор
- Стъпка 14: Стъпки за запояване: MOSFET, устойчивост на контролно напрежение
- Стъпка 15: Код
- Стъпка 16: Резултат след сглобяване
- Стъпка 17: Първо изберете Тип батерия
- Стъпка 18: Започнете разреждането
- Стъпка 19: Изключения: Извадена батерия
- Стъпка 20: Изключения: Температурен сигнал
- Стъпка 21: Тествайте ампеража
- Стъпка 22: Пакет
Видео: Проверка на батерията с температура и избор на батерия: 23 стъпки (със снимки)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
Тестер за капацитет на батерията.
С това устройство можете да проверите капацитета на 18650 батерия, киселина и други (най -голямата батерия, която тествах Това е 6v Acid батерия 4, 2A). Резултатът от теста е в милиампери/часове.
Създавам това устройство, защото имам нужда от него, за да проверя капацитета на фалшива китайска батерия.
За безопасност добавих, използвайки термистор, температурата на съпротивлението на захранването и батерията, за да предотвратя прекалено горещо, с този трик мога да проверя 6V киселинна батерия без да запаля дъската (в цикъла на разреждане отидете известно време към резистор с гореща мощност и устройството изчаква 20 секунди, за да намали температурата).
Избирам малък микроконтролер atmega328 съвместим nano (eBay).
Целият код е тук.
Стъпка 1: Промяна от базовия проект
Откраднах идеята от проекта на OpenGreenEnergy и преработих дъската, за да добавя функции, така че сега да станат по -общи.
v0.1
- VCC на Arduino вече се изчислява автоматично;
- Добавена е променлива за промяна на настройката по по -удобен начин.
- Добавен процент на разреждане
- Добавена температура на батерията и захранващия резистор
v0.2
- Добавена възможност за избор на батерия
- Създадена е прототипна платка (вижте схематичната), с екрана, бутона и високоговорителя извън дъската, защото в бъдеще бих искал да създам пакет.
- Добавено е управление на температурната граница към мощния резистор, така че да мога да блокирам процеса, когато температурата се повиши над 70 ° (над тази температура резисторът на мощността намалява).
v0.3
Очаквайте скоро табло от тази услуга
Стъпка 2: V0.2 на борда
В v0.2 за поддържане на различни видове батерии създадох структура, която трябва да бъде пълна с име на батерията, минимално напрежение и максимално напрежение (имам нужда от помощ, за да го напълня: P).
// Структура на типа батерияstruct BatteryType {char name [10]; float maxVolt; поплавък minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType тип батерии [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};
Сега използвам набор от 10k резистори за делителя на напрежението за отчитане на двойна температура на аналоговия вход. Ако искате да промените поддръжката на напрежението, трябва да промените тази стойност (обяснете по -добре по -нататък):
// Съпротивление на напрежението на батерията
#дефинирайте BAT_RES_VALUE_GND 10.0 #дефинирайте BAT_RES_VALUE_VCC 10.0 // Съпротивление на напрежението на захранващия резистор #дефинирайте RES_RES_VALUE_GND 10.0 #дефинирайте RES_RES_VALUE_VCC 10.0
Ако не използвате термистор, задайте това на false:
#define USING_BATTERY_TERMISTOR true
#define USING_RESISTO_TERMISTOR true
Ако използвате различен i2c дисплей, трябва да пренапишете този метод:
void draw (void)
В проекта можете да намерите фризинг схеми, снимки и др.
Стъпка 3: Платка: Разширен контролер за показване на символи I2c
Използвах общ дисплей на символи и изградих i2c контролера и го използвах с моята персонализирана библиотека.
Но ако искате, можете да вземете нормален i2c контролер (по -малко от 1 €) със стандартна библиотека, кодът остава същият. Целият код на дисплея е във функция за изтегляне, така че можете да го промените, без да променяте други неща.
По -добре обяснено тук.
Стъпка 4: Макет: Дисплей на символи с интегриран I2c
Същата схема без i2c контролиран разширена.
Стъпка 5: Реализация
За измерване на напрежение използваме принципа на делител на напрежение (повече информация в Уикипедия).
С прости думи, този код е множителният фактор за измерване на напрежението на батерията.
batResValueGnd / (batResValueVolt + batResValueGnd)
Вмъкнах 2 съпротивления на стойността batResValueVolt и batResValueGnd след и преди аналоговия проводник за четене.
batVolt = (sample1 / (1023.0 - ((BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)) * 1023.0))) * vcc;
sample1 е средните аналогови показания;
vcc справочно напрежение Arduino;
1023.0 е референтната максимална стойност на аналоговото четене (аналоговото четене на Arduino отива от 0 до 1023).
За да получите ампераж, се нуждаете от напрежение след и преди захранващия резистор.
Когато измервате напрежението след и преди захранващия резистор, можете да изчислите милиампер, който консумира батерията.
MOSFET се използва за стартиране и спиране на източването на батерията от захранващия резистор.
За безопасност вмъкнах 2 термистора за наблюдение на температурата на батерията и резистора на захранването.
Стъпка 6: Разширяемост
Опитвам се да създам прототипна платка, която да се разширява, но засега използвам само минимален набор от щифтове (в бъдеще ще добавя светодиоди и други бутони).
Ако искате поддържащо напрежение по -голямо от 10v, трябва да промените стойността на резистора на батерията и съпротивлението в съответствие с формулата
(BAT_RES_VALUE_GND / (BAT_RES_VALUE_VCC + BAT_RES_VALUE_GND)
в схемата Резисторно захранващо напрежение
Резисторно захранващо напрежение GND 1/2/(Резисторно захранващо напрежение 2/2 + Резисторно захранващо напрежение GND 1/2)
Розовото е запояване надолу
Стъпка 7: Списък на частите
Количество Свойства на типа част
- 2 5 мм винтов терминален винтов монтажен винтов монтажен блок 8A 250V LW SZUS (eBay)
- 1 клонинг на Arduino Pro Mini (съвместим с Nano) (eBay)
- 1 основен FET P-канал IRF744N или IRLZ44N (eBay)
- 11 10kΩ резистор 10kΩ (eBay)
- 2 Температурен сензор (термистор) 10kΩ; (eBay)
- * Обща мъжка заглавна форма ♂ (мъжка); (eBay)
- * Обща женска заглавна форма ♀ (женска); (eBay)
- 1 дъска PerfBoard Прототипна дъска 24x18 (eBay)
-
10R, 10W
захранващ резистор (eBay) Намирам моя в стар crt телевизор.
Стъпка 8: Платка: Нулиране, бутон Gnd E за избор на батерия
В лявата част на щифтовете можете да намерите бутона и зумера.
Използвам 3 бутона:
- един за промяна на типа батерия;
- един за стартиране на разреждане на избрана батерия;
- след това използвам щифт за нулиране, за да рестартирам всичко и да активирам нова операция.
Всички щифтове вече са изтеглени, така че трябва да активирате с VCC
Нулирането се активира с GND
Розовото е запояване надолу
Стъпка 9: Платка: I2c и щифтове за захранване
Към базата можете да видите VCC, GND и SDA, SCL за показване (и други в бъдеще).
Розовото е запояване надолу
Стъпка 10: Табло: Термистор и измерващо напрежение
Вдясно има щифтове за отчитане на стойността на термистора, единият за термистор на резистор за захранване, а другият за (мъжки/женски щифтове за прикачване) термистор на батерията.
След това има аналогови щифтове, които измерват диференциалното напрежение след и преди захранващия резистор.
Розовото е запояване надолу
Стъпка 11: Табло: Резистор за измерване на напрежение
Тук можете да видите резистора, който позволява да поддържа напрежение двойно от щифта arduino (10v), трябва да промените това, за да поддържате повече напрежение.
Розовото е запояване надолу
Стъпка 12: Запояване Стъпка: Всички щифтове
Първо добавям всички щифтове и го запоявам.
Стъпка 13: Стъпки за запояване: Издърпващ се резистор и термистор
След това добавям всички падащи резистори (за бутони) и i2c конектор (дисплей).
Тогава термисторът на резистора на захранването Това е много важно, тъй като киселинната батерия става твърде гореща.
Стъпка 14: Стъпки за запояване: MOSFET, устойчивост на контролно напрежение
Сега трябва да вмъкнем MOSFET, за да активираме разреждането и съпротивлението за проверка на напрежението.
2 съпротивление за напрежение преди мощност резистор 2 съпротивление за напрежение след мощност резистор, когато имате това напрежение можете да изчислите милиампер консумира.
Стъпка 15: Код
Микроконтролерът е съвместим с nano, така че трябва да настроите вашата IDE, за да качите Arduino Nano.
За да работите, трябва да изтеглите код от моето хранилище на github.
След това трябва да добавите 3 библиотека:
- Wire: стандартна arduino библиотека за i2c протокол;
- Библиотеката на Termistor от тук не е библиотеката, която можете да намерите в arduino IDE, а моята версия;
- LiquidCrystal_i2c: ако използвате разширена/персонализирана версия на адаптера i2c (моята версия), трябва да изтеглите библиотеката от тук, ако използвате стандартния компонент, можете да вземете библиотеката от arduino IDE, но всичко е по -добре обяснено тук.
Не тествам LCD със стандартна библиотека, струва ми се, че са взаимозаменяеми, но ако има някакъв проблем, не се колебайте да се свържете с мен.
Стъпка 16: Резултат след сглобяване
Основната платка е на снимката, след което можем да я тестваме.
Стъпка 17: Първо изберете Тип батерия
Както е описано, имаме карта на стойността с конфигурация на батерията.
// Структура на типа батерияstruct BatteryType {char name [10]; поплавък maxVolt; поплавък minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType тип батерии [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};
Стъпка 18: Започнете разреждането
Щракването на втория бутон започва разтоварването.
На дисплея можете да видите текущи милиампери, милиампери/часове, процент на разреждане, напрежение на батерията и температура на захранващия резистор и батерията.
Стъпка 19: Изключения: Извадена батерия
Ако премахнете процеса на разреждане на батерията, той ще спре, когато го поставите отново, той се рестартира при последната стойност.
Стъпка 20: Изключения: Температурен сигнал
Ако температурата (батерията или резисторът на захранването) се повиши, процесът на разреждане ще спре.
#дефинирайте BATTERY_MAX_TEMP 50
#define RESISTANCE_MAX_TEMP 69 // 70 ° на листа с данни (резистори с намаление) #define TEMP_TO_REMOVE_ON_MAX_TEMP 20
Стойността по подразбиране за максимална температура е 50 ° за батерията и 69 за захранващия резистор.
Както можете да видите в коментара, мощният резистор се влияе от намаляване на стойностите при надвишаване на 70 °.
Ако предупреждението е повишено, започнете TEMP_TO_REMOVE_ON_MAX_TEMP секунди на пауза, за да поставите ниска температура.
Стъпка 21: Тествайте ампеража
Резултатът от теста за ампераж е добър.
Стъпка 22: Пакет
С отделен компонент резултатът от пакета е лесен за реализиране.
В кутия трябва да има правоъгълник за LCD, отворите за бутоните и външна женска цев за захранване на напрежението от захранването.
Бутонът не се нуждае от издърпващ се резистор, защото го добавям вече на борда.
Когато имам малко време, го създавам и публикувам.
Препоръчано:
LED светлина (и) със захранване от батерията със слънчево зареждане: 11 стъпки (със снимки)
LED светлини (и), захранвани от батерии, със слънчево зареждане: Жена ми учи хората как да правят сапун, повечето от часовете й бяха вечер и тук през зимата се стъмва около 16:30 ч. Някои от нейните ученици имаха проблеми с намирането на нашите къща. Имахме табела отпред, но дори и с улично осветление
Ден от седмицата, календар, време, влажност/температура с пестене на батерията: 10 стъпки (със снимки)
Ден от седмицата, календар, време, влажност/температура с режим на пестене на батерията: Режимът за пестене на енергия тук е това, което отличава тази инструкция от други примери, показващи ден от седмицата, месец, ден от месеца, час, влажност и температура. Именно тази възможност позволява този проект да се изпълнява от батерия, без
Избор на стъпков двигател и драйвер за проект за автоматизиран сенчест екран на Arduino: 12 стъпки (със снимки)
Избор на стъпков двигател и драйвер за проект за автоматизиран сенчест екран на Arduino: В тази инструкция ще премина през стъпките, които предприех, за да избера стъпков двигател и драйвер за прототип на проект за автоматизиран сенчест екран. Сенните екрани са популярните и евтини модели на Coolaroo с ръчно коляно и аз исках да заменя т
Подмяна на батерията на iPhone 6 Plus: Ръководство за подмяна на вътрешната батерия: 12 стъпки (със снимки)
Смяна на батерията на iPhone 6 Plus: Ръководство за подмяна на вътрешната батерия: Здравейте, момчета, преди време направих ръководство за смяна на батерията на iPhone 6 и изглежда, че е помогнало на много хора, така че ето ръководство за iPhone 6+. IPhone 6 и 6+ имат по същество една и съща конструкция, с изключение на очевидната разлика в размера. Има
Индикатор за нивото на батерията/Автоматично изключване за 12v батерия: 5 стъпки (със снимки)
Индикатор за нивото на батерията „Направи си сам“/Автоматично изключване за 12v батерия: „Направи си сам“… Всички сме преминали през ситуацията, когато нашите зарядни устройства от висок клас са заети да зареждат тези литиево -полимерни батерии, но все пак трябва да заредите тази 12v оловно -киселинна батерия и единственото зарядно устройство, което имам сляп …. Да, сляп