Как изготовить радиоуправляемый выключатель в домашних условиях. Какие компоненты потребуются для сборки. Как спроектировать и изготовить печатную плату. Как запрограммировать микроконтроллер для управления выключателем.
Необходимые компоненты для сборки радиоуправляемого выключателя
Для изготовления радиоуправляемого выключателя своими руками потребуются следующие основные компоненты:
- Микроконтроллер ATmega168 в корпусе TQFP32
- Радиомодуль nRF24L01+
- Реле для коммутации нагрузки (например, 833H-1C-C)
- Транзисторы MMBT2222ALT1 для управления реле
- Стабилизатор напряжения L78L33 для питания радиомодуля
- Резисторы и конденсаторы для обвязки
- Клеммники для подключения нагрузки
- Кнопки без фиксации для ручного управления
Большинство компонентов выбираются в SMD-исполнении для уменьшения габаритов платы. Это позволит разместить устройство в стандартной монтажной коробке.
Проектирование принципиальной схемы выключателя
Принципиальная схема радиоуправляемого выключателя включает следующие основные блоки:

- Микроконтроллер с обвязкой (подтягивающий резистор на RESET, блокировочные конденсаторы)
- Силовые ключи на транзисторах для управления реле
- Схема питания с линейным стабилизатором для радиомодуля
- Разъемы для подключения кнопок, программатора и радиомодуля
При проектировании схемы важно правильно выбрать выводы микроконтроллера для подключения периферии. Например, радиомодуль подключается к выводам SPI-интерфейса.
Разработка печатной платы в программе Eagle
Для разработки печатной платы удобно использовать САПР Eagle. Основные этапы проектирования платы:
- Размещение компонентов на плате с учетом их габаритов и требований к трассировке
- Трассировка сигнальных цепей
- Создание полигонов для цепей питания и земли
- Добавление переходных отверстий
- Проверка соответствия схеме и устранение ошибок
При проектировании важно оптимально разместить компоненты для минимизации длины проводников. Размер платы получился 56×35 мм, что позволяет разместить ее в стандартной монтажной коробке.
Изготовление печатной платы методом ЛУТ
Печатную плату можно изготовить в домашних условиях методом лазерно-утюжной технологии (ЛУТ). Основные этапы:

- Печать рисунка платы на глянцевой фотобумаге
- Перенос рисунка на фольгированный стеклотекстолит с помощью утюга
- Травление платы в растворе хлорного железа
- Удаление защитного слоя и сверление отверстий
При изготовлении важно тщательно совместить слои платы и аккуратно удалить остатки фотобумаги, чтобы получить качественный результат.
Монтаж компонентов на печатную плату
Монтаж SMD-компонентов удобно выполнять с помощью паяльной станции с феном. Порядок монтажа:
- Нанесение паяльной пасты на контактные площадки
- Установка компонентов на плату
- Оплавление паяльной пасты с помощью фена
- Проверка и устранение замыканий
- Монтаж выводных компонентов (разъемы, реле)
После монтажа необходимо внимательно проверить качество пайки и отсутствие замыканий между выводами компонентов.
Программирование микроконтроллера
Для программирования микроконтроллера ATmega168 потребуется:
- Программатор USBasp или аналогичный
- Среда разработки Arduino IDE
- Библиотека RF24 для работы с радиомодулем
Основные функции программы микроконтроллера:

- Инициализация периферии (порты ввода-вывода, радиомодуль)
- Обработка нажатий кнопок
- Прием команд по радиоканалу
- Управление реле в соответствии с командами
Программу необходимо оптимизировать для экономии ресурсов микроконтроллера и обеспечения стабильной работы.
Тестирование и отладка радиоуправляемого выключателя
После сборки и программирования устройства необходимо выполнить его тестирование:
- Проверка работы от кнопок
- Проверка дальности действия радиоканала
- Тестирование работы под нагрузкой
- Проверка энергопотребления
При необходимости выполняется отладка программы и доработка аппаратной части для устранения выявленных недостатков.
Установка радиоуправляемого выключателя
Порядок установки выключателя:
- Отключение электропитания
- Демонтаж существующего выключателя
- Подключение проводов к клеммам устройства
- Установка устройства в монтажную коробку
- Монтаж кнопок и декоративной рамки
При установке необходимо соблюдать правила электробезопасности и использовать изоляционные материалы для защиты устройства.

Простейшее радиоуправление. Специально для начинающих.
Простейшее радиоуправление. Специально для начинающих.
Решил сделать схемы которые делал в детстве и они у меня не получились и описать свои ошибки. Тогда я никак не мог понять почему я передатчиком посылаю одни команды, а приемником если и принимаю, со совсем что то непохожее. Сейчас я конечно знаю почему у меня так получалось, но в виду излишка свободного времени решил все это сделать в железе как тогда в детстве. Ностальгия наверное. Для начала взял самые простейшие схемы, Тем более форум просто забит вопросами «Как сделать радиоуправление на одну команду».
Когда начинал писать, то думал, что постепенно дойду и до сложных постепенно усложняя приемную и передающую часть., т.к. в каждом конкретном случае возникают проблемы совершенно разные. К примеру вместо сверхрегенератора применить для радиоуправления простую и дешевую микросхему TDA7000 или TDA7021.
Подход в этом случае будет немного другой, т.к. там будут действовать другие дестабилизирующие факторы. Конечно для профессионалов эта идея покажется смешной, но для начинающих в качестве первой конструкции по моему самое то и поняв общие принципы можно уже с понятием делать на специализированных микросхемах.
На TDA7000(70221) по моему и схема и настройка будет еще проще. В ней, при её простоте заложено довольно много возможностей для целей радиоуправления.
К сожалению статья моя раздулась до безобразия, а я успел только про примитивные сверхрегенераторы на 27 мгц написать, поэтому я ими и закончил
Понятно подходы выделения полезного сигнала при радиоуправлении различны для разных приемных и передающих систем. У каждой системы есть свои особенности.
Даже если взять тот же сверхрегенератор, но частоту взять раз в десять больше, то одно проблемы отпадут, но появятся новые.
К сожалению в этой статье до этого не дошел, хотя сам передатчик и приемник сверхрегенератор на частоту 225 мгц сделал.
На этих частотах обработка сигнала и его выделение проще, но труднее сама аппаратура, но при этом открываются большие возможности в конструировании малогабаритной аппаратуры радиоуправления на большие расстояния..
Вот даже моя примитивная система на 225 мгц работает в пределах квартиры без всяких антенн. Частоту взял именно эту просто из за того, что вытащил кварц на 25 мгц из старой сетевой карточки и сделал на его основе передатчик. Справа там просто мультивибратор на логике, что бы сигнал передатчика промодулировать.
А это приемник сверхрегенератор на частоту 225 мгц.
Монтаж на пятачках. Считаю, что для макетов идеальный способ. Расположение пятачком делается в процессе монтажа и заранее неизвестно. Прочитать об этом способе можно в книге С.Г. Жутяев «Любительская УКВ радиостанция»
https://www.cqham.ru/ftp/1-29.djvu
С этим все. Начинаю со сверхрегенераторами на 27 мгц, а там как получится.
Понятно, что сначала нужно было сделать простейший маломощный передатчик — маячек для моих экспериментов. Схему сделал для данных целей самую примитивную. Сделал на трех транзисторах. Генератор на 27 мгц и мультивибратор на микросхеме. В дальнейшем этот мультивибратор для однокомандной апппаратуры будет лишний. Его приделал только для настройки. Питание 4,5 вольта.
Как говорил, схема сверхрегенератора классическая. Катушка такая же, как и в передатчике. Транзистор КТ315Б
Подключил к УНЧ и антенну длиной 15 см. Покрутил R2 и добился шумов суперизации.
Взял книжку книжку Г. Миль «Электронное дистанционное управление моделями» Подцепил осциллограф к точке «1» на схеме и как подозревал картинка моя было и близко на эту не похожа.
Что я только не крутил, но они форму менять не хотели или их уровень поднимался выше от нулевой линии, что тоже уменьшало чувствительность.
Дроссель в эмиттере у меня был самодельный. Намотано 50 витков провода на резисторе 100 ком. От отчаяния взял и поставил фабричный дроссель ДПМ-01 и произошло чудо. Осциллограмма сразу приняла приличный вид и чувствительность улучшилась.
Стал экспериментировать с самодельными дросселями. Во всяком случае на 27 мгц наиболее близким к этому оказался намотанный на ферритовом кольце дроссель диаметром 10 мм. Витков 35. Тип феррита не знаю. Взял случайный. Дальше эксперименты прекратил, но понял, что дроссель в сверхрегенераторе очень важная часть и никогда его не нужно как иногда рекомендуют мотать просто на резисторе.
Настала пока делать однокомандную управление. В теории все просто выглядит. Когда несущей нет, то сверхрегенератор сильно шумит. Этот шум нудно выпрямить и использовать как команду. Если подать просто несущую, т.е. включить передатчик без модуляции, то эти шумы пропадают. После детектора получается ноль, а это равносильно подаче команды. Эта система привлекает тем, что когда передатчик отключен, то на выходе приемника нет ложных команд. Шумит он и шумит.
Вот и у Г. Миля об этом написано.
Такая привлекательная простая схема. Жалко, что на практике она очень нестабильно работает. Так и у меня в те годы получилось и решил я её добить. Может кому пригодится. Дело в том, что на выходе сверхрегенератора присутствует переменное напряжение суперизации, как видели оно порядка единиц вольт, хотя и частота у него намного больше напряжения шумов, но величина шумов всего лишь несколько милливольт и эффективно отделить их очень затруднительно. Конечно идеальный случай поставить НЧ трансформатор или ФНЧ на LС элементах, но лень мотать тысячи витков. Хотя в давние времена люди были не такие ленивые и мотали такое.
Здесь нужно заметить, что если сверхрегенератор использовать для приема голоса, то сильное подавление частоты суперизации можно не делать. Просто не нужно будет подавать на УНЧ сильный сигнал, что бы не загонять его в режим отсечки этим напряжением суперизации. В нашем случае это напряжение нужно убрать как можно сильнее. На выходе сверхрегенератора стоит примитивный фильтр НЧ на R5, С7 но все, на что он способен, так получить на его выходе вот такое с амплитудой порядка 0,2 вольта, а шумов при таком на экране осциллографа еще и не видим, хотя они там точно есть. Амплитуда этих шумов совсем мала. Это картинка в точке «2»
Если присмотреться, то наши шумы чуть видны в верхней части этих импульсов.
При таком безобразии приемник будет реагировать не на шумы, а на эти импульсы.
Т.к. ни LC фильтр мне не хочется, ни трансформатор ставить, то остается единственны путь, это поставить активный RС фильтр с частотой среза в несколько килогерц.
Взял опять на транзисторе. После фильтра поставил усилитель с маленьким выходным сопротивлением и получил основной блок для дальнейших экспериментов.
Если теперь посмотреть сигнал в точке «3» при отсутствии несущей, то видим только шум сверхрегенератора приличной амплитуды. Он то и является в нашем случае сигналом команды.
Кстати макет базового блока так выглядит. Виден монтаж на пятачках. Конструкция довольно жесткая. Можно спокойно её бросать и ничего с ней не будет. Все сделано на выводах деталей обрезанных до размера 1 – 2 мм
Единственно желательно сердечник катушки закрепить.
Теперь имея базовый блок делаем для начала простейшее однокомандное управление.
Принцип простой. Шумы уже выделили. Теперь их усилим, продетектируем, подадим на триггер Шмита и дальше на силовой ключ. Если передатчик не включен, то светодиод горит. При включении передатчика шумы пропадают и светодиод гаснет. Если нужно другая логика, то нужно добавить еще один ключ или вместо светодиода поставить реле, но это уже нюансы.
Это макет однокомандного управления так выглядит.
Передатчик для него до безобразия просто выглядит. Просто генератор на кварце 9 мгц работающий на третьей механической гармонике. Его просто включают или выключают.
В принципе можно сделать и без кварца. Для увеличения мощности в генераторе поставил два транзистора КТ315 в параллель, что тоже необязательно. Можно один или что то мощнее, например КТ603 или КТ3117
А это полная схема. Вверху базовый блок, снизу дешифратор команды.
Деталей получилось довольно много, но это компенсируется простотой и наглядностью настройки, где каждый каскад выполняет одну определенную функцию.
Теперь, как и задумал элементарные принципы передачи нескольких команд. Я взял две команды, хотя по этому принципу можно сделать порядка четырех.
Принцип частотного разделения каналов. Принцип широко известен. Правда для разделения каналов в аналоговых системах обычно применяют избирательные LС фильтры, но это не для ленивых, а коты как известно здорово ленивые.
Вот здесь схема с катушками из книги Г. Миля.
Поэтому фильтры решил взять активные на RС. Схем много перепробовал, но не понравились. Больше понравился фильтр Мюллера Фогта. О нем тоже в книге Г. Миля написано.
Базовый блок прежний, только после него вместо усилителя и триггера Шмита пришлось поставить усилитель-ограничитель, т.к. случались ложные срабатывания когда передатчик расположен близко от приемника. Было одновременное срабатывание двух соседних каналов. Когда поставил ограничитель и ограничил величину сигнала поступающих на фильтры, этот дефект пропал.
И наконец полная схема вместе с фильтрами и выходными ключами. Частоты я брал случайные. Первая получилась 1200 гц, вторая 750 гц. Желательно, что бы они не делились на целое число и не создавали в тракте гармоники, т.е. выбор 1200 гц и 600 гц был бы совсем не удачен в данном случае.
Само собой схемы фильтров можно взять и другие, но мне эти понравились.
А это внешний вид макета.
Теперь к передатчику можно переходить. Схема стандартная. Задающий генератор на кварце 9 мгц. Кварц работает на третьей механической гармонике. Дальше идет апериодический буферный каскад в котором происходит также модуляция. Подобная схема модуляции позволяет сделать большую скорость передачи, хотя требует дополнительного каскада. Выходной каскад самый примитивный. Если в нем предусмотреть цепи согласования с антенной, то параметры его конечно улучшаться. Так же можно в оконечном каскаде поставить и более мощный транзистор, хотя бы КТ603, но у меня не было этих целей. Я начал антенну согласовывать, но бросил, т.к. дальности для моих экспериментов и так хватало, а так при желании мощность его можно существенно увеличить особо не раздувая габаритов.
Модулятор по сути два мультивибратора работающих на разных частотах.
На схеме все понятно. Включаем или один мультивибратор или другой.
Там резистор R17 можно подобрать для увеличения мощности, но я не стал. Мне большая мощность не нужна была для экспериментов.
А это макет передатчика с которым я экспериментировал. Система само собой полностью работоспособная. Там видна спиральная антенна и удлиняющая катушка. Окончательно я её не настроил, т.к. большой дальности не преследовал на данном этапе своих экспериментов.
Все!
Силы мои иссякли, да и по опыту знаю, что чем длиннее статья, тем меньше охотников дочитать её до конца. Хотел сделать еще дистанционный аналоговый термометр, но выдохся. Просто на входе модуляции передатчика поставить генератор управляемый напряжением, а в качестве дешифратора приемника поставить преобразователь частота-напряжение. Такие ставили в аналоговых частотомерах.
В заключение хочу сказать, что конечно вместо примитивных шифраторов и дешифраторов на транзисторах здесь можно поставить более совершенные шифраторы и дешифраторы на логике или на МК в которых предусмотреть дополнительно свою систему зашиты достоверности информации дополнительно к этой, хотя не вижу смысла делать такое к таким примитивным передатчикам и приемникам.
Файлы:
11.png
Все вопросы в Форум.
www.radiokot.ru
Радиоуправляемый выключатель своими руками. Часть 1 — Hardware / Habr
Этот пост — первая часть из серии рассказов о том, как можно относительно несложно сделать своими руками радиоуправляемый выключатель полезной нагрузки.Пост ориентирован на новичков, для остальных, думаю, это будет «повторение пройденного».
Примерный план (посмотрим по ходу действия) ожидается следующий:
- Hardware выключателя
- Тестирование и подготовка
- Software выключателя
- «Центр управления»
Сразу оговорюсь, что проект делается под мои конкретные нужды, каждый может его адаптировать под себя (все исходники будут представлены по ходу повествования). Дополнительно буду описывать те или иные технологические решения и давать их обоснования.
Начало
На текущий момент имеются следующие вводные:
- Хочется реализовать удаленное управление светом и вытяжкой.
- Выключатели есть одно- и двух-секционные (свет и свет+вытяжка).
- Выключатели установлены в стене из гипсокартона.
- Вся проводка — трехпроводная (присутствует фаза, нуль, защитное заземление).
С первым пунктом — все понятно: нормальные желания надо удовлетворять.
Второй пункт в общем-то предполагает, что надо бы сделать две разные схемы (для одно- и двух-канального выключателя), но поступим иначе — сделаем «двухканальный» модуль, но в случае, когда реально требуется только один канал — не будем распаивать часть комплектующих на плате (аналогичный подход реализуем и в коде).
Третий пункт — обуславливает некоторую гибкость в выборе форм-фактора выключателя (реально снимается существующий выключатель, демонтируется монтажная коробка, внутрь стены монтируется готовое устройство, возвращается монтажная коробка и монтируется выключатель назад).
Четвертый пункт — существенно облегчает поиск источника питания (220В есть «под рукой»).
Вводные данные ясны, можно двигаться дальше.
Принципы и элементная база
Выключатель хочется сделать многофункциональным — т.е. должна остаться «тактильная» составляющая (выключатель физически должен остаться и должна сохраниться его обычная функция по включению/выключению нагрузки, но при этом должна появиться возможность управления нагрузкой через радиоканал.
Для этого обычные двухпозиционные (включено-выключено) выключатели заменим на аналогичные по дизайну выключатели без фиксации (кнопки):
Эти выключатели работают примитивно просто: когда клавиша нажата — пара контактов замкнуты, когда клавишу отпускаем — контакты размыкаются. Очевидно, что это обычная «тактовая кнопка» (собственно так ее и будем обрабатывать).
Теперь практически становится понятно, как это реализовать «в железе»:
- берем МК (atmega8, atmega168, atmega328 — использую то, что есть «прямо сейчас»), в комплекте с МК добавляем резистор для подтяжки RESET к VCC,
- подключаем две «кнопки» (для минимизации количества навесных элементов — будем использовать встроенные в МК резисторы подтяжки), для коммутации нагрузки воспользуемся реле с подходящими параметрами (у меня как раз были припасены реле 833H-1C-C с 5В управлением и достаточной мощностью коммутируемой нагрузки — 7A 250В~),
- естественно, нельзя обмотку реле напрямую подключить к выходу МК (слишком высокий ток), поэтому добавим необходимую «обвязку» (резистор, транзистор и диод).
Микроконтроллер будем использовать в режиме работы от встроенного осциллятора — это позволит отказаться от внешнего кварцевого резонатора и пары конденсаторов (чуть сэкономим и упростим создание платы и последующий монтаж).
Радиоканал будем организовывать с помощью nRF24L01+:
Модуль, как известно, толерантен к 5В-сигналам на входах, но требует для питания в 3.3В, соответственно, в схему добавим еще линейный стабилизатор L78L33 и пару конденсаторов к нему.
Дополнительно добавим блокировочные конденсаторы по питанию МК.
МК будем программировать через ISP — для этого на плате модуля предусмотрим соответствующий разъем.
Собственно, вся схема описана, осталось только определиться с выводами МК, к которым будем подключать нашу «периферию» (радиомодуль, «кнопки» и выбрать пины для управления реле).
Начнем с вещей, которые уже фактически определены:
- Радиомодуль подключается на шину SPI (таким образом, подключаем пины колодки с 1 по 8 на GND, 3V3, D10 (CE), D9 (CSN), D13 (SCK), D11 (MOSI), D12 (MISO), D2 (IRQ) — соответственно).
- ISP — вещь стандартная и подключается следующим образом: подключаем пины разъема с 1 по 6 на D12 (MISO), VCC, D13 (SCK), D11 (MOSI), RESET, GND — соответственно).
Дальше остается определиться только с пинами для кнопок и транзисторов, управляющих реле. Но не будем торопиться — для этого подойдут любые пины МК (как цифровые, так и аналоговые). Выберем их на этапе трассировки платы (банально выберем те пины, что будут максимально просто развести до соответствующих «точек»).
Теперь следует определиться с тем, какие «корпуса» будем использовать. В этом месте начинает диктовать правила моя природная лень: мне очень не нравится сверлить печатные платы — поэтому выберем по максимуму «поверхностный монтаж» (SMD). С другой стороны, здравый смысл подсказывает, что использование SMD очень существенно сэкономит размер печатной платы.
Для новичков поверхностный монтаж покажется достаточно сложной темой, но реально это не так страшно (правда, при наличии более-менее приличной паяльной станции с феном). На youtube очень много видео-роликов с уроками по SMD — очень рекомендую ознакомиться (сам начал использовать SMD пару месяцев назад, учился как раз по таким материалам).
Сформируем «список покупок» (BOM — bill of materials) для «двухканального» модуля:
- микроконтроллер — atmega168 в корпусе TQFP32 — 1 шт.
- транзистор — MMBT2222ALT1 в корпусе SOT23 — 2 шт.
- диод — 1N4148WS в корпусе SOD323 — 2 шт.
- стабилизатор — L78L33 в корпусе SOT89 — 1 шт.
- реле — 833H-1C-C — 2 шт.
- резистор — 10кОм, типоразмер 0805 — 1 шт. (подтяжка RESET к VCC)
- резистор — 1кОм, типоразмер 0805 — 1 шт. (в цепь базы транзистора)
- конденсатор — 0.1мкФ, типоразмер 0805 — 2 шт. (по питанию)
- конденсатор — 0.33мкФ, типоразмер 0805 — 1 шт. (по питанию)
- электролитический конденсатор — 47мкФ, типоразмер 0605 — 1 шт. (по питанию)
Дополнительно к этому потребуются клеммники (для подключения силовой нагрузки), колодка 2х4 (для подключения радиомодуля), разъем 2х3 (для ISP).
Тут я немного хитрю и подглядываю в свои «запасники» (просто выбираю то, что там уже есть в наличии). Вы можете выбирать компоненты по своему усмотрению (выбор конкретных компонентов выходит за пределы этого поста).
Поскольку вся схема уже практически «сформирована» (по крайней мере, в голове), можно приступать к проектированию нашего модуля.
Вообще неплохо было бы все сначала собрать на макетке (используя корпуса с выводными элементами), но поскольку у меня все описанные выше «узлы» уже неоднократно проверены и воплощены в других проектах — позволю себе этап макетирования пропустить.
Проектирование
Для этого воспользуемся замечательной программой — EAGLE.
На мой взгляд — очень простая, но в то же время — очень удобная программа для создания принципиальных схем и печатных плат по ним. Дополнительные «плюсы» в копилку EAGLE: мультиплатформенность (мне приходится работать как на Win-, так и на MAC-компьютерах) и наличие бесплатной версии (с некоторыми ограничениями, которые для большинства «самодельщиков» покажутся совершенно несущественными).
Научить вас пользоваться EAGLE в этом топике не входит в мои планы (в конце статьи есть ссылка на замечательный и очень простой для освоения учебник по пользованию EAGLE), я лишь расскажу, некоторые свои «хитрости» при создании платы.
Мой алгоритм создания схемы и платы был примерно следюущий (ключевая последовательность):
Схема:
- Создаем новый проект, внутри которого добавляем «схему» (пустой файл).
- Добавляем МК и необходимую «обвеску» (подтягивающий резистор на RESET, блокировочный конденсатор по питанию и т.п.). Обращаем внимание на корпуса (Package) при выборе элементов из библиотеки.
- «Изображаем» ключ на транзисторе, который управляет реле. Копируем этот кусок схемы (для организации «второго канала»). Входы ключей — пока оставляем «болтаться в воздухе».
- Добавляем на схему разъем ISP и колодку для подлючения радиомодуля (делаем соответствующие соединения в схеме).
- Для питания радиомодуля добавляем в схему стабилизатор (с соответствующими конденсаторами).
- Добавляем «разъемы» для подключения «кнопок» (один пин разъема сразу «заземляем», второй — «болтается в воздухе»).
После этих действий у нас получается полная схема, но пока остаются неподключенными к МК транзисторные ключи и «кнопки».
Дальше перехожу к созданию платы (в этот раз мысль пошла «слева-направо»):
- Размещаю клеммники для подключения силовой нагрузки.
- Правее клеммников — реле.
- Еще правее — элементы транзисторных ключей.
- Стабилизатор питания для радиомодуля (с соответствующими конденсаторами) размещаю рядом с транзисторными ключами (в нижней части платы).
- Размещаю колодку для подключения радиомодуля снизу справа (обращаем внимание на то, в каком положении окажется сам радиомодуль при паравильном подключении к этой колодке — по моей задумке он должен не выступать за пределы основной платы).
- Разъем ISP размещаю рядом с разъемом радиомодуля (поскольку используются одни и те же «пины» МК — чтобы было проще разводить плату).
- В оставшемся пространстве располагаю МК (корпус надо «покрутить», чтобы определить наиболее оптимальное его положение, чтобы обеспечить минимальную длинну дорожек).
- Блокировочные конденсаторы размещаем максимально близко к соответствующим выводам (МК и радиомодуля).
После того, как элементы размещены на своих местах — делаю трассировку проводников. «Землю» (GND) — не развожу (позже сделаю полигон для этой цепи).
Теперь уже можно определиться с подключением ключей и кнопок (смотрю, какие пины ближе к соответствующим цепям и которые проще будет подключить на плате), для этого хорошо перед глазами иметь следующую картинку:
Расположение чипа МК на плате у меня как раз соответствует картинке выше (только повернут на 45 градусов по часовой стрелке), поэтому мой выбор следующий:
- Транзисторные ключи подключаем на пины D3, D4.
- Кнопки — на A1, A0.
Внимательный читатель увидит, что на схеме ниже фигурирует atmega8, в описании упоминается atmega168, а на картинке с чипом — вообще amega328. Пусть это вас не смущает — чипы имеют одинаковую распиновку и (конкретно для этого проекта) взаимозаменяемы и отличаются только количеством памяти «на борту». Выбираем то, что нравится/имеется (я в последствии в плату запаял 168 «камушек»: памяти побольше, чем у amega8 — можно будет побольше логики реализовать, но об этом во второй части).
Собственно, на этом этапе схема принимает финальный вид (делаем на схеме соответствующие изменения — «подключаем» ключи и кнопки на выбранные пины):
После этого уже доделываю последние соединения в проекте печатной платы, «набрасываю» полигоны GND (поскольку лазерный принтер плохо печатает сплошные полигоны, делаю его «сеточкой»), добавляю пару-тройку переходов (VIA) с одного слоя платы на другой и проверяю, что не осталось ни одной не разведенной цепи.
У меня получилась платка размером 56х35мм.
Архив со схемой и платой для Eagle версии 6.1.0 (и выше) находится по ссылке.
Вуаля, можно приступать к изготовлению печатной платы.
Изготовление печатной платы
Плату делаю методом ЛУТ (Лазерно-Утюжная Технология). В конце поста есть ссылка на материалы, которые мне очень помогли.
Приведу для порядка основны шаги по изготовлению платы:
- Печатаю на бумаге Lomond 130 (глянцевая) нижнюю сторону платы.
- Печатаю на такой же бумаге верхнюю сторону платы (зеркально!).
- Складываю полученные распечатки изображениями внутрь и на просвет совмещаю (очень важно получить максимальную точность).
- После этого степлером скрепляю листки бумаги (постоянно контролируя, чтобы совмещение не было нарушено) с трех сторон — получается «конверт».
- Вырезаю подходящего размера кусок двустороннего стеклотекстолита (ножницами по металлу или ножевкой).
- Стеклотекстолит нужно обработать очень мелкой шкуркой (убираем окислы) и обезжирить (я делаю это ацетоном).
- Полученную заготовку (аккуратно, за края, не трогая очищенные поверхности) помещаю в полученный «конверт».
- Разогреваю утюг «на полную» и тщательно утюжу заготовку с двух сторон.
- Оставляю плату остыть (минут 5), после этого можно под струей воды отмачивать бумагу и удалять ее.
После того, как кажется, что вся бумага удалена — вытираю плату насухо и под светом настольной лампы рассматриваю на предмет дефектов. Обычно находится несколько мест, где остались кусочки глянцевого слоя бумаги (выглядят как белесые пятнышки) — обычно эти остатки находятся в наиболее узких местах между проводниками. Я их удаляю обычной швейной иглой (важна твердая рука, особенно при изготовлении плат под «мелкие» корпуса).
Далее плату травлю в растворе хлорного железа (не допуская недо- и пере-травливания).
Тонер смываю ацетоном.
Совет: когда делаете мелкие платы, сделайте заготовку под нужное количество плат, просто разместив изображения верхней и нижней части платы в нескольких экземплярах — и уже это «комбинированное» изображение «накатывайте» на заготовку из стеклотекстолита. После травления достаточно будет разрезать заготовку на отдельные платы.
Только обязательно проверяйте размеры плат при вводе на бумагу: некоторые программы любят «чуть-чуть» изменить масштаб изображения при выводе, а это недопустимо.
Контроль качества
После этого делаю визуальный контроль (требуется хорошее освещение и лупа). Если есть какие-то подозрения, что имеется «залипуха» — контроль тестером «подозрительных» мест.
Для самоуспокоения — контроль тестером всех соседствующих проводников (удобно пользоваться режимом «прозвонка», когда при «коротком замыкании» тестер подает звуковой сигнал).
Если все-таки где-то обнаружен ненужный контакт — исправляю это острым ножом. Дополнительно обращаю внимание на возможные «микротрещины» (пока просто фиксирую их — исправлять буду на этапе лужения платы).
Лужение, сверление
Я предпочитаю плату перед сверлением залудить — так мягкий припой позволяет чуть проще сверлить и сверло на «выходе» из платы меньше «рвет» медные проводники.
Сначала изготовленную печатную плату необходимо обезжирить (ацетон или спирт), можно «пройтись» ластиком, чтобы убрать появившиеся окислы. После этого — покрываю плату обычным глицерином и дальше уже паяльником (температура где-то около 300 градусов) с небольшим количеством припоя «вожу» по дорожкам — припой ложится ровно и красиво (блестит). Лудить надо достаточно быстро, чтобы дорожки не поотваливались.
Когда все готово — отмываю плату с обычным жидким мылом.
После этого уже можно сверлить плату.
С отверстиями диаметром более 1мм все достаточно просто (просто сверлю и все — надо только вертикальность постараться соблюсти, тогда выходное отверстие попадет в отведенное ему место).
А вот с переходными отверстиями (я их делаю сверлом 0,6мм) несколько сложнее — выходное отверстие, как правило, получается немного «рваным» и это может приводить к нежелательному разрыву проводника.
Тут можно посоветовать делать каждое отверстие за два прохода: засверлить сначала с одной стороны (но так, чтобы сверло не вышло с другой стороны платы), а затем — аналогично с другой стороны. При таком подходе «соединение» отверстий произойдет в толще платы (и небольшая несоосность не будет проблемой).
Монтаж элементов
Сначала распаиваются межслойные перемычки.
Там где это просто переходные отверстия — просто вставляю кусочек медной проволоки и запаиваю его с двух сторон.
Если «переход» осуществляется через одно из отверстий для выводных элементов (разъемы, реле и т.п.): распускаю многожильный провод на тонкие жилы и аккуратно запаиваю кусочки этой жилы с двух сторон в тех отверстиях, где нужен переход, при этом минимально занимая пространство внутри отверстия. Это позволяет реализовать переход и отверстия остаются достаточно свободными для того, чтобы соответствующие разъемы нормально встали на свои места и были распаяны.
Тут опять следует вернуться к этапу «контроль качества» — прозваниваю тестером все подозрительные ранее и полученные в ходе лужения/сверления/создания переходов новые места.
Проверяю, что обнаруженные ранее микротрещины устранены припоем (или устраняю припаивая тонкий проводник поверх трещинки, если после лужения трещинка осталась).
Устраняю все «залипухи», если такие все-таки появились в процессе лужения. Это гораздо проще сделать сейчас, чем в процессе отладки уже полностью собранной платы.
Теперь можно приступать непосредственно к монтажу элементов.
Мой принцип: «снизу вверх» (сначала распаиваю наименее высокие компоненты, потом те, что «повыше» и те, что «высокие»). Такой подход позволяет с меньшими неудобствами разместить все элементы на плате.
Таким образом, сначала распаиваются SMD-компоненты (я начинаю с тех элементов, у которых «больше ног» — МК, транзисторы, диоды, резисторы, конденсаторы), потом дело доходит и до выводных компонентов — разъемов, реле и т.п.
Таким образом, получаем уже готовую плату.
Продолжение следует…
P.S. «Двухканальный» модуль можно использовать для замены «проходных» выключателей (обычно ставятся в начале и конце лестницы между этажами и т.п. местах).
P.P.S. Если использовать более плоские кнопочные выключатели, то при небольшой доработке можно сделать платы, которые уместятся в существующие монтажные коробки (т.е. не только для размещения в нишах гипсокартонных стен).
P.P.P.S. Да, этот пост — развитие темы, которую я затронул ранее.
Полезные ссылки:
habr.com
Радио управление 10 команд своими руками

В этой статье, вы увидите как сделать радиоуправление на 10 команд своими руками. Дальность действия данного устройства 200 метров на земле и более 400м в воздухе. Нажатие кнопок может производиться в любой последовательности, хоть все сразу все работает стабильно. С помощью его можно управлять разными нагрузками: воротами гаража, светом, моделями самолетов, автомобилей и так далее… В общем чем угодно, все зависит от вашей фантазии.
Для работы нам потребуются список деталей:
1) PIC16F628A-2 шт (микроконтроллер)
2) MRF49XA-2 шт (радио трансмиттер)
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 и самодельную панельку


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

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


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


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

Нажимаем вставить файл с прошивкой и нажимаем WRITE

Аналогично делам и с другим микроконтроллером.
Файл TX-это для передатчика, а RX — для приемника. Главное потом не перепутать микроконтроллеры. И припаиваем микроконтроллеры на плату. После того как соберете, ни в коем случае не подключайте нагрузку сразу к плате, а то спалите все. Нагрузку к плате следует подключать через мощный транзистор как на фото

На схеме светодиоды стоят чисто для проверки работоспособности. Если у кого нету программатора тоже обращайтесь, помогу с уже прошитыми микросхемами.
С вопросами и предложениями обращаться на почту [email protected] или в комментариях.
Вот файлы с прошивкой Rx1.zip [1.46 Kb] (скачиваний: 3103)
Автор схемы: Blaze с форума vrtp.ru link

Получайте на почту подборку новых самоделок. Никакого спама, только полезные идеи!
*Заполняя форму вы соглашаетесь на обработку персональных данных
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.usamodelkina.ru
Схема. Однокомандная система радиоуправления. — Сайт радиолюбителей и радиомастеров. Схемы и сервис мануалы.
В некоторых случаях требуется однокомандная система дистанционного управления, достаточно простая, дешевая, с хорошей дальностью. Например, в ракетном моделировании, когда в определенный момент нужно выбросить парашют. Обычно для таких целей используют систему, состоящую из простого сверхрегенеративного приемника и передатчика. Конечно такая схема очень проста по количеству транзисторов, но для получения хорошей чувствительности приемнику-сверхрегенератору нужна кропотливая настройка, налаживание, которая к тому же легко сбивается под действием таких внешних факторов как влияние внешних емкостей, изменения температуры, влажности. И проблема не только в отклонении частоты настройки (это не столь страшно), сколько в том, что изменяется коэффициент обратной связи в сверхрегенераторе, режим транзистора, что в конечном итоге сверхрегенеративный приемник превращает в обычный детекторный приемник или в генератор.
Более стабильных параметров при такой же простоте (по количеству деталей) можно достигнуть если построить приемный тракт по супергетеродинной схеме на интегральной микросхеме. Но специализированные микросхемы для связной аппаратуры не всегда есть в наличии. Зато наверняка у каждого радиолюбителя найдется микросхема К174ХА34 или даже готовый радиовещательный приемный тракт на её основе. Какое-то время назад было простаки повальное увлечение конструированием УКВ-ЧМ радиовещательных приемников на её основе. Сейчас же многие из них отправлены «на дальнюю полку».
Напомню, что микросхема К174ХА34 (аналог TDA7021) представляет собой супергетеродинный радиоприемный тракт УКВ-ЧМ диапазона, работающий с низкой промежуточной частотой (70 кГц). Такая низкая ПЧ позволяет в простейшем варианте ограничиться всего одним контуром, – гетеродинным. Избавиться от LC или пъезокерамических фильтров ПЧ (фильтры сделаны на ОУ по RC-схемам). А в результате получается приемный тракт почти не требующий настройки, – если все правильно спаять работает сразу же, – только контур гетеродина подстроить и готово.
Микросхемы К174ХА34 выпускались в 16-ти и 18-ти выводных корпусах. Что интересно цоколевки у них почти совпадают. Их даже можно воткнуть в одну и ту же плату, подогнув или отрезав лишние выводы, либо оставив две дырки пустыми. Просто нужно мысленно себе представить что у 18-выводного корпуса нет выводов 9 и 10. Если их не брать в расчет то по номерам все как у 16-выводного варианта. У меня была микросхема в 16-выеодном корпусе.
И так, у 16-выводного варианта есть вывод 9 (это же вывод 11 у 18-выводного), так вот этот вывод обычно либо не использовался, либо служил для индикатора точной настройки. Напряжение на нем изменяется в зависимости от величины входного сигнала. Так вот, если это напряжение с него подать на транзисторный ключ с электромагнитным реле на выходе, то при включении передатчика (даже без модуляции) реле будет переключать контакты.
Практически берем типовой приемный тракт на К174ХА34 и задействуем 9-й вывод (рис.1). Теперь остается только настроить приемный тракт на нужную частоту контуром L1-C2. И отрегулировать резистором R2 порог срабатывания реле.
Антенна приемника может быть любой конструкции, – это зависит от места где будет установлен приемный тракт. У меня антенной служит жесткая стальная проволока длиной 30 см.
Схема передатчика показана на рисунке 2. Это однокаскадный генератор ВЧ с антенной на выходе.
Настройку передатчика нужно выполнять с подключенной антенной. В качестве антенны можно использовать проволочный штырь длиной не менее 1 метра. В процессе настройки нужно настроить передатчик на свободную частоту в УКВ-ЧМ диапазоне. Для этого нужен контрольный УКВ-ЧМ приемник с индикатором точной настройки. Передатчик работает без модуляции поэтому факт приема будет виден только по индикатору точной настройки. Впрочем, временно можно сделать модуляцию, подав на базу транзистора VT1 (рис.2.) какой-то аудиосигнал.
Настройка частоты передатчика катушкой L1. Глубину ПОС можно менять изменяя соотношение конденсаторов С2 и СЗ (будет удобнее если заменить их подстроечными). Потом потребуется еще раз точная подгонка частоты.
Режим работы каскада выставляется резистором R1 экспериментально по наилучшей отдаче, но ток потребления при этом не должен быть более 50 мА.
Детали. Катушка гетеродина приемного тракта бескаркасная. Её внутренний диаметр 3 мм. Провод – ПЭВ 0,43, а число витков 12. Изменять индуктивность катушки можно сжимая и растягивая её как пружину.
Катушка передатчика имеет аналогичную конструкцию и так же регулируется её индуктивность. Но внутренний диаметр катушки 5 мм, а число витков 8. Провод тоже более толстый – ПЭВ 0,61.
Вообще, эти катушки можно наматывать практически любым обмоточным или посеребрянным проводом сечением от 0,3 до 1,0 мм.
Электромагнитное реле маломощное с обмоткой на 5V (РЭС-55А, сопротивление обмотки 100 Ом). Можно использовать и другое реле с обмоткой на 5V. Если нужно работать с реле с обмоткой на более высокое напряжение нужно соответственно увеличить напряжение питания схемы, и параллельно конденсатору С14 подключить стабилитрон на 4,5-5,5V.
Похожие статьи:
Микроконтроллерная система дистанционного управления
Post Views: 348
radioelectronika.ru
Аппаратура радиоуправления на Arduino

Для передатчика понадобятся:
1 x Arduino NANO/UNO/ProMini
1 x Плата защиты BMS для трех Li-ion банок
1 x разъем 5,5 x 2,1 мм
1 x повышающий DC/DC преобразователь XL6009
1 x небольшой понижающий преобразователь LM2596 (о нем скажу отдельно)
3 x 18650 :
2 x джойстики JH-D202X (продаются на али)
2 x тумблер
1 x i2c OLED-экран 0,96 дюйма 128X64
1 x радио модуль NRF24l01 с усилителем и антенной
9 x тактовая кнопка 6 * 6 * 5 мм
Резисторы выводные (смотри схему)
Для приемника понадобятся:
1 х Arduino NANO/UNO/Pro Mini
1 х радио модуль NRF24l01
1 х AMS1117 3,3 В стабилизатор напряжения
30 х PLS гребенки
1 х макетная плата
1 х 10 мкФ конденсатор
Ниже Вы можете видеть графическое изображение всех компонентов и схему их соединения. Перед сборкой понижающие преобразователи обязательно нужно настроить, XL6009 на 12,6 В (этот модуль ответственен за зарядку), LM2596 на 3,3 В (питание радиомодуля). Вместо LM2596 теоретически можно использовать и ASM117, согласно даташиту максимальное входное напряжение этого стабилизатора 15 В, однако советуется не подавать выше 12 В. Видимо исходя из этих соображений автор и использовал еще один DC/DC преобразователь. Вместо него так же можно использовать регулируемый стабилизатор, например LM317.

Корпус

Корпус состоит из двух основных частей: верхней и нижней. Помимо этого печатаются 9 кнопок (8 на триммирование и одна кнопка режима), 5 подпорок для кнопок, окантовка дисплея и ползунок включения. Автор печатал PLA ластиком с 20% заполнением, соплом 0,4 мм и высотой слоя 0,3 мм. К слову, никто не запрещает использовать другой корпус, можно взять просто подходящую коробку, склеить его самому или взять достаточно крупный корпус от китайской игрушки, на сайтах объявлений их чуть ли не мешками продают.
Монтаж передатчика
Аккумуляторы соединяются последовательно. Автор сделал это при помощи пайки, хочу отметить, что пайка банок 18650 требует некой сноровки, по этому если у Вас такого опыта нет — покупайте аккумуляторы с уже приваренными лепестками и подпаивайтесь к ним. Так же аккумуляторы согласно вышеизложенной схеме припаиваются к модулю BMS, на вход которого подается напряжение с преобразователя XL6009 (вместо него можно использовать MT3608). BMS отвечает за равномерную зарядку/разрядку всех банок и отключает питание, когда аккумуляторы разрядятся. Напряжение так же можно мониторить при помощи дисплейчика. Зарядка аккумуляторов осуществляется блоком питания 9 В с током не выше 3 А (максимум для XL6009 ). Фактически же ток заряда нужно подсчитать в зависимости от емкости аккумуляторов и взять блок питания с немного меньшим током или ограничить его. Монтировать модули в корпус удобно при помощи «автомобильного» двухстороннего скотча.

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

По сути джойстик работает как делитель, отклоняя ручку мы меняем напряжение на среднем выводе потенциометра, и в зависимости от этого напряжения ардуино определяет отклонение.
[center] [/center]
Так же подключаются и тумблеры. Тумблеры нужны двухпозиционные, так как канал дискретный и имеет только два значения — 0 или 1, в зависимости от того, к чему притягивается вывод ардуино — к земле или питанию 5 В. При чем обязательно двухпозиционный, если оставить вывод «висеть в воздухе», что было бы при использовании трех позиционного, контроллер не понимает что происходит и значение рандомно скачет то 0, то 1 (по моим опытам). Дополнительные потенциометры можете не ставить, на данный момент они не задействованы. А можете поставить и мониторить страницу источника, возможно автор со временем выложит обновленную прошивку.

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

Прошивка
О прошивке ардуино говорилось уже 1000 раз, на данном момент времени умение это делать взявшись за проект на ардуино является таким же важным по умолчанию, как умение держать в руках паяльник, взявшись что-то паять. Код для передатчика, приемника, необходимые библиотеки и файл для 3D печати корпуса можно скачать одним архивом в конце статьи.
Приёмник

Для приёмника потребуется ещё одна плата ардуино, радио модуль (без антенны, телеметрия все равно тут не реализована) и стабилизатор на 3,3 вольта. Приемник распаивается на макетной плате. Питание приемника осуществляется так же, как и питание любого другого заводского приемника, со специального выхода регулятора скорости.

От себя хочу добавить, что вместо стандартной антенны этого модуля желательно припаять такую же антенну, какая установлена в модуле с усилителем (только без корпуса). Это не особо повлияет на дальность приема, но значительно повлияет на качество приема в зависимости от положения управляемой модели в различных плоскостях. На современных приемниках и передатчиках ради этой цели даже устанавливается по две антенны, которые располагаются перпендикулярно друг другу.
Помимо этого автор реализовал очень важную функцию — вывод с приемника PPM сигнала. Схематически при этом ничего не меняется, нужно лишь залить другую прошивку, PPM сигнал при этом выводиться так же, как и в большинстве заводских приемников — с первого канала (газа).

На этом всё. Лично мне проект очень понравился, и как я уже говорил, в планах его повторение в корпусе от пульта детской игрушки. В меню Вы можете выбрать режим от линейного до экспоненциального и точно настроить значение каждого стика. Имейте в виду, что среднее значение каждого канала должно быть 127.
Скачать все необходимое можно тут.
Всем успехов в творчестве!
Источник

Получайте на почту подборку новых самоделок. Никакого спама, только полезные идеи!
*Заполняя форму вы соглашаетесь на обработку персональных данных
Становитесь автором сайта, публикуйте собственные статьи, описания самоделок с оплатой за текст. Подробнее здесь.usamodelkina.ru
Радиореле 433 МГц Управляй мечтой 🙂 Все просто и за копейки.
Устройство дистанционного радиоуправления или радиореле 433 МГц, о котором пойдет речь, можно использовать для разных приблуд. Например, для дистанционного управления воротами или калиткой, светом, в качестве радио-кнопки тревожной сигнализации и т.д.
Я же сперва использовал радиореле для дистанционного выключения бензогенератора. Включаться дистанционно он не сможет, стартер все таки ручной.
Радиореле 433 МГц.
Пока нет электричества на стройке, используем бензогенератор. Для экономии бензина это выглядит примерно так: прибежал запустил бензогенератор, побежал в дом перемешал шпаклевку дрелью или отпилил что-нибудь болгаркой, побежал обратно выключать генератор.
Чтобы не бегать обратно каждый раз, а в место этого просто нажать на радиокнопку, мне и пришла эта идея с радиореле 433 МГц.
Радиореле может работать в нескольких предустановленных режимах:
- (1) Включено, пока удерживается кнопка. Кнопка отпущена — выключено.
- (2) Нажал кнопку — включено. Нажал еще раз выключено.
- (3) На одну кнопку включается. На другую выключается.
- (4) Режим с задержкой включения на 5 секунд, (5) 10 секунд , (6) 15 секунд.
Также можно «привязать» к устройству несколько радиопультов (50 штук).
Устройство может работать с разными радиокнопками на 433 МГц.
Я заказывал себе с такой радиокнопкой здесь. Есть выдвижная антенна. Имеется сдвижная защитная шторка, чтобы случайно не нажать на кнопку. Там же можно заказать и просто радиореле без пульта, если он у вас уже есть.
Еще есть варианты с другими радиокнопками. Например здесь можно заказать устройство с радиопультом, как на фото ниже.
Программирование режима работы радиореле.
У китайцев да и на других сайтах по этому поводу какая-то муть написана. Пока методом тыка не догадаешься нифига не запрограммируешь по такой инструкции.
На самом деле все просто:
- Нажимаем на кнопочку и удерживаем на плате радиореле (там она одна), пока светодиод на плате не начнет мигать.
- Затем уже нажимаем кнопку на радиокнопке (радиопульте). Причем нажимаем ее быстро и столько раз в зависимости какой хотим установить режим работы радиореле.
Например, мне нужен был второй режим, значит жмем два раза.
Например, хотим запрораммировать режим с задержкой включения 10 секунд, значит жмем пять раз.
Подключение радиореле 433 Мгц к бензогенератору.
Итак режим запрограммирован. Один раз нажали включилось, еще раз нажали отключилось.
Для питания нашего устройства нам понадобиться источник питания на 12 вольт. Ток потребления очень низкий, подойдет практически любой источник постоянного напряжения на 12 вольт.
Например, вот недорогой блок питания на 12В и достаточно надежный можно взять у китайцев здесь.
Размер платы примерно 6 на 3 см.
На плате радиореле все выходы подписаны и все интуитивно понятно. Итак ко входу питания естественно подаем 12 вольт с нашего блока питания.
Берем нормально разомкнутые контакты реле и подключаем их параллельно кнопке зажигания бензогенератора.
Работает так:
- Если нам не нужно радиоуправления, то ничего не делаем. Подключены нормально разомкнутые контакты и они не влияют на работу бензогенератора.
- Если хотим выключить бензогенератор радиокнопкой делаем так. Нажимаем переключатель зажигания на бензогенераторе и заводим ручным стартером (в общем запускаем как делаем это обычно). Затем нажимаем кнопку на радиопульте, реле радиомодуля переключается и подключенные к переключателю на генераторе контакты замыкаются. Потом переключаем переключатель на бензогенераторе. Бензогенератор не глохнет так как реле замыкает контакты. Теперь при нажатии на кнопку радиопульта, генератор выключиться.
Радиореле с пультом (можно без) на 433 МГц заказывал у китайцев здесь.
С другим радиопультом можно заказать тут.
Блок питания на 12 Вольт 1.5 Ампера за копейки.
moyteremok.ru
Делаем радиоуправление для самолета / Habr
Прочитав этот пост загорелся и я идеей склепать свой самолетик. Взял готовые чертежи, заказал у китайцев моторчики, аккумуляторы и пропеллеры. А вот радиоуправление решил сделать самостоятельно, во-первых — так интереснее, во-вторых — надо себя чем-то занять пока посылка с остальными запчастями будет ехать, ну и в третьих — появилась возможность соригинальничать и добавить всяких плюшек.
Осторожно, картинки!
Как и чем управлять
Нормальные люди берут приемник, втыкают в него сервомашинки, регулятор скорости, двигают рычажки на пульте и радуются жизни не задаваясь принципами работы и не углубляясь в подробности. В нашем случае такое не пройдет. Первой задачей стало узнать каким макаром управляются сервомашинки. Все оказывается достаточно просто, у привода есть три провода: + питания, — питания и сигнальный. На сигнальном проводе прямоугольные импульсы изменяемой скважности. Чтобы понять что это такое смотрим картинку:
Итак, если мы хотим установить привод в крайнее левое положение нужно слать импульсы длительностью 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<<COM1A1 | 0<<COM1A0 | 1<<COM1B1 | 0<<COM1B0 | 0<<FOC1A | 0<<FOC1B | 1<<WGM11 | 1<<WGM10; //Запускаем неинвертированный Fast PWM на выходе OC1B с верхним значением счетчика, которое записанно в OCR1A
TCCR1B = 0<<ICNC1 | 0<<ICES1 | 1<<WGM13 | 1<<WGM12 | 0<<CS12 | 0<<CS11 | 1<<CS10; //предделитель 1
TIMSK = 1<<OCIE1A | 1<<OCIE1B | 0<<TOIE1; //Разрешаем прерывания по совпадению
Остается реализовать прерывания:
ISR(TIMER1_COMPA_vect) //прерывание по достижению верхнего значения счетчика, непосредственно перед началом следующего импульса
{
//c_num- переменная, обозначающая номер текущего канала, channels - массив значений каналов
if (c_num <= 7)
{
OCR1B = channels[c_num];
}
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м, дальше тоже ловит, но через раз.
Ну вот и все, благодарю за внимание. Надеюсь, приведенная информация окажется для кого-то полезной. Буду рад ответить на все вопросы.
В архиве схема и разводка платы для Протеуса.
habr.com