Blynk-управляемая машинка (BlynkМобиль)

В закромах лежала радиоуправляемая машинка ребенка. Пульт сломан, а в самой машинке что-то подгорело, так как она только поворачивала, ехать отказывалась. Ковыряться в электронике машинки желания нет, а вот ходовая часть очень пригодится для установки новой электронной начинки.
http://www.sast.in.ua/2016/03/blynk-blynk.html
Итак у нас есть: ходовая и двигатели от старой радиоуправляемой машинки, arduino nano, драйвер двух двигателей на L298N, Wi-Fi модуль ESP8266.

L298N - может управлять двумя моторами или одним шаговым двуфазным двигателем. Поддерживает работу с управляющим микроконтроллером с напряжением уровней 3.3В. Управляющее питание для моторов VMS: 5~35В, сила тока 2А на мост.
 
Перемычка "5V enable" служит для выбора источника питания чипа L298: на модуле установлен стабилизатор питания, который обрезает входное напряжение до +5В и подает его на чип, но если входное напряжение выше 12В стабилизатор будет сильно греться поэтому, при использовании моторов с напряжением выше 12В необходимо снять перемычку "5V enable" и подать на вход "+5V power" 5В питание для чипа L298. Если же питание моторов 12В и ниже, то перемычку нужно одеть, а с вывода "+5V power" можно снимать стабилизированное напряжение 5В для ваших нужд. Внимание! Не подавайте напряжение на вывод "+5V power" при установленной перемычке "5V enable". На вход "12V power" можно подавать напряжение от 5 до 35В.

  1. Для двигателя постоянного тока 1 “+” или для шагового двигателя A+
  2. Для двигателя постоянного тока 1 “-” или для шагового двигателя A-
  3. Коннектор на 12 вольт. Снимите его, если используете напряжение питания больше 12 вольт. 
  4. Питания вашего двигателя обеспечивается с этого выхода. Максимальное напряжение питания постоянным током 35 вольт. Если напряжение больше 12 вольт, разомкните контакты на 3 коннекторе.
  5. GND - земля.
  6. Питание 5 вольт, если коннектор на 12 вольт замкнут. Идеально для питания Arduino и т.п.
  7. Коннектор для двигателя постоянного тока 1. Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока.
  8. IN1.
  9. IN2.
  10. IN3.
  11. IN4.
  12. Коннектор для двигателя постоянного тока 2. В случае использования шагового двигателя, подключать сюда ничего не надо. Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока.
  13. Двигатель постоянного тока 2 “+” или шаговый двигатель B+.
  14. Двигатель постоянного тока 2 “-” или шаговый двигатель B-.
Данный модуль дает возможность управлять одним или двумя двигателями постоянного тока. Для начала, подключите двигатели к пинам A и B на контроллере L298N.

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

После этого подключите источник питания. Плюс - к четвертому пину на L298N, минус (GND) - к 5 пину. Если ваш источник питания до 12 вольт, коннектор, отмеченный 3 на рисунке выше, можно оставить. При этом будет возможность использовать 5 вольтовый пин 6 с модуля.

Данный пин можно использовать для питания Arduino. При этом не забудьте подключить пин GND с микроконтроллера к 5 пину на L298N для замыкания цепи. Теперь вам понадобится 6 цифровых пинов на Arduino. Причем некоторые пины должны поддерживать ШИМ-модуляцию.

ШИМ-пины обозначены знаком “~” рядом с порядковым номером

Теперь подключите цифровые пины Arduino к драйверу. В нашем примере два двигателя постоянного тока, так что цифровые пины D9, D8, D7 и D6 будут подключены к пинам IN1, IN2, IN3 и IN4 соответственно. После этого подключите пин D10 к пину 7 на L298N (предварительно убрав коннектор) и D5 к пину 12 (опять таки, убрав коннектор).

Направление вращения ротора двигателя управляется сигналами HIGH или LOW на каждый привод (или канал). Например, для первого мотора, HIGH на IN1 и LOW на IN2 обеспечит вращение в одном направлении, а LOW и HIGH заставит вращаться в противоположную сторону.

При этом двигатели не будут вращаться, пока не будет сигнала HIGH на пине 7 для первого двигателя или на 12 пине для второго. Остановить их вращение можно подачей сигнала LOW на те же указанные выше пины. Для управления скоростью вращения используется ШИМ-сигнал.

С теоретической частью все ясно (спасибо ресурсу arduino-diy.com за отличную статью, часть которой я бессовестно забрал себе), теперь займемся практикой.
Для проверки работоспособности L298N, а также связи с Arduino, ESP8266 и Blynk подключим к системе задний мост.
Описывать как подключать ESP8266 к ардуине здесь не буду (это тема для отдельного поста), так же и как подключение к Blynk (об этом писал ранее). Заливаем на ардуину простенький скетч:
Где "key" меняем на идентификатор в Blynk (на мобильном устройстве), а "name" и "pass" на логин и пароль сети к которой будет подключаться автомобиль. После данных манипуляций можно добавить кнопку в мобильном приложении Blynk привязать её к нужному пину и дать сигнал. Если ESP8266 подключился корректно - задний привод автомобиля начнет работать.
Теперь собираем всё в корпус.
Вытаскиваем все лишнее
На место когда-то стоявшей электроники машинки отлично ложится наш драйвер двигателей L298N

Ну и пока навесной монтаж, без него никак.
В связи с тем, что для модуля esp8266 необходим хороший ток запуска, при напряжении 3,3В nano с этой задачей не справляется и вынужден пока дополнительно установить модуль питания монтажки, так как на нем присутствует и 5В (который уже не нужен, так как питание ардуины берем с L298N) и 3,3В который и забираем бля подпитки esp8266/

Собрав всё, подключив два блока питания (один на драйвер, второй на модуль питания монтажки). Отдаем на тестирование главному заказчику.


Тест-драйв пройден успешно!

Теперь осталось решить вопрос питания, перевести на автономность, упаковать все красиво в корпус, а также научить BlynkMobil управлению непосредственно (direct connect).

PS. на днях у меня появился модуль ESP8266-12E который содержит 9 пинов GPIO, а соответственно для данного проекта отпадает необходимость в ардуине и нюансах питания и открывается новый простор для экспериментов. 
В ближайшее время на страницах sast.in.ua




Источник http://arduino-ua.com/prod406-Draiver_dvyh_dvigatelei_na_L298N

Немає коментарів:

Дописати коментар