Главная » Радиоуправление
Призовой фонд
на ноябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Тестер компонентов LCR-T4
Паяльник
4. 200 руб.
От пользователей

Похожие статьи:


Простое радиоуправление на NRF24L01+PA+LNA. Приемник

Если в прошлой статье был рассмотрен передатчик системы радиоуправления, то удел этой - приемник. В отличии от предыдущей конструкции (ссылка), он базируется на более дешевом микроконтроллере ATmega48 (aliexpress ~ 40р.).К приемнику можно подключить два стандартных сервопривода (выходы для управления серво имеют стандартный сигнал - импульсы выдаются с периодом 20мс, а их длительность составляет 1-2мс), либо сервопривод + регулятор хода и т.д. В моем случае, действует связка регулятор хода + сервопривод SG90 - дешевый но в тоже время вполне надежный механизм. Так же, в данной конструкции приемника, дискретные каналы имеют нагрузочную способность до 100мА. Это достигается путем использования транзисторных ключей (в прошлом варианте транзисторные ключи предполагалось монтировать вне основной платы), что повело за собой увеличение размеров печатной платы.

Принципиальная схема:

Принципиальная схема приёмника

Для питания микроконтроллера, рулевых машинок и нагрузки дискретных каналов применяется линейный стабилизатор 7805. Включенный последовательно с ним LM1117-3.3 питает радио модуль, ток потребления которого может достигать 100 мА в режиме передачи. Для управления нагрузкой дискретных каналов применяются биполярные n-p-n транзисторы Q1 - Q5. Нагрузочная способность этих ключей позволяет подключать нагрузку до 100 мА (заявлено в даташите на транзисторы), Так же на принципиальной схеме присутствует кварцевый резонатор с обвесом, но реально он в данный момент не используется. Место под него на плате оставлено как задел на будущее, и его можно не распаивать.

Печатная плата приемника выполнена на одностороннем фольгированном материале (текстолит, гетинакс). Но в силу сложности разводки, пришлось использовать некоторое количество перемычек. В процессе изготовления печатной платы был использован метод ЛУТ (в качестве носителя - глянцевая журнальная бумага), с последующим докрашиванием маркером и корректировкой иглой. Отверстия на плате рассчитаны на сверло диаметром <= 1мм . Большим сверлом будут срезаться контактные площадки.

Топология печатной платы:

Топология печатной платы приёмника

Внешний вид.

Модель:

Готовое изделие:

Модуль NRF24L01 подключается к точкам на плате. Они подписаны, и остается только соединить их с соответствующими выводами на модуле. Так же, в данном случае модуль находится за пределами печатной платы, а значит необходимо на его ножки, куда подводится питание, припаять конденсатор емкостью 47мкФ и 0.1мкФ. Второй - неполярный. Это делается для предотвращения самопроизвольного сброса и зависания модуля из-за просадок напряжения и помех по питанию во время активной работы.

Программа для микроконтроллера сложностью не отличается. Фактически, все вычисления производит микроконтроллер в передатчике. Приемник же просто отправляет "голые" данные (в данном случае - информацию с АЦП). Но, несмотря на это, в приемнике есть что настроить.

Первое - это канал, на котором данный экземпляр приемника будет работать. По-умолчанию, установлен первый канал. Но, если вам требуется запускать несколько моделей одновременно в одном месте, то требуется задать различные каналы как приемнику, так и передатчику.

#define CHANNEL 1

Второе - установка начального положения сервопривода. Так как сервопривод (рулевая машинка и т.д.) может быть установлен в различных механизмах, то и начальное положение может быть различным. Для изменения этого параметра требуется вписать свое число на место START_POSx. По-умолчанию это 1500.

#define START_POS0 1500
#define START_POS1 1500

Управление сервоприводами выполнено на таймере T1, так как он имеет для этого все необходимые регистры. Используя режим PWM, phase and frequency correct, получаем ШИМ, период и длительность импульсов можно корректировать с помощью регистров ICR1 и OCR1A, OCR1B.

Рассмотрим на примере одного из каналов:

ICR1 = 312;

...

unsigned long int a;
	
a = ICR1;
a = a * (980 + rx_data[0] * 4);
a = a / 20000;
OCR1A = a;

312 - это период следования импульсов. Зависит от предделителя таймера и желаемого периода: 8000000/256/312 = 0.01 сек (0.02 сек делим 2) , так как у нас режим phase correct. Далее, присваиваем переменной a это значение, с последующим умножением на желаемую длительность, с миллисекундах (rx_data[x] - байтовый массив, максимальное значение элемента массива - 255; для получения значений в пределах 1000 - 2000 нужно умножить rx_data[x] на 4 (получим 1020), и потом добавить еще 980 (получим 2000). Потом все это дело делим на 20000 (период, в миллисекундах), и получаем необходимое значение OCR1x.

Как уже упоминалось выше, на передатчик отсылается только значение АЦП. Двухбайтная переменная, содержащая результат измерения 10-битного АЦП разбивается байты и отсылается посредством массива data_tx[x]. Более ни для чего этот массив не используется.

Кроме этого, в приемнике имеется возможность включить инверсию отдельных или всех дискретных каналов. Для этого необходимо изменить элементы данного массива:

const unsigned char type_out[5] = {NINV, NINV, NINV, NINV, NINV};

Если вам не требуется инверсия на канале, элемент должен быть "NINV", в противном случае пропишите "INV".

Программа писалась в среде AtmelStudio 7.

Для прошивки микроконтроллера использовался программатор USBasp и программа Khazama AVR Programmer. Биты настройки микроконтроллера можно оставить заводские, но необходимо выбрать тактовый генератор - Int. RC 8MHz и отключить деление тактовой частоты на 8.

Возможная замена деталей. В устройстве можно применить транзисторы BC239, BC547, КТ203, КТ3102 и другие, структуры n-p-n и током не менее 100мА. Резисторы R1 и R2 желательно брать высокоточные, но если таковых нет, подойдут и 5%. Остальные резисторы можно брать с сопротивлением +/- 10-20%. Только резистор R9 не стоит брать меньшего номинала, так как это чревато выходом из строя светодиода. Стабилизатор LM1117-3.3 можно заменить на любой аналогичный, с напряжением стабилизации 3.3В и корпусом SOT-223. LM7805 так же можно заменить на аналогичный, с напряжением стабилизации 5 вольт и током не менее 1А. К слову, при использовании мощных нагрузок (100 мА) на дискретных каналах, установите стабилизатор 7805 на теплоотвод. В противном случае это может закончиться плачевно для всего устройства в целом.

Микроконтроллер, к сожалению, заменить нельзя.

Перед запуском убедитесь, что нет коротких замыканий между дорожками. Это очень частая проблема на платах, изготовленных методом ЛУТ и имеющих много близко расположенных дорожек.

Фотографии устройства и видео работы:

Звездочка перед надписью LOAD обозначает сигнальный провод. Соответственно, подключать сервомашинку или регулятор хода нужно тка: (*) -> SIGNAL - VCC - GND (оранжевый - красный - коричневый).

Спасибо за внимание!

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
U1 МК AVR 8-бит
ATmega48
1 TQFP-32Поиск в LCSCВ блокнот
U2 Линейный регулятор
AMS1117-3.3
1 SOT-223Поиск в LCSCВ блокнот
U3 Линейный регулятор
LM7805
1 TO-220Поиск в LCSCВ блокнот
Радио модульNRF24L01+PA+LNA1 Поиск в LCSCВ блокнот
Q1 - Q5 Биполярный транзистор
BC547
5 TO-92Поиск в LCSCВ блокнот
D1 СветодиодЗеленый, 5мм1 Поиск в LCSCВ блокнот
X1 Кварцевый резонатор16MHz1 Не обязательноПоиск в LCSCВ блокнот
R1 - R3 Резистор
10 кОм
3 МЛТ-0,25Поиск в LCSCВ блокнот
R4 - R8 Резистор4,7 кОм5 0805Поиск в LCSCВ блокнот
R9 Резистор
220 Ом
1 Зависит от типа диодаПоиск в LCSCВ блокнот
Конденсатор47 мкФ х 6.3В1 Монтируется на радио модульПоиск в LCSCВ блокнот
Конденсатор0.1 мкФ1 Монтируется на радио модульПоиск в LCSCВ блокнот
C1 - C5 Конденсатор0.1 мкФ5 0805Поиск в LCSCВ блокнот
C6, C7 Конденсатор22 пФ2 Не обязательноПоиск в LCSCВ блокнот
L1 Катушка индуктивности10 мкГн1 Поиск в LCSCВ блокнот
JP1 Перемычка1 Поиск в LCSCВ блокнот
РазъемPLS-401 Все разъемы на платеПоиск в LCSCВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 1
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 5 Проголосовало: 1 чел.

Комментарии (1) | Я собрал (0) | Подписаться

0
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическая мощность?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Набор 4WD Kit Bluetooth
Набор 4WD Kit Bluetooth
Набор для сборки - УНЧ 2х60 Вт на TDA7294 Мультиметр Mastech MS8268
вверх