Схема зарядное устройство на микроконтроллере pic16f873a. Зарядное устройство и измеритель емкости Li-Ion аккумуляторов на микроконтроллере PIC16F873A

Как собрать устройство для зарядки и тестирования Li-Ion аккумуляторов. Какие функции выполняет это устройство. Как работает схема на микроконтроллере PIC16F873A. Какие компоненты используются в конструкции.

Назначение и возможности устройства

Данное устройство предназначено для зарядки и тестирования литий-ионных (Li-Ion) аккумуляторов с номинальным напряжением 3,7 В. Оно позволяет выполнять следующие функции:

  • Полная зарядка аккумулятора
  • Измерение реальной емкости аккумулятора
  • Определение внутреннего сопротивления
  • Автоматический цикл зарядки-разрядки-зарядки
  • Отображение информации на ЖК-дисплее
  • Звуковая сигнализация об окончании цикла

Устройство позволяет проверить, насколько реальная емкость аккумулятора соответствует заявленной номинальной. Это особенно актуально для б/у и восстановленных аккумуляторов.

Принцип работы устройства

Алгоритм работы устройства включает следующие этапы:

  1. Определение наличия подключенного аккумулятора
  2. Полная зарядка аккумулятора
  3. Полная разрядка с измерением емкости и внутреннего сопротивления
  4. Повторная полная зарядка
  5. Звуковая сигнализация об окончании цикла

Зарядка осуществляется импульсным током около 300 мА. В паузах между импульсами микроконтроллер измеряет напряжение на аккумуляторе. Разрядка производится током примерно 200 мА.


Схема устройства

Основой устройства является микроконтроллер PIC16F873A. Схема также содержит следующие ключевые компоненты:

  • ЖК-дисплей на 2 строки по 16 символов
  • Кварцевый резонатор для тактирования микроконтроллера
  • Транзисторные ключи для управления зарядом/разрядом
  • Делитель напряжения для измерения напряжения аккумулятора
  • Нагрузочный резистор для разряда
  • Пьезоизлучатель для звуковой сигнализации

Питание устройства осуществляется от стабилизированного блока питания 12 В. Потребляемый ток не превышает 250 мА.

Особенности работы схемы

Как работает схема устройства на основе микроконтроллера PIC16F873A?

Микроконтроллер управляет всеми процессами и выполняет измерения. Он включает зарядный ток через транзисторный ключ VT1-VT2. В паузах между импульсами заряда контроллер измеряет напряжение на аккумуляторе через делитель R1-R2-R3.

При разряде включается транзистор VT3, подключающий нагрузочный резистор R10. Микроконтроллер измеряет время разряда и рассчитывает емкость. Внутреннее сопротивление определяется по падению напряжения при подключении нагрузки.


Вся информация выводится на ЖК-дисплей. По окончании цикла подается звуковой сигнал через пьезоизлучатель.

Программирование микроконтроллера

Как запрограммировать микроконтроллер PIC16F873A для данного устройства?

Программа для микроконтроллера может быть написана на языке C или ассемблере. Основные функции, которые должна выполнять программа:

  • Управление ЖК-дисплеем
  • Измерение напряжения через АЦП
  • Управление зарядным и разрядным ключами
  • Расчет емкости и внутреннего сопротивления
  • Отсчет времени
  • Звуковая сигнализация

Для программирования можно использовать среду MPLAB X IDE и компилятор XC8. Прошивка загружается в микроконтроллер через программатор PICkit.

Изготовление устройства

Как собрать данное зарядное устройство своими руками?

Для сборки потребуются следующие компоненты:

  • Печатная плата
  • Микроконтроллер PIC16F873A
  • ЖК-дисплей 16×2
  • Транзисторы, резисторы, конденсаторы по схеме
  • Кварцевый резонатор
  • Пьезоизлучатель
  • Разъемы для подключения аккумулятора

Монтаж выполняется на печатной плате согласно принципиальной схеме. Особое внимание нужно уделить качеству пайки. После сборки необходимо тщательно проверить монтаж и отсутствие коротких замыканий.


Настройка и калибровка

Что нужно сделать для настройки готового устройства?

После сборки необходимо выполнить следующие шаги по настройке:

  1. Настроить контрастность ЖК-дисплея подстроечным резистором
  2. Откалибровать измерение напряжения с помощью эталонного вольтметра
  3. Проверить токи заряда и разряда
  4. Настроить порог отключения при полном заряде (4,2В)
  5. Настроить порог окончания разряда (3В)

Калибровка выполняется программно путем корректировки коэффициентов в прошивке микроконтроллера. После настройки устройство готово к использованию.

Преимущества и недостатки

В чем основные достоинства и ограничения данного устройства?

Преимущества:

  • Автоматический цикл тестирования аккумуляторов
  • Измерение реальной емкости
  • Определение внутреннего сопротивления
  • Информативный ЖК-дисплей
  • Простота конструкции

Недостатки:

  • Работа только с Li-Ion аккумуляторами 3,7В
  • Отсутствие интерфейса для подключения к компьютеру
  • Фиксированный ток заряда/разряда

Несмотря на ограничения, устройство позволяет эффективно тестировать Li-Ion аккумуляторы и выявлять экземпляры со сниженной емкостью.



Измеритель ёмкости Li-Ion аккумуляторов на микроконтроллере PIC16F873A

Чтобы проверить, насколько реальная ёмкость Li-Ion аккумулятора соответствует номинальной, и предназначен этот прибор.

Устройство, описание которого приводится далее,позволяет производить зарядку Li-Ion аккумуляторов с номинальным напряжением 3,7 В. При этом измеряются их ёмкость и внутреннее сопротивление. Алгоритм работы устройства следующий: определение наличия аккумулятора, полная зарядка, разрядка (при этом измеряются внутреннее сопротивление и ёмкость аккумулятора) и последующая зарядка. Об окончании цикла оповещает звуковой сигнал.

Рис. 1. Схема устройства

 

Схема устройства показана на рис. 1. Оно собрано на микроконтроллере DD1 PIC16F873A [1] и двухстрочном ЖКИ-модуле HG1 [2], по 16 символов в каждом. Конденсаторы С1, С4, С6 — блокировочные по цепи питания. Тактовую частоту микроконтроллера задают кварцевый резонатор ZQ1 и конденсаторы С2, С5. На резисторах R12 и R13 собран регулятор яркости подсветки ЖКИ. На резисторах R8, R9, R11 собран регулятор контрастности изображения ЖКИ. Резисторы R1, R2 и конденсатор С3 образуют делитель напряжения аккумулятора. Эта цепь подключена к входу АЦП микроконтроллера. Резисторы R3, R5-R7 и транзисторы VT1 и VT2 образуют цепь зарядки аккумулятора, резистор R7 — токоограничивающий. Резистор R10 (нагрузочный) и транзистор VT3 образуют цепь разрядки аккумулятора.

Рис. 2. Сообщение на ЖКИ-индикаторе

 

При подаче на устройство питающего напряжения на ЖКИ выводится сообщение «BATTERY TESTER (рис. 2). При подключении аккумулятора устройство определяет его наличие по остаточному напряжению и включает цикл зарядки и измерения (рис. 3). Далее происходит зарядка аккумулятора током около 300 мА. Причём она производится импульсами тока с малой скважностью (рис. 4). В паузах между импульсами микроконтроллер измеряет напряжение на аккумуляторе. На рис. 4 канал А (жёлтый) — напряжение на аккумуляторе, канал В (синий) — сигнал на линии RC2 микроконтроллера (управление цепью зарядки), канал С — сигнал на линии RC1 микроконтроллера (управление цепью разрядки, в данном случае напряжение сигнала равно нулю).

Рис. 3. Сообщение на ЖКИ-индикаторе

 

Рис. 4.

 

Как только напряжение на аккумуляторе достигнет 4,2 В, устройство перейдёт в режим разрядки током около 200 мА (рис. 5). Когда начинается разрядка аккумулятора, включается отсчёт времени. Каждую секунду микроконтроллер измеряет напряжение на аккумуляторе. Как только напряжение на аккумуляторе уменьшится до 3,7 В, микроконтроллер производит расчёт внутреннего сопротивления, которое рассчитывается по формуле R = dU/I, где dU — разность напряжений на аккумуляторе под нагрузкой и без неё; I — ток, протекающий через аккумулятор под нагрузкой.

Рис. 5.

 

Как только напряжение на аккумуляторе уменьшится до 3,2 В, микроконтроллер произведёт расчёт ёмкости и внутреннего сопротивления аккумулятора. Далее устройство начнёт зарядку аккумулятора. После её окончания устройство прекратит подачу тока на аккумулятор и выдаст прерывистый звуковой сигнал. На ЖК-индикаторе будут отображаться значения ёмкости и внутреннего сопротивления аккумулятора (рис. 6).

Рис. 6. Сообщение на ЖКИ-индикаторе

 

Налаживание прибора сводится к установке необходимой яркости подсветки ЖКИ резистором R13 и контрастности изображения резистором R9.

Питание устройства осуществляется от стабилизированного блока питания 12 В, потребляемый устройством ток не превышает 250 мА.

Литература

1. PIC16F87XA Data Sheet 28/40/44-Pin Enhanced Flash Microcontrollers. — URL: http://akizukidenshi.com/download/PIC16F 87XA.pdf (26.08.2021).

2. Wh2602B-YYH-CTK. — URL: http:// www.avislab.com/blog/lcd/ (26.08.2021).

Автор: В. Турчанинов, г. Севастополь

Схемы на микроконтроллерах, самодельные устройства и программаторы (Страница 7)

Программаторы Узлы и модули

Схема вольтметра-амперметра на микроконтроллере PIC16F877A (до 25В, 2,5А)

В некоторых старых лабораторных блоках питания, других приборах, применялись спаренные стрелочные индикаторы. Они представляли собой общий корпус, в котором расположены две магнитодинамические индикаторные системы.

В случае с блоком питания, -одна для индикации напряжения, вторая для индикации …

0 4265 0

Часы с термометром и таймером на PIC-микроконтроллере PIC16F873A

Предлагаемое устройство отсчитывает время, измеряет температуру в доме и на улице, выключает по истечении заданного времени сетевую нагрузку. Оно просто в изготовлении. Вся информация выводится на светодиодный индикатор, который видно как днем, так и ночью, как вблизи, так и издалека. В продаже …

2 6333 2

Игровой автомат Кто Быстрее на микроконтроллере PIC16F628A

Приведена схема самодельного игрового автомата Кто Быстрее, который рассчитан на четырёх игроков. Позволяет определить с 1-го по 4-ое места и измерить время реакции каждого игрока после подачи звукового и светового сигнала. Техническое описание прибора Принципиальная схема прибора изображена …

1 3608 0

Схема приставки для восстановления FUSE-битов в AVR микроконтроллерах

Принципиальная схема самодельного устройства, которое поможет оживить МК и восстановить значения FUSE-битов после последовательного программирования. Среди радиолюбителей вот уже несколько лет заслуженной популярностью пользуются микроконтроллерыAtmel AVR. Особенностью этих МК является …

5 8598 4

Самодельный спидометр и тахометр на базе Arduino с дисплеем 1602А

Здесь описывается цифровой прибор, измеряющий скорость движения автомобиля и частоту вращения коленвала его двигателя. Индикатором служит ЖК-дисплей типа 1602А, он стандартный, на основе контроллера HD44780. Обозначение 1602А фактически значит, что он на две строки по 16 символов в строке …

2 9449 2

Простой частотомер на основе Arduino UNO (0-1МГц)

Приводится описание частотомера, измеряющего частоту до 1 МГц, построенного на основе платы Arduino UNO. Но, прежде всего, хочу напомнить, что Arduino UNO это небольшая печатнаяплата, на которой расположен микроконтроллер ATMEGA328, а так же вся его «обвязка», необходимая для его работы …

4 14332 9

Вольтметр и тахометр для автомобиля на основе Arduino UNO

Принципиальная схема и описание самодельного вольтметра и тахометра на основе платформы Arduino UNO, хорошая самоделка для вашего автомобиля. У очень многих современных автомобилей нет ни тахометра ни вольтметра. Возможно, производители и правы, и знать водителю частоту вращения коленвала …

1 5336 2

Два вольтметра с одним дисплеем 1602A на Arduino UNO

Описано как собрать самодельный двойной вольтметр на основе платформы Arduino UNO с использованием ЖК-дисплея 1602A. В некоторых случаях необходимо измерять одновременно два постоянныхнапряжения и сравнивать их. Это может потребоваться, например, при ремонте или налаживании стабилизатора …

0 4673 0

Схема таймера на микроконтроллере ATINY2313 для тепловых пушек

Рассмотрена принципиальная схема реле времени для управления тепловыми пушками, она выполнена на базе микроконтроллера AVR. Описан принцип работы схемыреле времени, алгоритм его работы, а также рассмотрен программный код для микроконтроллера. Конструкция тепловой пушки (тепловентиляторы …

0 3746 2

Простой вольтметр на микроконтроллере для автомобиля (PIC16F1827)

На приборной панели большинства автомобилей нет вольтметра, есть только лампочка, которая горит когда напряжение сильно снижается.

Чаще всего это происходит при обрыве ремня генератора или полном выходе генератора из строя. При том, такая неисправность как повышенное напряжение вообще никак не …

0 3793 0

 1 …  3  4  5  6 7 8  9  10  11 


Microchip PIC16F873A-I/SS, 8bit PIC Microcontroller, PIC16F, 20MHz, 8kB Flash, 28-Pin SSOP

Посмотреть все Микроконтроллеры


94 В наличии для доставки в течение 3 рабочих дней Цена каждая (в пакете 2)

HK $ 78,735

единиц за единицу за пакет*
2 — 10 HK $ 78.735.735.735.735.7359.735.735.7359.735.735.70027.
12 — 22 HK$77.005 HK$154.01
24 + HK$75.35 HK$150.70
*price indicative

Packaging Options:

checkmarkStandard Pack

empty-checkmarkProduction Pack

RS Складской номер:
199-5406
Произв. Деталь №:
PIC16F873A-I/SS
Производитель:
Microchip

Product overview and Technical data sheets

  • docPdfDatasheet — PIC16F873A-I/SS
  • docZipSchematic Symbol & PCB Footprint

Legislation and Compliance


Product Details

The Microchip PIC16F873A enhanced flash микроконтроллер имеет 28-контактный корпус. Он работает в диапазоне напряжений от 2,0 В до 5,5 В. В этом микроконтроллере половина всей встроенной памяти и три порта ввода/вывода. Он имеет 4 КБ флэш-памяти программ, 192 байта памяти данных и 128 байт EEPROM.


Полностью статическая конструкция
Высокоскоростная технология Flash/EEPROM с низким энергопотреблением
100 000 циклов стирания/записи Расширенная флэш-память программ, тип. под программным управлением
Внутрисхемное последовательное программирование™ (ICSP™) через два контакта
Однополярное внутрисхемное программирование 5 В
Сторожевой таймер (WDT) с собственным встроенным RC-генератором для надежной работы
Программируемая кодовая защита
Энергосбережение Спящий режим
Выбираемые опции генератора
Внутрисхемная отладка (ICD) через два контакта
Схема обнаружения пониженного напряжения для сброса при пониженном напряжении (BOR)
Низкое энергопотребление
Диапазон температур от -40° C и +85 ° C
SSOP Пакет


Технические характеристики

75

Атрибут Значение
Семейство
. 0135 Package Type SSOP
Mounting Type Surface Mount
Pin Count 28
Device Core PIC
Data Bus Width 8bit
Program Memory Размер 8 КБ
Максимальная частота 20 МГц
Тип памяти программы0001

С помощью этой системы можно удаленно контролировать уровень заряда батареи, напряжение в сети, время работы от батареи, температуру. Он разработан с использованием микроконтроллера PIC16F877A для уменьшения количества внешних компонентов, таких как внешний АЦП, операционный усилитель, большое количество резисторов и конденсаторов. Меньшие внешние компоненты увеличивают отклик и стабильность схемы. А также снизить энергопотребление, шум. Предполагается, что читатель прошел проект «Как начать работу с PIC» и сделал все, что в нем обсуждалось.

Защиту можно сделать простым способом. Встроены схемы защиты от перегрева и сухого хода батареи. Так что внешние цепи не нужны. Это очень полезно для ИТ-индустрии, компьютерных лабораторий, колледжей и школ.

 

FIG -1

 

Функциональная блок-схема защиты блока батарей на основе микроконтроллера показана на вкладке 2 «Схема цепей». . Для этого проекта читатель должен знать, как начать работу с PIC.

Описание схемы

Описание схемы

Микроконтроллер PIC 18F877A:

PIC 16F877A (показан на рис. 2 U2) представляет собой маломощный, высокопроизводительный 40-битный микроконтроллер CMOS flash 8-8 PDIP, . Важной особенностью этого является наличие памяти данных EEPROM объемом 256 байт. Его другие функции включают 368 байт памяти данных, 33 контакта ввода-вывода, программируемую кодовую защиту, 16-битный таймер-счетчик с 8-битным предварительным делителем, два 8-битных таймера-счетчика с 8-битным предварительным делителем, WDT с собственным встроенным RC. осциллятор для надежной работы и синхронный порт I2C.

 

Источник питания:

Сеть переменного тока 230 В, 50 Гц понижается трансформатором X1 для получения вторичного выходного напряжения 12 В, 500 мА. Мостовой выпрямитель, состоящий из диодов D16, D18, D19 и D21, отфильтрованных конденсатором C12 и регулируемых IC 7805 (U4), выпрямляет выход трансформатора. Для отвода тепла используется радиатор диаметром 40 мм. Анод диода D17 соединен с положительным выводом мостового выпрямителя, а его катод подключен к конденсатору С12. Катод Д17 соединен с катодами Д10, Д11 и Д12, аноды которых соединены с положительным полюсом аккумуляторов. Диод D17 используется для отделения отфильтрованного напряжения от напряжения считывания сети, а диоды D10, D11 и D12 предназначены для предотвращения нерегулируемых переходов питания к батареям, когда сеть переменного тока включена. Конденсатор С13 шунтирует пульсации, если они есть в регулируемом блоке питания. Светодиод (D20) действует как индикатор включения питания. Резистор R28 ограничивает ток через светодиод.

 

RTC DS 1307:

Временные входные данные генерируются RTC DS 1307. Это маломощные, работающие в реальном времени, полностью двоично-кодированные десятичные часы/календарь с 56 байтами энергонезависимой статической памяти с произвольным доступом. (БАРАН). Адрес и данные передаются последовательно по двухпроводной двунаправленной шине. Часы/календарь предоставляют информацию о секундах, минутах, часах, дне, дате, месяце и году. Подключение батареи к контакту 3 обеспечивает резервное питание от батареи.

Передача данных между микроконтроллером и RTC осуществляется по двум проводам (от шины I2C), один из которых служит линией синхронизации (SCL), а другой — линией данных (SDA). RTC управляется внешним кристаллом 32,768 кГц. Батарея на 3 В подключена к выводу 3. Контакты 5 и 6 подтягиваются до 5 В резисторами R10 и R11 и подключаются к контактам RC4 и RC3 микроконтроллера соответственно для последовательной связи между RTC и микроконтроллером.

 

LM35:

Серия LM35 (U1) представляет собой прецизионный датчик температуры с интегральной схемой, выходное напряжение которого линейно пропорционально температуре по шкале Цельсия. Его низкое выходное сопротивление и линейный выход упрощают интерфейс для считывания. Он рассчитан на работу в диапазоне от -55° до 150° C. Другие его важные особенности включают линейный масштабный коэффициент +10,0 мВ/°C и потребляемый ток менее 60 мкА.

 

РЕЛЕ LS1 И LS2:

Реле LS1 и LS2 — это реле на 12 В, которые управляются транзисторами Q1 и Q3 (транзисторы BC547) соответственно. Токоограничивающие резисторы R16 и R27 транзисторов Q1 и Q3 подключены к контактам RC0 и RC1. LS1 — это реле сети, а LS2 — реле инвертора.

 

Зуммер:

Зуммер 12 В, подключенный к разъему J5, управляется транзистором Q2 (транзистор BC547). Токоограничивающий резистор R26 подключен к выводу RC2.

 

Схема измерения напряжения батареи и сети:

По правилу деления 12 В преобразуются в 1,58 В схемой делителя напряжения, состоящей из резисторов 33 кОм (R1) и 5 ​​кОм (R5). Эти 1,58 В фильтруются RC-цепочкой (R3, C2) и подаются на аналоговый вход микроконтроллера. Диоды (D1, D3) защищают порты микроконтроллера от скачков напряжения.

 

ЖК-дисплей:

ЖК-дисплей – двухстрочный 16-символьный буквенно-цифровой жидкокристаллический дисплей, подключенный к разъему CON J1. Линии данных D0-D7 ЖК-дисплея подключены к порту B PIC 16F877A (U2). Сброс (RS), включение (E) и линии управления (RW) подключены к контактам порта RD0, RD2 и RD1 соответственно. Линии управления контролируют поток данных от микроконтроллера к ЖК-дисплею. Используя предустановку R4, установите контрастность ЖК-дисплея для правильного отображения.

 

Переключатели:

Кнопки используются для переключения часов реального времени и отключения зуммера. Сначала нажмите кнопку SCROLL, на дисплее отобразится «HOUR:», снова нажмите кнопку SET. Мы можем изменить значение часов, а затем нажать кнопку SET, на дисплее отобразится «minite». Мы можем изменить минуты с помощью клавиш INC и DEC. Резистор с R18 по R22 является подтягивающим резистором. R17 представляет собой подтягивающий резистор с возвратом ключа.

 

Как это работает?

 

РИС.3

 

При включении питания на ЖК-дисплее отображается сообщение о защите блока батарей на основе микроконтроллера, а также короткий звуковой сигнал пьезоизлучателя (PZ). Комнатная температура определяется LM35 и отображается на ЖК-дисплее (показан на рис.3). Одновременно текущее время считывается с RTC IC DS1307 (U3) и отображается на ЖК-дисплее (показан на рис.3). Когда температура в помещении поднимается выше 45°C, микроконтроллер подает непрерывный сигнал тревоги, а также отключается выход.

 

РИС. 4

 

Затем дисплей прокручивается вниз, и напряжение аккумуляторов 1 и 2 определяется аналоговым входом микроконтроллера. Аналоговый ввод преобразуется в 8-битные цифровые данные по формуле (V в /V DD )*256. Определяемые напряжения аккумуляторов 1 и 2 отображаются на ЖК-дисплее в процентах (показано на рис. 4). Когда напряжение батареи ниже 50%, контроллер подает непрерывный сигнал тревоги.

 

РИС. 5

 

Снова дисплей прокручивается вниз, и напряжение батареи 3 и сети определяется аналоговым входом микроконтроллера. Аналоговый ввод преобразуется в 8-битные цифровые данные по формуле (V в /V DD )*256. Напряжение сети измеряется с нефильтрованного выхода мостового выпрямителя. На ЖКИ отображаются измеренные значения напряжения батареи 3 и сети (показан на рис.5). Когда напряжение батареи ниже 50%, контроллер подает непрерывный сигнал тревоги. В случае отказа сети контроллер переключает выход с сети на питание от батареи через реле.

РИС. 6

 

Дисплей снова прокручивается вниз и отображает дефекты в реальном времени (показаны на рис. 6).

РИС. 7

 

Дисплей снова прокручивается вниз и показывает изменение во времени (в реальном времени, когда питание переключается с сети на питание от батареи) (показано на рис. 7).

 

Программное обеспечение и конструкция

Программное обеспечение:

Программа BAT_BANK.C для микроконтроллера написана на C и скомпилирована с использованием компилятора HI-TECH PICC для генерации шестнадцатеричного кода.

 

ФАЙЛЫ ЗАГОЛОВКОВ, ИСПОЛЬЗУЕМЫЕ В ПРОГРАММЕ

 

Файлы и подпрограммы

Функциональность

#include «delay.

Для создания временной задержки

#include «i2c_bat.h»

Для настройки главного/подчиненного порта

#include»lcd_bat.h»

Содержит подпрограмму отображения

#include»adc_bat.h»

Содержит данные аналого-цифрового преобразования

контроль пустоты (пустота)

Для управления процессом мониторинга в реальном времени

недействительный ключ (недействительный)

Проверить состояние кнопки и установить реальное время

 

При включении системы основная программа запускает ЖК-дисплей. Дисплей сканирует каждые 5 секунд и показывает все параметры. Подпрограмма управления отслеживает все параметры в фоновом режиме без перерывов. CLRWDT() используется для сброса сторожевого таймера.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *