Бюджетная радиосвязь для микроконтроллеров AVR

В базовой версии без усилителя и с антенной выполненной на печатной плате. На момент написания статьи пару таких модулей на ebay можно было купить по $3.23

Есть еще версия подороже с усилителем и мощностью в 10dBm и заявленной дальностью в 260 метров.

Но сие чудо дороже и одна шт. уже стоит $13.89
Я остановился на первом варианте. И так что же у него внутри пройдемся бегло по характеристикам.
Тарансивер выполнен в виде единого чипа.
Режим передачи ShockBurst™ (ефективный быстрый режим передачи данных).
Aвтоматический ACK (подтверждение получения пакета) и настройки повторной передачи пакета если до кого то в сети не дошло.
Автоматический контроль CRC.
RF передача по 125 возможным каналам.
Интерфейс (SPI) со скоростью 0-8 Mbps.
Быстрое переключение возможен режим frequency hopping
5V tolerant входы.
Режимы Standby Modes и Power Down Mode.
Вывод прерывания по событиям (можно настраивать в спец. регистре)
Ну и табличка из даташита на случай если что пропустил

Еще в процессе копания в инфе на чип была мной была обнаружена интересная фишка
Приемник чипа NRF24L01 одновременно может принимать данные по шести каналам. То есть принимать данные от шести разных передатчиков.

Весь фокус в шести каналах которые несут свой уникальный 40 битный адрес, тоесть находясь в одном частотном канале приемник принимает пакеты автоматически распознает адрес и складывает данные в буфер адресуемого канала. У каждого канал есть свои настройки размера буфера, наличия подтверждения ACK итд… В общем я еще сам не все постиг.
Ладно вернемся к Atmega8. Разработку Устройства начал с обзора существующих решений. И нашел проект заграничного колеги Davide Gironi
вобщем его проект соответствовал моим задумкам. Поэтому я взял за основу его схему и код за что ему спасибо и уважуха. Слегка модифицировав схему вышло следующее.
Схема.

Плата.

Ну и готовый девайс.


Ну и принцип работы на видео. Когда есть связь мигают желтые светодиоды при нажати кнопки на передатчике зажигаются зеленые.
Проверял на дальность получились следующие результаты. В помещении офиса связь держится через три стены пеноблоков, в жилом доме из красного кирпича пробивается одна несущая кирпичная стена и связь есть на 2 метра от нее. На открытом воздухе когда передатчик размещен вплотную к окну на четвертом этаже, связь есть в прямой видимости на 85 метрах через перекресток с троллейбусными проводами и фонарями уличного освещения.
Вообщем радиомодуль мне понравился, заказал себе еще два буду сеть из датчиков температуры собирать.
Полезные ссылки:
Davide Gironi nRF24L01 atmega library and development board
Everything You Need to Know about the nRF24L01
AVRLib/nRF24L01
Архив с кодом, проект в Eagle можно скачать на официальной странице проекта
- +15
- 26 ноября 2012, 13:31
- Dexterkhm
Спасибо за эту сумму нордиков аж два получается с доставкой из китая $3.23 = 25,84грн а космодром покупку меньше 100грн не шлет, а там еще 30грн за курьера по городу Харькову и 15грн «Новая Почта» ко мне в город. А так $3.23 и через три недели конверт в почтовом ящике забрать.
да не в том дело. просто не все так уже ужасно и безпросветно, как обрисовано в Вашей статье. альтернативы есть.
А кто говорит что беспросветно. Просто покупки у Китайцев меня больше радуют Просто выбираешь то что надо и получаешь через месяц, а не копишь список деталей целый месяц чтоб превысить лимит в 100грн, а потом еще кормишь всех кто просто косвенно причастен к доставке. Китайцам не приходится названивать и напоминать чтоб дали номер декларации. У Китайцев никогда не было такого: что сначала у них есть все детали из списка, а потом приходит посылка а в ней пакетик с денюжками за детали которых не оказалось при упаковке заказа. Просто так я берегу свои нервы.
в этом я Вас очень понимаю. буквально на днях забирал посылку от РКС-компоненты: вскрываю и вижу, что вместо 3 метров шлейфа всего 1. после того, как спросил что это, они конечно побожились, что отправят при следующем заказе или могут выслать недостающие 2 метра, но зачем оно мне надо, оплачивать опять доставку из-за копеечной покупки… сказал, что при следующем заказе согласен получить недостающий кусок. но это еще хорошо, что оно мне не одним куском надо было…
Простите за оффтоп, а как на ебее узнать что в цену товара включена доставка? А то я как-то на алибабе искал микросхему, нашел, но за доставку с меня запросили отдельно.
У меня с ebay пока слава богу все приходило. Мне даже пару раз с почты звонили типа «Пришла посылка из Китая заберите пожалуйста» у нас тут в глуши редко посылки из за бугра на почте появляются то они стремаются за них и названивают хотя в стране бывает и такое cit.ua/article/19486/. А про датчики температуры, так там проблем нет примеров много, правда у ATmega8 уже пол флеша занято нордиком, но на lm35 аналоговом можно замутить.
А какая выходит задержка передачи? На видео это какие то особенности программной реализации моргания или задержка очень сильная?
Можете глянуть мой код там пока все с очень грубо с delay_ms потому что пока все делалось для светодиодов. Без них все пойдет значительно быстрей
А не измеряли задержку сигнала между модулями? Насколько быстро можно дернуть ногой на приемнике?
Мне надо определиться на чем сделать радиоканал с минимальной задержкой, NRF24L01, Zigbee или Bluetooth… По параметрам в общем понятно, что NRF24L до 2 МБит, но интереснее было бы в цифрах на практическом примере.
Мне надо определиться на чем сделать радиоканал с минимальной задержкой, NRF24L01, Zigbee или Bluetooth… По параметрам в общем понятно, что NRF24L до 2 МБит, но интереснее было бы в цифрах на практическом примере.
У этой штуки по ходу скорость до 1-2 Мбит/с (заявленная)… А что-то кроме датчиков/мышей/игрушек ею обслуживать можно? Звук в потоке передавать, например… (USB->uC->nRF >>> nRF->uC->I2S)???
Есть, правда, для этих целей «большой брат» в образе nRF24Z1, правда, с доставабельностью у него проблема, да и ценник уж больно кусучий «для поиграться»… :(
Есть, правда, для этих целей «большой брат» в образе nRF24Z1, правда, с доставабельностью у него проблема, да и ценник уж больно кусучий «для поиграться»… :(
- SINtheTHICK
- 26 ноября 2012, 23:57
- ↓
Для передачи звука на 2.4ггц можно использовать CC8520… 170 рубликов стоит.
- tzirulnicov
- 27 ноября 2012, 00:14
- ↑
- ↓
В «этойстране» — не купить… Здесь EBAYнуться проще, чем из братской республики привезти, но и там такого тоже нет, а сабжа — хоть обзакупись!!! Как-то так… :(
- SINtheTHICK
- 27 ноября 2012, 00:55
- ↑
- ↓
Про аналогичную микру от нордика, но для звука, тут уже писали we.easyelectronics.ru/kalobyte-ya/bezprovodnye-dinamiki-mikrofony-pochti-darom.html
Несколькими постами выше и я ее упоминал, но в Беларусь такое либо не везут, либо доставка+растаможка обходится в разы дороже самого товара… А этот на ЕБЭЯх — от 3-х баксов за пару готовых модулей! Т.е. на десятку взять пяток, а там уже городить, чего душа изволит! Вопрос был как раз о «применимости к неприменимому»…: Р
- SINtheTHICK
- 27 ноября 2012, 15:20
- ↑
- ↓
Большое спасибо автору за статью. Уже давно прикупил себе парочку таких модулей, только вот что то сделать никак руки не доходят.
А хотелось бы на таких модулях сделать радиоуправляемый катер, так китайцы такие шикарные вещи предлагают только цена кусачая, что уже сомневаюсь.
Хочу поделится с сообществом парочкой ссылок.
Вот тут подключение радио модуля nRF24L01 к Atmega8.
А здесь связка NRF24L01 и DS18B20.
Программы написаны на Basic.
И уж простите меня за рекламу, эти модули покупал тут.
А так же:
Программатор USBASP для AVR
LCD индикатор 16x2 с подсветкой
Вольтметр
Я к чему это пишу, китайцы рубят радиолюбительство на корню. Хотел я сделать себе вольтметр в БП на Atmega8 а тут на тебе за 2 бакса готовое устройство и так практически во всем.
Сам я из республики Беларусь. И далеко не каждый продавец с ebay или Aliexpress хочет слать товар в мою страну. А этот магазин свободен от предрассудков. А еще у него постоянные скидки и купоны, да в сети информации море, нужно только поискать.
Прошу сообщество меня сильно не пинать но я хочу подсказать как получить скидку в 5% при первом заказе. При регистрации в поле Recommender: указать мой логин pc_boy.
А хотелось бы на таких модулях сделать радиоуправляемый катер, так китайцы такие шикарные вещи предлагают только цена кусачая, что уже сомневаюсь.
Хочу поделится с сообществом парочкой ссылок.
Вот тут подключение радио модуля nRF24L01 к Atmega8.
А здесь связка NRF24L01 и DS18B20.
Программы написаны на Basic.
И уж простите меня за рекламу, эти модули покупал тут.
А так же:
Программатор USBASP для AVR
LCD индикатор 16x2 с подсветкой
Вольтметр
Я к чему это пишу, китайцы рубят радиолюбительство на корню. Хотел я сделать себе вольтметр в БП на Atmega8 а тут на тебе за 2 бакса готовое устройство и так практически во всем.
Сам я из республики Беларусь. И далеко не каждый продавец с ebay или Aliexpress хочет слать товар в мою страну. А этот магазин свободен от предрассудков. А еще у него постоянные скидки и купоны, да в сети информации море, нужно только поискать.
Прошу сообщество меня сильно не пинать но я хочу подсказать как получить скидку в 5% при первом заказе. При регистрации в поле Recommender: указать мой логин pc_boy.
Когда же уже появятся модули на их же чипе nRF24L01+… И, особенно, его ANT+ — разновидности. а то этот L01 безнадёжно устарел, не поддерживается, etc.
А мне вот нужны модули с ANT+ (на nRF24AP2-1CH и nRF24AP2-8CH) — и их нет вообще.
А мне вот нужны модули с ANT+ (на nRF24AP2-1CH и nRF24AP2-8CH) — и их нет вообще.
Ещё один тупой вопрос-как модули определяют, кто мастер, а кто слейв? Или они однополые. И просто нужно сообщать режим-прием или передача? Пока что разбираюсь с кодом отсюда www.tinkerer.eu/AVRLib/nRF24L01 для моего понимания он проще, т.к. содержит меньше наворотов.
Я тоже их прикупил. Играюсь. Результаты хреновые, заинтерфейсить их пока не получается. Ситуации следующие:
1) один или оба модуля не пингуются. (не вычитывается STATUS)
2) Модули пингуются, но не видят друг друга(передатчику не возвращаются ACK'и, приемник не поднимает флаг Data_Ready)
3) Передатчик передаёт в никуда, а приёмник принимает из ниоткуда (Передатчик получает ACK при отключенном приемнике, а приемник поднимает флаг DATA_READY при отключенном передатчике).
Чередование этих ситуаций абсолютно бессистемно, по собственному желанию модулей. Проверялось и рядом с роутером, и при отключенном роутере в другой комнате. ЧЯДНТ?
1) один или оба модуля не пингуются. (не вычитывается STATUS)
2) Модули пингуются, но не видят друг друга(передатчику не возвращаются ACK'и, приемник не поднимает флаг Data_Ready)
3) Передатчик передаёт в никуда, а приёмник принимает из ниоткуда (Передатчик получает ACK при отключенном приемнике, а приемник поднимает флаг DATA_READY при отключенном передатчике).
Чередование этих ситуаций абсолютно бессистемно, по собственному желанию модулей. Проверялось и рядом с роутером, и при отключенном роутере в другой комнате. ЧЯДНТ?
Комментарии (58)
RSS свернуть / развернуть