как и в дежурном режиме производить выдачу (после выхода из SLEEP) положительного импульса на выход PULS длительностью 40 мкс, через 35 мкс после начала PULS (соответственно за 5 мкс до его конца) измерять уровень сигнала на входе INA (5 нога). Измеренные значения сохранять в ОЗУ и после каждого измерения сравнивать последнее значение с предыдущим.
Если разница между измеренными значениями не превышает двух младших разрядов (при 8-миразрядном АЦП микроконтроллера), то произвести усреднение по четырем (как вариант – по восьми) установившимся значениям, получив таким образом уровень сигнала в дежурном режиме (назовем его «Норма»).
Далее умножить значение «Нормы» на определенный коэффициент (пока на 1,25; удобно для вычисления: усредненное значение складывается со значением, сдвинутым на два разряда) и записать получившееся число в энергонезависимую память в качестве порога срабатывания датчика.
Для индикации окончания режима настройки на выход OUT (2 нога) выдавать с периодичностью 2-4 сек длинный (порядка 500 мсек) положительный импульс. Делать это все время до сброса питания.
Примечание: если при измерении установившегося значения на входе INA произойдет сбой и последнее значение будет отличаться от предыдущего больше, чем на 2 младших разряда, то начинать усреднение нужно заново. Таким образом отбраковываются датчики с неустойчивой амплитудой импульса.
Примечание: значение 1,125 получается при сложении «Нормы» и сдвинутого на 3 разряда значения «Нормы».
Алгоритм работы микропроцессора без ПЗУ.
1. Ноги микропроцессора:
2 (OUT) – выходной ключ; «0» – ключ закрыт; «1» - ключ открыт
3 (PULS) – выход для управления работой ИК-светодиода VD2; «0» - светодиод закрыт; «1» - светодиод открывается
4 (К1) – вход для слежения за напряжением на линии; «0» - напряжение на линии есть; «1» - напряжение пропало
5 (INA) – аналоговый вход для измерения напряжения на выходе приемника
6 (CLC), 7 (DATA) – выходы для передачи по последовательному интерфейсу измеренного значения на выходе приемника; необходимы для настройки чувствительности датчика.
2. При подаче питания на микропроцессор (RESET по питанию) переводим его в режим SLEEP. В этот момент происходит установка всех напряжений в схеме датчика. Все выходы микропроцессора должны стоять в «0».
3. Проснувшись после 2-х сек., микропроцессор начинает работу в дежурном режиме. Работает он с периодом около 1 сек. Вначале (после выхода из SLEEP) выдается положительный импульс на выход PULS длительностью 40 мкс, через 35 мкс после начала PULS (соответственно за 5 мкс до его конца) измеряется уровень сигнала на входе INA. Сразу после измерения значение INA в последовательном коде выдается на последовательный порт (DATA, CLC), скорость передачи – порядка 1-2 мкс на бит.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.