SimpleJoy
Постановка задачи

В октябре 2017 к нам снова обратился образовательный клуб «Геккон», для которого мы делали проект Робомега. Для продолжения обучения школьников робототехнике требовался пульт управления и плата, которой этот пульт бы управлял. Имеющиеся на рынке решения не удовлетворяли заказчика либо дальностью связи, либо своим функционалом, либо своей стоимостью, либо всем вместе. Требовалось добиться:

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

Мы разработали две платы — управляющую и управляемую — и написали прошивку для обеих.

Плата пульта

Пульт представляет собой плату размером 108 на 72 мм. На ней расположены:

  • два джойстика, для управления двигателями постоянного тока и сервоприводами, каждый из которых позволяет крутить ручку по двум координатам;
  • два переменных резистора для тех же целей;
  • пять кнопок. Одна из них зарезервирована для управления самого пульта, она включает и выключает подсветку;
  • экран. На экране отображается уровень заряда батарейки, уровень сигнала связи с платой, номер радиоканала (в одном пространстве нам будет необходимо управлять несколькими роботами). Также на экране отображается положение джойстиков и положение резисторов. Радиоканалов может быть сто (можно и больше, но нет необходимости);
  • dip-переключатель для задания радиоканала, то есть восемь маленьких переключателей, которые позволяют двоичным образом задать номер. Это избыточно (у нас не 255, а 99 каналов), но решили зарезервировать на будущее на всякий случай;
  • два светодиода: включение питания и наличие радиосвязи;
  • питание: три батарейки ААА;
  • micro-USB разъем для управления с компьютера.

Заказчик корпус для пульта сделает сам, от нас требовалось только разработать плату.

Управляемая плата

Управляемая плата предназначена для расположения внутри управляемого объекта: робота-машинки или робота-самолета. Ее размер 90 на 24 мм, из них 30 мм длины составляет антенна.

На плате расположены:

  • шесть трехконтактных разъемов (на каждом питание, земля и сигнал), это разъемы для подключения сервоприводов. При изменении положения джойстика или переменного резистора на эти сигналы подается соответствующий сигнал управления сервопривода;
  • четыре двухконтактных разъема для подключения двигателей постоянного тока. При получении сигнала от джойстика двигатель, подключенный к этому разъему начинает крутиться в ту или иную сторону в зависимости от угла отклонения джойстика;
  • еще два двухконтактных разъема, к которым также можно подключить двигатели постоянного тока, но в отличие от предыдущих двух нельзя менять направление вращения, только мощность, которая подается на эти контакты. К плате можно подключить довольно много разной периферии;
  • светодиод индикации питания;
  • светодиод индикации наличия радиосвязи:
  • такой же как на пульте восьмиконтактный переключатель для задания радиоканала;
  • питание: предполагается, что плата будет питаться от двух АА или ААА батареек, или одного Li-ion аккумулятора или от четырех NiCad аккумуляторов, как пожелает заказчик;
  • micro-USB разъем для управления с компьютера.
Антенны и радиосвязь

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

Взаимодействие с компьютером

На каждой плате есть micro-Usb разъем, и процессор позволяет перепрошиваться посредством этого разъема. Процессор по нажатию кнопки входит в состояние бутлоадера, и для того, чтобы перепрошить плату нет необходимости в физическом программаторе, достаточно скачать специальную программу и подключить плату к компьютеру.

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

Вначале подается команда игнорировать джойстики, потом — команды текущего положения джойстиков и резисторов, а в конце — команда перестать игнорировать джойстики. Аналогично можно сделать для платы приемника, но неясно зачем.

Над проектом работали

Постановка задачи: клуб «Геккон».

Верификация тз: Йолаф.
Разработка печатной платы, программирование, сборка образцов: Крэйл.
Текст статьи: Нотиэль. 

Search

Tags
klnfc nfc uart wifi антураж без корпуса браслет в корпусе ведьмак взлом вибро видео волшебство время все проекты грибы дверь дерево детектор для дома дорожка древа жесты замок заряжается звездные войны звук значки игроку игротехника ик как в сеттинге камни кинжал код косплей кристаллы лазер лайтсабер люстра мастеру медальон механика музыкальный движок на батарейках носимое обзор образование освещение от аккумулятора от сети отзывы перчатка пилюли портрет проводная связь пульт радиация радио речь решения роботы свет светлячок станок статьи стационарное стимпанк телефон толкин удобные приборы универсальное устройства игрока фантастика фоллаут девайс цветы часы чуять друг друга экран