Команда студентов НИЯУ МИФИ впервые решила принять участие в известных соревнованиях по робототехнике Eurobot. В этом году темой соревнований было создание робофермы на Марсе.
![Карта игрового поля Eurobot 2024 Карта игрового поля Eurobot 2024](https://habrastorage.org/getpro/habr/upload_files/39f/6ab/985/39f6ab985f77cdcd10963afd77c014c8.jpg)
Покорять Марс отправились в следующем составе: 3 программиста, 2 электронщика, 2 конструктора, 1 технолог по 3Д печати, 1 СММщик, 1 капитан. Открыв регламент, наша команда поставила несколько основных целей для получения баллов:
Захват одной группы растений.
Посадка растений в горшки.
Посадка растений с горшками в плантации.
Завершение матча в новой стартовой зоне.
Заметив, что в одной группе растений ровно 6 цветков, возникла конструкторская идея создать шестилапого робота для оперативных манипуляций одной группы цветков. Стало понятно, что без индуистского божества Шивы не обойдёмся и стали его призывать собирать.
![Sheevabot Sheevabot](https://habrastorage.org/getpro/habr/upload_files/6ac/4ea/cba/6ac4eacbad27dc8ec044c4d95b0eafbd.png)
Описание конструкции
Форма робота была выбрана цилиндрической потому, что мы хотели добиться от поворотного механизма (кассетницы) возможности забирать по 6 цветков одновременно, и тем самым обеспечить равенство расстояния от центра робота до каждого манипулятора, чтобы упростить сбор цветов. Рассмотрим конструкцию пристальнее.
Кассетница
Кассетница в SheevaBot представляет собой сложный механизм, включающий зубчатое колесо редуктора внутреннего зацепления. На ней расположены крепежные места для направляющих и шаговых двигателей. Вся верхняя крутящаяся часть робота также относится к Кассетнице.
Манипуляторный цветок
Манипуляторный цветок — это подвижная часть Кассетницы, которая перемещается по направляющим вверх и вниз с помощью ременного привода. Лепесток состоит из шести сегментов, каждый из которых оборудован редуктором, приводимым в движение сервоприводами MG90S со стальными шестернями. Эти шестерни передают момент на валы, которые управляют схватами манипуляторов.
![Манипуляторный цветок Манипуляторный цветок](https://habrastorage.org/getpro/habr/upload_files/af6/861/f72/af6861f725f1da4456e5d0a836b2cd4f.jpeg)
Конструкция редукторов и подшипников
Каждый редуктор манипулятора включает ведущую шестерню и два одинаковых выходных зубчатых колеса, сцепленных между собой и вращающихся в противоположные стороны. На каждом сегменте Цветка установлено по два линейных подшипника, обеспечивающих плавное скольжение по направляющим. Всего таких стержней 12, по 2 на каждый сегмент. Это количество стержней улучшает позиционирование манипуляторов, хотя мы обсудим плюсы и минусы такого решения позже.
Дополнительные элементы
Внизу Цветка крепятся дополнительные ребра жесткости, а в сегментах расположены ложбинки для прокладки проводов сервоприводов. Все ложбинки ведут к центральной, где провода прокладываются до выводного отверстия. В центре Цветка также есть отверстие для свободного хода ремней и механизм крепления двух ремней GT-2, встроенный в центральный сегмент.
Крышка Кассетницы
Крышка Кассетницы закрепляет и позиционирует сверху направляющие. В центре этого элемента расположен свободно вращающийся вал с двумя шкивами для ремней GT-2, которые обеспечивают работу ременного привода. Крышка Кассетницы также имеет крепежные отверстия для четырех опорных стержней подставки Маяка и Aruco-маркера.
Подставка Маяка
Подставка Маяка представляет собой параллелепипед, состоящий из двух деталей, которые крепятся к опорным стержням. Сверху на эту подставку приклеена липучка Velcro (петля).
Крепление дисплея и кнопки аварийной остановки
В финальном варианте дисплей крепится на два винта в прямоугольном отверстии Крышки Кассетницы. Изначально это отверстие было предназначено для MG90S, чтобы увеличить ход Цветка. Выводы двух управляющих и двух контактов питания проходят через это отверстие. Кнопка аварийной остановки крепится в печатные "тиски", установленные между сегментами верхней крышки манипулятора. Она фиксируется тремя прижимными элементами и закрепляется в распорку.
![Подставка Маяка и Крышка Кассетницы Подставка Маяка и Крышка Кассетницы](https://habrastorage.org/getpro/habr/upload_files/f93/8fd/4e9/f938fd4e95da657268d77ded61f39f32.jpeg)
Крепление Кассетницы
Крепление Кассетницы к колесной базе осуществляется зажатием ее между двумя коническими поверхностями, образованными деталями колесной базы. Это крепление обеспечивает необходимую соосность и предотвращает движение Кассетницы вверх. Настройка степени затяжки центрального зажимного элемента позволяет балансировать точность и легкость вращения Кассетницы.
Токосъёмник Slip-ring для взаимодействия
Для быстрого и надежного взаимодействия между исполнительной электроникой на вращающейся Кассетнице и управляющей электроникой на колесной базе используется
Slip-ring. Это устройство обеспечивает скользящий контакт между вращающимися и статичными проводами, предотвращая их перекручивание. 24-х проводный Slip-ring установлен в верхнюю зажимную деталь колесной базы. На вращающуюся часть токосъёмника установлен дистрибьютор с шестью выводами, к каждому из которых крепится защитная оплетка для проводов. Эти провода идут к различным управляемым узлам: два шаговых двигателя Nema 17, шесть сервоприводов MG90S, дисплей и кнопка аварийного выключения.
![Оранжевым цветом обозначено Крепление Кассетницы, синим — Кассетница Оранжевым цветом обозначено Крепление Кассетницы, синим — Кассетница](https://habrastorage.org/getpro/habr/upload_files/275/d26/a2d/275d26a2d346c326c1dd2ab102f3150e.jpg)
Ременной привод
Ведущим звеном ременного привода является вал, приводимый в движение двумя шаговыми двигателями. Ведущий вал состоит из следующих компонентов: двух шкивов GT-2 диаметром 15 мм, шпильки M6, придающей жесткость валу, и двух переходников с валов Nema 17 на шпильку M6. Шаговые двигатели Nema 17 прикреплены к зубчатому колесу Кассетницы с помощью L-образного кронштейна. Верхний вал расположен на Крышке Кассетницы. Один конец каждого ремня зажимается в неподвижных "тисках" Цветка, а второй конец, перекинутый через верхний вал, крепится к верхней части натяжителя ремня. После установки ремней, система затягивается двумя винтами M3, фиксирующими подвижную часть натяжителя.
Колёсная база
В качестве колёсной базы была выбрана платформа на четырёх омни-колëсах. Особенность этих колёс заключается в том, что они представляют собой сдвоенное колесо по краю которого расположены валики, способные прокручиваться вокруг своей оси - это позволит роботу двигаться в любом направлении, комбинируя направление вращения и скорость мотора каждого отдельно взятого колеса.
В качестве несущей конструкции всей колёсной платформы было решено использовать крестовину из алюминиевых профилей V-slot 40*20. Это решение обеспечило жёсткость конструкции, простоту крепления и соединения деталей корпуса между собой, а также позволило в максимально короткие сроки изготовить прототип для тестов различных моторов и колёсной платформы в целом.
В дальнейшем, при переходе от прототипа к итоговой версии робота крестовина так и осталась на месте. Однако, как показала практика - это было не самым лучшим решением, т.к. из-за неровностей поля не всегда удавалось добиться одновременного контакта всех четырёх колёс с полем(аксиома из стереометрии: плоскость проходит через три точки), что приводило к резким и неожиданным отклонениям робота от первоначально заданной траектории.
![Колёсная база на Omni-wheel Колёсная база на Omni-wheel](https://habrastorage.org/getpro/habr/upload_files/61f/859/c2f/61f859c2f9ae5320e2d454c09dd1e36b.jpeg)
Слот с электроникой
Нижняя часть робота, в которой располагается центр приёма и обработки сигналов с переферии и питания робота, печатная плата питания и низкоуровневая и высокоуровневая электроника. Подробная информация об используемой электронике описана в следующем разделе.
![Слот электроники с печатной платой питания и управления Слот электроники с печатной платой питания и управления](https://habrastorage.org/getpro/habr/upload_files/39f/fa2/af0/39ffa2af04b34fee52a1f260a0ce49cb.png)
На заключительном этапе описания конструкторской части робота покажем его внешний вид в САПР. При создании SheevaBot мы использовали 3D-печать и пластик PETG, по 2 кг синего и 2 кг оранжевого цветов.
![Модель SheevaBot Модель SheevaBot](https://habrastorage.org/getpro/habr/upload_files/8ab/502/538/8ab5025386115c053c7ea9b66a885bac.jpg)
Описание электроники
Даже самые мощные микроконтроллеры не способны конкурировать по быстродействию с микрокомпьютерами, и тем самым лишены возможности эффективно решать задачи позиционирования, обработки изображений и т.п. Несмотря на это, они очень удобны для управления прочей относительно, ”простой” периферией (моторы, различные датчики, сервоприводы и т.д.), которая может быть непосредственно подключена к ним.
В нашем проекте мы использовали связку микрокомпьютер-микроконтроллер. Микрокомпьютер Raspberry Pi 4 с установленным на него ROS2 обрабатывал изображения с камеры и различных датчиков и отдавал управляющие команды на движение робота. Эти команды передавались микроконтроллеру Raspberry Pi Pico с установленным MicroRos, который уже непосредственно запускал моторы и сервоприводы, а также считывал показания датчиков (энкодеров и IMU) и передавал их Raspberry Pi 4.
Здесь стоит сделать небольшое отступление и рассказать о том, какая же электроника применялась на нашем роботе.
Подбор электронно-компонентной базы
Для обеспечения функционирования всех основных узлов робота необходимо правильно подобрать электронно-компонентную базу (ЭКБ) и подобрать компоненты так, чтобы уменьшить занимаемую ими площадь, при этом не уменьшая их эффективности. Вся электроника была разделена на две части: силовую и аналого-цифровую. Каждая из них требовала тщательного анализа существующих решений на рынке и подбора электронных узлов согласно следующим основным требованиям:
Компактность
Средний ценовой сегмент
Возможность быстрого монтажа
Простота в использовании
Силовая электроника
1) Для питания всех электрических узлов схемы использовали самое простое и надёжное решение. Высокотоковые Li-ion 18650 аккумуляторы от производителя LiitoKala оказались хорошим выбором для питания всей электронной базы робота. Данный тип аккумуляторов проявил хорошую устойчивость к обратным напряжениям и высоким выбросам по току. Для обеспечения в схеме 16-ти вольтовой линии питания силовой части использовалось последовательное соединение 4-х таких аккумуляторов. Также на выходе аккумуляторной сборки стоял предохранитель на 50 А с целью защиты от короткого замыкания.
2) Для обрыва/замыкания силовой линии питания на нагрузку (запуск/остановка робота) использовали электромеханическое реле R2G2CH012. Данный ключ позволяет коммутировать нагрузочный ток более чем в 10 А и напряжение в 30 В. Монтаж производился на печатной плате.
3) Для питания некоторых электронных узлов робота использовалась дежурная 5 В линия, полученная с помощью понижающего DC-DC преобразователя на базе микросхемы LM2596S-ADJ. На вход преобразователя подаётся 16 В с силовой линии питания, а на выходе снимается 5 В.
4) Для движущей части робота были выбраны бесколлекторные высокомоментные мотор-редукторы JGB37-3525. Напряжение питания моторов равно 12 В. В мотор вмонтирована микросхема ШИМ-регулятора на базе микроконтроллера N76E003AT20. Управление скоростью вращения мотора осуществлялось с помощью 3,3 вольтового ШИМ-сигнала от Raspberry Pi Pico.
5) Для управления вращением Кассетницы, а также для обеспечения её движения вдоль вертикальной оси, использовались двухфазные шаговые двигатели Nema 17. Данный выбор был сделан с упором на их высокую точность и стабильную работу. Для контроля работы шаговых двигателей использовались драйвера DRV8825 на базе одноименного чипа DRV8825.
В процессе работы с DRV8825 было установлено следующее:
а) В режиме удержания драйвера потребляют значительный ток и достаточно сильно греются, в связи с чем им необходимо активное охлаждение. (можно уменьшить нагрев, отрегулировав при помощи подстроечного резистора ток, но при этом ощутимо падает момент шаговых электродвигателей).
б) Перед подключением шагового двигателя к драйверу необходимо прозвонить провод (из-за плохого контакта, что время от времени имеет место в дешевых китайских проводах, мотор может работать некорректно или не выдавать необходимый момент) и проверить распиновку самой Nema17 (у разных производителей выводы обмоток могут быть на разных пинах выходного разъема).
в) При разработке автономных систем стоит учитывать, что шаговые двигатели в режиме удержания достаточно быстро разряжают аккумулятор.
г) Ключевыми преимуществами данного драйвера, по сравнению с его аналогами являются: возможность регулирования выходной мощности; защита от перегрузки и перегрева; наличие многовариантного выбора микрошага двигателя. Напряжение питания драйвера равно 16 В. Управление драйвером осуществлялось с помощью цифровой логики на базе платы Raspberry Pi Pico.
6) Для захвата цветков использовались высокопрочные сервоприводы MG90S, напряжение питание которых составляет 5 В. Данное напряжение питания снимается с дежурной питающей линии. Управление сервоприводами осуществлялось с помощью широтно-импульсной модуляции, генерируемой Raspberry Pi Pico.
7) Для задания крайнего верхнего и нижнего положения кассетницы использовались микровыключатели OV-154-1C25 которые через резистивный делитель были подключены к дежурной 5-ти вольтовой линии питания. Таким образом с данных концевиков снималось напряжение 3,3 В, которое в виде цифрового импульса подавалось на последующую обработку микроконтроллером.
Аналого-цифровая электроника
8) Сервоприводы и моторы являются нестабильными элементами схемы, благодаря чему на 16-ти вольтовой линии питания могут возникать различного рода всплески по напряжению, особенно отчетливо это видно при подаче пускового тока на схему. Для обеспечения стабильной работы аналого-цифровой части в схеме была проведена ещё одна 5-ти вольтовая линия питания. С двух последовательно соединенных Li-ion 18650 аккумуляторов снималось и стабилизировалось напряжение 5 В. Для этого использовалась плата бесперебойного источника напряжения (UPS) вход которой подключался к нестабилизированному источнику напряжения (аккумуляторы), а с выхода платы снималось стабилизированное опорное напряжение 5 В. Тем самым обеспечивалось высокостабильное питание микропроцессорных устройств, что необходимо для их корректной и бесперебойной работы.
9) Главным вычислительным устройством робота являлся микрокомпьютер Raspberry Pi 4 с 64-разрядным четырехъядерным процессором Cortex-A72 с 8 Гб ОЗУ. Питание микрокомпьютера осуществлялось опорным источником напряжения UPS.
10) Управление периферийными устройствами робота осуществлялось с помощью двух микроконтроллеров Raspberry Pi Pico, имеющих на “борту” два ядра ARM Cortex-M0+ с тактовой частотой 133 МГц. Питание Pico идёт от микрокомпьютера Raspberry Pi 4.
11) Для определения положения робота в пространстве использовался модуль GY-521 на базе микросхемы MPU-6050 со встроенным гироскопом, акселерометром и термометром. Датчик достаточно точный, но в связи с особенностями математической обработки ,,сырых данных,, имеет неустранимый дрейф угла, который особенно усиливается при резких движениях. Питание модуля осуществлялось с 3,3 вольтовой линии платы Raspberry Pi Pico. Обмен данными модуля GY-521 и микроконтроллера осуществлялся по интерфейсу I2C.
12) OLED дисплей на базе микросхемы SH1106 запитывался от 3,3 вольтовой линии платы Raspberry Pi Pico. Обмен данными модуля GY-521 и микроконтроллера осуществлялся по интерфейсу I2C.
Разработка принципиальной электрической схемы
После этапа подбора ЭКБ приступили к разработке структурной схемы всей электроники робота для последующего проектирования печатной платы. Для стабильной работы аналого-цифровой части, было принято решение разделить питание силовой части от аналого-цифровой. Вся схема была разделена на 6 основных блоков: центрально управление, схема управления колесной базой, схема управления сервоприводами, схема управления шаговыми двигателями, схема управления отдельными цифровыми блоками и дежурная схема питания. Для схемотехнической реализации итоговой схемы использовалась САПР EasyEDA.
![Электрическая схема платы питания и управления Электрическая схема платы питания и управления](https://habrastorage.org/getpro/habr/upload_files/e65/a4c/dea/e65a4cdea9a6050d5e1364541c327edf.jpeg)
Первоначально, перед изготовлением печатной платы электронщики команды решили проверить свои нервы и навыки пайки и собрали на макетной плате схему питания и управления.
![Макет распаянной платы питания и управления Макет распаянной платы питания и управления](https://habrastorage.org/getpro/habr/upload_files/218/e4e/a0c/218e4ea0cad9d8ed4f01de768ba5542f.jpg)
Убедившись, что на ней система полностью работает, мы приступили к проектированию печатной платы питания.
Печатная плата питания и управления
Процесс разработки печатной платы состоял из следующих основных стадий:
Синтез схемотехнического представления в топологию печатной платы с последующим размещением основных блоков схемы
Трассировка элементов на печатной плате
Изготовление тестового варианта печатной платы и ее тестирование
Проверка правил проектирования (DRC) и подготовка к производству на фабрике
Изготовление печатной платы на фабрике с последующим монтажом компонентов
Трассировка элементов на печатной плате
Главным фактором влияющим на расположение элементов схемы на печатной плате была минимизация занимаемой элементами площади печатной платы. В силу конструкторских особенностей робота печатная плата требовала минимальную площадь с сохранением всех элементов схемы. Еще одной ключевой особенностью печатной платы является наличие силовых полигонов через которые протекают токи порядка десятка ампер. Данные силовые полигоны являются соединительным контактом всех силовых узлов схемы, с целью разделения силовой части схемы от аналого-цифровой. Во избежании нестабильности работы всей схемы и сильных помех в цепях питания одна из сторон печатной платы была полностью залита земляным (GND) полигоном. Это накладывало ряд ограничений на расположение элементов схемы на печатной плате.
Разводка дорожек
Проведение дорожек осуществлялась по следующим проектным нормам: ширина дорожки аналого-цифровых узлов 0,4 мм, минимальный зазор между проводниками 0,4 мм, зазор между полигоном и элементами остальной топологии 0,25 мм, диаметр переходного отверстия 0,6 мм, толщина фольги 35 мм. С целью минимизации падений напряжений на соединительных дорожках, их толщина была выбрана максимально допустимой с учетом ограничений размера печатной платы. Силовые дорожки платы были максимально удалены от дорожек, соединяющих аналого-цифровые блоки схемы, с целью минимизации влияния одних на другие.
Изготовление тестового образца печатной платы
Для получения тестового образца печатной платы была выбрана лазерно-утюжная технология, (ЛУТ) как самая простая и бюджетная технология.
Начальный этап изготовления заключался в нанесении фотошаблона печатной платы на глянцевую фотобумагу с помощью лазерного принтера. Перенос фотошаблона на текстолит происходил под действием высокой температуры в течении нескольких минут. Следующим этапом происходило стравливание лишней меди в растворе перекиси водорода и лимонной кислоты.
Ключевой проблемой при изготовлении печатной платы методом ЛУТ оказалась слишком тонкая ширина дорожек, поэтому при сверлении сквозных отверстий дорожки часто обрывались, что сильно усложняло процесс монтажа компонентов на плату. Мы решили немного переделать топологию печатной платы с целью поиска места, чтобы увеличить ширину дорожек.
![Неудачные этапы изготовления печатной платы метод ЛУТ Неудачные этапы изготовления печатной платы метод ЛУТ](https://habrastorage.org/getpro/habr/upload_files/366/e86/f55/366e86f55e204d7430e116723ef18c1d.jpg)
Проверка правил проектирования (DRC) и подготовка к производству на фабрике
После неудачных попыток изготовить печатную плату самостоятельно мы решили передать задачу изготовления фабрике. Перед отправкой топологического файла на производство было проведено сравнительное соответствие топологии платы с производственными возможностями фабрики. Проверка правил проектирования печатных плат (DRC) исключает ошибки и предотвращает потенциальные возможные производственные проблемы.
Изготовление печатной платы на фабрике с последующим монтажом компонентов
Плату изготовили в течение 3 рабочих дней. Данная плата показала отличные результаты как в тестировании отдельных компонентов, так и всей платы целиком. Все тесты на стабильность отдельных узлов печатной платы были пройдены успешно. Она была успешно вмонтирована в конструкцию робота и показала отличную и стабильную работу на протяжении всего срока использования. Gerber файлы и топологию получившейся печатной платы питания можно посмотреть здесь. Для возможности быстрого крепления элементов схемы использовались разъёмы XH2.54 и контактные колодки. Также на плату была распаяна светодиодная индикация работы основных частей робота.
![Заказная плата управления с собственным проектированием и монтажом компонентов Заказная плата управления с собственным проектированием и монтажом компонентов](https://habrastorage.org/getpro/habr/upload_files/4b1/701/fbe/4b1701fbeb17c15d5d884c197a4ab701.jpg)
Итак, компоненты подобраны и соединены в единую электрическую цепь, плата изготовлена, детали конструкции собраны в единого робота. А дальше что? А дальше программирование…
О результатах программирования работы нашего SheevaBot читайте в следующей части.
artemsizykh
Круто, дальнейших успехов ребята!
juneberry6 Автор
Спасибо!