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

Марсоход в домашних условиях: корпус и механика

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

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

Тот самый марсоход

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

Мой марсоход выглядит немного скромнее.

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

Моторы

6 шт. 9 вольт (150 оборотов в минуту) с редукторами и датчиками оборотов. Скорость они развивают приличную, но я бы не сказал, что с моим диаметром колес они тянут хорошо. Для марсохода куда важнее проходимость, чем скорость. Брал тут за $9 за штуку.

Брал я их в сборе, с крепежным уголком и латунным переходником под колеса. Переходники я нигде кроме Aliexpress не видел. Вал и колеса очень сложно соединить каким-то иным способом. Продавец прислал 4 мотора без переходников, пришлось сделать временно решение на 3D принтере.

Аналог латунного переходника из PLA для крепления колеса

Позже продавец дослал недостающие детали. Но они оказались длиннее в 2 раза. Эту проблему я отложил, она не критична.

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

Колеса

С колесами все просто. Брал с резиновой покрышкой в масштабе 1:10 вот тут за $13 (4 штуки). В целом колеса можно было брать и побольше. Но в идеале нужны такие, которые будут скрывать мотор внутри себя, как у настоящего марсохода. А то сейчас эти длинные моторы цепляются за неровности.

Шасси

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

Шасси на основе трубок с квадратным сечением 10mm x 10mm x 1mm.

Изначально рассчитывал сделать соединительные узлы из пластика. Даже купил 3D принтер. Спроектировал все в tinkercad. Но распечатанные узлы оказались ненадежными. Я печатал на PLA и ABS. Первый материал был слишком хрупкий, ломался от более-менее ощутимого удара, второй слоился.

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

Алюминий сверлил шуруповертом и соединял все винтами М3. Еще один вечер и я сделал вторую часть шасси.

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

Основа корпуса из алюминия, а стенки из оргстекла. Этот материал довольно хорошо поддается обработке. Корпус имеет размеры 200mm x 400mm x 100mm.

Днище корпуса марсохода и блок управления на основе PCA9685 и L298n x 3

На последнем фото видно, что моторы управляются драйверами L298N. А эти драйверы в свою очередь управляются платой PCA9685. Это удобно, если контролируешь все это через Raspberry pi 3. Так как на этом микрокомпьютере мало возможностей для генерации аппаратного PWM сигнала. А вот плата расширения, подключенная через I2C решает все проблемы. К слову, чтобы управлять каждым мотором по отдельности нужно 18 каналов. каждый мотор требует 1 канал PWM и два канала направления. Похимичив, можно сделать 1 канал направления, но такой потребности пока нет.

Читайте также:  Ламповые усилители свои руками схемы

A post shared by Mikhail Kostin (@michael.fon.kostin) on Dec 28, 2017 at 11:46pm PST

Башня

Башня с поворотным механизмом по двум осям

Для башни была куплена коробка для поделок с таким расчетом, чтобы в нее поместилась камера. Камера поворачивается по двум осям. Повороты осуществляются с помощью двух сервоприводов Emax ES08MA. Не могу сказать, что это лучшие сервоприводы для этой задачи (слабые, гудят при больших нагрузках). Есть MG996R, но для такой конструкции они великоваты. Раньше я пробовал использовать поворотный механизм для камеры, но он трясся при поворотах, Больше самой камеры ему не доверишь.

A post shared by Mikhail Kostin (@michael.fon.kostin) on Oct 3, 2017 at 2:21pm PDT

Потом взял алюминиевую трубку, подшипники и всякое такое. Сделал более стабильный поворотный механизм. Корпус башни я еще не доделал. Туда я добавлю лазерный дальномер и инфракрасные лампы для ночной съемки. По поводу камеры стоит написать отдельный пост. Я испробовал 3 версии и докупил объектив «рыбий глаз». Там есть о чем рассказать.

Таким образом, мой марсоход находится на стадии, когда нужно все прикрутить и начать испытания ходовой части. Управляется он через браузер. С помощью клавиатуры и мыши. Сервере управления написан на nodejs. Некоторые модули будут работать на python и С++.

В других статьях я более детально расскажу о том, как я рассчитывал ток потребления для ходовой части и собирал батарею из 16 банок 18650 на основе одной BMS платы 4s.

Источник

Модель марсохода MSL Curiosity

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

В итоге после трех лет очень неспешной работы, кучи переделок и граблей я получил вот это:

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

Аппаратное обеспечение

Начну с того, что было для меня наиболее интересно — с электроники. Можно было бы сказать, что он сделан на Arduino, но я с этим не согласен. Чуть позже объясню, почему я так считаю.

Для постройки модели я использовал следующие готовые части:

  1. Плата LinkIt One, как основной мозг ровера (79$)
  2. Две платы на микроконтроллере Atmega8 EduBoard, которые я использую для обучения программирования микроконтроллеров. В модели одна из них использована для пульта, а вторая для управления сервоприводами (21$)
  3. Четыре сервопривода Hitec HS-485 (58$)
  4. Один сервопривод MG-90S с металлическим редуктором (4,5$)
  5. Шесть редукторных двигателей постоянного тока, 77 об/мин (48$)
  6. WiFi-роутер TP-LINK TL-MR3020 (26,7$)
  7. WEB-камера Logitec C210 (больше не производят) (около 20$)
  8. Три стабилизатора напряжения 5В, 3А (17,2$)
  9. Два LiPo-аккумулятора Turnigy, 3S, 3000mAh (26,4$)
  10. Два самодельных драйвера двигателей (около 7$)
Читайте также:  Органайзеры для лего своими руками

Если так грубо посчитать, то выходит чуть больше 300$. Но надо понимать, что эта сумма не учитывает кучу мелочевки, пробы, ошибки и т.д.

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

Пульт управления подключается к ПК через USB. Компьютер, в свою очередь, подключен к LinkIt One через Bluetooth и транслирует команды оператора. LinkIt One пересчитывает эти команды в сигналы управления двигателями и светодиодами, которыми она управляет самостоятельно через драйверы и транзисторы.

К сожалению, сама по себе LinkIt One может управлять только двумя сервоприводами. Поэтому к LinkIt One через UART подключена плата на микроконтроллере Atmega8. Она принимает требуемые углы и формирует точные сигналы для управления пятью сервоприводами.

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

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

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

Кстати, я сделал небольшую коммутационную плату, через которую LinkIt One подключается к EduBoard. Также на ней разведено питание, сигнальные разъемы и ключи для управления подсветкой.
Исходники я выкладывать не планирую. Вряд ли кто-то захочет повторить все это один в один. Если будут вопросы, то я с радостью расскажу больше или перешлю интересующие материалы.

Пульт управления

Пульт собран на основе той же EduBoard, шилда к ней и двух джойстиков.

На шилде собраны все элементы управления, а именно два переменных резистора, две кнопки и два тумблера. К нему же подключены оба джойстика. Сигналы со всех этих устройств обрабатываются шестью каналами АЦП микроконтроллера, двумя цифровыми входами и двумя входами внешних прерываний. Полученные данные нормируются, оборачиваются протоколом и, через FT232RL, отправляются компьютеру с частотой 10Гц.

Корпус пульта напечатан на 3D-принтере:

Кузов марсохода

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

Переломным моментом в работе над проектом стало приобретение радиотехническим колледжем, в котором я немного преподаю, 3D-принтера PrintBox One. В итоге, большинство деталей для него напечатано на 3D-принтере. Кузов сделан из оргстекла, а крышка «головы» из стеклотекстолита.

Я чаще всего рисую в SketchUp. Только чертежи колес, которые немного сложнее, подготовлены в SolidWorks моим другом, профессиональным конструктором. Файлы для резки оргстекла сделаны в NanoCad. Перед тем, как начинать изготовление марсохода, я сделал его виртуальную модель. Все файлы проекта для 3D-печати и резки оргстекла, выложены на thingiverse.com. Там довольно много полезных кусочков, которые можно применить и в других проектах.

Читайте также:  Как украсить бутылку кружевами своими руками

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

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

Программное обеспечение

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

Первая, написанная на C, исполняется на пульте. О ее функциях я уже писал выше.

Вторая программа для ПК. Она написана на Python. Изначально планировалось, что компьютер будет принимать команды, пересчитывать их и отправлять роверу в обработанном виде. В итоге всеми расчетами занимается LinkIt One, а скрипт на Python’е только перанаправляет байты, принятые от пульта Bluetooth-устройству.

LinkIt One программируется на C++. Она принимает пакеты с ПК (которые доходят ровно в том же виде, какими их формирует пульт), сама управляет двигателями и подсветкой, а также пересчитывает углы сервоприводов и отправляет их в контроллер сервоприводов. Команды для двигателей прогоняются через пропорциональный регулятор, чтобы обеспечить плавность управления и исключить возможность резкого изменения направления вращения двигателей.

Четвертая программа, написанная на С, управляет сервоприводами. Она принимает команды из UART и по алгоритму, который я уже описывал, формирует управляющие импульсы для сервоприводов.

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

Как вы могли заметить, я использую аппаратную совместимость с ардуино и их бутлоадеры, но код для проекта написан не на Processing/Wiring. Поэтому я не считаю, что это поделка на ардуино.

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

Передача видео

На роутер установлена прошивка OpenWrt. При включении роутер создает точку доступа и поднимает веб-сервер со страницей, транслирующей видео.

На моей прошивке самое оптимальное качество получается при частоте следования кадров 5 раз в секунду в формате QCIF (176х144). Это довольно мало, но для езды по квартире достаточно. Можно, кончено, повысить частоту или разрешение, но тогда начинают проскакивать битые кадры.

Вот как выглядит в оригинальном разрешении картинка с головы:

Видео работы

Вот так моя модель марсохода выглядит и работает на данный момент:

Чуть более ранее видео для thingiverse:

И еще одно. С неработающими сервами, но с преодолением препятствий:

Вместо заключения

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

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

Источник

Оцените статью
Своими руками