Главная » Arduino » Как работает радиомодуль nRF24L01 + с Arduino. Описание, распиновка, подключение, datasheet
Наличие двух или более плат Arduino, способных общаться между собой на расстоянии по беспроводной связи, открывает много возможностей, таких как удаленный мониторинг датчиков, управление роботами, домашняя автоматизация и так далее.
И когда дело доходит до недорогих, но надежных 2-полосных радиочастотных решений, никто не справится с этой задачей лучше, чем приемопередающий модуль nRF24L01 + от Nordic Semiconductor.
Модуль приемопередатчика nRF24L01 + (plus) часто можно приобрести в онлайн магазинах менее чем за два доллара, что делает его одним из самых недорогих вариантов передачи данных, которые вы можете найти. И что самое приятное, то что эти модули малогабаритные, что позволяет использовать беспроводной интерфейс практически в любом проекте.
Приемопередающий модуль nRF24L01 + предназначен для работы по всему миру в диапазоне частот ISM 2,4 ГГц и использует для передачи данных GFSK модуляцию. Скорость передачи данных может составлять 250 Кбит/с, 1 Мбит/с и 2 Мбит/с.
Что такое диапазон ISM 2,4 ГГц?
Полоса 2,4 ГГц является одним из промышленных, научных и медицинских (ISM) диапазонов, зарезервированных на международном уровне для использования в нелицензированных маломощных устройствах. Примерами являются беспроводные телефоны, устройства Bluetooth, устройства ближней радиосвязи (NFC) и беспроводные компьютерные сети (WiFi), которые используют частоты ISM.
Рабочее напряжение модуля составляет от 1,9 до 3,6 В, но хорошая новость заключается в том, что выводы согласуются с 5 В логикой, поэтому мы можем легко подключить его к Arduino или любому 5 В логическому микроконтроллеру без использования какого-либо преобразователя логического уровня.
Модуль поддерживает программируемую выходную мощность, а именно: 0 дБм, -6 дБм, -12 дБм или -18 дБм и потребляет невероятно мало, около 12 мА во время передачи при 0 дБм, что даже ниже, чем у одного светодиода.
И что самое приятное, он потребляет 26 мкА в режиме ожидания и 900 нА в режиме отключения. Вот почему данный модуль является беспроводным устройством для приложений с низким энергопотреблением.
Модуль nRF24L01 + обменивается данными через 4-контактный последовательный интерфейс (SPI) с максимальной скоростью передачи данных 10 Мбит/с. Все параметры, такие как частотный канал (125 выбираемых каналов), выходная мощность (0 дБм, -6 дБм, -12 дБм или -18 дБм) и скорость передачи данных (250 кбит/с, 1 Мбит/с или 2 Мбит/с), можно настроить через SPI интерфейс.
Шина SPI использует концепцию Master и Slave, и в большинстве распространенных приложений: Arduino является Master, а модуль приемопередатчика nRF24L01 + — Slave. В отличие от шины I2C количество ведомых на шине SPI ограничено, на Arduino Uno можно использовать максимум два ведомых SPI, т.е. два модуля приемопередатчика nRF24L01 +.
Частотный диапазон | 2,4 ГГц ISM Band |
Скорость передачи по воздуху, max | 2 Мбит / с |
Формат модуляции | GFSK |
Максимум. Выходная мощность | 0 дБм |
Рабочее напряжение питания | 1,9–3,6 В |
Ток потребления, max | 13,5 мA |
Ток в режиме ожидания, min | 26 мкA |
Логические Входы | 5 В совместимый |
Дальность связи | 800+ м (по прямой видимости) |
Более подробную информацию по модулю можно посмотреть в datasheet.
Тестер транзисторов / ESR-метр / генератор
Многофункциональный прибор для проверки транзисторов, диодов, тиристоров. ..
Подробнее
На основе чипа nRF24L01 + доступно множество модулей. Ниже приведены самые популярные версии.
nRF24L01 + Беспроводной модульВ первой версии используется встроенная антенна. Это позволило создать более компактную версию модуля. Однако небольшая антенна также означает меньшую дальность передачи. С этой версией модуля вы сможете общаться на расстоянии до 100 метров. Конечно, это на открытом воздухе без препятствий. Дальность передачи в помещении через стены будет немного меньше.
nRF24L01 + PA LNA модуль с внешней антеннойВторая версия поставляется с разъемом SMA и внешней антенной, но это не основное отличие данной версии. Реальное отличие состоит в том, что эта версия поставляется со специальным чипом RFX2401C, который объединяет схемы коммутации PA, LNA и приема-передачи. Этот чип расширения диапазона вместе с внешней антенной помогает модулю достичь значительно большей дальности передачи — около 1000 м.
PA обозначает усилитель мощности. Он просто увеличивает мощность сигнала, передаваемого с чипа nRF24L01 +. LNA означает усилитель с низким уровнем шума. Функция LNA состоит в том, чтобы чрезвычайно слабый и неопределенный сигнал от антенны (обычно порядка микровольт или ниже -100 дБм) усилить до более приемлемого уровня (обычно около 0,5…1 В)
Малошумящий усилитель (LNA) приемного тракта и усилитель мощности (PA) тракта передачи подключаются к антенне через дуплексер, который разделяет два сигнала и предотвращает перегрузку чувствительного входа LNA относительно мощного выхода PA.
За исключением этой разницы, оба модуля являются совместимыми для использования с Arduino. Это означает, что если вы строите свой проект с одним из них, то вы можете просто отключить его и использовать другой без необходимости вносить какие-либо изменения в код.
Модуль приемопередатчика nRF24L01 передает и принимает данные на определенной частоте, называемой каналом. Кроме того, чтобы два или более приемопередающих модуля могли обмениваться данными друг с другом, они должны находиться на одном канале. Этот канал может быть любой частоты в диапазоне ISM 2,4 ГГц или, если быть более точным, он может составлять от 2,400 до 2,525 ГГц (от 2400 до 2525 МГц).
Каждый канал занимает полосу частот менее 1 МГц. Это дает нам 125 возможных каналов с интервалом 1 МГц. Таким образом, модуль может использовать 125 различных каналов, что дает возможность иметь сеть из 125 независимо работающих модулей в одном месте.
Канал занимает полосу пропускания менее 1 МГц при скорости передачи данных 250 Кбит/с и 1 Мбит/с. Однако при скорости передачи данных 2 Мбит/с полоса пропускания 2 МГц занята (шире, чем разрешение настройки частоты канала RF). Таким образом, чтобы обеспечить неперекрывающиеся каналы и уменьшить перекрестные помехи в режиме 2 Мбит/с, вам нужно сохранить дистанцию в 2 МГц между двумя каналами.
Частота выбранного вами канала устанавливается по следующей формуле:
Например, если вы выберете 108 в качестве канала для передачи данных, частота радиочастотного канала вашего канала будет 2508 МГц (2400 + 108).
NRF24L01 + предоставляет функцию под названием Multiceiver. MultiCeiver — это аббревиатура от «Multiple Transmitters Single Receiver», что переводится как «Много Передатчиков Один Приёмник».
Здесь каждый радиочастотный канал логически разделен на 6 параллельных каналов данных, называемых Data Pipes. Другими словами, канал данных является логическим каналом в физическом радиоканале. Каждый канал данных имеет свой физический адрес (адрес канала данных) и может быть настроен. Это можно проиллюстрировать следующим образом:
nRF24L01 + Multiceiver — несколько передатчиков, один приемникЧтобы упростить вышеприведенную диаграмму, представьте, что основной приемник действует как концентратор-приемник, собирающий информацию от 6 различных узлов передатчика одновременно. Приемник-концентратор может прекратить прослушивание в любое время и переключиться в режим передачи. Но это может быть сделано только для одного канала / узла за один раз.
Модуль приемопередатчика nRF24L01 использует структуру пакета, известную как Enhanced ShockBurst. Эта простая структура пакета разбита на 5 различных полей, что показано ниже:
Первоначальная структура ShockBurst состояла только из полей Preamble, Address, Payload и Cyclic Redundancy Check (CRC). Усовершенствованный ShockBurst обеспечил более широкие функциональные возможности для более совершенной связи с использованием недавно представленного поля управления пакетами (PCF).
Эта новая структура хороша по ряду причин. Во-первых, она допускает полезную нагрузку переменной длины с спецификатором длины полезной нагрузки, то есть размер полезной нагрузки может варьироваться от 1 до 32 байтов.
Во-вторых, она предоставляет каждому отправленному пакету идентификатор пакета, который позволяет принимающему устройству определять, является ли сообщение новым или было ли оно повторно передано (и, таким образом, может быть проигнорировано).
Наконец, самое главное, каждое сообщение может запросить подтверждение, когда оно получено другим устройством.
Теперь давайте обсудим три сценария, чтобы лучше понять, как два модуля nRF24L01 + взаимодействуют друг с другом.
Транзакция с подтверждением и прерываниемЭто пример положительного сценария. Здесь передатчик начинает связь, отправляя пакет данных получателю. Как только весь пакет передан, он ожидает (около 130 мкс) подтверждения приема пакета (ACK).
Когда приемник получает пакет, он отправляет пакет ACK передатчику. При получении пакета ACK передатчик выдает сигнал прерывания (IRQ), чтобы указать, что готовы новые данные.
Транзакция с потерянным пакетом данныхЭто негативный сценарий, когда необходима повторная передача из-за потери переданного пакета. После того, как пакет передан, передатчик ожидает получения пакета ACK.
Если передатчик не получает его в течение времени автоматической повторной передачи (ARD: Auto-Retransmit-Delay), пакет передается повторно. Когда повторно переданный пакет принят приемником, передается пакет ACK, который, в свою очередь, генерирует прерывание в передатчике.
Транзакция с потерянным подтверждениемЭто опять-таки негативный сценарий, когда требуется повторная передача из-за потери пакета ACK. Здесь, даже если приемник получает пакет с первого раза, то из-за потери пакета ACK, передатчик считает, что приемник вообще не получил пакет.
Таким образом, после того, как время ARD истекло, он повторно передает пакет. Теперь, когда приемник получает пакет, содержащий тот же идентификатор пакета, что и предыдущий, он отбрасывает его и снова отправляет ACK-пакет.
Вся эта обработка пакетов выполняется автоматически чипом nRF24L01 + без участия микроконтроллера.
Давайте посмотрим на распиновку обеих версий радиомодуля nRF24L01 +.
В следующей статье рассмотрим вопрос подключения модуля nRF24L01 + к Arduino.
Блок питания 0…30В/3A
Набор для сборки регулируемого блока питания…
Подробнее
Радиомодуль RKP-NRF24L01-Mini для Arduino – это миниатюрный модуль приемопередатчика на частоте 2.4 ГГц.
Модуль имеет размер всего 18 x 12 мм и может быть использован для поверхностного SMD монтажа. В остальном же, обладает такими же характеристиками как и другие модули на одноименной микросхеме от Nordic Semiconductor — NRF24L01.
Характеристики:
Напряжение: 1.9 — 3.6 В (рекомендуется 3.3 В)
Несущая частота: 2.4 ГГц
Расстояние передачи/приема: до 100 м на открытом пространстве, до 30 м в помещении
Скорость передачи/приема: <2 Мбит/c (250 кбит/сек, 1 Мбит/с и 2 Мбит/с)
Модуляция: GFSK
Поддержка функции мульи-приемника (прием данных одновременно от 6 передатчиков)
Пиковое потребление при передаче 2 Мбит/с: 12. 5 мА
Потребление в состоянии покоя: 400 мкА
Потребление в ждущем режиме: 32 мкА
Интерфейс: SPI
Размер: 18 x 12 мм
Количество каналов: 126
Связь происходит в диапазоне частот 2,4–2,4835 ГГц. Частота, на которой будут работать модули, определяется номером канала. Они имеют шаг 1 МГц. Каналу 0 соответствует частота 2,4 ГГц, каналу 76 частота 2,476 Ггц.
Обозначение выводов RKP-NRF24L01+
+3.3V – питание 3,3 В
GND – общий провод
CE – включение радиотракта микросхемы высоким уровнем
CSN – Chip Select Not активный низкий уровень. Если установлен низкий уровень, то модуль отвечает на SPI команды. Это более важный сигнал выбора МС чем сигнал CE
SCK – тактирование шины SPI, до 10 МГц
MOSI – используется для передачи данных от микроконтроллера к устройству
MISO – для передачи данных из устройства в микроконтроллер
IRQ – выход сигнала для запроса прерывания при отправке и получении пакета
Для правильной работы модуля рекомендуется использовать стабилизированное напряжение 3. 3 В.
Радиомодуль nRF24L01 подключается к Ардуино при помощи SPI интерфейса. Существует несколько библиотек Arduino для работы с радиомодулями nRF24L01. От выбранной библиотеки может зависеть способ подключения модуля к Ардуино. Наиболее популярные библиотеки — RF24 и Mirf.
Распиновка модуля30 апреля 2021 — 0 комментариев
Номер контакта | Название контакта | Сокращение | Функция |
1 | Земля | Земля | Подключен к земле системы |
2 | Вкк | Мощность | Питание модуля от 3,3 В |
3 | СЕ | Включение чипа | Используется для включения связи SPI |
4 | ЧСН | Выбор корабля Не | Этот вывод всегда должен быть высоким, иначе он отключит SPI |
5 | СКК | Серийные часы | Предоставляет тактовый импульс, с помощью которого работает связь SPI |
6 | МОСИ | Master Out Slave In | Подключен к выводу MOSI MCU, чтобы модуль мог получать данные от MCU |
7 | МИСО | Мастер в ведомом выходе | Подключен к выводу MISO MCU, чтобы модуль отправлял данные с MCU |
8 | IRQ | Прерывание | Это активный низкий контакт и используется только в том случае, если требуется прерывание |
nRF24L01 Особенности
Примечание. Полные технические сведения можно найти в техническом описании NRF24L01 , приведенном в конце этой страницы.
Other RF modules
HC12, 433MhZ RF Module, nRF905
Other Wireless Options
Bluetooth, Lora, ESP8266, GSM, Xbee
Brief Description on NRF24L01 RF Module
nRF24L01 — это модуль беспроводного приемопередатчика , что означает, что каждый модуль может как отправлять, так и получать данные. Они работают на частоте 2,4 ГГц, которая попадает в диапазон ISM, и поэтому их использование разрешено почти во всех странах для инженерных приложений. Модули при эффективной работе могут покрывать расстояние до 100 метров (200 футов), что делает их отличным выбором для всех проектов с беспроводным дистанционным управлением.
Модуль работает при напряжении 3,3 В, поэтому его можно легко использовать с системами 3,2 В или 5 В. Каждый модуль имеет диапазон адресов 125, и каждый модуль может обмениваться данными с 6 другими модулями, поэтому возможно иметь несколько беспроводных устройств, связывающихся друг с другом в определенной области. Следовательно, с помощью этого модуля возможны ячеистые сети или другие типы сетей. Так что если вы ищете беспроводной модуль с вышеперечисленными свойствами, то этот модуль станет для вас идеальным выбором.
Как использовать модуль NRF24L01
Модуль NRF24L01 работает с помощью связи SPI . Эти модули можно использовать либо с микроконтроллером 3,3 В, либо с микроконтроллером 5 В, но он должен иметь порт SPI. Полная информация о том, как использовать модуль через SPI, приведена в таблице данных ниже. На принципиальной схеме показано, как модуль должен быть связан с микроконтроллером.
Здесь я показал, как для микроконтроллера 3,3 В, но то же самое применимо и для микроконтроллера 5 В. Контакты SPI (MISO Если вы подключаете модуль к Arduino, то доступны готовые библиотеки, такие как библиотека R24. С помощью этих библиотек вы можете легко связать n RF24L01 с Arduino с помощью нескольких строк кода. Если вы используете какой-либо другой микроконтроллер, вам необходимо прочитать техническое описание, чтобы понять, как установить связь SPI. Модуль nRF24L01 немного сложен в использовании, тем более что на рынке существует множество клонированных версий. Если у вас возникли проблемы с его работой, попробуйте добавить конденсатор 10 мкФ и 0,1 мкФ параллельно контактам Vcc и Ground. Также убедитесь, что питание 3,3 В чистое и в нем нет помех. РЧ Беспроводной РЧ модуль NRF24L01 — это однокристальный радиопередатчик , использующий во всем мире диапазон 2,4–2,5 ГГц ISM. Приемопередатчик означает, что один и тот же модуль может использоваться как передатчик или приемник. Энергопотребление модуля очень низкое, всего 9,0 мА при выходной мощности -6 дБм и 12,3 мА в режиме RX, что даже меньше, чем у светодиода. Его максимальная дальность действия составляет до 100 метров при использовании на открытом пространстве с антенной. Распиновка и технические характеристики NRF24L01 приведены ниже. ПРИМЕЧАНИЕ. Не подключайте контакт VCC напрямую к контакту 5V Arduino. Используйте регулятор на 3,3 В. Модуль приемопередатчика состоит из полностью интегрированного синтезатора частоты, кварцевого генератора, усилителя, демодулятора, модулятора и механизма протокола Enhanced ShockBurst. Модуль приемопередатчика nRF24L01 отправляет и принимает данные на определенной частоте, называемой Канал . При подключении двух или более модулей приемопередатчика для связи друг с другом они должны находиться на одном и том же канале. Частота этого канала находится в диапазоне ISM 2,4 ГГц или в диапазоне от 2,400 до 2,525 ГГц (от 2400 до 2525 МГц). Каждый канал занимает полосу пропускания менее 1 МГц. Это дает нам ровно 125 возможных каналов с интервалом в 1 МГц, то есть (2525 – 2400)/1 = 125 каналов. Поскольку рабочее напряжение модуля находится в диапазоне от 1,9 до 3,6 В, вы можете напрямую подключить контакт VCC к 3,3 В. Но другие контакты модуля устойчивы к напряжению 5 В и могут быть подключены к контактам Arduino напрямую. MOSI, MISO и SCK являются контактами SPI (последовательный периферийный интерфейс) и должны быть подключены только к контактам SPI Arduino. Разные платы Arduino имеют разные контакты SPI. Ниже приведены контакты SPI некоторых популярных плат Arduino: CSN и CE могут быть подключены к любому цифровому выводу Arduino. Метки
Распиновка nRF24L01, функции, характеристики, работа и подключение к Arduino
Номер контакта Название контакта Характеристики контактов 1 ВКЦ Этот контакт используется для подачи питания на модуль. Напряжение может варьироваться от 1,9 до 3,9 вольт. Итак, мы можем подключить его напрямую к выходу 3,3 В нашего Arduino. 2 CSN (чип не выбран) Это активный НИЗКИЙ контакт, который обычно поддерживается ВЫСОКИМ. Нам нужно держать этот контакт высоким, за исключением случаев, когда мы отправляем устройству команду SPI или получаем данные по шине SPI от микроконтроллера. 3 MOSI (ведущий выход подчиненный вход) Это вход SPI для nRF24L01. Используется для приема данных от микроконтроллера 4 IRQ Это вывод прерывания, который предупреждает мастер, когда для обработки доступны новые данные. 5 MISO (ведущий в подчиненном выходе) Это выход SPI от nRF24L01. Используется для отправки данных на микроконтроллер . 6 SCK (последовательные часы) Он принимает тактовые импульсы, предоставляемые мастером шины SPI. 7 CE (включение чипа) Это контакт включения модуля, который используется для выбора режима nRF24L01, который либо передает, либо принимает, в зависимости от того, в каком режиме он находится в данный момент. 8 Земля Это заземляющий контакт. Обычно его маркируют, заключая штифт в квадрат, чтобы его можно было использовать для идентификации других штифтов. Диапазон частот 2,4 ГГц ISM-диапазон Максимальная скорость передачи данных по воздуху 2 Мбит/с Формат модуляции ГФСК Макс. Выходная мощность 0 дБм Рабочее напряжение питания от 1,9 В до 3,6 В Макс. Рабочий ток 13,5 мА Мин. Текущий (режим ожидания) 26 мкА Логические входы Устойчивость к 5 В Диапазон связи 800+ м (прямая видимость)