Немного теории
Некоторые кристаллические диэлектрики обладают свойством генерировать электрический заряд при воздействии на них теплового инфракрасного излучения. Это явление известно как пироэлектричество. Пассивный инфракрасный (PIR) сенсорный модуль работает по тому же принципу.
Тело человека излучает тепло в виде инфракрасного излучения с длинной волны около 9,4 мкм. Присутствие человеческого тела в зоне действия пироэлектрического датчика создает внезапное изменения в его работе.
Модуль PIR датчика имеет в своем составе усилитель слабого сигнала, который усиливает этот сигнал до приемлемого уровня, чтобы его можно было дальше обработать аппаратными средствами. Большинство PIR датчиков требуют некоторого времени для стабилизации, обычно от 10 до 60 секунд. В течение этого времени, его схема адаптируется к окружающей обстановке, поэтому любое движение в его поле зрения нежелательно.
PIR датчик, как правило, имеет дальность действия до 12 метров. Особенностью его является приспособление к медленно изменяющемуся температурному режиму, например, постепенное тепловое изменение, связанное с наступлением дня. Тем не менее, любое резкое изменение обстановки (например, движение человека) вызывает реакцию датчика. Вот почему PIR модуль не следует размещать рядом с обогревательными приборами, которые могут резко изменить температурный фон.
Сенсорные модули PIR обычно имеют три вывода для подключения (плюс, минус, выход). Так же большинство датчиков снабжены 3-х контактным переключателем с положением H и L. В положении H: при срабатывании PIR датчика, на выходе появляется высокий уровень и остается таким, пока есть движения. В положении L: высокий уровень появляется при движении и при его исчезновении на выходе появляется низкий уровень.
Передняя часть модуля датчика снабжена линзой Френеля, которая фокусирует ИК излучение на чувствительный PIR элемент.
Профессиональный цифровой осциллограф
Количество каналов: 1, размер экрана: 2,4 дюйма, разрешен…
Подробнее
Аппаратное обеспечение
Схема состоит из интерфейса I2C на PIC и трех датчиков DHT22. PIC интерфейс I2C содержит микросхему 12F1840, несколько вспомогательных компонентов, разъем/перемычку (JP1) для подключения платы к ведущему устройству и три дополнительных разъема/перемычки для подключения трех плат датчиков. Четыре контакта на J1 для подключения к Arduino UNO – это +5V, GND, SDA и SCL, линии которых доступны на разъемах платы Arduino. 12F1840 имеет 6 выводов ввода/вывода. Два из этих выводов, RA1 и RA2, образуют линии SDA и SCL для связи по I2C. К этим линиям я подключил подтягивающие резисторы по 10 кОм (R1 и R2), и всё работает хорошо; для своего приложения вы можете подобрать номиналы этих резисторов. Кроме того, может потребоваться полностью убрать эти резисторы, если у вас в вашей системе уже есть подтягивающие резисторы на линиях I2C.
Три вывода ввода/вывода, RA0, RA4 и RA5, подключаются к линиям данных датчиков DHT22 #1, #2 и #3 соответственно. Оставшийся вывод (RA3) не используется и остается неподключенным. При использовании дополнительных схем расширения этот вывод может быть задействован как вход общего назначения или для включения аппаратного сброса (MCLR).
Схема для платы PIC I2C
Компонент | Описание |
---|---|
U1 | PIC 12F1840 |
C1 | Конденсатор 0,1 мкФ |
R1, R2 | Резистор 10 кОм |
J1, DHT1-3 | 4-пиновый разъем/перемычка |
Кабели | 3 x 4-пиновый |
Каждый из датчиков монтируется на отдельной плате с намерением разместить их на некотором расстоянии друг от друга и подключить к плате I2C с помощью 4-контактных кабелей. Поскольку на DHT22 можно использовать только 3 из 4 контактов, вы можете использовать 3-контактные кабели и разъемы.
Датчик температуры и влажности воздуха DHT22 или AM2302. Выводы: 1 – Vdd, 2 – данные, 3 – не подключен, 4 – GND.
Платы датчиков также относительно просты, содержат только датчик DHT22, подтягивающий резистор на линии данных и конденсатор развязки на линиях питания.
Схема платы одного датчика DHT22. Для каждого из трех датчиков требуется отдельная плата
Компонент | Описание |
---|---|
DHT22 | Датчик DHT22 |
C1 | Конденсатор 0,1 мкФ |
R1 | Резистор 4,7 кОм |
J1 | 4-пиновый разъем/перемычка |
Данный проект разрабатывался для работы с напряжением 5 вольт, но я также протестировал его при питании от 3,3 вольт, и всё отлично работало, поскольку это напряжение находится в рабочем диапазоне как микроконтроллера PIC, так и DHT22.
Чтение показаний датчика влажности и температуры DHT22
Работа по считыванию показаний датчиков DHT22 и хранение их в массиве памяти также ложится на микроконтроллер PIC. Низкая цена, доступность и относительная надежность DHT22 сделали его использование повсеместным. Однако последовательный протокол, который используется этим чипом, требует очень точной временно́й работы. Эти требования к синхронизации могут стать проблемой для систем, использующих относительно медленный ввод/вывод, и для систем (например, микросхем систем на кристалле, SoC), чьи многочисленные высокоприоритетные функции могут сделать требуемые выделения времени неудобными. В этом отношении имеет смысл «разгрузить» работу на отдельную микросхему.
Связь с датчиком осуществляется через специальный «однопроводный» последовательный протокол, который не следует путать с однопроводным протоколом от Dallas/Maxim semiconductor – они совершенно разные. В данной связи задействованы три соединения (Vcc, GND и данные). Вывод данных – это место, где происходят все манипуляции, и тщательное прочтение технического описания даст более подробную информацию.
Вкратце, следующие шаги описывают взаимодействие со стороны PIC микроконтроллера, необходимое для считывания датчика, а прилагаемая программа MPASM была подробно прокомментирована для облегчения прослеживания действий программы:
- Установить линию данных в режим выхода, установить на ней низкий уровень и ждать 18 микросекунд.
- Установить на линии данных высокий уровень на 30 микросекунд.
- Установить линию данных в режим входа и мониторить её состояние. DHT22 должен установить на ней низкий уровень на 80 микросекунд, а затем высокий уровень на 80 микросекунд.
- Шаги 1-3 являются преамбулой к потоку данных. Затем DHT22 установит на линии данных низкий уровень на 50 микросекунд, что сигнализирует о старте бита данных.
- Теперь всё становится немного сложнее. После времени стартового бита DHT22 установит на линии данных высокий уровень либо на ~27 микросекунд, либо на 70 микросекунд. Первый сигнал соответствует биту данных ‘0’, а второй сигнал – биту данных ‘1’.
- После передачи бита данных (шаг 5 выше) DHT22 перейдет к следующему 50-микросекундному стартовому биту, за которым следует следующий бит данных (либо ‘0’, либо ‘1’, как описано в шаге 5), и эта последовательность повторяется для 40 битов, составляющих 5 байтов данных датчика (влажность целая часть, влажность часть после десятичной запятой, температура целая часть, температура часть после запятой и контрольная сумма).
Вы можете видеть, что протокол требует точной синхронизации, и что время считывания датчика является переменным значением в том смысле, что оно зависит от количества битов ‘0’ и ‘1’ в чтении. Одна из стратегий состоит в том, чтобы измерить каждый из интервалов и затем решить, соответствует ли бит данных интервалу ‘0’ или ‘1’. Я выбрал другую стратегию, описанную ниже, которая менее требовательна и очень надежна.
Стратегия распознавания битов ‘0’ и ‘1’ в последовательном потоке
После преамбулы мы ждем окончания времени стартового бита, затем ждем около 43 микросекунд, после чего считываем состояние линии данных. Если на линии данных уровень низкий, то бит был равен ‘0’, и мы находимся во времени передачи следующего стартового бита. В этом случае мы записывает бит как ‘0’ и ждем окончания времени стартового бита перед чтением следующего бита данных. Если на линии данных уровень высокий, то бит был равен ‘1’, и мы всё еще находимся во времени передачи бита данных. В этом случае, мы записываем бит как ‘1’ и ждем начала времени следующего стартового бита, затем ждем окончания времени стартового бита перед чтением следующего бита данных.
Когда PIC микроконтроллер закончит считывание запрошенного датчика DHT22, данные будут доступны для чтения через интерфейс I2C. В этом случае будет считан как , что указывает на успешное завершение последней команды.
Особенности монтажа
Датчики движения очень полезны и набирают популярность в различных сферах нашей жизни. Поэтому будет полезным знать о специфике установки этих устройств:
- Двери, предметы мебели, перегородки или всё, что затрудняет обзор перед датчиком быть не должно.
- Наиболее выгодное местоположение размещение датчика — потолок. Таким образом, получается предельно допустимый угол обнаружения и увеличивается обзор контролируемого помещения. Если по каким-то соображениям потолочное размещение недоступно, допускается монтаж приборов на колонны или стены.
- Приборы отопления, открытое солнце и вообще все, что вызывает нагревание, не должно находиться рядом с датчиком. Мало того что сам прибор будет нагреваться, так еще эти факторы вызовут ошибочное срабатывание детектора.
- Надо учитывать и такой фактор как радиус действия детектора. Т.е. люди могут просто не попасть в зону действия.
- Оптимальная высота монтажа потолочных извещателей — 2.5/3 метра. Для настенных приборов — высота колеблется от 1.2 до 2.3 метров от уровня пола.
Запуск
Программное обеспечение, необходимое для работы схем, приведено ниже и состоит из исходного кода MPASM для 12F1840, HEX файла для 12F1840 и тестового скетча для Arduino. Вам нужно будет запрограммировать микроконтроллер PIC12F1840. Если вы раньше использовали PIC-контроллеры, это не должно быть сложным. Если вы не знакомы с PIC-контроллерами, то это может показаться сложной задачей. Однако есть много недорогих программаторов, в том числе несколько самодельных разработок, которые получили большую поддержку. Ассемблер MPASM доступен бесплатно от Microchip.
Кроме того, начиная с мелкого PIC-контроллера, такого как 12F1840, задача становится менее сложной, чем может показаться. Вы можете собрать приведенный исходный код MPASM для программирования, как есть, или внести изменения, такие как адрес I2C. В качестве альтернативы, большинство программаторов позволит вам напрямую использовать HEX файл для программирования микроконтроллера.
ПРОГРАММЫ, РАЗМЕЩЁННЫЕ НА ДРУГИХ САЙТАХ
Программа | Микроконтроллер | Цена с прошивкой |
Таймер-часы с защитой от перебоев в питании | PIC16F628A (DIP18) | 290 руб. (на 01.12.2017) |
Таймер для аквариума с циклом в сутки | PIC16F628A (DIP18) | 290 руб. (на 01.12.2017) |
Простой термометр на DS18B20 (со связью с ЭВМ) | PIC16F628A (DIP18) | 290 руб. (на 01.12.2017) |
Зарядное устройство | PIC12F675 (DIP8) | 250 руб. (на 01.12.2017) |
Кодовый замок | PIC16F84A (DIP18) | 450 руб. (на 01.12.2017) |
Трёхканальный вольтметр (в т. ч. для авто) | PIC16F874A (DIP40) | 650 руб. (на 01.12.2017) |
Автомобильный цифровой вольтметр | PIC16F676 (DIP14) | 270 руб. (на 01.12.2017) |
Многофункциональный пробник | PIC16F876A (DIP28) | 430 руб. (на 01.12.2017) |
Генератор прямоугольных импульсов | ATtiny2313 (DIP20) | 280 руб. (на 01.12.2017) |
Цифровой частотомер | PIC16F84A (DIP18) | 450 руб. (на 01.12.2017) |
USB-программатор | ATmega8 (DIP28) | 360 руб. (на 01.12.2017) |
Цифровой термостат | PIC16F628A (DIP18) | 290 руб. (на 01.12.2017) |
Многофункциональный аквариумный контроллер | PIC16F628A (DIP18) | 290 руб. (на 01.12.2017) |
Сигнализация для дома с PIR датчиком движения | PIC12F635 (DIP8) | По запросу |
Цифровое устройство защиты с функцией измерения | PIC16F873 (DIP28) | 750 руб. (на 01.12.2017) |
10-полосный светодиодный анализатор спектра | ATmega8a (DIP28) | 360 руб. (на 01.12.2017) |
Цифровой тахометр для автомобиля с БЗС | PIC16F84A (DIP18) | 450 руб. (на 01.12.2017) |
Генератор 0–40 МГц на AD9850 | PIC16F84A (DIP18) | 450 руб. (на 01.12.2017) |
Выключатель света двумя хлопками | PIC12F683 (DIP8) | 230 руб. (на 01.12.2017) |
Для заказа микроконтроллера с программой выберите программу, а затем воспользуйтесь формой заказа.
Данный каталог служит для облегчения поиска подходящего Вам ПО. Мы не продаём программное обеспечение с других сайтов. Мы оказываем услугу по прошивке и поставке микросхем. Указанные программы опубликованы авторами на своих сайтах для свободного использования и распространяются бесплатно.
Вы можете порекомендовать проект для включения в этот каталог. Предполагаемый проект должен представлять интерес для аудитории, его описание должно быть достаточным для реализации и обязательно должно включать в себя файл прошивки для микроконтроллера в открытом доступе.
Напоминаем, что Вы можете заказать прошивку любых других программ и микроконтроллеров.
Другие каталоги программ для микроконтроллеров в Интернете:
·
ikarab.narod.ru
·
joyta.ru
·
grebenyuk-aa.ru
·
c2.at.ua
·
FTP-архив журнала «Радио»
Вы владелец одного из этих или других подобных сайтов? Поучаствуйте в нашей партнёрской программе!
Работа схемы
Схема устройства приведена на следующем рисунке.
Вращать ось сервомотора на 180 градусов и потом обратно до 0 градусов с определенной задержкой мы будем с помощью широтно-импульсной модуляции (ШИМ, от англ. PWM – Pulse Width Modulation), присутствующей в микроконтроллере ATmega8. Чтобы повернуть ось сервомотора влево до конца нам нужна ШИМ с длительностью 1/18, а чтобы повернуть ось сервомотора от крайнего правого до крайнего левого положения, нам потребуется ШИМ с длительностью 2/18.
Датчик огня и микроконтроллер находятся в режиме контроля за обстановкой (есть ли огонь или нет) непрерывно. В случае появления огня эта ситуация обнаруживается датчиком огня, который формирует импульс высокого уровня на своем выходе. Этот импульс обнаруживается микроконтроллером, который производит включение сигнализации Сигнализация может быть выключена нажатием кнопки, присутствующей в схеме.
В микроконтроллере ATmega8 три ШИМ (PWM) канала могут быть задействованы на трех его контактах. На этих контактах мы можем использовать только выход ШИМ. Поскольку мы решили использовать PWM1 мы должны использовать ШИМ сигнал с контакта OC1 (PORTB 2-й контакт). Как показано на представленной схеме, мы соединяем сервомотор с контактом OC1A. В микроконтроллере ATmega8 из трех ШИМ каналов два 8-битные и один 16-битный. Мы в нашем примере будем использовать 16-битный канал.
В микроконтроллерах ATmega есть два способа генерации ШИМ:
- Фазовая (правильная) ШИМ.
- Быстрая ШИМ.
Мы будем использовать более простой способ – быстрый метод формирования ШИМ.
Сначала необходимо выбрать частоту ШИМ, которая будет зависеть от используемого приложения (применения). Мы выберем частоту 1 МГц без использования коэффициента деления предделителя. Коэффициент деления предделителя используется для того, чтобы получить нужную нам частоту. К примеру, если у нас частота кварцевого резонатора равна 8 МГц, то с использованием коэффициента деления предделителя, равного 8, мы можем получить нужную нам частоту 1 МГц. Коэффициент деления предделителя выбирается исходя из необходимой нам частоты. Если мы хотим получить больший период следования импульсов (то есть частота должна быть меньше), то нам следует использовать больший коэффициент деления предделителя.
Теперь чтобы получить частоту импульсов ШИМ 50 Гц мы должны установить соответствующие биты в регистре TCCR1B микроконтроллера. Состав битов данного регистра представлен на следующем рисунке.
CS10, CS11, CS12 (желтый, YELLOW) – задают коэффициент деления предделителя счетного регистра таймера/счетчика. Таблица для установки данных битов представлена на следующем рисунке.
Таким образом, чтобы задать коэффициент деления предделителя равный 1 необходимо установить бит CS10 в 1, а биты CS11 и CS12 – в 0.
RED (красный, WGM10-WGM13) – задают режим генерации ШИМ. Как следует из нижеприведенной таблицы для получения быстрой ШИМ мы должны WGM11, WGM12 и WGM12 установить в 1.
Теперь мы знаем, что ШИМ – это сигнал с различными интервалами ON и OFF сигнала (различными продолжительностями включения). Для получения различных продолжительностей включения (отношение длительности импульса к периоду повторения) нам необходимо выбрать значение между 0 и 255 (от 0 до 2^8 поскольку мы используем 8 битную ШИМ). Допустим мы выбрали значение 180, это значит что счетчик начинает счет от 0 и когда он достигает значения 180, то отклик на выходе может быть приведен в действие (запустится триггер). Этот триггер может быть инвертирующим и неинвертирующим, соответственно можно получить инвертированный и неинвертированный ШИМ-сигнал. То есть выход ШИМ можно сконфигурировать таким образом, чтобы счет шел либо в прямом направлении (прямой счет), либо в обратном направлении (обратный счет). Этот выбор производится с помощью установки битов COM1A0 и COM1A1 (выделены зеленым цветом на рисунке выше).
Как следует из приведенной таблицы для необходимых нам параметров (сигнал сравнивается с граничным значением отсечки при нарастании, инвертированный ШИМ сигнал) нам необходимо установить COM1A0=1; COM1A1=1.
За установку того самого значения, которое задает различные продолжительности включения (отношение длительности импульса к периоду повторения), в микроконтроллере ATmega8 отвечает байт OCR1A (Output Compare Register 1A) – в нем сохраняется нужное нам значение от 0 до 255. Пример выбранного нами режима ШИМ (с инвертированием) показан на рисунке ниже. Таким образом, если мы запишем в OCR1A=180, то микроконтроллер будет изменять уровень сигнала на выходе когда счетчик досчитает до 180 (начиная с 0).
OCR1A должен быть 19999-600 для 180 градусов и 19999-2400 для 0 градусов.
Микроконтроллеры серии PIC12
Микроконтроллеры PIC12 наряду с серией PIC10 занимают нишу маломощных устройств в линейке процессорной продукции Microchip. Минимум периферии и корпус с 8-ю выводами предполагают их применение только в относительно простых приложениях. Эти же факторы и вытекающая из них низкая стоимость, обусловили популярность данных микроконтроллеров среди большого числа радиолюбителей.
Главной особенностью серии PIC12, как уже было сказано выше, является 8-ми выводной корпус. В таком корпусе выпускаются абсолютно все варианты за исключением нового процессора PIC12LF1840T48A со встроенным радиопередатчиком. Пользователю доступно 6 линий ввода вывода, при условии, что одна из них работает только на вход. Так же как и у других процессоров вывода могут выполнять разные функции. Из стандартной периферии доступны таймеры на 8 и 16 бит, компараторы и АЦП.
Ограниченность по выводам привела к тому, что в серии PIC12 сравнительно мало моделей и все они относительно схожи по своим характеристикам. В некоторых случаях, для выбора достаточно определиться только с наличием или отсутствием АЦП и требуемым объемом памяти. Но можно подобрать микросхему и для конкретного, специфического проекта. В частности серия PIC12 может оснащаться встроенным модулем радиопередатчика или модулем шифрования KeeLoq.
В микросхемах семейства PIC12 используются три базовых архитектуры ядер. Наиболее дешевые микросхемы построены на базовой архитектуре (Baseline). 12-ти разрядная шина команд и всего 33 инструкции упрощают освоение этих микроконтроллеров. Микросхемы с базовым ядром оснащаются только одним 8-ми разрядным таймером и не имеют энергонезависимой памяти (исключение PIC12F519). Более совершенные устройства оснащаются ядром средней серии с 14-ти разрядной шиной команд. Эти микроконтроллеры содержат два таймера, один из которых 16-ти разрядный.
Тип |
Flashпамять Кслов |
EEPROM байт |
RAM, байт |
АЦП |
Комп |
Таймер |
Макс. частота МГц |
Встр. генератор МГц |
BOR/ PBOR/ PLVD |
Доп. |
Базовая серия, шина программ 12 бит, 33 инструкции |
||||||||||
PIC12F508 |
0.5 |
— |
25 |
— |
— |
1-8бит, WDT |
4 |
4 МГц |
— |
|
PIC12F509 |
1 |
— |
41 |
— |
— |
1-8бит, WDT |
4 |
4 МГц |
— |
|
PIC12F510 |
1 |
— |
38 |
3×8 бит |
1 |
1-8бит, WDT |
8 |
8 МГц |
— |
ICD |
PIC12F519 |
1 |
64 |
41 |
— |
— |
1-8бит, WDT |
8 |
8 МГц |
— |
ICD |
Средняя серия, шина программ 14 бит, 35 инструкции |
||||||||||
PIC12F609 |
1 |
64 |
— |
1 |
1-8бит, 1-16бит, WDT |
20 |
4 МГц, 8 МГц |
BOR |
||
PIC12F615 |
1 |
64 |
4×10 бит |
1 |
2-8бит, 1-16бит, WDT |
20 |
4 МГц, 8 МГц |
BOR |
ECCP |
|
PIC12F617 |
2 |
128 |
4×10 бит |
1 |
2-8бит, 1-16бит, WDT |
20 |
4 МГц |
BOR |
Selfwrite, ECCP |
|
PIC12F629 |
1 |
128 |
64 |
— |
1 |
1-8бит, 1-16бит, WDT |
20 |
4 МГц |
BOR |
|
PIC12F635 |
1 |
128 |
64 |
— |
1 |
1-8бит, 1-16бит, WDT |
20 |
32кГц, 8МГц |
BOR/ PLVD/ ULPV |
KeeLOQ, nW |
PIC12F675 |
1 |
128 |
64 |
4×10 бит |
1 |
1-8бит, 1-16бит, WDT |
20 |
4 МГц |
BOR |
|
PIC12F683 |
2 |
256 |
128 |
4×10 бит |
1 |
2-8бит, 1-16бит, WDT |
20 |
32кГц, 8МГц |
BOR/ ULPV |
CCP,nW, , Cap Touch |
PIC12F752 |
1 |
64 |
— |
2 |
2-8бит, 1-16бит, WDT |
20 |
8 МГц |
BOR |
Self-write, CCP, DAC, COG |
|
PIC12LF1552 |
2 |
256 |
4×10 бит |
— |
1-8бит, WDT |
20 |
32кГц, 16МГц |
LPBOR |
Selfwrite, SPI, I2C, MSSP, Cap Touch |
|
Улучшенная средняя серия, шина программ 14 бит, 49 инструкции |
||||||||||
PIC12F1501 |
1 |
64 |
4×10 бит |
1 |
2-8бит, 1-16бит, EWDT |
20 |
32кГц, 16МГц |
LPBOR |
Selfwrite, CWG, NCO, CLC, Cap Touch, DAC, PWM |
|
PIC12F1822 |
2 |
256 |
128 |
4×10 бит |
1 |
2-8бит, 1-16бит, EWDT |
32 |
32кГц, 32МГц |
BOR |
Selfwrite, XLP, SPI, I2C, MSSP, Cap Touch |
PIC12F1840 |
4 |
256 |
256 |
4×10 бит |
1 |
2-8бит, 1-16бит, EWDT |
32 |
32кГц, 32МГц |
BOR |
Selfwrite, XLP, SPI, I2C, MSSP, ECCP, ECCP, Cap Touch |
PIC12LF1840T (14 TSSOP with RF Transmitter) |
4 |
256 |
256 |
4×10 бит |
1 |
2-8бит, 1-16бит, EWDT |
32 |
32кГц, 32МГц |
BOR |
Selfwrite, XLP, SPI, I2C, MSSP, ECCP, Cap Touch |
Последние модели микроконтроллеров используют расширенное ядро средней серии, благодаря чему их характеристики и возможности увеличились. В частности повысилась частота внутреннего тактового генератора до 32МГц, возрос объем памяти программ, добавились таймеры, модули ШИМ, а в некоторых моделях появились интерфейсы A/E/USART и MSSP(SPI/I2C) и сенсорный интерфейс mTouch. Увеличенное количество инструкций позволяет создавать более компактный программный код. В некоторых микроконтроллерах может отсутствовать отдельный модуль энергонезависимой памяти, а для сохранения необходимых данных используется Flash-память программ.
Основное направление применения PIC12 – интеллектуальные датчики и простые исполнительные устройства. Также эти процессоры широко используются в системах сигнализации и дистанционного управления. Низкий уровень энергопотребления и широкий диапазон напряжений питания делает процессоры привлекательными для использования в системах с батарейным питанием. Несколько конструкций с использованием PIC12 можно найти в рвзделе Проекты.
You have no rights to post comments
Режим ожидания (свет выключен)
Устройство питается от сетевого напряжения, через резистивную нагрузку (лампочку). Схема потребляет очень мало энергии. Основным потребителем является ИК-приемник TSOP, но вы также можете использовать маломощные TSOP, такие как TSOP38238, если хотите снизить потребление тока до менее чем 1 мА.
В этом состоянии микроконтроллер (PIC12F629/PIC12F675) ожидает ИК-сигнала от TSOP или нажатия от настенного выключателя. Имейте в виду, что настенный выключатель больше не должен быть классическим выключателем включения/выключения — он должен быть заменен кнопочным выключателем, который замыкает контакты только тогда, когда вы продолжаете нажимать на него.
Как выглядит и где используется
Рабочая пластина датчика состоит из кристаллических веществ, которые имеют свойство при попадании света на них поляризоваться. И от того насколько изменится интенсивность излучения зависит изменение и поляризации, а как следствие это вызывает изменение напряжения в электрическом поле кристаллического элемента. Следовательно, если измерить разность потенциалов на разных точках кристаллической пластины можно узнать и величину излучения.
Это основной физический принцип, по которому работают датчики присутствия, с центральным пироэлектрическим элементом. Он помещается в герметичный или пластиковый корпус.
Такие детекторы движения с успехом применяются:
- в промышленных системах охранной сигнализации;
- управление освещением в квартирах или офисных помещениях. Часто эти детекторы помогают автоматизировать процесс освещения;
- в системах «Умный дом».
Прибор может зафиксировать движение — электрическая цепь замкнется и включится освещение. Также он сработает и в обратную сторону — если людей в помещении уже нет, то нет и движения, соответственно цепь размыкается и свет гаснет.
Схемы устройств на микроконтроллерах
Устройство автоматического управления светом для автомобиля
Устройство предназначено что бы автоматически включать и выключать дневной свет фар, при остановке и началу езды в автомобиле.При этом как вы видите на картинке даже, схема сопровождена дополнительно звуковым сигнализатором и индикацией.
Схема выполнена на недорогом микроконтроллере pic12f629. Сама схема показана на рисунке ниже
Алгоритм работы схемы управления фарами
1.Питание 12в 2.При вкл зажигания после прохождения 6 импульсов с датчика скорости вкл ДХО 3.При вкл габаритов все переходит в штатный режим 4.При выкл габаритов переходим п.2 5.При остановке (например в пробке) ДХО выключится через 3 мин при начале движения п.2 6.При остановке и выключении зажигания, ДХО горит ещё 20 секунд и выключается.
Устройство работает следущим образом
1. Когда выключено зажигание, светодиод HL1 моргает с частотой 1раз в секунду (1Hz), сигнализируя о том ,что устройство находится в дежурном режиме (режим ожидания).2. При включении зажигания светодиод HL1 начинает светится постоянно,микроконтроллер ждёт прихода импульсов с датчика скорости,и при начале движения автомобиля, через 1 секунду автоматически зажигаются ДХО и горят всё время движения до остановки.3. Во время остановки, включается режим выдержки времени выключения ДХО (3 минуты), об этом сигнализирует встроенный Бипер (2 коротких звуковых сигнала – это при включёном зажигание и остановки автомобиля), если в это время выключить замок зажигания (например при длительной стоянке), прозвучат 4 коротких звуковых сигнала, сигнализируя о том, что включился режим выдержки времени включения ДХО 20 секунд и затем они выключатся (режим вежливой подсветки), устройство переходит в дежурный режим. 4. При включении Габаритных огней, устройство автоматически переходит в режим ожидания, ДХО выключаются (правила ПДД), всё работает в штатном режиме. 5. Режим вежливой подсветки можно включить так: включить зажигание, при этом прозвучат 2 коротких сигнала и сразу его выключить, (прозвучат 4 звуковых сигнала) при этом устройство автоматически перейдёт в режим вежливой подсветки. Если требуется выключить ДХО не дожидаясь выдержки времени, следует включить и тут же выключить Габаритные огни. 6. Светодиод HL2 сигнализирует о состоянии ДХО ( Светится – ДХО работают, выключен – ДХО не работают)
Применёное реле, на максимальный ток проходящий через контакты 10А, если Вы вдруг захотите применить это устройство для Автоматического включения БС, лучше установить дополнительное реле типа SLC – 12VDC – SL – C , максимальный ток контактов 30А, этого вполне достаточно для управления БС. Светодиоды HL1 и HL2 устанавиваются в удобном месте, например в приборной панели . Пишалка ( BUZZER ) так же устанавливается в удобном для водителя месте. На фотографии собраного устройства видно что светодиоды стоят на самой печатной плате, но это сделано было только для отладки схемы. Установка произвольная!
Внимание! При прошивке микроконтроллера сохраните калибровочную константу…, без неё работа устройства не возможна. Во вложении- печатная плата и прошивка для микроконтроллера
Во вложении- печатная плата и прошивка для микроконтроллера
Файл | Описание | Размер файла: |
---|---|---|
avto_dho.rar | 33 Кб |