Главная страница
Библиотека (скачать книги)
Скачать софт
Введение в программирование
Стандарты для C++
Уроки по C#
Уроки по Python
HTML
Веб-дизайн
Ассемблер в среде Windows
ActiveX
Javascript
Общее о Линукс
Линукс - подробно
Линукс - новое
Delphi
Паскаль для начинающих
Турбопаскаль
Новости
Партнеры
Наши предложения
Архив новостей





Пример прибора с батарейным питанием
Предположим, у нас имеется прибор, состоящий из аналоговой части с отдельным питанием, микроконтроллера и узла индикации на светодиодах, также с отдельным питанием, т. е. нечто вроде измерителя температуры-давления по рис. 10.5 (дополненный, возможно, аналоговыми схемами), снабженный часами и памятью по рис. 12.4 и совмещенный с узлом динамической индикации по образцу рис. 8.5. Если мы зададимся целью заставить его работать на батарейках, то первое, что приходит в голову, — надо бы заменить светодиодную индикацию на ЖК, т. к. семисегментные LED-индикаторы потребляют раз в десять больше всего остального (суммарное потребление схемы окажется на уровне 150 мА). Однако тогда нужно в принципе менять схему индикации — ЖК-индикаторы управляются иначе (см. главу 8), и это не лишено смысла, если проектируется прибор, который должен работать непрерывно. Но предположим, что нам достаточно,.варианта периодического включения на некоторое время по команде (например, по нажатию кнопки), тогда можно оставить яркую и четкую индикацию на светодиодах, которые автор этой книги во всех возможных случаях предпочитает слепым и унылым ЖК.

Сначала попробуем спроектировать источник питания для подобной схемы. Если исходить из того, что для индикатора достаточно нестабилизированного источника 7-9 В, то придется брать 6 щелочных элементов, при этом ограничительные резисторы тока сегментов (R27-R34 на рис. 8.5), которые были равны 470 Ом, следует уменьшить примерно до 200-220 Ом. Из этих 9 В мы с помощью обычного стабилизатора получим 5 В для питания цифровой части. Аналоговая часть будет питаться от отдельного источника, и ее придется на время "засыпания" отключать полностью. Предположим, что нам требуется для аналоговой части двуполярное питание ±5 В.

Вариант источника питания, соответствующий таким требованиям, показан на рис. 14.1. Здесь напряжение аналоговой части (положительное и отрицательное) формируется с помощью инвертора, входящего в состав микросхемы P6BU-0505Z фирмы PEAK Electronic. Входное напряжение для этого DC/DC-преобразователя берется от стабилизатора цифровой части схемы.



Выбранная микросхема потребляет на холостом ходу гораздо меньше (порядка 1 мА), но встроенной возможности отключения не имеет, потому приходится вводить отдельный ключ (электронное реле КР293КП5В с контактами на замыкание), отключающий аналоговую часть при переходе в режим "сна". Для включения/отключения будем использовать разряд 4 порта D микросхемы ATmega8535 (контакт 18), который придется устанавливать "по умолчанию" на выход с нулевым уровнем, иначе схема не заработает.
Если пренебречь разделением аналогового и цифрового положительного питания 5 В, то P6BU-0505Z можно заменить доступным и дешевым преобразователем напряжения +5 В в одно напряжение -5 В под названием ICL7660 (он же МАХ1044, он же 1168ЕП1), который включается примерно по той же схеме, но требует еще двух дополнительных конденсаторов. Главный недостаток этой микросхемы— невысокая стабильность выходного напряжения, но в аналоговых схемах это, как правило, не так страЩно. Если же отрицательного питания не требуется вообще (как при подключении датчиков по рис. 10.5), то реле может просто разрывать питание аналоговой части.
Если предположить, что никакого энергосбережения нет, и мы используем щелочные батарейки типа АА, то общее время работы до их исчерпания составит около 10 часов (потребление тока шестью одновременно включенными индикаторами по схеме рис. 8.5, с учетом уменьшения номиналов резисторов составит максимум 200 мА), что для наших целей приемлемо. Если хотите увеличить время работы, и габариты позволяют, то следует выбрать более емкие батареи — так, со щелочными батареями типа D (особенно модели Duracell Ultra) наш прибор проработает около недели.

Задачу поставим так: пусть контроллер "просыпается" и "засыпает" по нажатию одной и той же внешней кнопки. Кнопку будем подсоединять к выводу внешнего прерывания INT1 (PD3 или вывод 17 ATmega8535). Прерывание ГЫТО, напомним, у нас занято часами, но по нему МК "просыпаться" необязательно — часы идут автономно, и если мы будем обновлять время в МК при включении, то никаких сбоев не произойдет. В нормальном состоянии контакты кнопки должны быть разомкнуты и на выводе должен "висеть" высокий уровень (за счет "подтягивающего" встроенного либо, что предпочтительнее, внешнего резистора), при нажатии контакт кнопки коммутируется на "землю". Кроме этого, введем режим автоматического "засыпания" по истечении некоторого промежутка времени. Чтобы пользоваться прибором было удобно, этот промежуток должен быть достаточно большим: не менее минуты. Разумеется, при выключении контроллера должна отключаться и индикация.

Заметки на полях
Одно замечание: никогда не проектируйте устройства, в которых режимом энергосбережения невозможно управлять! Посмотрите, как неудобно пользоваться мобильными телефонами, в которых для включения подсветки экрана нужно обязательно совершить какое-то действие. В простейших случаях отключать полностью энергосбережение не всегда требуется, и внешней кнопки включения/отключения достаточно, но если устройство управляется через экранное меню или от компьютера, то оно обязательно должно иметь команду полного отключения режима энергосбережения (или, по крайней мере, установки достаточно большого интервала отключения). Почему-то среди разработчиков электронных приборов использование режима автоматического "засыпания" стало этаким признаком "крутизны". Автор этих строк еле-еле разыскал среди десятков моделей тестеров такой, который не отключается в самый неожиданный момент посреди работы: типовойчслучай, когда режим энергосбережения только мешает.



     
 

Библиотека программиста. 2009.
Администратор: admin@programmer-lib.ru