Дистанционно управляемый водометик на Arduino

Опубликовано 05.08.2014 17:22:00


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

Управляющая программа, способы дистанционного управления (bluetooth или APC220), все остаётся прежним.

Дистанционно управлемый водомет, внешний вид

 

В статью добавлены схемы и программные коды для переноса проекта на распространенные палаты управления моторами (модуль L298N и Adafruit motor Shield)

Иллюстрация разнообразного подключения

 

 

Детали требуемые для сборки:

• Arduino UNO, либо Duemilanove либо любая другая

• Z- Motor Shield L293D, либо Z- Motor Shield L298P, либо Модуль L298N, либо Adafruit Motor Shield

• Соединительные провода "папа-мама" и "мама-мама"

• Блютуз модуль

• 2 x SG90 Сервоприводы более известные как mini 9G

• Двух осевой вращатель

• Водяной насос

• Стержини от гелевой и обычной ручек (ствол), система для капельницы (соединительный шланг помпы и бака), подходящая емкость для жидкости, пластиковый хомутик

• Платформа на которую мы будем крепить

• Аккумулятор либо батарейки


.

Сборка дистанционно управляемой машинки

на базе Arduino и Z- Motor + Servo Shield L293D

(Аппаратная часть)

 

Управление помпой

Наш Z-Motor + Servo Shield позволяет управлять двумя моторами постоянного тока, выходит подключить третий мотор (водяной насос), попросту некуда.

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

Пуск мотора через транзистор

 

Я не стал заморачиваться, разводить, травить плату для столь простой задачи. Платку вырезал канцелярским ножом, так что это будет под силу любому человеку. В качестве мосфета выбрал мосфет с отличными характеристиками - IRLR2905. Вы же можете использовать для данной цели любой N-канальный мосфет транзистор. Мини платка оснащена 3пиновым разъемом, для удобного подключения к Arduino. Далее на схеме хорошо видно что куда подключается.

Изготовление мини платки с мосфетом для управления водяной помпой

 

P.S. Самодельный мосфет модуль можно без проблем заменить на готовый реле модуль.


 

Сборка платформы

Приступаем к сборке, полее подробно о процессе сборки платформы танка здесь.

Плата Arduino и шилд питаются от одного источника, джампер выбора напряжения питающего сервоприводы в положении +5V (рекомендуемое для 9G).

Иллюстрация для сборки

Схематика подключения

 

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

Крепление водяной помпы на вращатель сервоприводов

 

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

Вставляем блютуз модуль во встроенный разъем на Z- мотор шилде

 

В качестве бака я использовал пузырек. В крышке необходимо сделать 2 отверстия, постепенно увеличивая их диаметр, развальцевать до диаметра чуть меньшего чем трубка, так трубки встанут плотно и не будут выпадать. В одно отверстие, до дна пузырька, опустить шланг подачи воды на насос, во второе вставить трубочку для всасывания воздуха (можно и без неё, но с ней вода не выплескивается). Данную трубку не нужно вставлять глубоко, если не хотите получить кальян :)

Подсоединение проводки

 

Дуло делается из двух стержней: от гелевой ручки и обычной. Отрезаем кончик гелевой ручки, Выдуваем гель, промываем стержень. Затем берем обычный шариковый стержень, отрезаем сантиметра 3. Берем молоток и аккуратно вбиваем полученный отрезок в гелевый стержень. Уменьшением выходного диаметра дула создадим напор. Теперь нужно насадить наш стержень на помпу. Стержень в диаметре меньше носика помпы, по-этому его придется расширить. Я немного сжал оставшийся конец дула (сантиметра 1.5) тисками пластик сплющился - диаметр увеличился. Плющим до нужной кондиции, и когда стержень уже очень туго находит на носик, круговыми движениями шатаем трубу до упора.

Дуло из гелевой ручки


 

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

Как говорилось в начале, все будет управляться с компьютера через написанную нами программку Z-Controller. Скачать её можно здесь, руководство пользователя здесь.

Про соединение блютуз модуля с компьютером здесь

Файл настроек под наш код (скачать).

Конфигурация кнопок Z-controller

W - Вперед

A - Влево

S - Назад

- Вправо

E - Выстрел

U - Перевод башни в дефолтное положение (центровка)

I - Башня вверх

- Башня влево

- Башня вниз

- Башня вправо

 

 
Пример программного кода

 

Видео демонстрация



 

Сборка идентичного дистанционно управляемого водомета, но на базе Arduino и других плат управления

В отличии от Z-Motor + Servo Shield, платы которые будут рассматриваться далее, не имеют на своем борту отдельного стабилизатора для питания сервоприводов.

Выхода из этой ситуации 2:

1) Как будет указанно в иллюстрациях - питать сервы от Arduino. 9G потребляют не много и нагрузки на них практически нет.

2) Либо запитать Сервоприводы от отдельного стабилизатора, к примеру самого легкого в подключении L7805 в обиходе - КРЕНку. Второй вариант лучше и я бы рекомендовал его. Так мы снимем нагрузку со стабилилизатора на плате Arduino т.е. защитим его от возможного перегрева и выхода из строя и избавимся от просадок напряжения и возможных перезагрузок контроллера,

Подключается все просто, на картинке подробно показано.

При таком варианте управляющий сигнал на сервопривод по-прежнему подается с платы Arduino, а +5V и GND подаются с L7805 (не забудьте соединить земли Arduino и L7805, если для питания платы Arduino и сервоприводов будете использовать разные аккумуляторы). Подробно о подключении сервоприводов через КРЕНку здесь



 

Сборка идентичного дистанционно управляемого водомета

на базе Arduino и модуля драйвера двигателей L298N

Модуль драйвера двигателей L298N подключение к Arduino (статья о работе)

 

При сборке машинки на модуле L298N так же ничего сложного нет. Просто придется соединить модуль с платой Arduino с помощью джамперов "папа-мама" как показано на картинке. Водяную помпу будем подключать также через mosfet транзистор.

Наглядная иллюстрация подключения

 
Пример программного кода


 

Сборка идентичного дистанционно управляемого водомета

на базе Arduino и Adafruit motor shield

Adafruit motor shield подключение к Arduino (статья о работе)

 

При сборке машинки на Adafruit motor shield могут возникнуть некоторые трудности если вы не умете паять. Производители шилда  не комплектуют плату гребенками "папа-мама", по-этому соединить шилд с блютуз модулем с помощью лжамперов не выйдет - придется подпаиваться.

Сборка водомета на базе Adafruit motor shield имеет один большой плюс, к нему можно подсоединить 4 мотора. Водяную помпу можно подключить напрямую к плате без изпользования mosfet транзистора. Если насос будет качать не в ту строну и вы не хотите копаться в коде, то просто поменяйте полярность его включения.

Иллюстрация подключения

 
Пример программного кода

А как же комментарии?