Датчик движения с низким энергопотреблением на основе MSP430F2013 (пассивный)

10 февраля 2008  |  Оптикоэлектронные, инфракрасные CO



Речь пойдет о построении пассивного датчика движения с низким энергопотреблением. Он найдет применение в системах контроля доступа и в промышленной автоматике.

АППАРАТНАЯ ЧАСТЬ

В системе для оценки движения используется сдвоенный пироэлектрический пассивный инфракрасный (PIR) датчик и микроконтроллер MSP430F2013 (рис. 1). Микроконтроллер имеет встроенный 16-битный сигма-дельта АЦП, обеспечивающий интерфейс с датчиком. Благодаря наличию аналоговой части, 16-мегагерцовому 16-битному RISC ядру, MSP430F2013 обеспечивает необходимую производительность и низкую стоимость системы в целом.

На рисунке 1 показана упрощенная схема подключения датчика к микроконтроллеру. Внешние компоненты включают резистор смещения RB, необходимый для датчика, и два RC-фильтра, образованные R1/C1 и R2/C2.


Датчик движения с низким энергопотреблением на основе MSP430F2013 (пассивный)

Рис.1.

Фильтры выполняют две разные функции. Так как вход сигма-дельта АЦП, SD16_A, – дифференциальный, нужно обеспечить положительный и отрицательный входы. R1/C1 работает как низкочастотный фильтр для устранения зубчатых искажений (anti-aliasing) на входе Ax+. Второй фильтр, R2/C2, создает смещение на входе Ax- аналого-цифрового преобразователя. Это нужно из-за большого сдвига между выходным сигналом датчика и сигналом Vss. Рисунок 2 отображает ключевые сигналы системы в момент определения движения.


Датчик движения с низким энергопотреблением на основе MSP430F2013 (пассивный)

Рис.2.

Канал 1 отображает выходной сигнал датчика. При напряжении на датчике 3 В выходное смещение составляет приблизительно 500 мВ. Ax- подключен к Vss, а выход датчика – к Ax+, при этом коэффициент усиления SD16_A PGA равен единице. Из-за малого динамического диапазона выходного сигнала датчика (рис. 2, канал 2), требуется его усиление, что препятствует возможности прямого подключения Ax- к Vss.

Канал 2 отображает выходной сигнал датчика после фильтрации. Кроме фильтрации, выходной сигнал датчика также подвергается смещению для соответствия динамическому диапазону SD16_A.

Прямое напряжение смещения также подается на вход Ax-. Для этой цели служит фильтр низких частот R2/C2. Канал 3 отображает выходной сигнал R2/C2 фильтра. Математическая разность второго и третьего каналов отображается каналом M1. Это дифференциальное напряжение входов сигма-дельта АЦП.

В приложении устанавливается коэффициент усиления PGA, равный 4, и коэффициент передискретизации, равный 256. Если требуется повысить чувствительность системы, можно задавать коэффициенты усиления и передискретизации равными 32 и 1024 соответственно.

Порт ввода/вывода используется для управления светодиодом. Светодиод излучает при обнаружении движения. Этот же сигнал может использоваться для управления аналогового переключателя или реле для включения осветительной или другой системы.

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

ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ

Для достижения низкого энергопотребления аналого-цифровое преобразование и обработка оцифрованных данных сводится к минимуму, достаточному для определения движения. На рисунке 3 показана структура программного обеспечения приложения.


Датчик движения с низким энергопотреблением на основе MSP430F2013 (пассивный)

Рис.3.

Программный код состоит из трех элементов: основной программы, обработчика прерываний сторожевого таймера и обработчика прерываний аналого-цифрового преобразователя. Для синхронизации используется сигнал внутреннего низкочастотного малопотребляющего VLO осциллятора. Частота этого сигнала составляет приблизительно 12 кГц, и он подается на линию ACLK. Частота этого сигнала затем делится на 8 и подается на сторожевой таймер, чтобы «будить» ядро каждые 32768 циклов/12 кГц/8 = 341 мс. После инициализации периферийных устройств, ядро входит в режим LPM3 и ожидает прерывания сторожевого таймера.

Каждые 341 мс сторожевой таймер генерирует прерывание. В обработчике этого прерывания выполняются две основные функции: инициируется новая выборка АЦП и включается светодиод, если зафиксировано движение. Если во время предыдущей выборки движение не было зафиксировано (светодиод выключен), включается опорный сигнал SD16_A и производится новое аналогово-цифровое преобразование.

Перед тем как выйти из обработчика прерывания, изменяются значения регистра статуса так, что DCO и SMCLK, использующиеся для тактирования АЦП, остаются активными. Это означает, что ЦПУ переходит из режима LPM3 в режим LPM0 после выполнения функции RETI.

Сигма-дельта АЦП, SD16_A, выполняет преобразование за 256 циклов/1 МГц DCO*4 = 1,024 мс. В регистре начальной задержки INTDLYx устанавливается значение 4. Эта установка позволяет АЦП выполнить 4 преобразования перед прерыванием ядра для того, чтобы предотвратить появление неправильных значений после фильтрации с децимацией. Для более подробной информации можно обратиться к документу MSP430x2xx Family Users Guide.

После завершения преобразования запускается процедура обработки прерывания от SD16_A и отключается внутренний источник опорного напряжения. Вычисляется абсолютная разница между новым и предыдущим значением и сравнивается с порогом. Превышение порога означает обнаружение движения. В этом случае включается светодиод. При выходе из обработчика прерываний ЦПУ входит в режим LPM3 (DCO и SMCLK выключены) и снова ожидает прерывания от сторожевого таймера WDT+.

Используя этот алгоритм, можно добиться энергопотребления, достаточного низкого для того, чтобы подключать устройство к стандартной батарейки на 3 В. Средний ток составляет приблизительно 9,4 мкА. В таблице 1 приведены данные по длительности и энергозатратности функций системы.


Датчик движения с низким энергопотреблением на основе MSP430F2013 (пассивный)

Таблица 1

Алгоритм, реализованный в этом примере, достаточно прост. 2 кБ Flash и 16 MIPS вычислительной мощности микроконтроллера MSP430F2013 позволяет реализовать алгоритмы более высокого уровня с более сложной обработкой.

Подробные схемы устройства, списки компонентов, исходные тексты программ можно найти на сайте производителя.

ЛИТЕРАТУРА

1. Ultra-Low Power Motion Detection using the MSP430F2013 (SLAU283).
2. MPS430x2xx Family User’s Guide (SLAU144)
3. MSP430F20xx Mixed Signal Microcontroller Datasheet (SLAS491)
4. ”Infrared Parts Manual: PIR325&FL65”, GLOLAB Corporation, www.glolab.com, 2003.

Автор: Алексей Пантелейчук, Новости электроники №9, 2007
Получение технической информации, заказ образцов, поставка – по e-mail: mcu.vesti@compel.ru


Код для размещения на форумах или блоге

«
»