Пятница, 26.04.2024, 00:10
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Реклама Google
Форма входа
Категории раздела
Это нужно знать! [17]
Изучаем AVR [30]
Программаторы [12]
Необходимое ПО [8]
Готовые устройства [73]
Справочная [38]
Инструмент [0]
Технология [8]
Литература [0]
Arduino скетчи [18]
Поиск
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Микроконтроллеры - это просто!
Главная » Статьи » Готовые устройства

Радиомодули NRF24L01


 Давно уже обзавелся я этими модулями, да все никак руки до них не доходили попробовать. В общих чертах, это радиомодули, работающие на частоте 2.4 ГГц с подключением к микроконтроллеру по SPI-интерфейсу. Для работы требуется напряжение в диапазоне от 1,8 до 3,6 вольт, входы/выходы толерантны к 5 вольтам, поэтому при подключении к пяти вольтовым устройствам дополнительные согласующие цепи ставить нет необходимости.


 Для подключения радиомодуля выведена гребенка контактов, распиновка приведена ниже:



 Так как на плате модуля предусмотрен разъем для подключения, для удобства собрал небольшую платку.  На этой отладочной плате стоит микроконтроллер Atmega8A с обвязкой из внешнего кварца, кнопки сброса и пары светодиодов, ответный разъем под модуль и разъем для подключения программатора. 



 Схема всего этого дела выглядит следующим образом:



 Для подключения радиомодуля использованы ножки аппаратного SPI микроконтроллера, поэтому разъемы подключения модуля и подключения программатор дублируют друг друга.  Это сделано, чтобы удобней было прошивать микроконтроллер на отладночной платке, например, если использовать программатор который подает на схему 5 вольт, а для NRF24L01 это слишком большое напряжение. Чтобы перепрошить управляющий микроконтроллер, достаточно выдернуть трансивер с платы, перепрошить и всунуть его обратно - без лишней возни с перепайкой.


 Код для работы с модулем целиком взят с примера AN #151 на официальном сайте mcselec.com  Я только разделил программную часть приемника от программной части передатчика.


 Код приемника залил в микроконтроллер на тестовой платке. Плату подключил к компьютеру через переходник USB-UART на FT232RL, а питание (3,3 вольта) у меня подается через программатор USBasp



 Горит зеленый светодиод (D1) - приемник готов к работе. При приеме данных загорается красный светодиод (D2)



 Вторую схему - для передатчика - собрал на макетке по той же схеме. Разъем на трансивере оказался не подходящим для того чтобы вставлять плату в макетку и поэтому соединил все проводами. 



 Скорость для соединения приемника с терминалом выставляется 19200 бод. При старте приемник напечатает "RX_device" а дальше - то, что получит с передатчика. В примере передаются постоянные данные "AA+BB+CC+11+#посылки"
 На скрине ниже видно, что номера посылки прыгают, это из-за того что я включал/выключал передатчик пока бродил по двору (максимальное удаление метров 30-40). А видимо проверка CRC в приемнике не пропускала некоторые посылки от передатчика из-за ошибок передачи. 
 


 На мое удивление, когда искал примеры использования этих трансиверов с Bascom-AVR, ничего кроме вышеозвученного апнота #151 не находилось. Хотя в среде ардуинщиков эти трансиверы весьма распространены и под них написано уже куча кода и библиотек. Надо исправлять ситуацию :) Особенно радует цена на них - мне мои достались по 5$ за пару http://www.ebay.com/). 


 Сначала у меня возникли проблемы с зависанием модуля при передаче данных, но спасибо товарищу Valera18 который протестировал эти модули и указал на существующие ошибки в коде. Теперь работает как надо!


Ниже доступны для скачивания материалы статьи:


 

Оптимизированный код от пользователя Valera18

В коде удаленны не используемые (действия и регистры).
Данная прошивка передаёт данные "AA+BB+CC+11+№посылки".

Внимание!!! прошивка только для "ПЕРЕДАТЧИКА" Attiny2313, специально оптимизирована, занимает 37% в памяти.


Внимание!!! прошивка только для "ПЕРЕДАТЧИКА" Atmega8, специально оптимизирована, занимает 9% в памяти.


Внимание!!! прошивка только для "ПРИЁМНИКА" Atmega8, специально оптимизирована, занимает 11% в памяти.


Теперь для проектов свободного места в памяти "много".
Категория: Готовые устройства | Добавил: Alex (13.01.2014)
Просмотров: 4735 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024