Радиоканал с обратной связью 433 мгц схема. Использование RF-модулей

Иногда, между устройствами требуется установить беспроводное соединение. В последнее время для этой цели все чаще стали применять Bluetooth и Wi-Fi модули. Но одно дело передавать видео и здоровенные файлы, а другое - управлять машинкой или роботом на 10 команд. С другой стороны радиолюбители часто строят, налаживают и переделывают заново приемники и передатчики для работы с готовыми шифраторами/дешифраторами команд. В обеих случаях можно использовать достаточно дешевые RF-модули. Особенности их работы и использования под катом.

Типы модулей

RF-модули для передачи данных работают в диапазоне УКВ и используют стандартные частоты 433МГц, 868МГц либо 2,4ГГц (реже 315МГц, 450МГц, 490МГц, 915МГц и др.) Чем выше несущая частота, тем с большей скоростью можно передавать информацию.
Как правило, выпускаемые RF-модули предназначены для работы с каким-либо протоколом передачи данных. Чаще всего это UART (RS-232) или SPI. Обычно UART модули стоят дешевле, а так же позволяют использовать нестандартные (пользовательские) протоколы передачи. Вначале я думал склепать что-то типа такого , но вспомнив свой горький опыт изготовления аппаратуры радиоуправления выбрал достаточно дешевые HM-T868 и HM-R868 (60грн. = менее $8 комплект). Существуют также модели HM-*315 и HM-*433 отличающиеся от нижеописанных лишь несущей частотой (315МГц и 433МГц соответственно). Кроме того есть множество других модулей аналогичных по способу работы, поэтому информация может быть полезной обладателям и других модулей.

Передатчик

Почти все RF-модули представляют собой небольшую печатную плату с контактами для подключения питания, передчи данных и управляющих сигналов. Рассмотрим передатчик(трансмиттер) HM-T868
На нем имеется трехконтактный разъем: GND(общий), DATA(данные), VCC(+питания), а также пятачок для припайки антенны(я использовал огрызок провода МГТФ на 8,5см - 1/4 длинны волны).

Приемник

Ресивер HM-R868, внешне, очень похож на соответствующий ему трансмиттер

но на его разъеме есть четвертый контакт - ENABLE, при подаче на него питания приемник начинает работать.

Работа

Судя по документации, рабочим напряжением является 2,5-5В, чем выше напряжение, тем большая дальность работы. По сути дела - это радиоудлинитель: при подаче напряжения на вход DATA передатчика, на выходе DATA приемника так же появится напряжение (при условии что на ENABLE также будет подано напряжение). НО, есть несколько нюансов. Во-первых: частота передачи данных (в нашем случае - это 600-4800 бит/с). Во-вторых: если на входе DATA нету сигнала более чем 70мс, то передатчик переходит в спящий режим(по-сути отключается). В-третьих: если в зоне приема ресивера нету работающего передатчика - на его выходе появляется всякий шум.

Проведем небольшой эксперимент: к контактам GND и VCC трансмиттера подключим питание. Вывод DATA соединим с VCC через кнопку или джампер. К контактам GND и VCC ресивера также подключаем питание, ENABLE и VCC замыкаем между собой. К выходу DATA подключаем светодиод (крайне желательно через резистор). В качестве антенн используем любой подходящий провод длинной в 1/4 длинны волны. Должна получиться такая схемка:


Сразу после включения приемника и/или подачи напряжения на ENABLE должен загореться светодиод и гореть непрерывно (ну или почти непрерывно). После нажатии кнопки на передатчике, со светодиодом также ничего не происходит - он продолжает гореть и дальше. При отпускании кнопки светодиод мигнет(погаснет и снова загорится) и продолжает гореть дальше. При повторном нажатии и отпускании кнопки все должно повторится. Что же там происходило? Во время включения приемника, передатчик находился в спящем состоянии, приемник не нашел нормального сигнала и стал принимать всякий шум, соответственно и на выходе появилась всякая бяка. На глаз отличить непрерывный сигнал от шума нереально, и кажется, что светодиод светит непрерывно. После нажатия кнопки трансмиттер выходит из спячки и начинает передачу, на выходе ресивера появляется логическая «1» и светодиод светит уже действительно непрерывно. После отпускания кнопки передатчик передает логический «0», который принимается приемником и на его выходе также возникает «0» - светодиод, наконец, гаснет. Но спустя 70мс передатчик видит что на его входе все тот же «0» и уходит в сон, генератор несущей частоты отключается и приемник начинает принимать всякие шумы, на выходе шум - светодиод опять загорается.

Из вышесказанного следует, что если на входе трансмиттера сигнал будет отсутствовать менее 70мс и находится в правильном диапазоне частот, то модули будут вести себя как обычный провод (на помехи и другие сигналы мы пока не обращаем внимания).

Формат пакета

RF-модули данного типа можно подключить напрямую к аппаратному UART или компьютеру через MAX232, но учитывая особенности их работы я бы посоветовал использовать особые протоколы, описанные программно. Для своих целей я использую пакеты следующего вида: старт-биты, байты с информацией, контрольный байт(или несколько) и стоп-бит. Первый старт-бит желательно сделать более длинным, это даст время чтобы передатчик проснулся, приемник настроился на него, а принимающий микроконтроллер(или что там у Вас) начал прием. Затем что-то типа «01010», если на выходе приемника такое, то это скорее всего не шум. Затем можно поставить байт идентификации - поможет понять какому из устройств адресован пакет и с еще большей вероятностью отбросит шумы. До этого момента информацию желательно считывать и проверять отдельными битами, если хоть один из них неправильный - завершаем прием и начинаем слушать эфир заново. Дальше передаваемую информацию можно считывать сразу по байтам, записывая в соответствующие регистры/переменные. По окончании приема выполняем контрольное выражение, если его результат равен контрольному байту - выполняем требуемые действия с полученной информацией, иначе - снова слушаем эфир. В качестве контрольного выражения можно считать какую-нибудь контрольную сумму, если передаваемой информации немного, либо Вы не сильны в программировании - можно просто посчитать какое-то арифметическое выражение, в котором переменными будут передаваемые байты. Но необходимо учитывать то, что в результате должно получится целое число и оно должно поместится в количество контрольных байт. Поэтому лучше вместо арифметических операций использовать побитовые логические: AND, OR, NOT и, особенно, XOR. Если есть возможность, делать контрольный байт нужно обязательно так как радиоэфир - вещь очень загаженная, особенно сейчас, в мире электронных девайсов. Порой, само устройство может создавать помехи. У меня, например, дорожка на плате с 46кГц ШИМ в 10см от приемника очень сильно мешала приему. И это не говоря о том, что RF-модули используют стандартные частоты, на которых в этот момент могут работать и другие устройства: рации, сигнализации, радиоуправление, телеметрия и пр.

На том же Aliexpress нашел недорогие радиомодули. Небольшие платы (не больше 2-3 см) с распаянными на них передатчиком и приемником диапазона 315МГц или 433МГц (указываем при заказе). В пересчете на один модуль цена получается 20-25 рублей. Юго-восточные соседи именуют данные конструкции так: RF wireless receiver module & transmitter module board.

Оказалось - очень интересные и полезные устройства для решения задачи передачи небольшого объема данных на короткие расстояния (в пределах 10-20 метров). Продаются, как правило, комплектами: передатчик + приемник.

Вроде бы радиопередатчик, но согласно «Перечня радиоэлектронных средств, для которых не требуется разрешений на использование», устройства дистанционного управления охранной сигнализации и оповещения в диапазоне 315/433МГц ±0,2% с выходной мощностью до 10 мВт могут эксплуатироваться без специальной регистрации. Радиочастотные модули очень просты в применении - для включения модуля достаточно подать питание, передаваемые данные и подключить антенну.

Такие модули широко распространены в бытовой технике. Они применяются, например в схемах: дистанционного управления люстрой, беспроводного дверного звонка и т.д.

Передатчик

Приемник

Радиомодуль приемника собран на печатной плате несколько большего размера 15х30мм по примерной схеме показанной на рисунке слева (схемка взята отсюда). За совпадение изображенного с оригиналом не ручаюсь, но общий принцип работы из рисунка ясен: есть транзисторный приемник ВЧ сигнала, к выходу которого через ФНЧ подключен компаратор на операционном усилителе. Таким образом, при наличии сигнала на входе приемника в указанном диапазоне, на выходе получаем "единицу", при отсутствии сигнала - "ноль". Приемник, имевшийся в моем распоряжении, несколько отличается от приведенной схемы. В частности, подстройка частоты производится не конденсатором, а индуктивностью (см фото), а выход операционного усилителя прямо подключен к линии DATA.

Примерные параметры устройства (по данным продавца с вышеуказанного сайта):

  • Питание (VCC) +5В.
  • Потребляемый ток не замерял, обещают - не выше 4мА.
  • Чувствительность приемника обещают на уровне 5мкВ...
Простейший вид модуляции (ООК) обладает рядом недостатков, главный из которых - низкая помехоустойчивость. Во время передачи лог. «О» передатчик не излучает несущей, и любая помеха на рабочей частоте приведет к наличию сигнала лог. «1» на выходе приемника. Без применения кодеров/декодеров использовать радиомодули, практически, невозможно. Действительно, осциллограмма сигнала на выходе приемника в отсутствии излучения передатчика представляет собой "хаотическое" появление лог."1".
Подключение модуля: GND - общий провод питания, VCC - питание приемника, DATA - выход приемника - можно трактовать как TTL сигнал и подавать его на вход микроконтроллера. К выводу ANT подключается антенна, в качестве которой можно оспользовать "четверть-волновый штырь" - отрезок провода 17см для диапазона 433МГц (но можно и подлиннее что-нибудь прицепить).

Fun fact! Существуют другие, но совместимые передатчики на 433 МГц, в частности раз и два . Кроме того, есть и альтернативный приемник . Но он не вполне совместим, так как на выходе всегда выдает какой-то сигнал, независимо от того, осуществляется ли реально сейчас передача, или нет.

Для своих экспериментов я также использовал купленный на eBay пульт от гаража с внутренним DIP-переключателем:

При некотором везении такие пульты все еще можно найти как на eBay, так и на AliExpress по запросу вроде «garage door opener 433mhz with dip switch». Но в последнее время их вытесняют «программируемые» пульты, умеющие принимать и копировать сигнал других пультов. Доходит вплоть до того, что продавцы высылают пульты без DIP-переключателя даже в случае, если он явно изображен на представленном ими фото и указан в описании товара. Полагаться на внешнюю схожесть пульта с тем, что использовал я, также не стоит. Впрочем, если вы решите повторить шаги из этой заметки, наличие или отсутствие DIP-переключателя не сыграет большой роли.

Модули крайне просто использовать в своих проектах:

Как приемник, так и передатчик, имеет пины VCC, GND и DATA. У приемника пин DATA повторяется дважды. Питаются модули от 5 В. На фото слева собрана схема, в который светодиод подключен к пину DATA приемника. Справа собрана схема с передатчиком, чей пин DATA подключен к кнопке и подтягивающему резистору. Плюс в обоих схемах используется стабилизатор LM7805. Проще некуда.

Запишем сигнал при помощи Gqrx и откроем получившийся файл в Inspectrum:

Здесь мы видим такие же короткие и длинные сигналы, что нам показал осциллограф. Кстати, такой способ кодирования сигнала называется On-Off Keying . Это, пожалуй, самый простой способ передачи информации при помощи радиоволн, который только можно вообразить.

Запускаем, и на Scope Plot видим:

Практически такой же сигнал, что нам показал осциллограф!

Как видите, копеечные радиомодули на 433 МГц дают нам огромный простор для творчества. Их можно использовать не только друг с другом, но и со многими другими устройствами, работающими на той же частоте. Можно вполне успешно использовать их в чисто аналоговых устройствах без какого-либо микроконтроллера, например, с таймером 555 . Можно реализовывать собственные протоколы с чексуммами, сжатием, шифрованием и так далее, безо всяких ограничений, скажем, на длину пакета, как у NRF24L01 . Наконец, модули прекрасно подходят для broadcast посылки сообщений.

А какие потрясающие применения этим радиомодулям приходят вам на ум?

Дополнение: Также вас могут заинтересовать посты

Простое решение для вашей задачи!

Есть в наличии

Купить оптом

Технические характеристики

Рабочая частота (мГц) 433
Тип питания постоянный
Количество входов (шт) 1
Количество выходов (шт) 1
Рекомендованная температура эксплуатации (°С) -15...+60
Напряжение питания приемника (В) 5
Напряжение питания передатчика (В) 12
Вес, не более (г) 20
Ток потребления приемника (мА) 1,5
Ток потребления передатчика (мА) 10
Входная чувствительность (мкВ) 1,5
Дальность действия (м) 100
Длина приемника (мм) 19
Длина передатчика (мм) 30
Выходная мощность передатчика (мВт) 10
Входной уровень данных передатчика (В) 5
Выходной уровень данных приемника (В) 0,7
Ширина передатчика (мм) 15
Высота передатчика (мм) 10
Ширина приемника (мм) 19
Высота приемника (мм) 10
Вес 22

Схемы

Использование комплекта без применения микроконтроллеров.

Комплект поставки

  • Плата передатчика - 1 шт.
  • Плата приемника - 1 шт.
  • Инструкция - 1 шт.

Что потребуется для сборки

  • Для подключения понадобится: провод, паяльник, бокорезы.

Условия эксплуатации

  • Температура - -15С до +50С шт.
  • Относительная влажность - 20-80% без образования конденсата шт.

Меры предосторожности

  • Не превышайте максимально допустимое напряжение питания приемника и передатчика.
  • Не путайте полярность питания приемника и передатчика.
  • Не превышайте максимально допустимый ток выходов приемника.
  • Не соблюдение данных требований приведет к выходу устройства из строя.

Вопросы и ответы

  • Возможно ли приобрести несколько приемников к одному передатчику? Если в помещении будут стоять несколько приемников, то будут ли все они срабатывать от одного передатчика?
    • 1. Можно. 2. Будет.
  • Могу ли я управлять приемником, одним из предлогаемых пультов 433 МГц
    • Можно, но что бы не было ложных срабатываний необходимо за приемником установить микроконтроллер и запрограммировать его на купленный дополнительный пульт.
  • Доброго времени суток!!!Возможно ли на данном устройстве,уменьшить дальность действия до 30 см?
    • До 30 см не пробовали. Но дальность регулируется с помощью уменьшения длинны антенны на приемнике и передатчике.
  • Добрый день, подскажите пожалуйста, данный комплект приёмника с передатчиком подлежит программированию, или это аналаговые приборы.
    • Это аналоговые приборы. Предназначены для совместной работы с микроконтроллером.

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

В первую очередь берем 2 платы Arduino и подключаем к ним приемник и передатчик, как показано на рисунке:

Компоненты для повторения (купить в Китае):

Перед тем как преступить к работе, нужно указать, что для полноценной работы, к модулям необходимо припаять антенну. Рекомендуемая длина антенны для передатчиков с частотой 433 МГц равна 17 см.

Библиотека необходимая для работы с модулем VirtualWire

Её необходимо распаковать и добавить в папку "libraries" в папке с Arduino IDE. Не забывайте перезагрузить среду, если на момент добавления IDEшка была открыта.

Пример программного кода

#include void setup (void ) { vw_set_ptt_inverted(true ); // Необходимо для DR3100 vw_setup(2000); // Устанавливаем скорость передачи (бит/с) } void loop (void ) { int number = 123; char symbol = "c" ; String strMsg = "z " ; strMsg += symbol; strMsg += " " ; strMsg += number; strMsg += " " ; char msg; strMsg.toCharArray(msg, 255); Serial .println (msg); vw_send((uint8_t *)msg, strlen(msg)); vw_wait_tx(); // Ждем пока передача будет окончена delay (200); }

Разберем этот код для полного понимания.

Во первых мы формируем строку strMsg. Используем тип String, т.к. с ним проще работать (можно конкатенировать его с числами, используя оператор "+").

Поскольку все передатчики работают в одном диапазоне частот, то каждый приемник будет принимать информацию с каждого передатчика находящегося в зоне досягаемости. Для того, чтобы отсеять лишние символы в простейшем случае можно просто предварить команды каким-то специальным символом. В нашем случае это символ "z".

После этого преобразовываем тип String к стандартному массиву символов при помощи метода toCharArray и передаем его в команду vw_send .

Наш код будет отправлять строку "z c 123".

Перейдем к коду приемника:

Пример программного кода

// Тестировалось на Arduino IDE 1.0.1 #include void setup () { Serial .begin (9600); vw_set_ptt_inverted(true ); // Необходимо для DR3100 vw_setup(2000); // Задаем скорость приема vw_rx_start(); // Начинаем мониторинг эфира } void loop () { uint8_t buf; // Буфер для сообщения uint8_t buflen = VW_MAX_MESSAGE_LEN; // Длина буфера if (vw_get_message(buf, &buflen)) // Если принято сообщение { // Начинаем разбор int i; // Если сообщение адресовано не нам, выходим if (buf != "z" ) { return ; } char command = buf; // Команда находится на индексе 2 // Числовой параметр начинается с индекса 4 i = 4; int number = 0; // Поскольку передача идет посимвольно, то нужно преобразовать набор символов в число while (buf[i] != " " ) { number *= 10; number += buf[i] - "0" ; i++; } Serial .print (command); Serial .print (" " ); Serial .println (number); } }

Сообщение будет считано в буфер buf, который нужно разобрать.

В первую очередь проверяем наличие служебного символа "z", затем считываем код команды и затем преобразовываем строковое представление параметра в число.

Информация получена и разобрана, что делать дальше зависит от конкретной задачи.

В данной статье рассмотрен простейший вариант общения. В идеале нужно задуматься о кодировании передаваемой информации, т.к. её будут получать не только ваши приемники.

P.S. Работая с данными модулями, мы наткнулись на один не приятный подводный камень, а именно конфликт, невозможность работы с библиотекой "servo.h".

 
Статьи по теме:
Русско-польский онлайн-переводчик и словарь Переводчик яндекс русско польский online
Очень часто новичкам, да и честно говоря профессионалам, приходится прибегать к услугам перевода . Конечно, новички это делают гораздо чаще, но и у более опытных носителей языка могут возникать некоторые проблемы. В этом случае не нужно обращаться в специ
Разбираемся в способах записи телефонных разговоров на устройстве Samsung
На смартфонах Android мы можем не только звонить родным и отправлять сообщения, но и использовать различные службы для видеосвязи, определения местоположения, автоматического обновления информации о погодных условиях, пробках в городской местности и т.д.
Clean master скачать версия 4
Последняя CM AppLock Clean Master apk Скачать. App Lock ★ Android 5.0 and 6.0 is supported★ Fingerprint lock password is supported on specific devices (see the description below)★ Snap the snooper who tried to unlock your apps★ Customized lock mode. CM Se
Лучшие iPad-приложения для работы с презентациями – Keynote, PowerPoint, HaikuDeck и другие
iPad уже давно перестал быть устройством для простого потребления контента. Большинство обладателей планшета от Apple используют его возможности по максимуму. Многие пишут статьи в Pages, кто-то использует iPad для решения рутинных бизнес-задач. Я вот, на