Главная » Статьи » Проекты |
Не так давно, ко мне обратились с просьбой собрать охранное устройство, которое включает в себя датчик движения и возможность передавать по радиоканалу сигнал об его срабатывании. У меня как раз имелась парочка радиомодулей HC-12, и датчик движения hc-SR501 поэтому решил помочь с изготовлением. Устройство должно обеспечивать максимальную мобильность, питание только аккумуляторное или от батареек, поэтому важно было организовать минимальное энергопотребление. По описанию датчик движения HC-SR501 работает при напряжении питания от 4,5 до 20 вольт, и сначала была идея поднять напряжение для него отдельным повышающим DC/DC конвертером на LM2577. Но оказалось что конвертер в холостом режиме потребляет 12 мА, что очень много, учитывая что датчик движения потребляет в режиме ожидания всего 70мкА. Поэтому поизучав внимательно плату выяснил, что там уже стоит понижающий стабилизатор на котором и падает всё напряжение. И для того чтобы он нормально работал от LI-Ion аккумулятора необходимо обойти защитный диод на входе питания и замкнуть вход и выход линейного стабилизатора 7133 (вторая и третья ножки). После этих манипуляций датчик начинает стабильно работать при напряжении от 3 до 6 вольт (верхний предел для микросхемы BISS0001).
Победив датчик движения в плане понижения напряжения питания, он подкинул мне другую подлянку. Оказалось, что при работе совместно с радиомодулем HC-12, датчик периодически ложно срабатывал. Первым делом подумал о том, что идут помехи от антенны передатчика, которая находится рядом. Предположение частично подтвердилось, когда снизил мощность передатчика в два раза (команда AT+P4) и ложные срабатывания прекратились. Затем чтобы использовать передатчик на полную мощность, решил отвести датчик движения подальше от основной платы метровым экранированным кабелем. Сказано-сделано. Разнес датчик и плату с радиомодулем, выставил максимальную мощность передачи. И.. снова ложные срабатывания. Тогда чтобы проверить предположение о радиопомехах, запитал датчик и радиомодуль разными источниками питания, положил их рядом, начал отправлять данные, и оказалось что все работает как надо. Даже если подносить антенну к плотную к датчику. Значит это была помеха по питанию, которую как мне казалось, победить было проще. Но ни добавление блокировочных конденсаторов, ни индуктивностей по питанию радиомодуля и датчика результата не дало, помеха все равно проходила и давала ложные срабатывания. Причем самое интересное, что радиомодуль не обязательно должен что-то передавать в эфир, чтобы создавать помеху, ему достаточно просто быть подключенным к питанию. Был даже опробован вариант с питанием датчика через dc/dc преобразователь (как и планировалось первоначально), но даже он не помог от помех. Возможно, изолированный dc/dc преобразователь решил бы проблему, но заказывать и ждать не хотелось, поэтому был опробован вариант питания датчика отдельным аккумулятором. К счастью, такое решение сработало и мы остановились на нем. Датчик потребляет мало, и одного заряда аккумулятора емкостью 700мА/ч хватит ему более чем на год непрерывной работы. Итоговая схема передатчика:
Питание радиомодуля организовано через транзистор Q1, который полностью его обесточивает во время простоя. Заместо bs170 можно применить любой n-канальный полевик с логическим уровнем отпирания. Светодиод D1 показывает поступление сигнала с датчика движения. Еще в схеме предусмотрено подключение второго датчика, срабатывающего на замыкание (S2), можно применить для оповещения при открытии двери или окна. Потребление схемы передатчика вышло порядка 3 мА во время ожидания и 20 мА во время передачи. Примерно каждые 6 секунд микроконтроллер просыпается, дает питание радиомодулю и отправляет тестовое сообщение, чтобы поддерживать контроль связи с приемником.
Плата с датчиком движения:
Плата передатчика:
Схема приемника тоже построена на микроконтроллере ATMega8:
После включения приемник начинает слушать эфир, мигая светодиодом D2, если по прошествии 6 секунд приемник не услышал передатчика начинает мигать светодиод D3. При этом начинает раздаваться короткое звуковое оповещение. При установлении связи, снова начинает мигать D2. При срабатывании датчика движения загорается светодиод D1 и раздается непрерывное звуковое оповещение. При замыкании контакта S2 на передатчике, загорается светодиод D6 и также раздается сигнал тревоги. При разряде одной из батарей ниже 3,3 вольт начинает мигать соответствующий светодиод (см.схему) и раз в 15 секунд раздается звуковое оповещение. Что касается энергопотребления приемника, то хоть особых мер и не вводил, но потребление получилось порядка 18 мА (если не горят светодиоды), из них 17 мА потребляет радиомодуль, который постоянно слушает эфир. Этого достаточно чтобы непрерывно проработать от аккумулятора емкостью 1500 мА более 3-х суток. И еще одно дополнение по поводу прошивки. Микроконтроллеры в приемнике и передатчике тактируются от внешнего кварца на 12 МГц, поэтому не забываем выставить соответствующие фьюзы. В Khazama-AVR Programmer настройка фьюз битов выглядит следующим образом:
Архив с исходниками и прошивками Ссылка на схемы проекта в онлайн редакторе
| |
Просмотров: 28192 | Комментарии: 32 | Рейтинг: 5.0/8 |
Всего комментариев: 32 | 1 2 » | |||||||||||||||||||||||
| ||||||||||||||||||||||||
1-30 31-32 | ||||||||||||||||||||||||
Проекты [46] |
Как подключить [32] |
Инструменты [3] |
Полезная информация [18] |
Объявления [3] |