- RFM69HCW RF модуль
- RFM69HCW
- Распиновка и описание модуля RFM69
- Подготовка пользовательской платы разработки
Шаг 3: Подготовьте для него печатную плату, я следую этому руководству по самодельной печатной плате. Я распечатал след на медной плате и бросил его в раствор для травления.
Шаг 4: Следуйте процедуре для обеих плат и припаяйте модуль к посадочному месту. После пайки оба моих модуля выглядят так:
Цоколёвка модуля RFM69HCW РФ приведена на рисунке
- Необходимые материалы
- Подключение оборудования
- Выполнение примера эскиза
- Работа с примером эскиза
Когда дело доходит до предоставления вашим проектам возможностей беспроводной связи, гибридный передатчик и приемник ASK 433 МГц является обычным выбором среди инженеров, разработчиков и любителей из-за его низкой цены, простых в использовании библиотек и поддержки сообщества. Мы также построили несколько проектов, таких как домашняя автоматизация с радиочастотным управлением и беспроводной дверной звонок, с использованием этого радиочастотного модуля 433 МГц. Но часто гибридного передатчика и приемника ASK просто недостаточно, его низкий диапазон и односторонний характер связи делают его непригодным для многих приложений.
Чтобы решить эту постоянно возникающую проблему, разработчики из HopeRF разработали новый крутой радиочастотный модуль под названием RFM69HCW. В этом руководстве мы узнаем о RF-модуле RFM69HCW и его преимуществах. Сначала мы сделаем самодельную печатную плату для RFM69HCW, а затем соединим RFM69HCW с Arduino, чтобы проверить ее работу, чтобы вы могли использовать ее в проектах по вашему выбору. Итак, приступим.
RFM69HCW RF модуль
RFM69HCW - это дешевый простой в использовании радиомодуль, который работает в нелицензированном диапазоне ISM (промышленность, наука и медицина), аналогичный радиочастотному модулю nRF24L01, который мы использовали в предыдущих проектах. Его можно использовать для связи между двумя модулями или настроить как ячеистую сеть для обмена данными между сотнями модулей, что делает его идеальным выбором для построения недорогих беспроводных сетей ближнего действия для датчиков, используемых в домашней автоматизации и других проектах сбора данных.
Особенности RFM69HCW:
- +20 дБм - 100 мВт выходная мощность
- Высокая чувствительность: до -120 дБм при 1,2 кбит / с
- Низкий ток: Rx = 16 мА, сохранение регистра 100 нА
- Программируемый Pout: от -18 до +20 дБм с шагом 1 дБ
- Постоянные радиочастотные характеристики в диапазоне напряжений модуля
- Модуляции FSK, GFSK, MSK, GMSK и OOK
- Встроенный битовый синхронизатор, выполняющий восстановление тактовой частоты
- 115 дБ + динамический диапазон RSSI
- Автоматическое определение RF со сверхбыстрой AFC
- Пакетный двигатель с CRC-16, AES-128, 66-байтовый FIFO Встроенный датчик температуры
- Высокий бюджет ссылки
- Очень низкая стоимость
RFM69HCW
Частота
RFM69HCW разработан для работы в диапазоне ISM (промышленный, научный и медицинский), наборе нелицензированных радиочастот для маломощных устройств малого радиуса действия. Разные частоты допустимы в разных областях, поэтому у модуля много разных версий 315 433 868 и 915 МГц. Все основные параметры радиочастотной связи являются программируемыми, и большинство из них может быть установлено динамически, а RFM69HCW предлагает уникальное преимущество программируемых узкополосных и широкополосных режимов связи.
Примечание: из-за его сравнительно низкой мощности и малой дальности реализация этого модуля в небольшом проекте не будет проблемой, но если вы думаете о создании из него продукта, убедитесь, что вы используете правильную частоту для ваше местоположение.
Спектр
Чтобы лучше понять диапазон, мы должны иметь дело с довольно сложной темой, называемой бюджетом RF Link. Итак, что это за ссылочный бюджет и почему он так важен? Бюджет ссылки, как и любой другой бюджет, есть у вас в начале и который вы тратите с течением времени, если ваш бюджет израсходован, вы не можете потратить больше.
Бюджет канала также имеет отношение к каналу или соединению между отправителем и получателем, он заполняется мощностью передачи отправителя и чувствительностью получателя и рассчитывается в децибелах или дБ, он также является частотным. зависимый. Бюджет канала вычитается из-за всевозможных препятствий и шума между отправителем и получателем, например, дистанционные кабели ограждают деревья, здания, если бюджет канала исчерпан, приемник создает только некоторый шум на выходе, и мы не получим никакого полезного сигнала. Согласно техническому описанию RFM69HCW , его бюджет канала составляет 140 дБ по сравнению с 105 дБ у гибридного передатчика ASK, но что это означает, является ли это важным отличием? К счастью, мы находимКалькуляторы бюджета радиосвязи онлайн, так что давайте сделаем некоторые расчеты, чтобы лучше понять тему. Во-первых, давайте предположим, что у нас есть прямая видимость между отправителем и получателем, и все идеально, поскольку мы знаем, что наш бюджет для RFM69HCW составляет 140 дБ, поэтому давайте проверим самое большое теоретическое расстояние, на которое мы можем общаться, мы установили все на ноль и расстояние до 500 км, частота до 433 МГц, и мы получаем горизонтальную принимаемую мощность 139,2 дБм
Теперь я установил все на ноль и расстояние от 9 км до 433 МГц, и мы получили горизонтальную принимаемую мощность 104,3 дБм.
Итак, с приведенным выше сравнением, я думаю, мы все можем согласиться с тем, что модуль RFM69 намного лучше, чем гибридный передатчик ASK и модуль приемника.
Антенна
Осторожно! Присоединение антенны к модулю обязательно, поскольку без нее модуль может быть поврежден собственной отраженной мощностью.
Создать антенну не так сложно, как может показаться. Самую простую антенну можно сделать просто из одножильного провода 22SWG. Длину волны частоты можно вычислить по формуле v / f , где v - скорость передачи, а f - (средняя) частота передачи. В воздухе v равно c , скорости света, которая составляет 299,792,458 м / с. Таким образом, длина волны для диапазона 433 МГц составляет 299,792,458 / 433,000,000 = 34,54 см. Половина этого составляет 17,27 см, а четверть - 8,63 см.
Для диапазона 433 МГц длина волны составляет 299,792,458 / 433,000,000 = 69,24 см. Половина этого составляет 34,62 см, а четверть - 17,31 см. Итак, из приведенной выше формулы мы можем увидеть процесс расчета длины антенного провода.
Требования к мощности
RFM69HCW имеет рабочее напряжение от 1,8 В до 3,6 В и может потреблять ток до 130 мА при передаче. Ниже в таблице наглядно видно энергопотребление модуля в разных условиях.
Предупреждение: если выбранный вами Arduino использует логические уровни 5 В для связи с периферийным устройством, подключение модуля напрямую к Arduino приведет к повреждению модуля.
Условное обозначение |
Описание |
Условия |
Мин. |
Тип |
Максимум |
Единица измерения |
IDDSL |
Ток в спящем режиме |
- |
0,1 |
1 |
uA |
|
IDDIDLE |
Ток в режиме ожидания |
RC-генератор включен |
- |
1.2 |
- |
uA |
IDDST |
Ток в режиме ожидания |
Кварцевый генератор включен |
- |
1,25 |
1.5 |
uA |
IDDFS |
ток в синтезаторе Режим |
- |
9 |
- |
uA |
|
IDDR |
ток в режиме приема |
- |
16 |
- |
uA |
|
IDDT |
Ток питания в режиме передачи с соответствующим согласованием, стабильный во всем диапазоне VDD |
RFOP = +20 дБм, на PA_BOOST RFOP = +17 дБм, на PA_BOOST RFOP = +13 дБм, на выводе RFIO RFOP = +10 дБм, на выводе RFIO RFOP = 0 дБм, на выводе RFIO RFOP = -1 дБм, на выводе RFIO |
- - - - - - |
130 95 45 33 20 16 |
- - - - - - |
мА мА мА мА мА мА |
В этом руководстве мы собираемся использовать два Arduino Nano и два преобразователя логического уровня для связи с модулем. Мы используем Arduino nano, потому что встроенный внутренний регулятор может очень эффективно управлять пиковым током. Диаграмма Fritzing в разделе оборудования ниже объяснит вам это более ясно.
ПРИМЕЧАНИЕ: Если ваш источник питания не может обеспечить пиковый ток 130 мА, ваш Arduino может перезагрузиться или, что еще хуже, модуль может не взаимодействовать должным образом, в этой ситуации конденсатор большой емкости с низким ESR может улучшить ситуацию.
Распиновка и описание модуля RFM69
метка |
Функция |
Функция |
метка |
МУРАВЕЙ |
Выход / вход радиочастотного сигнала. |
Мощность Земля |
GND |
GND |
Земля антенны (такая же, как заземление питания) |
Цифровой ввод / вывод, настроенный программно |
DIO5 |
DIO3 |
Цифровой ввод / вывод, настроенный программно |
Сброс триггерного входа |
RST |
DIO4 |
Цифровой ввод / вывод, настроенный программно |
Вход выбора микросхемы SPI |
НСС |
3,3 В |
Питание 3,3 В (минимум 130 мА) |
Вход SPI Clock |
SCK |
DIO0 |
Цифровой ввод / вывод, настроенный программно |
Ввод данных SPI |
MOSI |
DIO1 |
Цифровой ввод / вывод, настроенный программно |
Вывод данных SPI |
MISO |
DIO2 |
Цифровой ввод / вывод, настроенный программно |
Мощность Земля |
GND |
Подготовка пользовательской платы разработки
Когда я купил модуль, в нем не было коммутационной платы, совместимой с макетной платой, поэтому мы решили сделать ее сами. Если вам, возможно, придется сделать то же самое, просто следуйте инструкциям. Также обратите внимание, что выполнять эти шаги не обязательно, вы можете просто припаять провода к радиочастотному модулю и подключить их к макетной плате, и он все равно будет работать. Я следую этой процедуре только для получения стабильной и надежной настройки.
Шаг 1. Подготовьте схему для модуля RFM69HCW
Шаг 3: Подготовьте для него печатную плату, я следую этому руководству по самодельной печатной плате. Я распечатал след на медной плате и бросил его в раствор для травления.
Шаг 4: Следуйте процедуре для обеих плат и припаяйте модуль к посадочному месту. После пайки оба моих модуля выглядят так:
Цоколёвка модуля RFM69HCW РФ приведена на рисунке
Необходимые материалы
Вот список вещей, которые вам понадобятся для связи с модулем
- Два модуля RFM69HCW (с совпадающими частотами):
- 434 МГц (WRL-12823)
- Два Arduino (я использую Arduino NANO)
- Два преобразователя логического уровня
- Две коммутационные платы (я использую индивидуальную коммутационную плату)
- Кнопка
- Четыре светодиода
- Один резистор 4,7 кОм, четыре резистора 220 Ом
- Перемычки
- Эмалированный медный провод (22AWG), для изготовления антенны.
- И, наконец, пайка (если вы еще этого не сделали)
Подключение оборудования
В этом руководстве мы используем Arduino nano, который использует логику 5 В, но модуль RFM69HCW использует логические уровни 3,3 В, как вы можете ясно видеть в приведенной выше таблице, поэтому для правильной связи между двумя устройствами преобразователь логических уровней является обязательным, на приведенной ниже диаграмме. мы показали вам, как подключить Arduino nano к модулю RFM69.
Узел отправителя диаграммы Фритцинга
Узел отправителя таблицы подключений
Штырь Arduino |
RFM69HCW Pin |
Контакты ввода / вывода |
D2 |
DIO0 |
- |
D3 |
- |
TAC_SWITCH |
D4 |
- |
LED_GREEN |
D5 |
- |
LED_RED |
D9 |
- |
LED_BLUE |
D10 |
НСС |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Узел приемника схемы Фритцинга
Узел приемника таблицы подключений
Штырь Arduino |
RFM69HCW Pin |
Контакты ввода / вывода |
D2 |
DIO0 |
- |
D9 |
- |
СВЕТОДИОД |
D10 |
НСС |
- |
D11 |
MOSI |
- |
D12 |
MISO |
- |
D13 |
SCK |
- |
Выполнение примера эскиза
В этом руководстве мы собираемся настроить два узла Arduino RFM69 и заставить их взаимодействовать друг с другом. В следующем разделе мы узнаем, как запустить и запустить модуль с помощью библиотеки RFM69, написанной Феликсом Русу из LowPowerLab.
Импорт библиотеки
Надеюсь, вы уже немного программировали на Arduino и знаете, как установить библиотеку. Если нет, проверьте раздел Импорт библиотеки.zip по этой ссылке.
Подключение узлов
Подключите USB-порт узла-отправителя к компьютеру, новый номер COM-порта должен быть добавлен в список «Инструменты / Порт» среды Arduino IDE, перетащите его вниз, теперь подключите узел приемника, другой COM-порт должен появиться в Инструменты / Список портов, также запишите его, с помощью номера порта мы загрузим скетч в узел отправителя и получателя.
Открытие двух сессий Arduino
Откройте два сеанса Arduino IDE, дважды щелкнув значок Arduino IDE после загрузки первого сеанса, обязательно открыть два сеанса Arduino, потому что именно так вы можете открыть два окна последовательного монитора Arduino и одновременно контролировать вывод двух узлов
Открытие примера кода
Теперь, когда все настроено, нам нужно открыть пример кода в обоих сеансах Arduino, чтобы сделать это, goto
Файл> Примеры> RFM6_LowPowerLab> Примеры> TxRxBlinky
и щелкните его, чтобы открыть
Изменение примера кода
- В верхней части кода найдите #define NETWORKID и измените значение на 0. С этим идентификатором все ваши узлы могут связываться друг с другом.
- Найдите #define FREQUENCY, измените это, чтобы оно соответствовало частоте платы (у меня 433_MHz).
- Найдите #define ENCRYPTKEY, это ваш 16-битный ключ шифрования.
- Найдите #define IS_RFM69HW_HCW и раскомментируйте его, если вы используете модуль RFM69_HCW.
- И, наконец, найдите #define NODEID, он должен быть установлен как ПРИЕМНИК по умолчанию.
Теперь загрузите код на свой узел приемника, который вы ранее настроили.
Пришло время изменить эскиз узла-отправителя
Теперь в макросе #define NODEID измените его на SENDER и загрузите код на свой Sender Node.
Вот и все, если вы все сделали правильно, у вас есть две полные рабочие модели, готовые к тестированию.
Работа с примером эскиза
После успешной загрузки скетча вы увидите, что красный светодиод, подключенный к контакту D4 Arduino, загорится, теперь нажмите кнопку на узле отправителя, и вы увидите, что красный светодиод погаснет, а зеленый светодиод загорится. подключенный к контакту D5 Arduino загорается, как показано на изображении ниже
Вы также можете наблюдать нажатие кнопки! текст в окне последовательного монитора, как показано ниже
Теперь обратите внимание на синий светодиод, который подключен к контакту D9 узла-отправителя, он мигнет дважды, и в окне Serial Monitor узла приема вы увидите следующее сообщение, а также синий светодиод, подключенный к контакту D9 в узел-приемник загорится. Если вы видите указанное выше сообщение в окне Serial Monitor узла-получателя, а также загорается светодиод, Поздравляем! Вы успешно установили связь модуля RFM69 с Arduino IDE. Полную работу этого руководства можно также найти в видео внизу этой страницы.
В общем, эти модули отлично подходят для строительства метеостанций, гаражных ворот, беспроводного контроллера насоса с индикатором, дронов, роботов, вашей кошки… нет предела! Надеюсь, вы поняли руководство и получили удовольствие от создания чего-то полезного. Если у вас есть какие-либо вопросы, оставьте их в разделе комментариев или используйте форумы для других технических вопросов.