Принципиальная электрическая схема радиоуправляемой модели. Радиоуправление на микроконтроллере. Преимущества данной схемы

Для передачи команд используется число-импульсный код. Шифратор передатчика построен на двух микросхемах серии К561 (рис.1). Генератор передатчика собран по простейшей схеме с кварцевой стабилизацией частоты на транзисторе VT2. Колебательный контур L1C3 настроен на частоту кварцевого резонатора, равную 27,12 МГц.

В передатчике не предусмотрено специальных мер для согласования колебательного контура передатчика с антенной, поэтому излучаемая мощность передатчика невелика, и радиус действия системы радиоуправления составляет 5...10 м. Для повышения дальности можно повысить напряжение питания передатчика до 9 В и применить согласующий CLC-контур и удлиняющую катушку.

Схема приемника системы радиоуправления приведена на рис.2. Входной каскад приемника собран по схеме сверхрегенеративного детектора на транзисторе VT1. Сверхрегенератор обладает замечательными свойствами - высокой чувствительностью, малой


Pиc.2

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

На нагрузочном резисторе R3 входного каскада выделяются кроме полезного сигнала пилообразные импульсы гашения с частотой 40...60 кГц, для их фильтрации используется цепь R4 С9, для этой же цели служит конденсатор С10. Эти же элементы подавляют кратковременные импульсные помехи (например, от электродвигателей модели) и частично шумы сверхрегенеративного детектора.

Примерная форма полезного сигнала на коллекторе транзистора VT2, работающего в режиме линейного усиления, показана на первой диаграмме рис.3. Этот сигнал еще далек от пачек импульсов, необходимых для работы дешифратора. Для получения хорошей прямоугольной формы импульсов служит усилитель-формирователь на транзисторе VT3. При отсутствии полезного сигнала, когда на коллекторе транзистора VT2 существует шумовой сигнал сверхрегенератора небольшой амплитуды, транзистор VT3 находится в состоянии неглубокого насыщения, напряжение между его коллектором и эмиттером составляет 250...300 мВ и он не усиливает входной сигнал. Такая рабочая точка транзистора VT3 устанавливается подстроеч-ным резистором R6.


Pиc.3

При появлении пачек радиочастотных импульсов сверхрегенеративный детектор подает на базу транзистора VT2 пачки импульсов положительной полярности, на коллекторе VT2 и базе VT3 появляются сигналы в соответствии с первой диаграммой рис.3. Отрицательная полуволна сигнала закрывает транзистор VT3, и на его коллекторе формируются импульсы положительной полярности, открывающие ключевой каскад на транзисторе VT4. На его коллекторе формируются пачки импульсов отрицательной полярности с амплитудой, равной напряжению источника питания, они подаются на вход дешифратора команд.

Схема дешифратора команд приведена на рис.4. Пачки входных импульсов отрицательной полярности поступают на часть дешифратора на микросхемах DD1 и DD2. После приема очередной пачки импульсов счетчик DD2 устанавливается в состояние, соответствующее числу импульсов в пачке. В качестве примера на рис.3 проиллюстрирована работа счетчика в случае приема пачек из пяти импульсов. К моменту окончания пачки на выходах 1 и 4 счетчика появляются лог. 1, на выходе 2-лог.0 (диаграммы DD2:3, DD2:4, DD2:5 на рис.3). Фронтом импульса с детектора паузы DD1.2 происходит перепись состояния счетчика в сдвигающие регистры DD3.1, DD4, DD3.2, в результате чего на их выходах 1 появляются соответственно лог. 1, лог.0, лог.1.


Pиc.4

После окончания второй пачки из пяти импульсов импульс с выхода детектора паузы DD1.2 сдвигает ранее записанную информацию из разрядов 1 сдвигающих регистров в разряды 2, а в разряды 1 записывает результат подсчета числа импульсов очередной пачки и т. д. В результате при непрерывном приеме пачек из пяти импульсов на всех выходах сдвигающих регистров DD3.1 и DD3.2 будут лог.1, на всех выходах DD4 - лог.0. Эти сигналы поступают на входы мажоритарных клапанов микросхемы DD5, на их выходах появляются сигналы, соответствующие входным, они приходят на входы дешифратора DD6. На выходе 5 дешифратора появляется лог.1, которая и является признаком приема команды с числом импульсов, равным пяти.

Так происходит прием сигналов при отсутствии помех. Если же силен уровень помех, число импульсов в пачке может отличаться от необходимого. В этом случае сигналы на выходах каждого из сдвигающих регистров будут отличаться от правильных. Предположим, что при приеме одной из пачек вместо пяти счетчик насчитает шесть импульсов. После приема двух пачек из пяти импульсов и одной из шести состояния выходов регистров DD3.1, DD4 и DD3.2 будут соответственно следующими: 011,100, 111.

На входы элемента DD5.1 поступят две лог.1 и один лог.0. Поскольку выходной сигнал мажоритарного клапана соответствует большинству сигналов на его входах, он выдаст на вход 1 дешифратора DD6 лог.1. Аналогично элемент DD5.2 выдаст лог.0, элемент DD5.3 - лог.1. На выходе 5 дешифратора будет лог.1, так же как и в случае приема сигналов без помех.

Таким образом, если в последовательности пачек импульсов, поступающих на вход дешифратора команд, в любых трех подряд идущих пачках две имеют правильное число импульсов, на нужном выходе микросхемы DD6 будет постоянно поддерживаться лог. 1.

Если не нажата ни одна из кнопок передатчика, на выходах 1,2,4 счетчика после окончания пачки из восьми импульсов лог.0 и на всех используемых выходах дешифратора DD6 также лог.0. В табл.1 приведены соответствие команд числу импульсов пачек и выходные сигналы дешифратора системы. Пачка из пяти импульсов - это команда "Стоп", при ее приеме, как уже указывалось выше, лог.1 появляется на выходе 5 DD6. Эта лог.1 поступает на входы R триггеров DD7.1 и DD7.2 и устанавливает их в 0. Мы пока не будем рассматривать роль микросхемы DD8 и будем считать, что сигнал при прохождении ее элементов не меняется. В результате приема команды "Стоп" на выходах ПВ, ЛВ и Н (назад) будут лог.0, двигатели, подключенные к указанным выходам через усилители, будут остановлены.

При подаче команды "Вперед" лог.1 появится на выходе 6 DD6, она установит триггер DD7.2 по входу S в состояние 1, триггер DD7.1 независимо от своего исходного состояния установится в состояние О по входу С, так как на его входе D лог.0. В результате на выходах ПВ и ЛВ появятся лог.1, на выходе Н - лог.0, оба двигателя планетохода будут вращаться, обеспечивая движение модели вперед. При подаче команды "Назад" триггер DD7.1 будет в состоянии 1, DD7.2 - в состоянии 0, двигатели обеспечат движение модели назад.

Указанные команды хранятся в триггерах микросхемы DD7 и после отпускания кнопок SB5-SB7. Предположим, что при движении модели вперед будет нажата кнопка SB2 "Вправо". В этом случае лог.1 появится на выходе 2 DD6, она поступит на вывод 2 элемента DD1.4 и изменит лог.1 на его выходе на лог.0. В результате сигнал ПВ станет равным нулю, и правый двигатель остановится. Модель будет разворачиваться вправо за счет левой гусеницы (вторая строка табл.1). При движении назад нажатие кнопки SB2 также заставит измениться сигнал на выходе элемента DD1.4 на противоположный, но теперь уже с лог.0 на лог.1, правый двигатель также затормозится и модель также будет разворачиваться вправо. Аналогично ведет себя модель и при нажатии кнопки SB4 "Влево".

Команды "Вправо" и "Влево" не запоминаются, они действуют лишь во время нажатия соответствующей кнопки. Аналогично не запоминаются и команды "Фары" и "Сигнал" (SB1 и SB3). При нажатии на эти кнопки включаются соответственно транзисторы VT2 и VT1. Их базы подключены к выходам дешифратора DD6 без ограничительных резисторов, что допустимо при напряжении питания микросхем серии К561 в пределах 3...6 В.

Микросхема DD8 служит для сопряжения дешифратора системы радиоуправления с платой планетохода, обеспечивающей маневр при объезде препятствий. Использование микросхемы Исключающее ИЛИ обеспечивает управляемость модели и в те моменты времени, когда она выполняет автоматический маневр. Полная схема соединения узлов планетохода приведена на рис.5. Здесь А1 - приемник по схеме рис.2, А2 - плата с микросхемами DD1-DD4 рис.211, A3 - дешифратор системы по схеме рис.4, А4 - усилители двигателей. На схеме рис.5 показано также подключение лампы фары HL1. Автором не была использована команда "Сигнал", источник звукового сигнала может быть включен в коллекторную цепь транзистора VT1 аналогично включению HL1 в цепь коллектора VT2."


Pиc.5

Питание электродвигателей и узлов А1-АЗ разделено для исключения влияния помех от двигателей на электронную часть планетохода. Общие провода обеих цепей питания объединяются лишь в узле А4, на это надо обратить внимание при монтаже. Для исключения влияния помех от двигателей в их цепи питания включены дроссели L1-L4 и конденсаторы С1-С4, металлические корпуса двигателей соединены с общим проводом.

При отсутствии узла А2 на входы П, Л, С узла A3 можно подать напряжения в соответствии с указаниями на рис.5, можно также исключить микросхему DD8 на рис.4, соединив непосредственно выход триггера DD7.1 с выходом Н6, а выход триггера DD7.2 со входами DD 1.3 и DD 1.4.

Все узлы системы радиоуправления собраны на печатных платах: передатчик - на односторонней с размерами 60х40 мм (рисунок 6) , приемник - на односторонней с размерами 105х40 мм (рисунок 7) , дешифратор - на двухсторонней с теми же размерами (рисунок 8) . На указанных рисунках односторонние платы показаны со стороны, противоположной стороне установки деталей, плата дешифратора - с двух сторон.

В системе радиоуправления использованы резисторы МЛТ, керамические конденсаторы КТМ (С1 на рис.2), КМ-5 и КМ-6, электролитические конденсаторы К50-6 (С4, С8, C11, C12 на рис.2), К50-16 (С13 на рис.2). Подстроенный резистор R6 на рис.2 типа СПЗ-16, его выводы отогнуты под прямым углом. В системе использованы стандартные дроссели ДМ-0,2 30 мкГн (L2 на рис.2) и ДМ-3 12 мкГн (L1-L4 на рис.5), можно использовать и самодельные с близкими параметрами. Кварцевый резонатор в передатчике - в стеклянном корпусе диаметром 10 мм на частоту 27,12 или 28...28,2 МГц. При отсутствии кварцевого резонатора передатчик можно собрать по любой из опубликованных схем, сохранив схему формирователя пачек и модулятора по рис.1. Катушка L1 колебательного контура передатчика намотана на каркасе диаметром 5 мм и подстраивается сердечником из карбонильного железа диаметром 4 мм и длиной 6 мм. Она содержит 12 витков провода ПЭЛШО-0,38. Катушка L1 приемника намотана на каркасе диаметром 8 мм тем же проводом и содержит 9 витков, она подстраивается сердечником из карбонильного железа диаметром б мм. В передатчике можно использовать такую же катушку, как и в приемнике.

Батарея питания передатчика - 3336, на модели для питания двигателей использованы четыре элемента А343, электронная часть работает от четырех элементов A316. Антенной приемника служит велосипедная спица длиной 300 мм, антенна передатчика телескопическая, состоит из четырех колен общей длиной 480 мм. Передатчик собран в пластмассовом корпусе с размерами 75х1500x30 мм, в нем установлен специальный пульт управления, описанный далее.

Сборку системы радиоуправления и ее настройку нужно проводить в следующей последовательности. На плате передатчика необходимо собрать цифровую часть, установить все резисторы, кроме R5, и транзисторы, но не устанавливать кварцевый резонатор, катушку L1 и конденсаторы СЗ-С5. Подбором резисторов R1 и R2 установить частоту импульсов на выходе DD1.2 180...220 Гц со скважностью, близкой к 2, затем проверить правильность генерации пачек так, как это описано выше.

Затем можно собрать дешифратор команд и, установив в передатчик резистор R5, соединить коллектор транзистора VT1 передатчика со входом дешифратора. Напряжение питания обеих плат можно использовать общее 4,5 В. Нагрузкой транзистора VT1 передатчика будут последовательно соединенные резисторы R4, R6 и переход база- эмиттер транзистора VT2. Дешифратор следует проверить, как это описано выше.

Дальнейшую проверку можно производить, предварительно соединив входы Л и П с плюсом источника питания, вход С - с общим проводом. В этом случае сигналы на выходах Н, ЛВ, ПВ при нажатии кнопок передатчика должны соответствовать указанным в табл.1. После этого можно соединить узлы A3 и А4 и двигатели модели по схеме рис.222. Дроссели L1-L4 и конденсаторы С1-С4 следует подпаять непосредственно к выводам двигателей.

Далее следует проверить четкость управления моделью по паре проводов, соединяющих платы передатчика и дешифратора. Если все работает нормально, следует полиостью собрать передатчик и приемник. После сборки приемника нужно предварительно подстроить резистор R6. Для этого следует "сорвать" сверхрегенеративный режим транзистора VT1, замкнув накоротко колебательный контур L1 С2, подключить между коллектором и эмиттером VT3 вольтметр, установить движок R6 в положение минимального сопротивления и, плавно увеличивая его сопротивление, установить по вольтметру напряжение 250...300 мВ, при этом, возможно, придется подобрать резистор R5. Сиять перемычку с контура L1 С2.

Включив передатчик и приемник и постепенно увеличивая расстояние между ними, следует подстроить их контура по максимуму амплитуды сигнала, наблюдаемого при помощи осциллографа или вольтметра переменного напряжения в контрольной точке КТ1. Далее следует подстроить резистор R6 для получения правильной формы импульсов в контрольной точке КТ2 в соответствии с рис.220. Собрав целиком модель по схеме рис.5 и убедившись в нормальной работе системы управления на расстояниях 2...3 м, необходимо добиться максимальной дальности действия подстройкой резистора R6.

В передатчике и приемнике можно использовать практически любые высокочастотные п-р-п кремниевые транзисторы (КТ316, КТ312, КТ3102, КТ315 с любыми буквенными индексами). Микросхему К561ЛП13 можно заменить на К561ЙК1, при их отсутствии в ущерб помехоустойчивости можно исключить сравнение последовательно приходящих команд, заменив микросхемы D03-DD5 дешифратора команд на одну микросхему К561ИР9.

В передатчике в качестве кнопок SB2, SB4, SB6, SB7 использован специальный пульт, удобный для подачи команд с четким направленным значением. Пульт позволяет подавать одновременно и две не исключающие друг друга команды, например "Вперед" и "Вправо", что, однако, здесь не используется.

В качестве контактной системы пульта использованы четыре микропереключателя. На рис.9 показана его конструкция, размеры указаны применительно к микропереключателям ПМ2-1, существует много типов микропереключателей с такими же размерами.

Микропереключатели 3 приклеены к основанию 2, изготовленному из текстолита толщиной 2...3 мм. Снизу к основанию 2 четырьмя винтами 7 или заклепками прикреплена пластина 1, изготовленная из латуни или жести толщиной 0,2...0,3 мм. В центре к этой пластине винтом М2 б с шайбой прикреплен рычаг 5 из органического стекла.

При покачивании рычага 5 он давит на штоки микропереключателей 3 и переключает их. Если на рычаг надавить по диагонали, включатся два соседних микропереключателя.

Сборку пульта целесообразно произвести в следующем порядке. Соединить между собой пластины 1 и 2, винтом с шайбой закрепить на пластине 1 рычаг 5. Приклеить эпоксидным клеем микропереключатели 3 к пластине 2 так, чтобы штоки микропереключателей касались рычага 5.

После полимеризации клея приклеить получившийся блок к крышке пульта 4 или для обеспечения ремонтопригодности закрепить его каким-либо другим способом, центрируя при этом блок по квадратному отверстию в крышке пульта.
В качестве SB1 и SB5 использованы кнопки КМ1-1.

Более простой дешифратор можно использовать из статьи "Дешифратор простой системы телеуправления"

Литература: С.А.Бирюков. Цифровые устройства на МОП- интегральных микросхемах. М. Радио и связь. 1996 г.

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

Обозначение Тип Номинал Количество Примечание Магазин Мой блокнот
Схема передатчика. Рисунок 1.
DD1 Микросхема К561ЛЕ10 1 В блокнот
DD2 Микросхема К561ИЕ8 1 В блокнот
VT1, VT2 Биполярный транзистор

КТ315Г

2 В блокнот
VD1 Диод

КД503А

1 В блокнот
С1 Конденсатор 6800 пФ 1 В блокнот
С2 Конденсатор 0.047 мкФ 1 В блокнот
С3 Конденсатор 27 пФ 1 В блокнот
С4 Конденсатор 16 пФ 1 В блокнот
С5 Конденсатор 43 пФ 1 В блокнот
R1 Резистор

750 кОм

1 В блокнот
R2 Резистор

270 кОм

1 В блокнот
R3 Резистор

110 кОм

1 В блокнот
R4 Резистор

33 кОм

1 В блокнот
R5 Резистор

7.5 кОм

1 В блокнот
R6 Резистор

220 Ом

1 В блокнот
Z1 Кварцевый резонатор 27.12 МГц 1 В блокнот
L1 Катушка индуктивности 1 В блокнот
Схема приемника. Рисунок 2.
VT1-VT4 Биполярный транзистор

КТ315Г

4 В блокнот
С1 Конденсатор 4.7 пФ 1 В блокнот
С2 Конденсатор 27 пФ 1 В блокнот
С3 Конденсатор 0.015 мкФ 1 В блокнот
С4, С8, С11, С12 10 мкФ 10 В 4 В блокнот
С5 Конденсатор 18 пФ 1 В блокнот
С6 Конденсатор 2200 пФ 1 В блокнот
С7 Конденсатор 0.047 мкФ 1 В блокнот
С9 Конденсатор 0.1 мкФ 1 В блокнот
С10 Конденсатор 3300 пФ 1 В блокнот
С13 Электролитический конденсатор 500 мкФ 6.3 В 1 В блокнот
R1 Резистор

33 кОм

1 В блокнот
R2 Резистор

20 кОм

1 В блокнот
R3 Резистор

3.3 кОм

1 В блокнот
R4 Резистор

9.1 кОм

1 В блокнот
R5 Резистор

510 кОм

1 В блокнот
R6 Подстроечный резистор 1 МОм 1 В блокнот
R7 Резистор

12 кОм

1 В блокнот
R8 Резистор

2 кОм

1 В блокнот
R9 Резистор

1 кОм

1 В блокнот
R10 Резистор

22 кОм

1 В блокнот
R11 Резистор

7.5 кОм

1 В блокнот
L1 Катушка индуктивности 1 Изготавливается самостоятельно

Раньше даже близко не было такого изобилия товаров вообще и игрушек в частности. И во многом современный детский рай обязан прогрессу в электронике. Говорящие роботы , мультикоптеры, - всё это не просто есть в магазинах, а продаётся по очень недорогой, для многих, цене. К тому же игрушки иногда бывают настолько продвинутые в плане радиоэлектронной начинки и интересные по работе, что тут впору покупать их не для детей, а для себя. Тем более если отец радиолюбитель:) В общем случайно проходя мимо витрины магазина "Всё по доллару" заметил коробку с китайской радиоуправляемой машинкой, которая стоила всего 10$! Естественно это за весь комплект.

Комплектация Р/У машинки

  • Машина - гоночный автомобиль
  • Пульт дистанционного управления
  • Четыре аккумулятора 1,2 В 600 мА/ч
  • Зарядное устройство 4,8 В 250 мА

Характеристики авто на радиоуправлении

  • Питание машинки - 4 шт. 1,2 В никель-кадмиевые аккумуляторы
  • Питание пульта - 3 пальчиковые батарейки АА
  • Время заряда - 5 часов
  • Время работы - пол часа
  • Частота радиоканала - 27 МГц
  • Дальность действия радиоканала - 10 метров

На коробке всё написано по китайски - ни одного не то что русского - даже английского слова. Что ж, время учить китайский или развивать интуицию:) Сложного по идее ничего нет: вставил аккумуляторы в авто, три батарейки в пульт - и поехали.

Пульт управления машинкой

Обратите внимание, в комплект не входят батарейки для ПДУ, только к автомобилю. Так что понадобится 3 элемента АА по 1,5 В.

Пульт сразу привлёк внимание полным отсутствием кнопок, не считая кнопки включения.

Всё дело в том, что здесь команды на поворот влево-вправо, движение вперёд-назад, подаются наклоном. Если открыть пульт ДУ и изучить плату с деталями, то видно 4 датчика положения. Внутри этих цилиндриков, впаянных с наклоном, и находятся датчики в виде шариков.

Сама микросхема передатчик формата DIP, как и остальные детали, поэтому пульт очень компактный и лёгкий. К нему спереди прикручена телескопическая антенна на 3 колена. Длинна в разложенном виде - около 30 см. Если вы стоите рядом с авто - можно и не раскладывать её. Но при дальности свыше 5 м это необходимо.

Радиоуправляемая машина

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

Плата внутри него - копия обычной зарядки от мобильного телефона. И параметры (и схема) аналогичные - импульсный преобразователь на транзисторе примерно 2-3 ватта.

При включении кнопки машинки (она на днище), все 4 колеса сразу начнут мигать синими и красными светодиодами, установленными изнутри. Это и красиво, и удобно - сразу понятно, что питание активировано. Чтоб не было ситуации, при которой поигрались и забыли обесточить авто, посадив или вообще угробив аккумуляторы.

Разберём её тоже и заглянем под крышку. Приёмная часть собрана на базе микросхемы RX-2B . Схемы включения вы можете , они стандартны для большинства радиоуправляемых моделей 27 МГц, малого радиуса действия.

А транзисторы С945 коммутируют два моторчика - основной, что находится в задней части авто, и вспомогательный, ответственный за поворот передних колёс.

Фары спереди засвечиваются когда машина едет вперёд. При заднем ходе они сразу гаснут. Интересно, что тут применили не светодиоды, а лампочки. Это конечно более реалистично, но расход энергии увеличивается почти на 100 мА, поэтому для экономии просто перерезал ножницами провода, идущие к ним от платы управления.

Видеоролик работы машинки

В общем китайцы в очередной раз удивляют не столько технологиями, хотя они держат руку на пульсе и постоянно пополняют рынок новыми интересными девайсами, а возмутительно низкой ценой. Подумайте, сколько бы стоили отдельно 4 аккумулятора? А зарядное устройство? Не говоря про остальное. Что касается качества: ребёнок играет уже больше месяца и ничего, машина жива-здорова, хотя перезаряжалась уже раз 20.

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

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

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


Итак, если мы хотим установить привод в крайнее левое положение нужно слать импульсы длительностью 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м, дальше тоже ловит, но через раз.
Ну вот и все, благодарю за внимание. Надеюсь, приведенная информация окажется для кого-то полезной. Буду рад ответить на все вопросы.
В архиве схема и разводка платы для Протеуса.

Устройство предназначено для управления 12 различными нагрузками. Причем одновременно и в любой комбинации допускается нажатия до 8 кнопок (PORTB) или 4 кнопок (PORTA). Оно может входить в состав, например, радиоуправляемого комплекса для авто и авиамоделей, управления гаражными воротами и т.п.

  • Скачать файл принципиальной схемы в формате lay

Работа приемной части предусмотрена в двух режимах. Режим реального времени и с фиксацией команд (зависит от положения перемычки S на плате приемника).Если перемычка убрана, команды зафиксируются. Если перемычка установлена, команды будут выполняться только в момент удержания соответствующей кнопки (кнопок).
Индикаторы исполнения команд - светодиоды. Разумеется, к соответствующим выводам процессора можно подключить например затворы мощных полевых или базы биполярных транзисторов через токоограничивающие резисторы.

Передатчик

Передающая часть состоит из задающего генератора и усилителя мощности.
ЗГ - классическая схема на ПАВ- резонаторе со 100 % амплитудной модуляцией.
УМ- стандартный с общим эммитером, нагруженный на четвертьволновый отрезок провода длиной 16 см через согласующую емкость.
Шифратор - PIC 16F628A , он осуществляет обработку информации о нажатых кнопках кодирование и посылку пачек управляющих импульсов а также включение светодиодного индикатора и усилителя мощности во время передачи кода.

Приемник

Сверхрегенератор. При номиналах указанных на схеме и исправных деталях обладает 100% повторяемостью.
Его настройка заключается лишь в раздвигании витков контурной катушки и подборе емкости связи с антенной.3 й вывод контроллера дешифратора служит для контроля прохождения сигнала при настройке (программно подключенный выход внутреннего компаратора).Контролировать можно с помощью обычного УНЧ. Дешифратор приемника - PIC 16F628A, он осуществляет декодирование и исполнение принятых команд. Система кодер - декодер может работать как по проводам так и с другими приемником
и передатчиком. Каждая посылка 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).

Всем доброго, три месяца тому назад - сидя «на ответах маил ру» наткнулся на вопрос: http://otvet.mail.ru/question/92397727 , после данного мной ответа автор вопроса начал писать мне в личку, из переписки стало известно что Тов. «Ivan Ruzhitsky», он же «STAWR» строит р/у машинку по возможности без «дорогих» заводских железяк.

Из покупного у него имелись RF модули на 433МГц и «ведро» радиодеталей.

Я не то чтобы «заболел» этой задумкой, но все же стал размышлять о возможности реализации данного проекта с технической стороны.
На тот момент я в теории радиоуправления был уже довольно не плохо подкован (я так думаю), кроме того; некоторые наработки уже были на вооружении.

Ну а для людей которым интересно - Администрация придумала кнопку……

Итак:
Все узлы делались «на коленке» соответственно «красоты» никакой, основная задача выяснить - на сколько данный проект осуществим и во сколько это «вылезит» в рублях и в трудонях.

ПУЛЬТ:
Самодельный передатчик делать не стал по двум причинам:
1. У Ивана он уже есть.
2. Однажды пытался замутить 27МГц – ни чего хорошего из этого не вышло.
Поскольку управление задумывалось пропорциональным, всякие пульты от китайского хлама отпали сами собой.

Схему кодера (шифратор каналов) взял с этого сайта: http://ivan.bmstu.ru/avia_site/r_main/HWR/TX/CODERS/3/index.html
Спасибо огромное авторам, именно из за этого устройства мне пришлось еще научиться «прошивать» МК.
Передатчик и приемник купил тут-же на «Парке» правда на 315МГц, просто выбирал подешевле:
На сайте с кодером есть все необходимое – сама схема, печатная плата «под утюг» и целая куча прошивок с различными расходами.

Корпус пульта спаян из стеклотекстолита, стики взял от вертолетного пульта на ИК управлении, можно было и от комповского геймпада, но жена меня убила бы, она на нем играет в «DmC», Отсек для батареек от тог-же пульта.

Приемник есть, но чтобы тачка ехала нужен еще и декодер (дешифратор каналов), вот его-то искать пришлось очень долго – у меня даже «гугл» вспотел, ну как говорится «ищущий да обрящет» и вот он: http://homepages.paradise.net.nz/bhabbott/decoder.html

Там же и прошивки для МК.

Регулятор: Изначально сделал тот что попроще:

Но ездить только передом не айс и был выбран вот этот:

Ссылка на сайт: http://vrtp.ru/index.php?showtopic=18549&st=600
Там же и прошивки.

Перерыв гору материнок и видео карт нужных транзисторов не нашел, а именно для верхнего плеча (Р-канальные), поэтому Н-мост (это узел который питает мотор) был спаян на базе Тошибовской микросхемы из видеомагнитофона «TA7291P»,

максимальный ток 1,2А – что меня вполне устраивало (не TRAXXAS – же делаю), плату рисовал маркером за 20р, травил хлорным железом, паял со стороны дорожек. Вот что получилось.


В эфир излучается «чистый» РРМ, конечно не есть хорошо, на самолет я такое не поставлю, а для игрушки пойдет и так.
Машинка взята заводская, от братьев китайцев, вся трибуха кроме ходового двигателя удалена и на её место всунут наш с Иваном проект, хоть мы и заняты им порознь, задумка-то его!

Потрачено:
Комплект RF модулей – 200р
Два МК PIC12F675 - по 40р за штуку.
Серва - TG9e 75р
+3 вечера.

Если будут вопросы с радостью отвечу, (о многом не написал)
С уважением Василий.