Белая стрела

ROB-75972

Введение

Робот “Белая стрела” предназначен для регламента “Юный инженер”, проходящего в рамках олимпиады МКОР и “Минский открытый роботурнир”. Данный регламент появился только в этом году и проходит впервые. В “Юном инженере” необходимо самостоятельно изготовить робота, способного проехать круг по полю и сбить противоположную от старта планку.

 

Конструкция и Механика

Большинство конструктивных и механических деталей, кроме шин и платы, я распечатал на 3д принтере (рисунок 1). Я отливал шины из силикона в многоразовых формах (рисунок 2), формы состоят из 3 частей: бублика, формирующего внутренний рисунок шины, и двух частей, формирующих форму шины. Во-первых, формы обрабатываются смесью, для лучшего отделения силикона от формы, потом форма собирается и стягивается (рисунок 3), далее заливается силикон, для лучшего распределения силикона по форме я создавал вибрацию электронной зубной щёткой, после суток силикон застывает (рисунок 4), и после открытия формы получается готовая шина.

Рисунок 1 — колесо, распечатанное на 3D принтере

Рисунок 2 — формы

Рисунок 3 — формы собранном и стянутом виде

Рисунок 4 — шина в форме после раскрытия

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

В качестве механизма сбивания я выбрал тяги (рисунок 5), так как, на пример передачу из шестерёнок сложно моделировать и собирать. Использовать механизм я решил, чтобы снять нагрузку на вал мотора. Когда я продумывал механизм, я задумывался над тем, что планка может после падения застрять в роботе или упасть перед роботом, из-за этого застрявшая планка может сбить стойки, а упавшая перед сбить робота с линии. Для решения этой проблемы я добавил выступ на сбивалки, в котором застревает планка, после чего робот его сбрасывает, так же тяга моего механизма не даст планке упасть внутрь робота.

Рисунок 5 — модель механизма в САПР “Компас”

 

Электроника

Питание управляется тумблером и поступает на плату от двух аккумуляторных батареек, дающих в сумме 8В, питание в 8В идёт напрямую к мотору, а остальные компоненты получают питание 5,5В через преобразователь. Мой робот управляется ArduinoNano, я её выбрал из-за небольших размеров. Датчики сначала работали на основе фототранзистора (рисунок 6), но я перешёл на фоторезистор (рисунок 7) из-за меньших размеров и большего диапазона показаний (таблица 1). Каждый мотор управляется своим N полярным транзистором MOSFET. Также присутствует кнопка для старта робота.

Рисунок 6 — старые датчики линии

Рисунок 7 — новые датчики линии

Таблица 1 — сравнение показаний датчиков линии на основе фототранзистора и фоторезистора

 показания на беломпоказания на чёрномдиапазон
фоторезистор780530250
фототранзистор940335605

 

Большая часть электроники размещена на произведённой мною электронной плате. В роботе стоит вторая версия платы, первая не подошла из-за допущенных мной ошибках в проектировании, в результате чего отвалились дорожки. Сначала, для изготовления, составляется схема электронного устройства в “KiCad” и проектируется плата (рисунок 8). Потом вырезается прямоугольник платы с небольшим отступом от краев, текстолит шлифуется наждачкой и очищается поверхность текстолита, схема расположения дорожек, отверстий и границ печатается на лазерном принтере на термотрансферной бумаге и переноситься утюгом на текстолит. Далее будущая плата помещается в раствор хлорного железа, где медь на непокрытых после переноса местах платы растворяется. После плата принимает точную форму после обработки на шлифовальном станке, на специальном станке сверлятся отверстия под компоненты, остаётся залудить дорожки и припаять компоненты, и плата готова (рисунок 9).

Рисунок 8 —схема платы в программе моделирования

Рисунок 9 — готовая плата в роботе, вид снизу

 

Программная часть

Программу для робота можно разделить 3 части: описание портов, основная программа, функции. В описании портов описываются порты, параметры для сервопривода и вводится глобальная переменная прошлой ошибки. В основной части происходит управление движением робота и сбивалки, программа ожидает нажатия кнопки для старта, едет по линии, и по времени поднимает или опускает палку. В программе используются 2 функции: движение по линии и управлении моторами. Робот едет по линии на основе Пропорционально-Дифференциальный регулятор, регулятор состоит из пропорциональной (п) и дифференциальной (д) частей, которые потом складываются, получается управляющий коэффициент, который потом прибавляется к скорости одного мотора и убавляется из скорости второго. П часть считается по формуле ошибка*коэффициент или (показания датчика 1 - показания датчика 2) * коэффициент, данная формула позволяет управлять роботом за счёт отклонений. Д часть рассчитывается по формуле (прошлая ошибка – текущая ошибка) * коэффициент, данная часть позволяет сделать траекторию робота более плавной. Для управления моторами функция обрезает значение скорости под нужный диапазон и отправляет значения на моторы.

 

Заключение

Итогом моей работы стал первый самостоятельно произведенный робот (рисунок 10), отвечающего основным требованиям регламента соревнований “Юный инженер”. Я оцениваю самостоятельность изготовления робота на 80%. Этот опыт поможет мне в будущем, когда я буду делать свои собственные проекты.

Рисунок 10 — готовый робот