Оглавление:
- Шаг 1. Переход от базового проекта
- Шаг 2: V0.2 платы
- Шаг 3. Макетная плата: расширенный контроллер отображения символов I2c
- Шаг 4: Макетная плата: символьный дисплей со встроенным I2c
- Шаг 5: реализация
- Шаг 6: расширяемость
- Шаг 7: Список деталей
- Шаг 8: Плата: сброс, кнопка Gnd E для выбора батареи
- Шаг 9: Плата: I2c и контакты источника питания
- Шаг 10: Плата: термистор и измерение напряжения
- Шаг 11: Плата: резистор для измерения напряжения
- Шаг 12: Шаг пайки: все контакты
- Шаг 13: Этапы пайки: понижающий резистор и термистор
- Шаг 14: Этапы пайки: МОП-транзистор, сопротивление для проверки напряжения
- Шаг 15: Код
- Шаг 16: Результат после сборки
- Шаг 17: Сначала выберите тип батареи
- Шаг 18: начните разрядку
- Шаг 19: Исключения: Батарея удалена
- Шаг 20: Исключения: предупреждение о температуре
- Шаг 21: проверка силы тока
- Шаг 22: упаковка
Видео: Проверка батареи с температурой и выбором батареи: 23 шага (с изображениями)
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:52
Тестер емкости аккумулятора.
С помощью этого устройства вы можете проверить емкость батареи 18650, кислоты и других (самая большая батарея, которую я тестировал, это 6v Acid battery 4, 2A). Результат теста выражается в миллиампер / час.
Я создаю это устройство потому, что оно нужно для проверки емкости фальшивого китайского аккумулятора.
В целях безопасности я добавил, используя термистор, температуру силового сопротивления и батареи, чтобы предотвратить перегрев, с помощью этого трюка я могу проверить 6-вольтовую кислотную батарею, не загорая плату (в цикле разряда некоторое время перейдите на резистор горячего питания. и устройство подождите 20 секунд, чтобы снизить температуру).
Я выбираю маленький микроконтроллер atmega328, совместимый с nano (eBay).
Весь код здесь.
Шаг 1. Переход от базового проекта
Я позаимствовал идею из проекта OpenGreenEnergy и переделал доску, чтобы добавить функции, так что теперь перейдем к более общим.
v0.1
- VCC Arduino теперь рассчитывается автоматически;
- Добавлена переменная для более удобного изменения настроек.
- Добавлен процент разгрузки
- Добавлена температура батареи и силового резистора
v0.2
- Добавлена возможность выбора батареи
- Создан прототип платы (см. Схему) с экраном, кнопкой и динамиком вне платы, потому что в будущем я хотел бы создать пакет.
- Добавлено управление температурным пределом для силового резистора, чтобы я мог блокировать процесс при повышении температуры выше 70 ° (выше этой температуры, снижение номинальных характеристик силового резистора).
v0.3
Скоро появится доска с этого сервиса
Шаг 2: V0.2 платы
В v0.2 для поддержки различных типов батарей я создал структуру, которая должна быть заполнена названием батареи, минимальным и максимальным напряжением (мне нужна помощь, чтобы заполнить ее: P).
// Структура типа батареи BatteryType {char name [10]; float maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [BATTERY_TYPE_NUMBER] = {{"18650", 4.3, 2.9}, {"17550", 4.3, 2.9}, {"14500", 4.3, 2.75}, {"6v Acid", 6.50, 5.91 }};
Теперь я использую набор резисторов 10 кОм для делителя напряжения, чтобы считывать двойную температуру аналогового входа. Если вы хотите изменить поддержку напряжения, вы должны изменить это значение (объясните лучше далее):
// Сопротивление напряжения батареи
#define BAT_RES_VALUE_GND 10.0 #define BAT_RES_VALUE_VCC 10.0 // Сопротивление напряжения силового резистора #define RES_RES_VALUE_GND 10.0 #define RES_RES_VALUE_VCC 10.0
Если вы не используете термистор, установите значение false:
#define USING_BATTERY_TERMISTOR true
#define USING_RESISTO_TERMISTOR true
Если вы используете другой дисплей i2c, вы должны переписать этот метод:
ничья недействительна (недействительна)
В проекте вы можете найти схемы фритзинга, фотографии и многое другое.
Шаг 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).
Чтобы получить силу тока, вам нужно напряжение после силового резистора и до него.
Когда вы измерили напряжение после и до силового резистора, вы можете рассчитать миллиампер, который потребляет батарею.
МОП-транзистор используется для запуска и остановки разряда батареи из силового резистора.
В целях безопасности я вставил 2 термистора для контроля температуры батареи и силового резистора.
Шаг 6: расширяемость
Я пытаюсь создать прототип платы, который можно расширять, но пока я использую только минимальный набор контактов (в будущем я добавлю светодиоды и другие кнопки).
Если вы хотите, чтобы поддерживаемое напряжение превышало 10 В, вы должны изменить номинал резистора батареи и сопротивление в соответствии с формулой
(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 базовый полевой транзистор P-Channel IRF744N или IRLZ44N (eBay)
- 11 Резистор 10 кОм резистор 10 кОм (eBay)
- 2 Температурный датчик (термистор) 10кОм; (eBay)
- * Родовая мужская форма заголовка ♂ (мужская); (eBay)
- * Общая форма женского заголовка ♀ (женский); (eBay)
- 1 плата PerfBoard Доска для прототипа 24x18 (eBay)
-
10R, 10Вт
силовой резистор (eBay) я нахожу свой в старом ЭЛТ-телевизоре.
Шаг 8: Плата: сброс, кнопка Gnd E для выбора батареи
В левой части контактов находится кнопка и зуммер.
Использую 3 кнопки:
- один для смены типа батареи;
- один для начала разряда выбранной батареи;
- Затем я использую контакт сброса, чтобы перезапустить все и активировать новую операцию.
Все контакты уже опущены, поэтому вы должны активировать их с помощью VCC
Сброс активируется с помощью GND
Розовый идет пайкой вниз
Шаг 9: Плата: I2c и контакты источника питания
На базе вы можете увидеть VCC, GND и SDA, SCL для отображения (и другие в будущем).
Розовый идет пайкой вниз
Шаг 10: Плата: термистор и измерение напряжения
Справа находятся контакты для считывания значения термистора, один для термистора силового резистора, а другой для термистора батареи (штырьки / розетки для подключения).
Затем есть аналоговые выводы, которые измеряют дифференциальное напряжение после силового резистора и перед ним.
Розовый идет пайкой вниз
Шаг 11: Плата: резистор для измерения напряжения
Здесь вы можете увидеть резистор, который позволяет поддерживать напряжение вдвое больше, чем вывод Arduino (10 В), вы должны изменить его, чтобы поддерживать большее напряжение.
Розовый идет пайкой
Шаг 12: Шаг пайки: все контакты
Для начала добавляю все пины и паяю.
Шаг 13: Этапы пайки: понижающий резистор и термистор
Затем я добавляю весь выпадающий резистор (для кнопок) и разъем i2c (дисплей).
Затем термистор силового резистора. Это очень важно, так как кислотная батарея перегревается.
Шаг 14: Этапы пайки: МОП-транзистор, сопротивление для проверки напряжения
Теперь мы должны вставить МОП-транзистор, чтобы активировать разрядку, и сопротивление, чтобы проверить напряжение.
2 сопротивление для напряжения перед силовым резистором 2 сопротивление для напряжения после силового резистора, когда у вас есть это напряжение, вы можете рассчитать потребление в миллиамперах.
Шаг 15: Код
Микроконтроллер совместим с nano, поэтому вы должны настроить свою IDE для загрузки Arduino Nano.
Для работы вам необходимо скачать код из моего репозитория на github.
Затем вы должны добавить 3 библиотеки:
- Wire: стандартная библиотека arduino для протокола i2c;
- Termistor Library отсюда не библиотека, которую вы можете найти в Arduino IDE, а моя версия;
- LiquidCrystal_i2c: если вы используете расширенную / настраиваемую версию адаптера i2c (моя версия), вы должны загрузить библиотеку отсюда, если вы используете стандартный компонент, вы можете взять библиотеку из Arduino IDE, но здесь все лучше объяснено.
Я не тестирую ЖК-дисплей со стандартной библиотекой, мне кажется, что они взаимозаменяемы, но если есть какие-то проблемы, не стесняйтесь обращаться ко мне.
Шаг 16: Результат после сборки
Базовая плата есть на фото, потом мы можем ее протестировать.
Шаг 17: Сначала выберите тип батареи
Как описано, у нас есть карта значений с конфигурацией батареи.
// Структура типа батареи BatteryType {char name [10]; float maxVolt; float minVolt; }; #define BATTERY_TYPE_NUMBER 4 BatteryType batteryTypes [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: Исключения: предупреждение о температуре
Если температура (аккумулятор или силовой резистор) становится слишком высокой, процесс разрядки приостанавливается.
#define 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: упаковка
С разделенными компонентами простой для реализации результат.
В коробке необходимо сделать прямоугольник для ЖК-дисплея, отверстия для кнопок и внешнюю розетку для подачи напряжения от блока питания.
Кнопка не требует понижающего резистора, потому что я добавляю его уже на плате.
Когда у меня есть время, я создаю и выкладываю его.
Рекомендуемые:
Светодиодный светильник с синхронизацией по времени с питанием от солнечной батареи и батареи: 4 шага
Светодиодный светильник для навеса с синхронизацией по времени и на батарейках: в этом руководстве я покажу вам, как я сделал светодиодный светильник в своем навесе. Поскольку у меня нет подключения к электросети, я сделал его питаемым от аккумулятора. Аккумулятор заряжается через солнечную панель. Светодиодный свет включается с помощью импульсного переключателя и гаснет через
Коробка для камеры с контролируемой температурой DIY с модулем Peltier TEC: 4 шага (с изображениями)
Коробка для камеры с контролируемой температурой и модулем TEC Пельтье: Я собрал камеру с регулируемой температурой для тестирования небольших электронных плат. В этом уроке я поделился своим проектом, включая исходные файлы и ссылку на файлы Gerbers для создания печатной платы. Я использовал только дешевые общедоступные материалы
Омметр Arduino с автоматическим выбором диапазона своими руками: 3 шага
Самодельный омметр Arduino с автоматическим выбором диапазона: это простой омметр с автоматическим выбором диапазона, использующий Arduino. Измеренное сопротивление отображается на ЖК-дисплее 16 × 2. Устройство достаточно точное и использует минимальное количество внешних компонентов
Простой тестер конденсаторов / измеритель емкости с автоматическим выбором диапазона с Arduino и вручную: 4 шага
Простой тестер конденсаторов с автоматическим выбором диапазона / измеритель емкости с Arduino и вручную: Здравствуйте! Для этого физического модуля вам понадобятся: * источник питания с 0-12 В * один или несколько конденсаторов * один или несколько зарядных резисторов * секундомер * мультиметр для измерения напряжения измерение * Arduino nano * дисплей 16x2 I²C * резисторы 1/4 Вт с 220, 10 кОм, 4,7 МОм и
Контроллер паяльника с регулируемой температурой $ 10ish: 3 шага (с изображениями)
Контроллер паяльника с регулируемой температурой за 10 долларов: это руководство покажет вам, как превратить ваш паяльник Radioshack «firestarter» в версию с регулируемой температурой, потратив около 10 долларов на детали. Эта идея пришла ко мне после того, как я начал снимать дорожки на печатной плате, потому что я использовал 30 Вт