Схема remote control

Обновлено: 04.07.2024

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

Дистанционный выключатель света для деревенского хозяйства (TX118SA-4, RX480R)

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

Радиовыключатель с обратным откликом на модулях RX480E-4и TX118SA-4

Сейчас можно очень простым способом на основе двух радиомодулей RX480E-4 и TX118SA-4 сделать дистанционный выключатель или переключатель. В отличие от ИК радиоканал хорош и тем, что проходит сквозь стену и обладает значительно большей дальностью. Но это создает и определенные неудобства, особенно .

Схема управления сервоприводом поворота камеры (CD4001)

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

Схема радиоуправляемого удлинителя на четыре розетки (RX480-E)

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

Приставки к УКВ радиостанции для дистанционного управления

Схемы простых приставок к УКВ радиостанциям для организации системы дистанционного управления игрушками, исполнительными устройствами. В настоящее время гражданская радиосвязь на диапазоне 433-446 МГц развивается очень бурно. В магазинах электроники или средств связи в свободной продаже всегда .

Схема дистанционного управления автоответчиком (КР1008ВЖ18)

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

Дистанционное управление на ИК-лучах (HT12E, HT12D, NE555)

Схема дистанционного управления на микросхемах HT12E и HT12D фирмы Holtek, которые представляют собой кодер и декодер. Эти микросхемы служат для передачи команд на некоторое расстояние, по ИК-каналу или радиоканалу (в зависимости от типа приемника и передатчика). Установкой перемычек между выводами .

Дистанционное управление с помощью рации или радиостанции

Схемы простых приставок к рации или радиостанции, которые позволят превратить их в систему дистанционного управления. В настоящее время населению доступны самые разнообразные средства радиосвязи,- это сотовые телефоны, беспроводные телефонные аппараты, карманные УКВ-радиостанции, не требующие .

Приемник луча от лазерной указки для дистанционного управления (К561ТМ2, IRF840)

Схема самодельного лазерного реле, которое управляется от лазерной указки, в схеме использованы К561ТМ2, IRF840. Во многих магазинах продаются лазерные указки. Практически, это карманныйфонарик с полупроводниковым лазером вместо лампочки. Прямое назначение предмета -именно указка, лазер .

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


Начало
  1. Хочется реализовать удаленное управление светом и вытяжкой.
  2. Выключатели есть одно- и двух-секционные (свет и свет+вытяжка).
  3. Выключатели установлены в стене из гипсокартона.
  4. Вся проводка — трехпроводная (присутствует фаза, нуль, защитное заземление).

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

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

Четвертый пункт — существенно облегчает поиск источника питания (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 пару месяцев назад, учился как раз по таким материалам).
  • микроконтроллер — 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 шт. (по питанию)

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

Поскольку вся схема уже практически «сформирована» (по крайней мере, в голове), можно приступать к проектированию нашего модуля.

Вообще неплохо было бы все сначала собрать на макетке (используя корпуса с выводными элементами), но поскольку у меня все описанные выше «узлы» уже неоднократно проверены и воплощены в других проектах — позволю себе этап макетирования пропустить.
Проектирование

Для этого воспользуемся замечательной программой — EAGLE.

На мой взгляд — очень простая, но в то же время — очень удобная программа для создания принципиальных схем и печатных плат по ним. Дополнительные «плюсы» в копилку EAGLE: мультиплатформенность (мне приходится работать как на Win-, так и на MAC-компьютерах) и наличие бесплатной версии (с некоторыми ограничениями, которые для большинства «самодельщиков» покажутся совершенно несущественными).

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

Мой алгоритм создания схемы и платы был примерно следюущий (ключевая последовательность):

  • Размещаю клеммники для подключения силовой нагрузки.
  • Правее клеммников — реле.
  • Еще правее — элементы транзисторных ключей.
  • Стабилизатор питания для радиомодуля (с соответствующими конденсаторами) размещаю рядом с транзисторными ключами (в нижней части платы).
  • Размещаю колодку для подключения радиомодуля снизу справа (обращаем внимание на то, в каком положении окажется сам радиомодуль при паравильном подключении к этой колодке — по моей задумке он должен не выступать за пределы основной платы).
  • Разъем ISP размещаю рядом с разъемом радиомодуля (поскольку используются одни и те же «пины» МК — чтобы было проще разводить плату).
  • В оставшемся пространстве располагаю МК (корпус надо «покрутить», чтобы определить наиболее оптимальное его положение, чтобы обеспечить минимальную длинну дорожек).
  • Блокировочные конденсаторы размещаем максимально близко к соответствующим выводам (МК и радиомодуля).

Теперь уже можно определиться с подключением ключей и кнопок (смотрю, какие пины ближе к соответствующим цепям и которые проще будет подключить на плате), для этого хорошо перед глазами иметь следующую картинку:


  • Транзисторные ключи подключаем на пины 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-компоненты (я начинаю с тех элементов, у которых «больше ног» — МК, транзисторы, диоды, резисторы, конденсаторы), потом дело доходит и до выводных компонентов — разъемов, реле и т.п.

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

Для передачи команд используется число-импульсный код. Каждой нагрузке поставлена в соответствие своя команда (от одного до семи импульсов фиксированной длительности). Команды подаются поочередно.

  • вход HS (вывод 17) - вход от "рычажного переключателя" (положение трубки);
  • вход DRS (вывод 10) - выбор частоты кодовой посылки (10 или 20 импульсов в секунду);
  • вход M/S (вывод 11) - выбор отношения импульс/пауза.

Первое нажатие кнопки подключает нагрузку, второе нажатие этой же кнопки отключает ее.

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

Принципиальная схема шифратора изображена на рис.1, форма сигнала на его выходе - на рис.2 (эпюра 1). Особенность шифратора состоит в том, что его основой является ИМС импульсного номеронабирателя КР1008ВЖ10, в которую встроено большинство необходимых узлов. Рассмотрим микросхему номеронабирателя.

  • входы Y0-Y3 (выводы 13-16), Х0-Х2 (выводы 3-5) -подключение клавиатурной матрицы;
  • входы R1, C, R2 (выводы 7-9) - подключение внешних навесных элементов тактового генератора;
  • вход U (вывод 1) - напряжение питания;
  • вход OV (вывод 6) - общий;
  • вход OVS (вывод 2) - общий вывод встроенного стабилизатора;
  • за (3:2 или 2:1);
  • вход NSA (вывод 12) - выход разговорного ключа (в данном случае не используется);
  • выход NSI (вывод 18) - выход импульсного ключа. Выходы NSI и NSA выполнены по схеме с открытым коллектором.

Более подробно микросхема описана в [1].

Принципиальная схема шифратора команд

Рис. 1. Принципиальная схема шифратора команд.

Частота следования посылок 10 имп/с (вход DRS соединен с общим проводом), отношение импульс/пауза 2:1 (вход M/S соединен с "плюсом" источника питания), т.е. длительность посылки лог."0" равна 66,6 мс, лог.Т -33,3 мс.

Формы сигналов

Рис. 2. Формы сигналов.

Выход импульсного ключа через "притягивающий" резистор R4 соединен с "плюсом" источника питания. При нажатии любой из кнопок на выходе импульсного ключа появляется импульсная последовательность частотой 10 Гц с числом импульсов, равным номеру нажатой кнопки и амплитудой, практически равной напряжению питания.

Через буферные элементы DD2.1-DD2.2 она поступает на выход дешифратора (рис.2, эпюра 1). Цепочка R3C2 служит для начальной установки микросхемы номеронабирателя при включении питания.

Принципиальная схема дешифратора команд

Рис. 3. Принципиальная схема дешифратора команд.

С выхода шифратора (непосредственно или после модуляции - демодуляции) импульсная последовательность поступает на дешифратор (рис.3). На входе дешифратора установлен формирователь, состоящий из элементов DD1.1 "исключающее ИЛИ", R1, C1.

Такой формирователь обладает свойствами триггера Шмитта и интегрирующей цепочки. Импульсы на его выходе имеют крутые фронты независимо от крутизны фронтов входных импульсов.

Кроме того, он подавляет импульсные помехи малой длительности, так как конденсатор С1 не успевает зарядиться до порога переключения элемента DD1.1.

С выхода элемента DD1.1 импульсы поступают на детектор паузы, который собран на элементах DD1.2, R2, VD1, С2. Так же, как и DD1.1, элемент DD1.2 работает как усилитель - повторитель сигнала, поскольку один из его входов соединен с общим проводом.

Детектор паузы работает следующим образом. Первый отрицательный импульс последовательности, проходя через диод VD1 на вход элемента DD1.2, переключает его в состояние лог."0".

В паузах между соседними импульсами последовательности конденсатор С2 заряжается через резистор R2, однако при этом напряжение на входе элемента DD1.2 не достигает порога переключения.

Каждый последующий импульс через диод VD1 быстро разряжает конденсатор С2 (рис.2, эпюры 2 и 3), поэтому во время прохождения последовательности на выходе элемента DD1.2 будет лог."0".

В паузах между последовательностями напряжение на конденсаторе С2 достигает порога переключения, и элемент DD1.2 переключается в лог."1".

Импульсы с выхода формирователя поступают также на счетный вход CN счетчика DD2.1, поэтому после окончания последовательности на его выходах присутствует двоичный код числа импульсов.

Этот код поступает на адресные входы мультиплексора DD3. Лог."0" на выходе детектора паузы через элементы задержки DD1.3, DD1.4, r3, C3 поступает на инверсный вход V мультиплексора, разрешая прохождение сигнала со входа "X" на выход, код которого присутствует на адресных входах.

Через некоторое время t31 (около 100 мс), определяемое элементами R2, С2 детектора паузы, выход элемента DD1.2 установится в лог."1". Этот перепад со входа пройдет на один из выходов мультиплексора DD3, устанавливая соответствующий триггер в состояние лог.'Т' Повторная передача такой же последовательности установит этот же триггер в состояние лог."0".

Через некоторое время t32 (рис.2, эпюра 4), определяемое элементами r3, C3, положительный перепад с выхода элемента DD1.4 поступает на вход сброса R счетчика DD2.1 и устанавливает его в исходное состояние; высокий уровень на выходе элемента DD1.4 переводит все каналы мультиплексора в разомкнутое состояние.

Дешифратор готов к приему новой импульсной последовательности. Цепочка R11C4 устанавливает все триггеры в исходное состояние (лог."0") при включении питания.

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

image

Всем привет. Представляю на общее обозрение самодельный пульт радиоуправления для управления различными объектами на расстоянии. Это может быть машинка, танк, катер и т.д. изготовленное мной для “детского” радио кружка. С применением радио модуля NRF24L01 и микроконтроллера ATMEGA16.

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

Сборка и комплектующие:

image

image

Разобрав игровой джойстик на составляющие, сразу стало ясно, нужно изготовить новую печатную плату, причем, весьма необычной формы. Сначала, хотел развести печатную плату на микроконтроллер ATMEGA48, но как оказалось портов микроконтроллера просто не хватает под все кнопки. Конечно, такое количество кнопок в принципе не нужно и можно было ограничиться только четырьмя портами микроконтроллера АЦП для двух джойстиков и два порта для тактовых кнопок, размещенных на джойстиках. Но мне захотелось по возможности максимально большое количество кнопок задействовать, кто знает, чего там детишки ещё захотят добавить. Так была рождена печатная плата под микроконтроллер ATMEGA16. Сами микроконтроллеры у меня были в наличии, остались от какого-то проекта.

Резинки на кнопках очень сильно были изношены, и восстановлению не подлежали. Но это не удивительно учитывая, где джойстики использовались. По этой причине применил тактовые кнопки. Пожалуй, к минусам тактовых кнопок можно отнести сильное щелканье, возникавшие в результате нажатия на кнопку. Но для данного проекта это весьма терпимо.
Плату с джойстиками не пришлось переделывать, оставил какая есть, что значительно сэкономило времени. Торцевые кнопки также сохранил в первоначальном виде.
В качестве приемопередатчика выбрал радиомодуль NRF24L01, так как цена весьма мала в Китае по цене 0.60$ за шт. купил. Несмотря на свою малую стоимость, радиомодуль обладает не малыми возможностями и конечно мне подходил. Следующей проблемой, с которой столкнулся, а собственно где радиомодуль разместить. Пространство в корпусе свободного маловато, по этой причине радио модуль разместил в одной из ручек корпуса джойстика. Даже фиксировать не пришлось, модуль плотно прижимался, когда собирался полностью корпус.

image

Пожалуй, самой большой проблемой стал вопрос с питанием для радио пульта. Покупка каких-то специализированных аккумуляторов, скажем литиевых, влетало в немалую копеечку, так как собирать решено было семь комплектов. Да и оставшееся свободное пространство в корпусе не очень позволяло использовать стандартные аккумуляторы серии AA. Хотя потребление и не значительное можно использовать разные подходящие источники питания. Как всегда, на помощь пришла дружба, коллега на работе подогнал аккумуляторы литиевые плоские от мобильных телефонов и бонусом зарядки к ним. Все же немного пришлось переделать их, но это незначительно и гораздо лучше, чем делать с нуля зарядку для аккумуляторов. Вот на плоских литиевых аккумуляторах я и остановился.

В процессе испытания радио модуль, свою заявленную дальность оправдал и уверенно работал по прямой видимости на расстоянии 50 метров, через стены дальность значительно уменьшилась. Также было в планах установить вибромотор, который реагировал, скажем на какие-то столкновения или другие действия в радиоуправляемой модели. В связи с этим предусмотрел на печатной плате транзисторный ключ для управления. Но дополнительные усложнения я оставил на потом сначала нужно обкатать программу, так как она ещё сыровата. Да и конструкция, учитывая, что это прототип требует мелких доработок. Вот так как говорится “с миру по нитке”, практически с минимальными вложениями был создан пульт радиоуправление.


Как-то недавно мне понадобилось дистанционно управлять затвором зеркалки. Проводной вариант был отброшен, неудобно. Поискав по магазинам, нашел пульт ML-L3. Но отдавать за него тысячу рублей не хотелось, тем более что выполняемая функция на первый взгляд элементарная. Решил сделать сам. А тут, кстати, подоспели выходные и работа закипела…

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


Как видно, ничего сложного. Частота заполнения 38,4 кГц.

Для фотоаппаратов Canon последовательность еще проще:


У них частота заполнения – 33 кГц.

Хотелось не просто повторить пульт, но и снабдить его дополнительным функционалом. В итоге решил добавить таймер для съемки Timelapse видео и возможность управления фотоаппаратами Nikon и Canon. Исходя из имеющихся в запасе деталей, была создана следующая схема:


DD1 – PIC12F629
HL1 – ARL2-5013IRAB-940NM
R1 – 150 Ом
SB1 – Кнопка тактовая FSM4JH
A0 – DIP переключатель DS1040-03RN
C1 – Конденсатор танталовый, 47 мкФ х 10 В, тип B
+ Батарейный отсек BH-624 (1xAAA)

Итоговая стоимость всех деталей – 240 рублей (по ценам на апрель 2015, в не самом дешевом магазине города).


Выбранный микроконтроллер имеет порты ввода-вывода повышенной мощности, что позволяет коммутировать инфракрасный светодиод без дополнительного ключа. Кнопка SB1 генерирует выбранную последовательность. Выключателя питания нет, т.к. микроконтроллер постоянно находится в спящем режиме и потребляет 70 наноампер, «просыпаясь» лишь на время генерации сигнала. Джампер X1 переключает тип фотоаппарата: установлен – Canon, снят – Nikon. Переключатели А0…А2 задают период срабатывания таймера для съемки Timelapse видео:

А2 А1 А0 Период
0 0 0 нет
0 0 1 2 секунды
0 1 0 4 секунды
0 1 1 8 секунд
1 0 0 15 секунд
1 0 1 30 секунд
1 1 0 1 минута
1 1 1 2 минуты

Спроектированная печатная плата, также как и схема, очень проста:


Изготовленная печатная плата стандартным методом ЛУТ и собранная:


__CONFIG _CPD_OFF & _CP_OFF & _BODEN_OFF & _MCLRE_ON & _PWRTE_ON & _WDT_OFF & _INTRC_OSC_NOCLKOUT

LED equ 5; ИК-светодиод
CFG equ 4; Nikon (1) / Canon (0)

CBLOCK 0x020
DEL
DEL_MS
IMP
COUNT
ENDC

ORG 0
GOTO START

; Подпрограмма задержки (в микросекундах, 770 мкс max)
;(Перед вызовом поместить величину задержки в W)
DEL_MK MOVWF DEL
M1 DECFSZ DEL, F
GOTO M1
RETLW 0

; Подпрограмма задержки (в миллисекундах, 256 мс max)
;(Перед вызовом поместить величину задержки в W)
DEL_M MOVWF DEL_MS
MOVLW 0xA5
M2 CALL DEL_MK
CALL DEL_MK
DECFSZ DEL_MS, F
GOTO M2
RETLW 0

; Подпрограмма вывода импульса для Nikon (заполнение 38,4 кГц)
;(Перед вызовом поместить длительность импульса в W)
NIK MOVWF IMP
M3 BCF GPIO, LED
MOVLW 0x02
CALL DEL_MK
NOP
BSF GPIO, LED
MOVLW 0x01
CALL DEL_MK
NOP
DECFSZ IMP, F
GOTO M3
RETLW 0

; Подпрограмма вывода сигнала для Nikon
NIKON MOVLW 0x4D
CALL NIK; импульс 2 мс
MOVLW 0x12
CALL DEL_M; пауза 27,8 мс
MOVLW 0x47
CALL DEL_MK
MOVLW 0x0F
CALL NIK; импульс 0,4 мс
MOVLW 0x01
CALL DEL_M; пауза 1,6 мс
MOVLW 0x69
CALL DEL_MK
MOVLW 0x0F
CALL NIK; импульс 0,4 мс
MOVLW 0x02
CALL DEL_M; пауза 3,6 мс
MOVLW 0xFF
CALL DEL_MK
MOVLW 0x0F
CALL NIK; импульс 0,4 мс
RETLW 0

; Подпрограмма вывода импульса для Canon (заполнение 33 кГц)
;(Перед вызовом поместить длительность импульса в W)
CAN MOVWF IMP
M4 BCF GPIO, LED
MOVLW 0x02
CALL DEL_MK
NOP
NOP
NOP
BSF GPIO, LED
MOVLW 0x01
CALL DEL_MK
NOP
NOP
NOP
DECFSZ IMP, F
GOTO M3
RETLW 0

; Подпрограмма вывода сигнала для Canon
CANON MOVLW 0x13
CALL CAN; импульс 0,5 мс
MOVLW 0x05
CALL DEL_M; пауза 7,3 мс
MOVLW 0x13
CALL CAN; импульс 0,5 мс
RETLW 0

; Подпрограмма задержки на 1 секунду 0xA1
DEL_1S MOVLW 0xFF
CALL DEL_M
MOVLW 0xFF
CALL DEL_M
MOVLW 0x88
CALL DEL_M
RETLW 0

START BCF STATUS, RP0; Выбран банк 0
MOVLW B'00000000'
MOVWF INTCON
MOVLW B'00000111'
MOVWF CMCON; Отключаем встроенные компараторы

BSF STATUS, RP0; Выбран банк 1
MOVLW B'00000111'
MOVWF OPTION_REG
CALL 3FFh; Загрузить константу калибровки генератора
MOVWF OSCCAL
MOVLW B'00011111'; Порты (направление)
MOVWF TRISIO
MOVLW B'00010111'; Подтягивающие резисторы
MOVWF WPU

BCF STATUS, RP0; Выбран банк 0

MOVLW B'00100000'; Порты
MOVWF GPIO

MOVLW 0x12
CALL DEL_M

LP1 BTFSS GPIO, CFG
CALL CANON
BTFSS GPIO, CFG
GOTO LP2
CALL NIKON

LP2 MOVF GPIO, W; Считать состояние перемычек
ANDLW B'00000111'
ADDLW B'11111000'
MOVWF COUNT
COMF COUNT, F

BTFSC STATUS, Z; Выключение, если нет
SLEEP

MOVF COUNT, W
XORLW 0x01; Включен 1 тайминг
BTFSC STATUS, Z
GOTO SET2

MOVF COUNT, W
XORLW 0x02; Включен 2 тайминг
BTFSC STATUS, Z
GOTO SET4

MOVF COUNT, W
XORLW 0x03; Включен 3 тайминг
BTFSC STATUS, Z
GOTO SET8

MOVF COUNT, W
XORLW 0x04; Включен 4 тайминг
BTFSC STATUS, Z
GOTO SET15

MOVF COUNT, W
XORLW 0x05; Включен 5 тайминг
BTFSC STATUS, Z
GOTO SET30

MOVF COUNT, W
XORLW 0x06; Включен 6 тайминг
BTFSC STATUS, Z
GOTO SET1M

GOTO SET2M; Включен 7 тайминг

SET2 MOVLW 0x02
GOTO TIME

SET4 MOVLW 0x04
GOTO TIME

SET8 MOVLW 0x08
GOTO TIME

SET15 MOVLW 0x0F
GOTO TIME

SET30 MOVLW 0x1E
GOTO TIME

SET1M MOVLW 0x3C
GOTO TIME

SET2M MOVLW 0x78
GOTO TIME

TIME MOVWF COUNT
LP3 CALL DEL_1S

DECFSZ COUNT, F
GOTO LP3

Современные технологии 3D печати решили давнюю проблему самоделок – на смену корявым и нелицеприятным корпусам пришли качественно выглядящие конструкции, ничем не уступающие промышленным образцам.

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

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


Распечатанный на 3D принтере корпус:


Схему, печатную плату, исходный код и файлы для печати корпуса можно скачать отсюда.

Перед началом сборки необходимо аккуратно отрезать ножом от держателей батареек плоские части с контактами:


Получившиеся контакты приклеить к корпусу, соблюдая полярность:


Затем поместить кнопку и вставить плату до упора, проследив, чтобы она зафиксировалась защелками. Осталось подпаять провода от батареек к плате и устройство готово:


Вот так выглядит собранный ИК пульт ДУ:


Перед использованием пульта нужно выполнить несложную настройку фотоаппарата для управления им через ИК пульт. Для каждой модели он разный, привожу алгоритм для своего Nikon D7000: 1) повернуть левое кольцо на иконку пульта, как на фото слева 2) настроить в меню «режим пульта дистанционного управления» необходимое срабатывание.

Читайте также: