Копия марсохода Mars Perseverance на Arduino своими руками


В этой статье мы рассмотрим создание копии марсохода Mars Perseverance на основе платы Arduino. Я думаю многие из посетителей нашего сайта вдохновлены настоящим марсоходом, который в настоящее время исследует Марс. Наш проект марсохода спроектирован таким образом, чтобы каждый, кто любит эту технологию, студенты, производители, энтузиасты мехатроники или робототехники и т. д., могли легко следовать инструкциям в этой статье и построить свой собственный марсоход.

Копия марсохода Mars Perseverance на Arduino своими руками

Ранее на нашем сайте мы рассматривали проект робота-марсохода на Arduino с повышенной проходимостью, но представленный в этой статье проект марсохода, конечно же, более совершенный.

Обзор проекта

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

Внешний вид шасси марсохода

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

Принцип геометрии рулевого управления Аккермана

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

Для управления марсоходом я использую дешевый коммерческий RC-передатчик, который посылает команды марсоходу (подобный передатчик мы рассматривали здесь).

Коммерческий RC-передатчик для управления нашим марсоходом

На марсоходе у меня есть подходящий RC-приемник, который принимает команды и посылает их на плату Arduino. Да, мозг этого марсохода на самом деле — плата Arduino MEGA, и для простого соединения всего вместе я сделал специальную печатную плату, которую можно просто прикрепить поверх платы Arduino MEGA. 

Плата Arduino MEGA является "мозгом" нашего марсохода

В марсоходе также есть FPV-камера, расположенная в блоке камер. Она управляется с помощью шагового двигателя и серводвигателя, и я получаю видео от нее в реальном времени на смартфон. 

FPV-камера для получения видео от нее в реальном времени на смартфон

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

Внешний вид марсохода

Тем не менее, теперь позвольте мне провести вас через процесс его создания, начиная с проектирования марсохода, подключения электронных компонентов и программирования платы Arduino. 

3D модель марсохода своими руками

Я спроектировал этот марсоход с помощью 3D EXPERIENCE Solidworks. 

3D модель марсохода в Solidworks

3DEXPERIECE Solidworks — это версия Solidworks с облачными возможностями, которые мы получаем через платформу 3DEXPERIECE. Здесь все работает через облако, поэтому вы или любой из вашей команды можете иметь доступ к данным или моделям в любое время и из любой точки мира. Платформа 3DEXPERIECE также включает в себя множество полезных приложений для повышения производительности и управления данными.

Работа в 3DEXPERIECE Solidworks

Например, приложение Project Planning — отличный способ организовать ваши задачи, установить сроки и отслеживать прогресс. С приложением 3D Markup вы можете просматривать, исследовать и делать заметки о моделях с любого устройства, например, с ноутбука, планшета или даже смартфона. 

Также есть отдельный облачный 3D-моделер SOLIDWORKS xDesign, который работает внутри вашего браузера. Его можно использовать вместе с Solidworks или отдельно, и он отлично подходит для моделирования в любом месте, в любое время и на любом устройстве. 

3D-моделирование в браузере с помощью SOLIDWORKS xDesign

Хорошо, давайте вернемся к модели и объясним, как я спроектировал марсоход. Моей целью было сделать этот марсоход максимально похожим на настоящий Mars Perseverance Rover. На официальном сайте NASA есть 3D-модель Mars Perseverance Rover, поэтому я скачал и открыл ее в Blender.

3D-модель Mars Perseverance Rover на официальном сайте NASA

Я сделал 3 фотографии марсохода спереди, сверху и сбоку и импортировал их в Solidworks. Я хотел, чтобы размер колес был 130 мм в диаметре, поэтому я масштабировал фотографии в соответствии с этим размером.

Масштабирование размеров модели марсохода

Затем отсюда я взял все основные размеры, такие как ширина, длина, высота, расстояние между колесами, размеры подвески коромысла и т. д. 

Исходя из этих размеров, а также двигателей постоянного тока и сервоприводов, которые я планировал использовать, я спроектировал детали марсохода таким образом, чтобы их можно было легко распечатать на 3D-принтере и собрать, при этом стараясь сохранить внешний вид как можно ближе к оригиналу.

Финальная 3D модель марсохода

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

Файлы для загрузки 3D-моделей и STL

Эту 3D-модель, а также файлы STL для 3D-печати можно получить на сайте Cults3D.

3D модель марсохода на сайте Cults3D

3D-печать деталей-реплик марсохода

Для 3D-печати деталей я использовал свой старый Creality CR-10, а также новый 3D-принтер CR-10 V3. Если вы хотите напечатать колеса гибким материалом, вам определенно понадобится принтер с прямым экструдером, как у CR-10 V3.

3D-принтеры Creality CR-10 и CR-10 V3

При 3D-печати деталей важно использовать функцию «Горизонтальное расширение» в программном обеспечении для нарезки. Я использовал значение –0,1 мм. Эта функция компенсирует расширение нити при печати.

Установка горизонтального расширения в программном обеспечении для нарезки

Если деталь не используется, например, если в ней имеется отверстие диаметром 20 мм, то отверстие фактической детали, напечатанной на 3D-принтере, будет около 19,8 мм, и мы не сможем ее собрать. 

Тем не менее, вот все детали, напечатанные на 3D-принтере.

Детали марсохода, напечатанные на 3D-принтере

Честно говоря, немного странно, сколько печати, но это единственный способ получить уникальный внешний вид марсохода. Хотя, вы можете сократить время печати вдвое, если решите напечатать только функциональные части этого марсохода.

Список деталей для самодельного марсохода

Вот список компонентов, необходимых для сборки этого самодельного марсохода. Список электронных компонентов можно найти ниже в разделе схемы в статье.

  • Алюминиевые профили Т-образные 20x20 мм
  • Угловые кронштейны с Т-образным пазом
  • Алюминиевая круглая трубка 20 мм
  • Шарнир тяги 8 мм
  • 8 x Подшипник 608RS – 8x22x7 мм
  • 8 x Подшипник 626RS – 6x19x6 мм
  • 5 x Подшипник 625RS – 5x16x5 мм
  • Болты М3 разной длины
  • 4 x сервоклапана

Нам также нужны болты M4, M5 и M6 разной длины. Полный список необходимых болтов и гаек вы можете скачать по следующей ссылке.

Болты и гайки также можно приобрести в местном хозяйственном магазине.

Сборка вездехода (марсохода)

Хорошо, теперь можно приступать к сборке марсохода. Сначала нужно подготовить алюминиевые профили. Я использовал ручную пилу по металлу, чтобы отрезать их по размеру.

Алюминиевые профили для сборки марсохода

Нам понадобится 10 профилей с Т-образными пазами для основания и 8 круглых профилей для подвески коромысла со следующими размерами.

Размеры алюминиевых профилей для марсохода

Для сборки рамы профилей T-slot мы используем подходящие угловые кронштейны T-slot и несколько болтов и гаек. Как только у нас будут готовы верхняя и нижняя рамы, мы можем завершить основание, вставив детали качающегося шарнира, напечатанные на 3D-принтере, по бокам и несколько кронштейнов, напечатанных на 3D-принтере, спереди и сзади. Для их фиксации на месте нам понадобятся болты M3 и гайки T-slot.

Сборка шасси марсохода

Для шарниров коромысла я использовал болты и гайки М5. Расстояние от переднего профиля до шарнира коромысла должно быть 134 мм.

Сборка подвески коромысла

Далее мы можем вставить основные подшипники для подвески коромысла на место. Затем у нас есть вал коромысла, который будет прикреплен к основанию с помощью болта М8.

Начало сборки шасси марсохода

Вал имеет прорезь, в которую мы можем вставить гайку M8, которая используется для крепления его к основанию. Отверстие вала составляет 7,5 мм, так что у нас есть плотное соединение между болтом и валом. Таким образом мы фактически усиливаем 3D-печатный вал, так как сам болт будет нести часть веса марсохода. Это самая нагруженная часть всей сборки, так как весь вес марсохода поддерживается валом коромысла. То, как мы печатаем детали, очень важно для их прочности.

Крепление вала к основанию

Первоначально я напечатал этот вал более простым способом, где не нужен поддерживающий материал, но печать не удалась.

3D модель вала

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

Одна и та же деталь, напечатанная с различной ориентацией

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

Отверстия в деталях, куда входят 20-миллиметровые круглые профили, рассчитаны на плотную посадку, поэтому в некоторых случаях для их подгонки приходится использовать рашпиль или наждачную бумагу.

Сборка рычага

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

Подготовка алюминиевой трубы

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

Определение точек где нам нужно будет просверлить отверстия в трубе

На противоположной стороне профиля нам необходимо повторить ту же процедуру. 

Я просверлил отверстия сверлом 2,5 мм, а затем с помощью болта М3 сделал в профиле резьбу, которую мы будем использовать для стягивания деталей.

Просверливание отверстия и нарезка резьбы в алюминиевой трубе

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

Завершение сборки рычага

Для шарнира тележки мы также используем два подшипника и болт М8.

Сборка шарнира

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

Сборка шарниров рулевого колеса

Для фактического соединения или соединения между частью крепления сервопривода и частью крепления двигателя постоянного тока мы используем два подшипника и болт М6. 

На верхней стороне или головке болта нам нужно прикрепить рог сервопривода, и мы сделаем это с помощью этой напечатанной на 3D-принтере муфты и нескольких болтов М3.

Напечатанная на 3D-принтере муфта для крепления рога сервопривода

Муфта имеет шестигранный паз, через который серводвижение будет передаваться на болт. С нижней стороны мы можем прикрутить другую часть соединения.

Сборка соединения рулевого колеса

Закрепляем это соединение гайкой М6. Это завершает соединение рулевого колеса, хотя позже я пойму, что на самом деле нам нужно добавить еще одну гайку М6 внизу и затянуть ее с другой гайкой.

Добавление еще одной гайки М6 внизу

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

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

Собранные элементы шасси марсохода

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

Далее нам нужно вставить эти подузлы в валы коромысла на базовой раме или шасси. Но прежде чем мы это сделаем, нам нужно вставить в вал несколько резьбовых латунных вставок.

Вставка в вал резьбовых латунных вставок

Используя паяльник, мы можем легко вставить их на место, и таким образом мы получаем хорошие и надежные резьбовые отверстия для крепления узла подвески. Для этого нам понадобятся четыре болта М4.

Резьбовые отверстия для крепления узла подвески

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

Шасси марсохода без дифференциала

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

Принцип работы шасси марсохода

Шасси будет иметь средний угол наклона обоих коромысел.

Вот все детали, необходимые для сборки дифференциала.

Детали, необходимые для сборки дифференциала

Так как дифференциальная балка довольно длинная, я сделал ее из трех частей, скрепленных болтами, чтобы мы могли печатать их на 3D-принтерах даже меньшего размера. Дифференциальная балка будет вращаться в середине шасси с помощью соединения, сделанного из двух подшипников и болта M8.

Установка дифференциальной балки

Для соединения дифференциала с коромыслом нам понадобится шаровой шарнир тяги. Я использую шаровой шарнир тяги M8, а также нам понадобится стержень с резьбой M8 длиной 50 мм. Стержень с резьбой входит в деталь, напечатанную на 3D-принтере, с одной стороны которой есть гайка M8, а с другой стороны он входит в шаровой шарнир тяги.

Шаровой шарнир тяги

Здесь нам нужно отрегулировать расстояние между 3D-печатной тягой дифференциала и концом тяги, которое должно быть около 20 мм, чтобы шасси оставалось горизонтальным. Для соединения тяги дифференциала с коромыслом мы используем два подшипника и болт М5.

Регулировка расстояния между 3D-печатной тягой дифференциала и концом тяги

Повторяем эту процедуру и для другой стороны, и на этом наша подвеска коромысла-тележки завершена. Когда одна сторона поднимается, другая опускается и наоборот.

Дифференциал на шасси марсохода установлен

Это обеспечивает всем колесам постоянный контакт с землей. Шасси проходит только половину хода ноги, или шасси имеет средний угол наклона обоих качалок.

Сборка двигателей для марсохода

Хорошо, теперь мы можем перейти к установке двигателей постоянного тока. Двигатели, которые я использую, имеют диаметр 37 мм, работают при напряжении 12 В и имеют редуктор с выходной мощностью 50 об/мин.

Двигатели для марсохода

Хотя позже я понял, что 50 об/мин — это слишком много для этого марсохода, поэтому я бы посоветовал выбрать версии на 20 или 10 об/мин. 

Для крепления колес к двигателям я сделал вот такие муфты.

Муфты для крепления колес к двигателям

Здесь нам нужно установить резьбовые вставки M3, которые будут использоваться для крепления муфты к валу, а также гайки M4 для крепления колеса к муфте. При установке гаек нам следует также добавить немного клея, чтобы они надежно держались на месте, или использовать вместо них резьбовые вставки. 

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

Напечатанное на 3D принтере колесо марсохода

Обод имеет пазы, которые вставляются в колесо, и таким образом мощность от двигателя передается колесу. Мы можем добавить несколько капель клея в пазы, чтобы они были более надежными. Наконец, мы можем прикрепить колеса к муфтам вала или двигателям постоянного тока с помощью 4 болтов M4. 

Пазы в колесе для крепления двигателя

Хорошо, теперь мы можем установить сервоприводы рулевого управления. Я использую цифровые сервоприводы с высоким крутящим моментом 25 кгсм и рабочим напряжением от 4,8 до 6,8 В. Для закрепления сервоприводов на месте мы используем четыре болта M3, которые входят в резьбовые вставки M3 в детали крепления сервопривода, напечатанной на 3D-принтере. 

Установка серводвигателя

Сборка блока камеры

Далее мы можем собрать блок камеры. Для панорамирования камеры я решил использовать шаговый двигатель NEMA 17, но вы можете заменить его любым другим типом двигателя.

Двигатель NEMA 17 для блока камеры

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

Закрепление резьбового стержня на подвижном элементе

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

Продолжение сборки блока камеры

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

Блок камеры в собранном виде

Я установил весь этот узел камеры в переднем правом углу шасси. 

Блок камеры, установленный на шасси марсохода

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

Сборка остальной части марсохода

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

Установка декоративного элемента сзади марсохода

На самом деле я приложил немало усилий, проектируя эти детали, уделяя внимание деталям, чтобы все выглядело хорошо.

Установка декоративной крышки сзади корпуса

Эти детали также довольно большие, и их 3D-печать занимает некоторое время.

Закрепление боковых панелей на Т-образных пазах шасси марсохода

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

Установка защелок для верхних панелей

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

Держатель для электронных компонентов

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

Электроника

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

Использование термоусадочной трубки для изоляции разъемов

С помощью стяжек мы можем направлять и содержать провода в чистоте.

Использование стяжек для закрепления проводов

Для сервомоторов мы можем использовать сервоудлинители, чтобы протянуть провода к отсеку электроники. В части крепления электроники есть пазы, через которые мы можем пропустить провода, чтобы добраться до середины марсохода.

Использование сервоудлинителей, чтобы протянуть провода к отсеку электроники

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

Схема самодельного марсохода

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

Принципиальная схема марсохода на основе платы Arduino

Для управления шестью двигателями постоянного тока мы используем шесть драйверов двигателей постоянного тока DRV8871, которые поддерживают управление ШИМ и пиковый ток до 3,6 А. Рабочее напряжение двигателей постоянного тока составляет 12 В, номинальный ток — 1 А, ток остановки — 3 А. Для питания марсохода я использую аккумулятор 3S LiPo, который обеспечивает около 12 В.

С другой стороны, сервоприводам нужно от 4,8 до 6,8 В, поэтому нам нужен преобразователь постоянного тока, который преобразует 12 В в 6 В. Преобразователь должен быть способен обрабатывать ток около 8 А, так как сервоприводы, которые мы используем, довольно мощные и имеют ток останова около 2 А. Для управления шаговым двигателем блока камеры мы можем использовать шаговый драйвер A4988 или DR8825. Используя два резистора, мы можем сделать простой делитель напряжения, через который мы можем контролировать напряжение батареи. 

Питание радиоуправляемого приемника осуществляется от 6 Вольт, поступающих от понижающего преобразователя, а FPV-камера и ее видеопередатчик питаются от 12 В от аккумулятора. 

Необходимые компоненты

  1. Плата Arduino Mega 2560 (купить на AliExpress).
  2. Шаговый двигатель NEMA 17 (купить на AliExpress).
  3. Двигатель постоянного тока 12 В 37 мм.
  4. Цифровой сервопривод 25 кг.
  5. Драйвер двигателя постоянного тока DRV8871.
  6. Модуль драйвера шагового двигателя A4988 (купить на AliExpress).
  7. DC-DC понижающий преобразователь.
  8. 3S LiPo аккумулятор.
  9. Разъем XT60.
  10. Передатчик FLYSKY RC.
  11. FPV-камера и видеопередатчик.
  12. FPV-приемник по вашему выбору.

Реклама: ООО "АЛИБАБА.КОМ (РУ)" ИНН: 7703380158

Печатная плата для проекта

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

Печатная плата для электроники марсохода

Эта печатная плата фактически будет выступать в качестве шилда Arduino MEGA, поскольку мы сможем напрямую подключить ее поверх платы Arduino MEGA. В дополнение к драйверам двигателей я включил регулятор напряжения 3,3 В и выделенное соединение NRF24L01 на случай, если вы захотите управлять марсоходом с помощью этого модуля, а также соединения для датчика DHT22, компаса, I2C, последовательной связи, соединений 12 В, 5 В, 3,3 В и GND. На самом деле, я подготовил эту печатную плату к будущему для модернизации функций марсохода. 

Здесь вы можете скачать файл Gerber для этой самодельной печатной платы марсохода: печатная плата для самодельного марсохода.

Вы можете заказать изготовление этой печатной платы в любом месте, в котором вы привыкли это делать, автор данного проекта заказывал ее изготовление на сервисе PCBWay. Качество печатной платы оказалось отличное, и все точно такое же, как в проекте.

Изготовленная печатная плата для проекта марсохода

Сборка печатной платы довольно проста, так как все промаркировано. Я начал с пайки штыревых разъемов в нижней части печатной платы для подключения Arduino MEGA, а затем продолжил с верхней стороны. На самом деле я использовал штыревые разъемы для всех соединений, потому что это дает гибкость для внесения изменений, если что-то работает неправильно. Я не припаивал регулятор напряжения 3,3 В, а также некоторые свободные штыревые разъемы Arduino, так как я все равно не собирался их сейчас использовать. 

Шилд для платы Arduino Mega с установленными на него разъемами

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

Установка платы Arduino в корпус марсохода

Затем я подключил каждый двигатель к их драйверам и установил их на место в печатной плате. Сервоприводы подключаются к соответствующим выводам сервопривода, как и шаговый драйвер, для которого я использовал одну перемычку для выбора разрешения шага 1/8.

Подключение драйверов двигателей постоянного тока DRV8871 и сервоприводов к печатной плате марсохода

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

Передатчик и приемник FLYSKY RC

Для подключения приемника к Arduino мы можем использовать сервоудлинители, так как нам нужно три провода: VCC, GND и сигнальный контакт. Приемник взаимодействует с Arduino через I-BUS и последовательный порт. Если мы хотим отправлять данные обратно с приемника на передатчик, в нашем случае для контроля напряжения батареи, нам также нужно подключить датчик I-BUS приемника к другому последовательному порту Arduino. 

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

Закрепление LiPo-аккумулятора внутри корпуса марсохода

Выключатель питания находится на задней правой панели марсохода. Я использовал провода калибра 20 для этих соединений, так как ток, протекающий через них, может достигать нескольких ампер, когда марсоход полностью включен. Обязательно дважды проверьте соединения с этими проводами, потому что если вы подключите что-то неправильно, вы можете что-то запустить. 

Наконец, мы можем подключить FPV-камеру к источнику питания 12 В и подключить провод видеосигнала к видеопередатчику, который также должен питаться от 12 В. На этом мы закончили с электроникой.

Собранная и подключенная электроника на основе платы Arduino Mega внутри корпуса марсохода

Мы можем вернуть на место панели крышки, и мы закончили с этим самодельным марсоходом. На самом деле, мы почти закончили, так как нам нужно дать жизнь этой машине сейчас, или запрограммировать Arduino. 

Код Arduino для самодельного марсохода

Здесь вы можете скачать код Arduino для этого проекта самодельного марсохода: самодельный марсоход - код Arduino.

Обзор кода

Итак, используя библиотеку IBusBM мы считываем входящие данные с RC-передатчика.

Затем мы преобразуем эти значения в радиус поворота вправо, радиус поворота влево и скорость марсохода от 0 до 100%.

Мы используем значение радиуса поворота «r» для расчета углов поворота рулевых колес, а также скорости вращения колес.

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

Для управления двигателями постоянного тока используется функция analogWrite(), которая фактически посылает ШИМ-сигнал на драйверы двигателей постоянного тока.

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

Видео, демонстрирующее процесс сборки и работы проекта

Источник статьи

(Проголосуй первым!)
Загрузка...
19 просмотров

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *