Программа Сервисный Центр
0

Микроконтроллер управляет монитором батареи с помощью единственного вывода


Внутренний АЦП микроконтроллера не мог правильно измерять напряжение собственной шины питания, поэтому была разработана измерительная схема на стандартных дискретных компонентах, управляемая единственным выводом микросхемы

Эта схема помогла решить проблему, возникшую при разработке портативного устройства на процессоре ARM Cortex-M0. Требовалось информировать пользователя о состоянии источника питания, состоящего из двух 1.5-вольтовых батарей типоразмера AA. Cortex-M0 работает до тех пор, пока номинальное напряжение 3.3 В не упадет до 2.0 В, а батарея AA считается разряженной, когда ее напряжение снизится до 1.1 В, и, таким образом, для питания процессора еще остается 2.2 В. Устройство, потреблявшее исключительно низкую мощность, могло работать при напряжении, просевшем до 2.2 В, поэтому предупреждать пользователя о необходимости замены батарей прежде, чем будет достигнут этот уровень, не требовалось.

На первый взгляд, простейшим способом измерения напряжения батареи было использование аналого-цифрового преобразователя (АЦП) микроконтроллера. Однако в данном случае такое решение не годилось, поскольку, согласно технической документации на Cortex-M0, для правильной работы АЦП микроконтроллера требуется, чтобы напряжение его питания VDDA было больше 2.4 В. (Диапазон напряжений питания 3.3 В … 2.0 В является допустимым для ядра ARM, но не для всей периферии). Тесты показывали хорошие результаты лишь тогда, когда напряжение VDDA было не ниже 2.65. Очевидным решением было взять другой микроконтроллер, скажем, маломощную версию того же прибора, но это означало необходимость переписывания и перепроверки кода, разводки и изготовления новых печатных плат, и недопустимо увеличивало цену серийного изделия.

Вместо этого была разработана схема индикации состояния батарей, в которой использовалось несколько дискретных компонентов. Требовалось, чтобы монитор батареи:

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

На Рисунке 1 показано, как с помощью единственного вывода PA0 микроконтроллер реализует различные функции контроля батарей, управляя переключателем S для перехода из пассивного режима в активный, читая статус, предоставляемый Монитором батареи, и возвращаясь обратно из активного режима в режим ожидания.

Микроконтроллер управляет монитором батареи с помощью единственного вывода
Рисунок 1.На упрощенной блок-схеме показана взаимосвязь функций схемы,
управляемой единственным выводом микроконтроллера.

Вся схема получает питание от двух элементов AA (Рисунок 2). Каждые n минут (или даже часов) микроконтроллер проверяет, превышает ли напряжение батареи уровень 2.2 В, или нет. Когда измерение напряжения микроконтроллеру не требуется, он устанавливает «лог. 1» на выводе PA0, и Q5 находится в выключенном состоянии. Этим гарантируется, что ток, потребляемый Монитором батареи (синий блок на Рисунке 1) будет очень низким, что крайне важно для портативных устройств. Измеренный в этом состоянии ток равен примерно 4 мкА.

Микроконтроллер управляет монитором батареи с помощью единственного вывода
Рисунок 2.В схеме монитора батареи, управляемой одним выводом
микроконтроллера, используются пять распространенных
транзисторов и пассивные компоненты.

Когда микроконтроллеру требуется узнать напряжение батареи, он на 20 мс выставляет уровень «лог. 0» на выводе PA0, открывая транзистор Q5. Это время необходимо для заряда конденсатора C1 до напряжения, равного разности VDD и напряжения насыщения транзистора Q5. По истечении 20 мс микроконтроллер переключает вывод PA0 в режим ввода, вследствие чего транзистор Q5 выключается, и на конденсаторе C1 в течение некоторого времени, зависящего от постоянной времени RC, сохраняется напряжение, равное VDD.

Если VDD больше 2.2 В, то напряжение база-эмиттер транзистора Q3 выше 0.7 В, и Q3 открыт. Это напряжение зависит от подстроенного резистора RV1 и включенных диодами транзисторов Q1, Q2. Регулировкой RV1 мы можем изменять величину напряжения в точке B и, соответственно, в точке A до уровня открывания транзистора, и обратно. При испытаниях схемы сопротивление резистора RV1 было выбрано равным 12 кОм. Затем, благодаря тому, что VDD ≥ 2.2 В, Q3 включается, и уровень напряжения в точке C становится высоким, в то время как транзистор Q4, необходимый для того, чтобы изолировать цепочку R3, C2 от точки E на те 20 мс, пока на выводе PA0 присутствует «лог. 0», инвертирует это напряжение, и уровень точки E становится высоким. Таким образом, если VDD ≥ 2.2 В, на входе PA0 будет напряжение низкого уровня.

Через 50 мс после начала процедуры измерения микроконтроллер будет проверять состояние входа PA0, поэтому спустя 20 мс после установки «лог. 0» он переключает вывод PA0 в режим ввода. По истечении 50 мс (относительно начального момента времени) микроконтроллер считывает напряжение с входа PA0 (нижняя осциллограмма на Рисунок 3). Процедура заканчивается переключением PA0 в режим вывода и установкой на нем высокого логического уровня, выключающего транзистор Q5 и уменьшающего ток, потребляемый секцией Монитора батареи.

Микроконтроллер управляет монитором батареи с помощью единственного вывода
Рисунок 3.Нижний луч показывает выборку микроконтроллером напряжения на
выводе PA0 через 50 мс после начала процедуры измерения при VDD ≥ 2.2 В.
(Канал 1: 25 мс/дел по горизонтали, 1 В/дел по вертикали).

Теперь посмотрим, что будет происходить, если VDD меньше 2.2 В. Как и в предыдущем случае, последовательность начинается с установки на 20 мс низкого уровня на выводе PA0 для включения транзистора Q5 и зарядки конденсатора C1.

Затем, микроконтроллер переключает PA0 в режим ввода, вследствие чего Q5 закрывается и дает возможность конденсатору C1 в течение некоторого времени сохранять напряжение VDD. Но теперь VDD меньше 2.2 В, и поэтому Q3 остается закрытым, так как напряжение база-эмиттер этого транзистора меньше 0.7 В, в то время как напряжение в точке C остается низким, а в точках D и E становится высоким. Поэтому при VDD < 2.2 В уровень напряжения на входе PA0 будет также высоким. Напомним, что выборку напряжения на выводе PA0 микроконтроллер будет производить через 50 мс после запуска процедуры измерений, как это видно из нижней осциллограммы на Рисунке 4.

Микроконтроллер управляет монитором батареи с помощью единственного вывода
Рисунок 4.Нижний луч показывает выборку микроконтроллером напряжения
на выводе
PA0 через 50 мс после начала процедуры измерения при VDD < 2.2 В.
(Канал 1: 25 мс/дел по горизонтали, 1 В/дел по вертикали).

Необходимо отметить, что сопротивления резисторов R1, R2, R3, R4 и R7 оптимизированы не для получения наилучших электрических характеристик, а для воспроизводимости устройства в условиях массового производства. Скоростные характеристики схемы можно улучшить, сократив время заряда конденсатора C1 с 20 мс до 5 мс, и выполняя выборку через 2…4 мс. Это снизит ток, потребляемый в активном режиме, что важно в том случае, если проверять состояние батареи требуется более часто.

Теги: ARM Cortex-M0
 
 
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии в данной новости.
 
Обратная связь

Наши партнеры

 

Опросы

Есть ли справедливость в жизни?
Конечно есть, уверен!
Вроде как должна быть, но...
Затрудняюсь ответить...
Какая справедливость? О чем Вы?
Эх.., нет правды на свете!

 

Облако тегов

Требуется для просмотраFlash Player 9 или выше.

Показать все теги
 

Календарь публикаций

«    Август 2017    »
ПнВтСрЧтПтСбВс
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
 

Архив новостей

Август 2017 (22)
Июль 2017 (32)
Июнь 2017 (42)
Май 2017 (45)
Апрель 2017 (47)
Март 2017 (53)
 
Наверх Сервисные мануалы Даташиты Ремонт LCD, ЖК телевизоров LG Samsung Скрипт программы "Сервисный центр"