Радиоуправление моделями схема. Ворота на радиоуправлении своими руками Пропорциональное управление моделями своими руками

Радиоуправление своими руками на 12 команд

Схема позволяет управлять моделями или другими устройствами и нагрузками на расстоянии .Допускается нажатие одновременно до 8 кнопок. Схема проста в изготовлении,и требует после сборки только прошивки контроллеров.Индикаторы исполнения команд – светодиоды. Разумеется, к соответствующим выводам процессора можно подключить например затворы мощных полевых или базы биполярных транзисторов через токоограничивающие резисторы.

Схема передатчика:



Приемник


Сверхрегенератор: При номиналах указанных на схеме и исправных деталях обладает 100% повторяемостью.


Его настройка заключается лишь в раздвигании витков контурной катушки и подборе емкости связи с антенной.3 й вывод контроллера дешифратора служит для контроля прохождения сигнала при настройке (программно подключенный выход внутреннего компаратора).Контролировать можно с помощью обычного УНЧ.
Дешифратор приемника – PIC16F628A , он осуществляет декодирование и исполнение принятых команд.

Система кодер - декодер может работать как по проводам так и с другими приемником и передатчиком. Каждая посылка 0 и 1 со стороны кодера «закрашена» колебаниями 5,5 кГц для лучшей помехозащищенности + передача контрольной суммы.
Питание приемника обязательно от стабилизированного источника 5 вольт (на схеме не показан, в плате предусмотрен КРЕН 5 А +диод). Питание передатчика от 3,6 вольта но не больше 5,5 вольта (на плате предусмотрен КРЕН 5А+диод).
Картина нажатых кнопок в PORTB (выводы 6 - 13) на передающей части полностью отражается на приемной части в PORTB (выводы 6 - 13) соответственно. Картина нажатых кнопок в PORTA (3>2, 4> 15,15> 16, 16> 17).

Пост загорелся и я идеей склепать свой самолетик. Взял готовые чертежи , заказал у китайцев моторчики, аккумуляторы и пропеллеры. А вот радиоуправление решил сделать самостоятельно, во-первых - так интереснее, во-вторых - надо себя чем-то занять пока посылка с остальными запчастями будет ехать, ну и в третьих - появилась возможность соригинальничать и добавить всяких плюшек.
Осторожно, картинки!

Как и чем управлять

Нормальные люди берут приемник, втыкают в него сервомашинки, регулятор скорости, двигают рычажки на пульте и радуются жизни не задаваясь принципами работы и не углубляясь в подробности. В нашем случае такое не пройдет. Первой задачей стало узнать каким макаром управляются сервомашинки. Все оказывается достаточно просто, у привода есть три провода: + питания, - питания и сигнальный. На сигнальном проводе прямоугольные импульсы изменяемой скважности. Чтобы понять что это такое смотрим картинку:

Итак, если мы хотим установить привод в крайнее левое положение нужно слать импульсы длительностью 0,9мс с интервалом 20мс, если в крайнее правое - длительность 2,1мс, интервал тот же, ну со средними положениями аналогично. Как оказалось, регуляторы скорости управляются аналогично. Те, кто в теме скажут что это обычный ШИМ , который реализовать на любом микроконтроллере - плевое дело. Вот и я так решил, купил в местном магазине сервомашинку и склепал на макетке для нее так называемый сервотестер на ATtiny13. И тут оказалось, что ШИМ не совсем простой, а с подводными камнями. Как видно из вышеприведенной диаграммы, скважность (отношение длительности импульса к длительности периода) от 5% до 10% (в дальнейшем я за крайние положения принимаю импульсы длительностью 1,0мс и 2,0мс) для 256-значного ШИМ счетчика ATtiny13 это соответствует значениям от 25 до 50. Но это при условии, что на заполнение счетчика уйдет 20мс, а на деле так не получится и для частоты 9,6МГц и предделителя 1024 нужно ограничить счетчик значением 187(ТОР), в таком случае у нас получится частота 50,134Гц. В большинстве (если не во всех) сервомашинок нету точного генератора опорной частоты и поэтому частота управляющего сигнала может немного плавать. Если оставить ТОР счетчика 255, то частота управляющего сигнала будет 36,76Гц - на некоторых приводах оно будет работать (возможно с глюками), но далеко не на всех. Итак, теперь у нас 187-значный счетчик, для него 5-10% соответствуют значениям от 10 до 20 - всего 10 значений, немного дискретно получится. Если думаете поиграть с тактовой частотой и предделителем ниже привожу сравнительную табличку для 8-битного ШИМа:

Но ведь у большинства микроконтроллеров есть 16-битный (и больше) таймер для генерации ШИМ. Здесь проблема с дискретностью сразу пропадет еще и частоту можно точно выставить. Долго расписывать не буду, сразу даю табличку:

Я не думаю, что для китайской сервомашинки есть существенная разница в 600 и 1200 значений, поэтому вопрос с точностью позиционирования можно считать закрытым.

Многоканальное управление

С одной сервомашинкой разобрались, но для самолета их нужно минимум три и еще регулятор скорости. Решение «в лоб» - взять микроконтроллер с четырьмя каналами 16-битного ШИМ, но такой контроллер будет стоять дорого и, скорее всего, займет много места на плате. Второй вариант - запилить программный ШИМ, но занимать процессорное время - это тоже не вариант. Если снова посмотреть на диаграммы сигнала, то 80% времени он не несет никакой информации, поэтому рациональнее было бы ШИМом задавать только сам импульс 1-2мс. Почему скважность изменяется в таких узких пределах, ведь проще было бы и формировать и считывать импульсы со скважностью хотя бы 10-90%? Зачем нужен тот неинформативный кусок сигнала занимающий 80% времени? Я заподозрил, что, возможно, эти 80% могут занимать импульсы для других исполнительных механизмов, а потом этот сигнал разделяется на несколько разных. То есть, в периоде длительностью 20мс могут уместится 10 импульсов длительностью 1-2мс, затем этот сигнал каким-то демультиплексором разделяется на 10 различных с длительностью периода как раз 20мс. Сказано - сделано, нарисовал в PROTEUS такую схемку:


В роли демультиплексора - 74HC238, на его вход E подаются импульсы с выхода микроконтроллера. Эти импульсы - ШИМ с периодом 2мс (500Гц) и скважностью 50-100%. У каждого импульса своя скважность, обозначающая состояние каждого канала. Вот так выглядит сигнал на входе Е:


Для того, чтобы 74HC238 знал на какой выход подать текущий сигнал используем PORTC микроконтроллера и входы A, B, C демультиплексора. В результате на выходах получаем такие сигналы:


Сигналы на выходе получаются правильной частоты (50Гц) и скважности (5-10%). Итак, нужно генерировать ШИМ частотой 500Гц и заполнением 50-100%, вот табличка для настройки предделителя и ТОР 16-битного счетчика:


Интересно, что возможное количество значений ШИМа ровно в 1000 раз меньше частоты таймера.
Программная реализация
Для ATmega8 с тактовой частотой 16МГц в AtmelStudio6 все реализуется следующим образом: вначале задефайним значения счетчика для крайних положений сервомашинок:
#define LOW 16000U #define HIGH 32000U
затем инициализируем генератор ШИМа на таймере/счетчике1:
OCR1A = HIGH; //Устанавливаем ТОР TCCR1A = 0< Остается реализовать прерывания:
ISR(TIMER1_COMPA_vect) //прерывание по достижению верхнего значения счетчика, непосредственно перед началом следующего импульса { //c_num- переменная, обозначающая номер текущего канала, channels - массив значений каналов if (c_num <= 7) { OCR1B = channels; } else { OCR1B = 0; //отключаем ШИМогенератор для несуществующих в демультиплексоре 8 и 9 канала } } ISR(TIMER1_COMPB_vect, ISR_NOBLOCK)// прерывание возникающее в конце импульса { if (c_num <= 7) { PORTC = c_num; //для каналов 0-7 выводим номер канала на PORTC } //и изменяем значение счетчика от 0 до 9 if (c_num >= 9) { c_num = 0; } else { c_num++; } }
Глобально разрешаем прерывания и готово, забивая в channels значения от LOW до HIGH изменяем значения на каналах.

Реализация в железе

Ну с теорией разобрались, пришло время все это реализовать. Мозгом системы выбран микроконтроллер ATmega8A, тактируется от кварца на 16МГц (не потому, что я захотел 16000 позиций сервомашинки, а потому, что у меня такие валялись). Управляющий сигнал для МК будет поступать через UART. В результате получилась вот такая схемка:


Спустя некоторое время появилась вот такая платка:




Два трехштыревых разъема я не припаял потому, что они мне не нужны, а не подряд они впаяны поскольку у меня нету металлизации отверстий, а в нижнем разъеме дорожки с двух сторон, можно было бы заменить проволочкой, но программно нету проблемы выводить сигнал на любой разъем. Также отсутствует 78L05 ибо в моем регуляторе двигателя есть встроенный стабилизатор (ВЕС).
Для получения данных к плате подключается радиомодуль HM-R868:


Изначально думал втыкать его прямо в плату, но эта конструкция не помещалась в самолетик, пришлось сделать через шлейф. Если изменить прошивку, то контакты разъема для программирования можно использовать для включения/отключения каких-нибудь системам (бортовые огни и т.п.)
Плата обошлась примерно в 20грн = $2.50, приемник - 30грн = $3,75.

Передающая часть

Самолетная часть есть, осталось разобраться с наземной аппаратурой. Как уже писалось ранее, данные передаются по UART, на каждый канал по одному байту. Вначале подключал свою систему проводом через переходник к компьютеру и команды слал через терминал. Чтобы дешифратор определял начало посылки, а в будущем выделял посылки адресуемые именно ему, вначале шлется байт-идентификатор, затем 8 байт определяющих состояние каналов. Позже стал использовать радиомодули, при отключении передатчика все моторчики начинали дико дергаться. Дабы отфильтровать сигнал от шумов, десятым байтом шлю XOR всех 9 предыдущих байт. Помогло, но слабо, добавил еще проверку на таймаут между байтами, если он превышается - вся посылка игнорится и прием начинается заново, с ожидания байта-идентификатора. С добавлением контрольной суммы в виде XOR слать команды с терминала стало напряжным, поэтому я побыстрому наклепал вот такую программку с ползунками:


Число в нижнем левом углу - контрольная сумма. Передвигая ползунки на компе двигались рули на самолете! Вообщем отладил я все это и стал думать о пульте ДУ, купил для него вот такие джойстики:

Но потом меня посетила одна мысль. В свое время я тащился от всяких авиасимуляторов: «Ил-2 Штурмовик», «Lock On», «MSFSX», «Ка-50 Черная Акула» и др. Соответственно был у меня джойстик Genius F-23 и решил я прикрутить его к вышеописанной проге с ползунками. Погуглил как это реализовать, нашел этот пост и получилось! Управлять самолетиком с помощью полноценного джойстика, мне кажется, гораздо круче, чем маленькой палочкой на пульте. Вообщем все вместе изображено на первой фотке - это нетбук, джойстик, преобразователь на FT232, и подключенный к нему передатчик HM-T868. Преобразователь подключается 2м кабелем от принтера, что позволяет закрепить его на каком нибудь дереве или чем-то подобном.

Пуск!

Итак, есть самолетик, есть радиоуправление - Поехали!(с) Первый полет производился над асфальтом, результат - сломанный пополам фюзеляж и полувырванный двигатель. Второй полет производился над более мягкой поверхностью:

Последующие полетов 10 были тоже не особо удачными. Основной причиной я считаю сильную дискретность джойстика - по крену он выдавал только 16 значений (вместо возможных 256), с осью тангажа - не лучше. Но так как в результате испытаний самолет был значительно поврежден и не подлежит ремонту:


- проверить правдивость этой версии пока не представляется возможным. В пользу этой версии говорит и зафиксированная на видео попытка выровнять самолет - он летит накрененным, а потом резко заваливается в противоположную сторону (а должен плавно). Вот более наглядное видео:

Дальность действия аппаратуры - примерно 80м, дальше тоже ловит, но через раз.
Ну вот и все, благодарю за внимание. Надеюсь, приведенная информация окажется для кого-то полезной. Буду рад ответить на все вопросы.

Самые любимые и вместе с тем трудновыполнимые электронные игрушки для юных радиолюбителей.

Управление моделями по радио

Статья представляет собой цикл публикаций по конструированию и работе аппаратуры управления по радио электромеханическими игрушками и моделями.

Выбор модели и системы управления

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

Передатчик

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

Однокомандное приемное устройство

Вот и настала очередь приемника для системы радиоуправления моделями. В простейшем случае это однокомандное устройство, функции которого вполне достаточно, чтобы модель двигалась и поворачивала, хоть только и в одну сторону.

Двухканальное четырехкомандное приемное устройство

Более сложный вариант приемного устройства системы телеуправления моделями по радио. Название говорит само за себя: аппаратура позволяет игрушке выполнять четыре команды, обеспечивая весь спектр движения по плоскости.

Выбор модели дискретно-пропорционального управления

Более сложная система телеуправления моделями — дискретно-пропорциональная, которая позволяет кардинально улучшить управляемость игрушкой. Но и проблема выбора модели тоже усложняется: она должна быть совместима с принципом системы радиоуправления.

Передатчик для управления летающими моделями

Управление летающими моделями (самолетами) очень увлекательное занятие для детворы. До сих пор где-нибудь проводятся соревнования по боям на кордовых моделях. А вот модель, оборудованная радиосистемой телеуправления — вообще предел мечтаний любого мальчишки. В предлагаемой статье рассказывается о том, как из дискретно-пропорциональной аппаратуры сделать двухканальную систему управления летающими моделями.

Уважаемый 4uvak. Собрал на днях сие чудо на 4 канала. Использовал радио модуль FS1000A, Пашет конечно же все как и написано, за исключением дальности, но думаю это радио модуль просто не фонтан, от того и стоит он 1,5$.
Но собрал я его для того что бы привязать его к broadlink rm2 pro и тут у меня нифига не получилось. Broadlink rm2 pro его увидел, считал его команду и сохранил в себе, но когда он отсылает команду на декодер, последний ни как не реагирует. Broadlink rm2 pro рассчитан по заявленным характеристикам на работу в диапазоне 315/433 МГц, но сие чудо он не принял в свои ряды. Далее последовали танцы с бубном..... В broadlink rm2 pro есть функция как таймер на несколько команд и я решил поставить broadlink rm2 pro задачу на отправку одной и той же команды несколько раз с интервалом 0 секунд, НО!!! Записав одну команду дальше записывать он отказался мотивируя тем, что нет больше места в памяти для сохранения команд. Следом я попробовал сделать ту же операцию с командами от телевизора и он записал 5 команд без проблем. Отсюда я сделал вывод, что в написанной вами программе очень информативные и большие по объему команды отсылаемые кодером на декодер.

Я в программировании МК абсолютный ноль и ваш проект это первый в моей жизни собранный и работающий пульт. С радио техникой никогда не дружил и профессия у меня далека от электроники.

Теперь вопрос:

Если всё же как я полагаю отсылаемый кодером сигнал длинный и большой, то можно его сделать максимально мизерным???, с той же базой, что бы не менять обвязку МК и схему.

Я понимаю, что любой не оплачиваемый труд считается за рабство:))))) , а посему готов оплатить ваш труд. Я конечно же не знаю, сколько это будет стоить, но думаю цена будет адекватной проделанной работе. Я хотел вам перечислить деньги но там где было написано, там в рублях и непонятно куда отправлять. Я не резидент РФ и живу в Кыргызстане. У меня мастер кард $. Если есть вариант отправить вам деньги на вашу карту то будет хорошо. В рублях я даже не знаю как это делать. Возможно есть и другие легкие варианты.

Задумал я это потому, что после того как приобрел broadlink rm2 pro подключил тв и кондиционер за бесплатно, а вот остальные радио штучки у нас какие то не дешевые. В доме 19 выключателей на свет, по 3-4-5 штук на комнату и покупать на все выходит очень накладно. Да и розетки хотелось бы переделать на управлении, иначе какой же это умный дом получается.

В общем задача у меня сделать пульты своим руками, что бы они не путали друг друга и главное что бы их понимал broadlink rm2 pro . На данный момент он пульт по вашей схеме не понимает.

В обсуждении я написать не смог, там только зарегистрированные пользователи пишут.

Жду вашего ответа.

В этой статье, вы увидите как сделать радиоуправление на 10 команд своими руками. Дальность действия данного устройства 200 метров на земле и более 400м в воздухе.



Схема была взята на сайте vrtp.ru
Передатчик

Приемник


Нажатие кнопок может производиться в любой последовательности, хоть все сразу все работает стабильно. С помощью его можно управлять разными нагрузками: воротами гаража, светом, моделями самолетов, автомобилей и так далее… В общем чем угодно, все зависит от вашей фантазии.

Для работы нам потребуются список деталей:
1) PIC16F628A-2 шт (микроконтроллер) (ссылка на алиекспрес pic16f628a )
2) MRF49XA-2 шт (радио трансмиттер) (ссылка на алиекспрес MRF 49 XA )
3) Катушка индуктивности 47nH (или намотать самому)-6шт
Конденсаторы:
4) 33 мкФ (электролитический)-2 шт
5) 0,1 мкФ-6 шт
6) 4,7 пФ-4 шт
7) 18 пФ-2 шт
Резисторы
8) 100 Ом-1 шт
9) 560 Ом-10 шт
10) 1 Ком-3 шт
11) светодиод-1 шт
12) кнопки-10 шт
13) Кварц 10MHz-2 шт
14) Текстолит
15) Паяльник
Как видите устройство состоит из минимум деталей и под силу каждому. Стоит только захотеть. Устройство очень стабильное, после сборки работает сразу. Схему можно делать как на печатной плате. Так и навесным монтажом (особенно для первого раза, так будет легче программировать). Для начала делаем плату. Распечатываем


И травим плату .

Припаиваем все компоненты, PIC16F628A лучше припаивать самым последним, так как его нужно будет еще запрограммировать. Первым делом припаиваем MRF49XA


Главное очень аккуратно, у нее очень тонкие выводы. Конденсаторы для наглядности. Самое главное не перепутать полюса на конденсаторе 33 мкФ так как у него выводы разные, один +, другой -. Все остальные конденсаторы припаиваете как хотите у них нет полярности на выводах


Катушки можно использовать покупные 47nH но лучше намотать самому, все они одинаковые (6 витков провода 0,4 на оправке 2 мм)

Когда все припаяно, хорошо все проверяем. Далее берем PIC16F628A, его нужно запрограммировать. Я использовал PIC KIT 2 lite и самодельную панельку
Вот ссылка на программатор ( Pic Kit2 )


Вот схема подключения


Это все просто, так что не пугайтесь. Для тех кто далек от электроники, советую не начинать с SMD компонентов, а купить все в DIP размере. Я сам так делал в первый раз


И все это реально заработало с первого раза


Открываем программу, выбираем наш микроконтроллер