2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Arduino и резистор - это все, что нам нужно для создания этой конструкции, которая создает измеритель емкости для аккумуляторов с напряжением до 5 В. Могут использоваться кислотные, щелочные, никель-кадмиевые, литий-ионные и липо-аккумуляторы. Рынок полон поддельных аккумуляторов, требующих огромной емкости, но доставляющих часть обещанной, уставший от ситуации, этот проект помогает определить фактическую емкость доступных аккумуляторов, когда у некоторых китайских литий-ионных аккумуляторов 8800 фактически не было даже 650 мАч.
Необходимо соблюдать осторожность и предотвращать разрядку, аккумуляторные батареи не должны разряжаться более чем на 20% от номинального напряжения, это может привести к необратимому повреждению вашего устройства.
Шаг 1. Собираем все вместе за один простой шаг
Указанные резисторы - 22R / 10W или 10R / 10W, мы используем последний, потому что он требует меньше времени на анализ. Для тестирования батарей меньшего размера, таких как CR2032, можно использовать резистор 47R / 2 Вт с медленной разрядкой, избегая нагрева батареи.
Для точности в код нужно внести только две корректировки. Переменная «vcc» должна принимать измеренное значение постоянного напряжения на плате Arduino. Переменная "резистор" должна принимать точное значение резистора в Омах, можно использовать десятичные числа.
В качестве интерфейса использовался последовательный монитор из Arduino IDE, показывающий значения, считываемые каждые 1,8 с, поэтому ПК должен оставаться подключенным к Arduino во время выполнения теста, окно можно минимизировать, позволяя использовать компьютер для другого цель, даже Таким образом, дизайн может быть легко изменен, чтобы принять ЖК-дисплей 16x2 или 4-разрядный 7-сегментный дисплей.
Время 1,8 с было выбрано, потому что оно позволяет быстро обновлять и потому, что оно кратно 60, что составляет 0,0005 часа, что облегчило вычисления.
Это решение было не только самым простым, но и самым дешевым среди других исследованных.
Шаг 2: Код
float vcc = 5.0; // Реальное значение напряжения на плате Arduino - измерить мультиметром float soma = 0.0;
int analogInput = 0;
float vout = 0,0;
значение int = 0;
поплавковый резистор = 10; // Истинное значение резистора в омах, измерить мультиметром -
// используется в дизайне: 10 Ом / 10 Вт
void setup () {
Serial.begin (9600);
pinMode (аналоговый ввод, ввод);
Serial.println («Чтение каждые 1,8 с»);
задержка (1800);
}
void loop () {
значение = analogRead (аналоговый ввод);
vout = (значение * vcc) / 1024.0;
float cout = vout / резистор;
float parcial = cout * 0,0005;
сома = сома + частичное;
Serial.print («Текущее чтение:»);
Serial.print (cout);
Serial.print («Усилитель»);
Serial.print ("На данный момент измерения:");
float msoma = soma * 1000;
Serial.print (msoma);
Serial.println («мАч»);
// ждем еще 1,8 сек
задержка (1800);
}