OKW: приборные корпуса из Германии

2-канальное дистанционное управление по радиоканалу

Vassilis Serasidis

Очень часто возникает необходимость дистанционно управлять некими устройствами. Существуют различные виды дистанционного управления, а самыми распространенными являются управление по ИК каналу и радиоканалу. Дистанционное управление по ИК каналу не всегда приемлемо (например, для управления гаражными воротами). Поэтому здесь рассматривается простая система из RF-передатчика и RF-приемника для управления двумя каналами с применением готовых RF-модулей TLP434A (в передатчике) и RLP434A (в приемнике). Модули работают на фиксированной частоте 418 МГц. Устройства просты в изготовлении, т.к. не требуется подстройки каких-либо катушек, индуктивностей, конденсаторов.

Какими будут станции зарядки электромобилей в 2030 году: лучшие решения и мировой опыт для отечественных разработок

RF передатчик на AVRRF приемник на AVR

При разработке устройств учитывалось, что передатчик должен быть экономным в отношении энергопотребления, т.к. работает от батареи. Ограничений на питание приемника не накладывалось, т.к. он должен быть включен постоянно. Однако приемник должен при приеме команд проверять полученные данные, чтобы исключить ложные срабатывания, т.к. устройств работающих в этом диапазоне (418 МГц) может быть много.

Основные характеристики:

  • передатчик:
    • потребляемый ток в режиме ожидания менее 1 мкА;
    • источник питания – батарея 3 В (типа CR2032);
    • радиус действия – 10…15 м;
    • скорость передачи данных – 2400 бит/с;
    • 2 идентификационных байта для распознавания «своего» передатчика;
    • вычисление контрольной суммы передаваемых данных.
  • приемник:
    • аппаратный UART (скорость 2400 бит/с);
    • 4-байтный (32 бита) коммуникационный протокол;
    • вычисление контрольной суммы принятых данных.

Передатчик.
Схема передатчика показана на рисунке.

Схема 2 канальный RF передатчик на AVR

Основой является микроконтроллер AT90S2323 фирмы Atmel и RF-модуль TLP434A. Передатчик разработан таким образом, чтобы обеспечить низкий расход энергии и сохранить качественную и надежную передачу данных:

  • экономия ресурса батареи осуществляется за счет режима «Power down» микроконтроллера AVR. В этом режиме микроконтроллер потребляет менее 1 мкА и ожидает внешнего прерывания (вывод PB1) для перехода в рабочий режим.
  • надежная передача данных основывается на передачи 4 байт в последовательной форме на скорости 2400 бит/с. 1 и 2 байты – так называемые байты идентификации, 3 байт – команда, 4 байт – контрольная сумма передаваемых первых трех байтов. Например, если 1 байт = 30h, 2 байт = 35h, 3 байт = 03h, то контрольная сумма по выражению (1 байт) XOR (2 байт) XOR (3 байт) = 30h XOR 35h XOR 03h = 06h. Такой метод использует посылку из 4 байт (32 бита) без стартового и стопового битов
  • применение динамического кода (Roll-code) повышае безопасность дистанционного управления.

Примечание: XOR - логическое 'Исключающее - или'.

При нажатии на кнопку S2 на выводе PB1 (внешнее прерывание INT0) микроконтроллера появляется логический «0» (0 В), микроконтроллер выходит из спящего режима и проверяет условие нажатия кнопки S1. Если условие ложно (нажата кнопка S2), то микроконтроллер принимает нажатие кнопки S2, иначе – микроконтроллер принимает, что нажата кнопка S1. При нажатии кнопки S1 – логический «0» появляется на выводе PB1 и PB2 (за счет диода 1N4148). В этом случае микроконтроллер принимает, что нажата кнопка S1.

После вычисления контрольной суммы и четырехкратной передачи 4 байт (для уверенности что приемник примет команду) микроконтроллер переходит в спящий режим.

Хочется отметить, что предпочтительнее использовать микроконтроллер AT90LS2323 (рабочее напряжение 2.7 – 6.0 В). При тестировании передатчика использовался микроконтроллер AT90S2323, который отлично работал при напряжении питания 3.0 В.

В качестве антенны возможно использование отрезка провода длиной около 7 см.

При однократном нажатии кнопки S1 – активируется реле подключенное к выводу PB0 микроконтроллера AT90S2313 в приемнике. При повторном нажатии на кнопку S1 – данное реле деактивируется. Аналогично для второго канала приемника при нажатии кнопки S2.

Приемник.

Схема 2 канальный RF приемник на AVR

В приемнике применен микроконтроллер AT90S2313 и RF-модуль RLP434A (418 МГц), для управления нагрузкой используются реле.
Модуль RLP434A – модуль RF-приемника с несущей частотой 418 МГц с ASK (amplitude shift keying) модуляцией. Модуль имеет два выхода: цифровой и аналоговый, последний в этом проекте не используется. Передатчик посылает 4 байта, приемник их принимает и передает микроконтроллеру по линии RxD (вывод PD0).

Свободные выводы могут быть использованы пользователем при модернизации ПО микроконтроллера.
В качестве антенны использовался отрезок провода длиной 30 – 35 см

Источник питания приемника
Схема источника питания для приемника показана на рисунке ниже.

Схема: Источник питания RF приемника на AVR

Применены два регулятора напряжения: для питания реле – 12 В регулятор LM7812, для питания микроконтроллера и RF-модуля – 5 В регулятор LM7805.

Исходные коды, .hex-файлы для прошивки микроконтроллеров, схемы приемника и передатчика.

Перевод: Vadim по заказу РадиоЛоцман

На английском языке: 2 channel RF remote control on AVR

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя
Фрагменты обсуждения (только последние 20 сообщений):Полный вариант обсуждения »
  • я делаю курсовой по этой теме. и при проверке программы для приемника препод нашел не сосответствие. там в программе описываются кнопки(которых на приемнике даже нету), по моему мнению эта программа написана для трансмитера только чуть-чуть в другой форме.
  • Как раз это не кнопки описываются, а настраиваются порты ввода/вывода микроконтроллера. Порт B настроен правильно - на выход для управления нагрузками. Возможно, с первого взгляда, (строчка кода [B] ldi temp,0b11110000 ;[/B][I]PD 1 input, others output[/I]) есть какое-то несоответствие в настройке порта - здесь скажем так должно быть что PD0 - вход, а остальные выход, но по-моему, насколько я знаю, при настройке UART и его использовании его линии ввода/вывода (RXD, TXD) настраиваются автоматически и независимо от настройки пользователем порта ввода/вывода. И в программе не идет речь о кнопках или о каком-либо управлении. О том что это именно приемник говорит подпрограмма [B]приема[/B] байта UART'ом, а также не забывайте что RF приемник (RLP-434) подключен к выводу [B]PD0/RXD[/B].
  • Ну, так что, выявились ошибки или нет? Что препод говорит?
  • я ему еще не показывал, он мне просто сказал, чтоб я пока это исключил из курсовой, но до диплома нужно разобраться, я как его в инете увижу сразу поинтересуюсь.
  • Люди кто может помочь с рисунком печатной платы для этого устройства, помогите пожалуйста нарисовать его. Заранее очень благодарен.
  • Я тут случайно схему передатчика рассматривал (думал нарисовать печатку для Kirill174) и заметил подозрительный момент/ошибку... На ошибку пока не покажу... А может это так и задумано?... Может я чего-то недопонимаю... Форумчане, гляньте схему передатчика, что заметите? Что вызывает сомнения?
  • [COLOR="Blue"]Vadzz[/COLOR] Вас смущает RST так он инверсный. Конечно лучше поставить RС цепочку.
  • Да вроде все норм, только кнопки мудрены. Можно только на кварц фильтры повесить и по питанию передатчика дроссель поставить.
  • Соглашусь насчет RC цепочки на "Reset" и насчет обвязки кварца - лучше поставить и то и другое. С кнопками все норм, хотя не совсем... Меня смущает следующий момент: посмотрите как завязана кнопка S2 с выводом 6 микроконтроллера и с выводом GND передатчика TLP434A. Мне кажется тут что-то напутано... скажем так оЧепятка в рисунке...
  • Ставить ёмкости от кварца к земле или нет зависит от типа используемого резонатора. С кнопками пожалй всё в порядке. Когда они не нажаты на плюс проходит на GND РВ1 РВ2, передатчик практически обезточен. При нажатии на любую из них поступает минус (земля) на передатчик.
  • ОК, тогда все в порядке, а то что-то меня днем переклинило... и решил что ошибка в схеме.
  • Список компонентов, по просьбе Kirill174 (хотя это и так видно по схемам). [B]Передатчик:[/B] микроконтроллер [URL="http://www.rlocman.ru/comp/shop.html?q=AT90S2323"]AT90S2323[/URL], RF-модуль ASK передатчика TLP434A, [URL="http://www.rlocman.ru/comp/shop.html?rz=02010403"]кварцевый резонатор[/URL] 4 МГц, [URL="http://www.rlocman.ru/comp/shop.html?rz=02010402"]резистор[/URL] 4.7 кОм, светодиод (желательно небольшой), диод [URL="http://www.rlocman.ru/comp/shop.html?q=1N4148"]1N4148[/URL], две кнопки без фиксации, элемент питания 3В (литиевая батарейка типа CR2032). Возможно потребуются [URL="http://www.rlocman.ru/comp/shop.html?rz=02010401"]два конденсатора[/URL] 22 пФ для обвязки кварца. [B]Приемник:[/B] микроконтроллер [URL="http://www.rlocman.ru/comp/shop.html?q=AT90S2313"]AT90S2313[/URL], RF-модуль RLP434A, кварцевый резонатор 4 МГц, два конденсатора 22 пФ, два резистора 4.7 кОм, два резистора 1.2 кОМ, два транзистора [URL="http://www.rlocman.ru/comp/shop.html?q=BC547"]BC547[/URL], два диода 1N4148, два светодиода, два реле на 12В.
  • Схема и рисунки печатных плат для передатчика и приемника (Proteus). Будут вопросы, спрашивай. Замечу, что не нужно сразу по этим чертежам делать печатку. Лучше проверить и сравнить со схемой соединения. Также насчет компонентов, размеры некоторых могут отличаться (например, реле, транзисторы, диоды), следовательно, нужно подобрать сначала все компоненты, затем распечатать черновой вариант плат и сравнить посадочные места. Модули передатчика и приемника могут впаиваться или вставляться в коннекторы.
  • как изменить код ?? по каким адресам ?
  • Честно говоря, вообще не понял вопросов...
  • ну шоб одинаковые комплекты не выходили и взаимного влияния избежать
  • Такой возможнсти (поменять код) по-видимому не предусмотрено. Тут и так реализуется roll-code. Можно конечно использовать другие модули передтчиков и приемников. Напрмер, TLP315 (315 МГц), TLP418, TLP868A и соотвтетствующие им приемники RLP***.
  • собрал передающую часть -работает щас возникла проблема at90s2313 не выпускают есть attiny2313 код надо перекомпилировать или они одинаковы ?
  • Возможно, потребуется некоторая переработка кода. В связи с тем что используется аппаратный UART микроконтроллера, а 90S2313 и тинька имеют некоторые отличия. Хотя не факт, в даташите сказано что USART тиньки и UART 90S2313 совместимы. В тиньке регистр приема используется как FIFO буфер. Нужно изучить исходник и пробовать перекомпилить под тиньку. [URL="http://www.atmel.com/dyn/resources/prod_documents/doc4298.pdf"]AVR091: Replacing AT90S2313 by ATtiny2313[/URL]
  • Подскажите,хочу ваше устройство использовать для открытия-закрытия ворот вьезда во двор частного дома,можно ли прикрутить концевики(микрики) к контроллеру?или подскажите как можно это сделать.Спасибо.
Полный вариант обсуждения »