Радиоуправляемый танк на Arduino Nano – Схемы.ру – Каталог схем и самоделок

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок Конструкторы

С чего все начиналось

Давным-давно была у меня мечта сделать робота на гусеничном шасси, которым можно было бы удаленно рулить. Основной проблемой было отсутствие непосредственно гусеничного шасси. В конце концов я уже решился купить радиоуправляемый танк на разборку, но мне повезло, в магазине среди хлама нашелся танк Snow Leopard (Pershing) — USA M26 с погоревшей электроникой, но полностью исправной механической частью. Это было ровно то, что нужно.

Вдогонку к шасси были докуплены два регулятора напряжения для коллекторных двигателей, штатив для камеры из двух сервоприводов, веб-камера с аппаратной поддержкой mjpeg и внешняя WiFi карточка TP-LINK TL-WN7200ND. Чуть позже к списку устройств добавились портативная колонка, USB звуковуха Creative SoundBlaster Play и простенький микрофон, а также пара USB хабов, чтоб все это подключить к модулю управления, которым стал Raspberry Pi.

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

Апгрейды, улучшения и т.п.

Далее шел долгий процесс написания серверной и клиентской части на Python’е c использованием библиотеки

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

Батарея, точнее уровень ее заряда

На всех этапах оставалось непонятным, сколько еще можно кататься, не убив батарейку (Li-Po нельза разряжать ниже чем 3.3в на банку). Я не нашел способа замерить напряжение с помощью GPIO ног Raspberry, поэтому в качестве измерителя поставил Arduino Nano, к которому на будущее сразу подключил LCD экран c I2C адаптером.

Смотрите про коптеры:  Рейтинг лучших роботизированных газонокосилок -2023

Драйвер двигателя sn754410ne

Для управления двигателями я использовал драйвер SN754410NE. Я применил его, потому что он у меня был, но вы можете использовать другой, например L293.

Теперь о подключении драйвера к Arduino Uno. Все выводы GND (4,5,12,13) подключите к GND макетной платы.  Контакты драйвера  1 и 16 подключите к выводам 9 и 10 Arduino. Контакты драйвера 2 и 7 подключите к контактам 3 и 4 Arduino, это контакты управления левого двигателя.

Контакты драйвера 10 и 15 подключите к выводам 5 и 6 Arduino, это контакты управления правого двигателя.  Контакты 3 и 6 подключите к левому мотору, а контакты 14 и 11 к правому. Контакты   8 и 16 должны быть подключены к питанию на макетной плате. Источник питания: 9В батарея.

Какой же танк без пушки

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

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

То есть куда смотрим (по вертикали), туда и стреляем. Для прицеливания на ствол пушки был примотан лазерный светодиод от указки. Чтоб лишний раз не тратить батарею и не светить лазером куда не надо, нужно было сделать пушку отключаемой. Процесс выстрела также не совсем прост.

Надо включить питание двигателя и ждать замыкания контакта, после чего двигатель выключить. В итоге управление выстрелом и питанием сервы и лазера было повешено на ардуину, а сигнал для сервы генерирует Raspberry. Для двигателя пушки также пришлось проводить отдельный силовой провод и включать его постепенно, используя ШИМ, так как иначе прилетает помеха по питанию и Arduino уходит в ребут. Для подачи снарядов, то есть шариков, была использована коробочка от драже TicTac с дыркой в дне.

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

Надо заставить это двигаться

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

. После запуска она создает файл /dev/servoblaster, в который можно писать что-то типа 0=150, где 0 — номер канала, а 150 — длина импульса в десятках микросекунд, то есть 150 — это 1.5 миллисекунды (у большинства сервоприводов диапазон значений 700-2300 мс).


Итак, подключаем регуляторы на 7 и 11 GPIO пины и запускаем servoblaster командой:

# servod --min=70 --max=230 --p1pins=7,11

Теперь, если записать в /dev/servoblaster строки 0=230 и 1=230, то танк рванет вперед.

Питание

Arduino питается от батарейки 9В через соответствующий разъём. Для питания двигателей я использовал 4 батарейки размера D и соответствующий разъём. Для питания двигателей подключите провода от держателя к плате с SN754410NE.

Питание и проводка

image

В батарейный отсек я запихал самую большую Li-Po батарею, которая туда влезла. Ей оказалась двухбаночная батарейка на 3300 mAh в твердом корпусе, которая обычно используется в модельках машин. Паять мне было лень, поэтому для всей коммутации была использована стандартная макетная плата с шагом 2.54.

Позже появилась вторая на верхней крышке и шлейф, который их соединял. На каждый из двух двигателей у меня был свой регулятор напряжения, который в виде бонуса выдает стабилизированное питание около 5.6 вольт. С одного регулятора был запитан Raspberry и WiFi карта, питание со второго пошло на сервоприводы и USB хаб с периферией.

Подключаем камеру

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

Радиоуправляемый танк на arduino nano – схемы.ру – каталог схем и самоделок

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

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

Для ее изготовления необходимы следующие комплектующие:

  • Arduino Nano;
  • шасси,
  • сервоприводы в количестве 3 штук,
  • система поворотов,
  • игрушечный пистолет,
  • джойстик типа PS2,
  • соответствующий модели джойстика приемник,
  • аккумуляторные батарейки,
  • корпус для аккумуляторов,
  • провода,
  • лазерная указка.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделокГотовое шасси уже оснащено двумя двигателями, парой редукторов, переключателем, отсеком для помещения двух аккумуляторных батареек. Приобретение такого готового шасси выгоднее изготовленного самостоятельно.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделокПервоочередной задачей является закрепление приемника от джойстика на шасси.

С этой целью демонтируйте крышку.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделокОсвободить от крышки следует и редуктор.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделокДалее проделайте на крышке два отверстия, используемые, в последующем, для монтажа посредством винтов.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок
Зажатые винтами гайки следует залить клеем для предотвращения их раскрутки в процессе езды и падения в редуктор.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

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

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

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

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

Приведите после этого поворотную систему в исходное состояние.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

Установите собранную систему на танковом корпусе.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

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

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

Пришла очередь пистолета, предназначенного для дула танка. Отпилите его нижнюю часть.
Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок
На сервоприводе и пистолетном корпусе проделайте по одному отверстию. Используя винт, соедините пистолет с сервоприводом.
Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок
На курке пистолета и насадке сервопривода также просверлите отверстия. Посредством отрезка проволоки соедините между собой указанные выше элементы.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

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

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

Осуществите программирование имеющейся у вас платы Arduino Nano.
Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок
Следуя приведенной ниже схеме, произведите сборку оставшихся компонентов устройства.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделок

На верхней части готового шасси установите фрагменты линейки – будущие крылья танка.

Установите на них предназначенные для аккумуляторов отсеки.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделокС помощью термоклея присоедините лазер к дулу.

Радиоуправляемый танк на Arduino Nano - Схемы.ру - Каталог схем и самоделокРадиоуправляемый танк готов к эксплуатации.

,

Читайте также:Новости России Украины и мира

Сборка

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

Установка дальномера

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

На датчике есть три контакта GND, 5В и сигнал. GND подключите к GND, 5В к 5В Arduino и сигнал подключите на 7 контакт Arduino.

Шасси

Шасси я взял из танка, купленного за 10$. Основу можно прикрепить к нему в любом месте, но я прикрепил её посередине.

Оцените статью
Радиокоптер.ру
Добавить комментарий