Шустрый внедорожник из Lego и Arduino, Bluetooth управление

Добрый день. Продолжая тему моделирования из Lego Technic, хочу представить вашему вниманию еще одну версию внедорожника, отличительной чертой которого будет высокая скорость и проходимость. Большая скорость, в сравнении с другими моделями, будет обеспечена за счет использования сдвоенного редуктора Tamiya 70097 Twin-Motor Gearbox Kit. Левое и правое задние колеса будут выражаться независимо. Таким образом для осуществления движения будет использоваться два электродвигателя. Электрификация, как всегда, Arduino. На этот раз нам понадобиться Arduino Nano, и кое-что еще:
— Lego Technic 42079
— Tamiya 70097 Twin-Motor Gearbox Kit
— Arduino Nano v3 AT Mega 328
— Драйвера двигателя L9110S 2 шт
— Bluetooth модуль HC-06, HC-05 или аналог
— Светодиод белый 2 шт.
— Резистор 150 Ом 2 шт.
— Конденсатор 10v 1000uF
— Катушка индуктивности 68мкГн
— 8 NI-Mn аккумулятора 1.2v 1000mA
— Монтажная плата
— Однорядная гребенка PLS-40
— Коннектор папа-мама двух контактный на провод
— Провода разных цветов
— Припой, канифоль, паяльник
— Болтики 3х20, гайки и шайбы к ним
— Болтики 3х40
— Болтики 3х60

Шаг 1 Собираем редуктор.
Прежде всего, распакуем и соберем сдвоенный мотор-редуктор Tamiya 70097 Twin-Motor Gearbox Kit. Вместе с ним идет подробная инструкция по сборке нескольких вариантов, с разным передаточным числом. Один из вариантов — с передаточным соотношением 58:1, другой – 203:1. Выбираем вариант с соотношение 58:1. Далее необходимо определиться с расположением выходных валов. Согласно инструкции от редуктора, возможны два варианта. Вывод валов по центру или ближе к низу. Выбираем вариант по середине.

Не забудьте при сборке редуктора смазать шестеренки и валы на которых они сидят. По опыту сбора уже нескольких редукторов скажу, смазки они кладут мало, да и жидковата она. Советую использовать смазку типа Литол, в разумном количестве, конечно.

И с обратной стороны:

Теперь берем две соединительные втулки Lego:

Втулки надеваем на выходные валы:

Надев втулки, заливаем в пустые прорези втулки термоклей, тем самым фиксируя втулки на валах:

У нашего редуктора корпус не закрывает шестерни, а значит высока вероятность испачкать детали Lego в Литоле. Чтобы этого не было, берем тонкий пластик, например, от пластикового скоросшивателя, я взял прозрачный. Приклеиваем на двусторонний скотч, начиная с одной стороны, оборачиваем торец и приклеиваем на другую стороны. Должно получиться так:

Теперь необходимо прикрутить к редуктору Lego деталь. Используем для этого болтики 3х20:

Шаг 2 Собираем основу.
Основу придется собирать по фотографиям. На фото все хорошо видно:

Спереди выглядит так:

Вид сзади:

Шаг 3 Собираем кабину.
Кабину возьмем от Lego 42065. Скачиваем инструкцию с официального сайта

Собираем кабину, начиная с 61 шага и до 95. Добавляем нижнее крепление как на фото для соединения с нашей основой:

Спереди тоже добавим немного деталей:

И сзади добавим фонари:

Наверху кабины добавим фары:

Шаг 4 Электрика.
Мозгом нашей модели будет Arduino Nano v3. Для Управление двигателями будем осуществлять через драйвер двигателя L9110S. Я не люблю разводить много проводов. Во-первых это занимаем много места, во-вторых много соединений повышает риск плохого подключения и прочих «глюкоф». Поэтому соберем все необходимое на монтажной плате. Схема будет такая:

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

Снизу соединяем все используя припой.

Для питания будем использовать Ni-Mn аккумуляторы. Спаиваем последовательно по 4 аккумулятора, сматываем их изолентой и выводи провод с конектором наружу. Получаем два блока питания по 4 аккумулятора. Размещаем их на основе, рядом с передними колесами:

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

Шаг 5 Среды программирования.
Редактировать и заливать скетч будем производить через Arduino IDE. Это простая и удобная среда программирования. Эту программу можно легко скачать с официального сайта

Устанавливаем ее согласно инструкции от программы. Потом необходимо добавить в Arduino IDE библиотекe, которая необходима для скетча. SoftwareSerial.h используется для создания программного канала связи с Bluetooth модулем:

softwareserial.rar

[9.29 Kb] (скачиваний: 67)

Скачанный и распакованный архив нужно переместить в папку «libraries». Эту папку можно найти по пути нахождения установленной Arduino IDE. Также возможно использовать внутреннюю функцию Arduino IDE. Не распаковывая архив, можно добавить ее в среду программирования. Запускаем Arduino IDE, выбираем пункт меню Скетч – Подключить библиотеку. Вначале выпадающего списка выбираем пункт «Добавить .Zip библиотеку». Указываем место нахождения скачанного архива. Выполнив все действия, нужно перезагрузить Arduino IDE.

Шаг 6 Bluetooth модуль.
Мы будем использовать один из наиболее доступных на сегодня Bluetooth модулей — HC-05 или HC-06. Их легко можно найти как в китайских магазинах, так и на российском рынке. Они похожи, но есть и небольшие отличия: модуль НС-05 может работать, как в режиме ведущего (slave), так и в режиме ведомого (master). НС-06 может быть только ведомым устройством.

Характеристики модулей:

— чип Bluetooth – BC417143 производства
— протокол связи – Bluetooth Specification v2.0+EDR;
— радиус действия – до 10 метров (уровень мощности 2);
— совместимость со всеми Bluetooth-адаптерами, которые поддерживают SPP;
— объем flash-памяти (для хранения прошивки и настроек) – 8 Мбит;
— частота радиосигнала – 2.40 .. 2.48 ГГц;
— хост-интерфейс – USB 1.1/2.0 или UART;
— энергопотребление – ток в течение связи составляет 30-40 мА. Среднее значение тока около 25 мА. После установки связи потребляемый ток 8 мА . Режим сна отсутствует.

Чтобы все заработало как надо, Bluetooth модуль нужно настроить перед подключением. Настройка производится подачей AT командам, вводимых в окне терминала. Настройку будем производить модуля HC-05. Для других модулей команды могут быть другими. Соединять компьютер и Bluetooth модуль будем через Arduino.

Подключаем Bluetooth модуль следующим образом:

Arduino Nano — Bluetooth
D7 – RX
D8 – TX
5V – VCC
GND –GND

Заливаем следующий скетч в arduino:

bluetooth_send_at.rar

[857 b] (скачиваний: 73)

Этот скетч служит для отправки AT команд на Bluetooth модуль. Arduino просто передает все написанное в терминале на модуль связи Bluetooth. Сейчас и в дальнейшем мы будет подключать модуль через библиотеку SoftwareSerial. На больших скоростях библиотека работает нестабильно. При возникновении проблем со скоростью связи, можно подключить модуль напрямую к RX и TX контактам Arduino. Не забудьте в этом случае подправить скетч. В данном случае мы будем работать с модулем на скорости 9600. Итак, после заливки скетча, открываем окно терминала и вводим следующие команды:

«AT» (без кавычек) должен прийти ответ «OK» (значит всю подключено верно и модуль работает)
«AT+BAUD96000» (без кавычек) должен прийти ответ «OK9600».
Если пришел нужный ответ, переходим к следующему шагу.

Далее необходимо залить в Arduino скетч нашего внедорожника:

lego_vnedr_2.rar

[1.39 Kb] (скачиваний: 66)

Шаг 7 Установка электрики на модель.
Платы устанавливаем на основу посередине:

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

Соединяем все вместе согласно схеме:

Шаг 8 Подготовка пульта.
Для управления возьмем Android телефон или планшет, как обычно, или компьютер под управлением Windows или сделаем собственноручно пульт на Arduino. Начнем с Android, для начала нам нужно установить программу управления роботом по каналу Bluetooth. Для этого вводим в Google play «Bluetooth Arduino» и устанавливаем понравившуюся программу. Мне лично нравится BT Controller. Затем, через меню настройки Android, устанавливаем соединение с Bluetooth модулем. Используем пароль для соединения «1234» или «0000». И переходим к настройке программы. Необходимо записать нужные символы на соответствующее действие. Список ниже.

А теперь – компьютер с Windows-ом. Для отправки команд можно пользоваться терминальной программой или запустить удобную, специально сделанною для этого, программу Z-Controller. Выберете порт (com порт через который происходит соединение) и настройте клавиши на команды.

bluetooth-pc.rar

[49.07 Kb] (скачиваний: 57)

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

И добавить в него Bluetooth модуль

Команды управления, следующие:
W – вперед
S – назад
A – влево
D – вправо
F – стоп
K – включение фар
L – выключение фар

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

Способы электрификации Lego Technick

Что используете для электрификации Lego Technick?
LEGO Technic Power Functions 8293 LEGO MINDSTORMS LEGO BOOST Arduino ESP 8266 Что-то другое
Всего проголосовало: 25

Голосовать
Результаты

Источник: usamodelkina.ru

Понравилась статья? Поделиться с друзьями: