Использование микроконтроллера MSP430F2012 в малопотребляющем датчике дыма
Введение
Для определения наличия дыма используются инфракрасный (ИК) диод и ИК-приемник, установленные внутри камеры датчика. ИК-диод включается периодически, а сигнал ИК-приемника тестируется для определения наличия дыма в камере. Операционный усилитель, работающий как трансимпедансный, служит для усиления тока ИК-приемника. Усиленный сигнал поступает на вход АЦП MSP430. В промежутки времени между измерениями операционный усилитель, ИК-диод и ИК-приемник выключаются, в этом ждущем режиме микроконтроллер потребляет менее 1 мкА. При обнаружении дыма включается сигнал тревоги.
Организация приложения
Схема устройства приведена на рис. 1.
Рис. 1. Схема устройства
Наличие дыма проверяется каждые 8 секунд. Интервал отсчитывается с помощью RC-осциллятора (VLO), работающего совместно с таймером Timer_A. По истечении восьми секунд генерируется прерывание, которое выводит MSP430 из режима LPM3. Осциллятор VLO калибруется с помощью встроенного осциллятора DCO. То есть DCO определяет количество циклов VLO, необходимых для получения интервала длительностью 1 с. Это значение затем используется как период Timer_A, который тактируется от VLO. Коэффициент входного делителя Timer_A устанавливается равным 8.
При выходе из режима LPM3, MSP430 включает операционный усилитель, дает ему время для установки и затем осуществляет преобразование сигнала ИК-приемника при выключенном ИК-диоде. Затем включается ИК-диод и производится преобразование выходного сигнала ИК-приемника еще раз. Полученные два значения сравниваются для определения наличия дыма.
Для предотвращения ложной тревоги дым должен быть обнаружен три раза. Только после этого включается сигнал тревоги. После первого определения наличия дыма, коэффициент делителя Timer_A устанавливается равным 4, тем самым задается интервал 4 секунды между первым и вторым измерением. Если наличие дыма определяется второй раз, коэффициент делителя устанавливается равным 1, при этом интервал между измерениями будет 1 с. Если дым обнаруживается и третий раз, включается сигнал тревоги, а детектор продолжает определение наличия дыма с интервалом 1 с.
В качестве операционного усилителя выбран TLV2780 благодаря соотношению его цены и времени установления сигнала. Для снижения энергопотребления устройства операционный усилитель питается от одного из портов ввода/вывода MSP430, чтобы он выключался вместе с микроконтроллером. TLV2780 потребляет 1,4 мкА при комнатной температуре в выключенном состоянии. Этот ток сводится к нулю за счет подключения его к одному из выводов MSP430.
Кроме того, на выбор операционного усилителя повлияли такие характеристики, как время включения и установки. Так как при увеличении этих величин увеличивается энергопотребление системы, их нужно свести к минимуму.
Устройство работает от двух AAA батареек в диапазоне напряжений от 1,8 В до 3,6 В. Для получения напряжения, необходимого для генерации сигнала тревоги, используется повышающий DC/DC-преобразователь TPS61040. Преобразователь подключен к цепи генерации сигнала тревоги таким образом, что при включении TPS61040 звучит сигнал тревоги.
Контакт включения повышающего преобразователя соединен с выводом TA1 MSP430. Когда сигнал тревоги включен, период таймера Timer_A устанавливается равным 1 с. Регистр CCR1 таймера Timer_A используется для автоматической генерации 1 Гц сигнала включения/выключения тревоги. Сигнал тревоги работает в режиме «полсекунды включен - полсекунды выключен», при этом дополнительное программное обеспечение для генерации сигнала тревоги не требуется.
Программное обеспечение
Рис. 2. Структура программного обеспечения
Структура программного обеспечения показана на рисунке 2. После сброса в первую очередь инициализируются все выводы микроконтроллера, которые будут задействованы в приложении. Затем все неиспользуемые выводы MSP430 конфигурируются для достижения низкого энергопотребления. В регистр управления DCO записываются калибровочные коэффициенты. VLO калибруется с помощью 1 МГц сигнала DCO, и Timer_A настраивается для генерирования прерывания каждые 8 секунд. Из-за того, что в приложении используется микроконтроллер MSP430 с малым объемом памяти, вместо сложной операции деления для определения частоты VLO используется операция приближенного деления. Точность интервалов времени приложения не требует арифметики с плавающей точкой, поэтому операция деления на основе вычитания является достаточной. Микроконтроллер входит в режим LPM3.
Основной цикл программы состоит из выхода из режима LPM3, запуска АЦП, усреднения полученных данных и определения наличия дыма. Как уже было сказано, дым должен быть обнаружен три раза перед тем, как включится сигнал тревоги.
Процедура преобразования, изображенная на рисунке 2, обрабатывает сигнал ИК-приемника при включенном и выключенном ИК-диоде. Сначала операционный усилитель и ИК-диод включаются, производится измерение этого сигнала. АЦП автоматически осуществляет четыре преобразования, которые сохраняются в ОЗУ с использованием функции DCT. После малого времени установки стартует АЦП. В то время как происходят эти 4 выборки, MSP430 переходит в режим низкого энергопотребления LPM3. DCT прерывает MSP430 автоматически после четырех преобразований и переводит микроконтроллер в активный режим. Затем включается ИК-диод, и после короткого времени установки повторяются четыре цикла преобразований. После этого АЦП, опорный сигнал, операционный усилитель, и ИК-диод выключаются, вызывается функция усреднения. Эта функция усредняет четыре «темных» и четыре «светлых» выборки для сравнения полученного значения в главной функции.
Программное обеспечение использует обработчик прерывания от порта ввода/вывода как переключатель. Этот переключатель включает и выключает сигнал тревоги. При инициализации этот порт ввода/вывода конфигурируется как вход. Используется внутренний подтягивающий резистор и разрешается прерывание. Процедура обработки прерывания осуществляет противодребезговую защиту и затем включает сигнал тревоги. При первом нажатии сигнал тревоги включается, при следующем - выключается.
Энергопотребление
Энергопотребление расмотренной системы отражено в таблице 1.
Таблица 1. Энергопотребление, нормированное за одну секунду
Функция | Длительность | Ток потребления, мкА | Нормали- зованный ток |
---|---|---|---|
Активный режим (1 МГц на 3 В) | 422,6 мкс | 300 | 15,8 нА |
Режим LPM3 | 7,999577 с | 0,6 | 0,6 мкА |
Операционный усилитель | 190,6 мкс | 650 | 15,5 нА |
Опорный сигнал АЦП | 190,6 мкс | 250 | 5,95 нА |
Ядро АЦП | 20,8 мкс | 600 | 1,56 нА |
ИК-диод | 100,8 мкс | 100 | 1,26 мкА |
TPS61040 | постоянно | 0,1 | 0,1 мкА |
Всего: | 2,00 мкА |
Использованная литература
1. MSP430x2xx Family User's Guide (literature number SLAU144).
2. MSP430x20x2 datasheet (literature number SLAS491).
3. TLV2780 datasheet (literature number SLOS245).
4. TPS61040 datasheer (literature number SLV413).
Получение технической информации, заказ образцов, поставка -
e-mail: theory.vesti@compel.ru
Ваш комментарий к статье | ||||