В закромах лежала радиоуправляемая машинка ребенка. Пульт сломан, а в самой машинке что-то подгорело, так как она только поворачивала, ехать отказывалась. Ковыряться в электронике машинки желания нет, а вот ходовая часть очень пригодится для установки новой электронной начинки.
Итак у нас есть: ходовая и двигатели от старой радиоуправляемой машинки, 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 “+” или для шагового двигателя A+
- Для двигателя постоянного тока 1 “-” или для шагового двигателя A-
- Коннектор на 12 вольт. Снимите его, если используете напряжение питания больше 12 вольт.
- Питания вашего двигателя обеспечивается с этого выхода. Максимальное напряжение питания постоянным током 35 вольт. Если напряжение больше 12 вольт, разомкните контакты на 3 коннекторе.
- GND - земля.
- Питание 5 вольт, если коннектор на 12 вольт замкнут. Идеально для питания Arduino и т.п.
- Коннектор для двигателя постоянного тока 1. Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока.
- IN1.
- IN2.
- IN3.
- IN4.
- Коннектор для двигателя постоянного тока 2. В случае использования шагового двигателя, подключать сюда ничего не надо. Можно подключить к ШИМ-выходу для управления скоростью двигателя постоянного тока.
- Двигатель постоянного тока 2 “+” или шаговый двигатель B+.
- Двигатель постоянного тока 2 “-” или шаговый двигатель B-.
Если вы используете в проекте несколько двигателей, убедитесь, что у них выдержана одинаковая полярность при подключении. Иначе, при задании движения, например, по часовой стрелке, один из них будет вращаться в противоположном направлении. Поверьте, с точки зрения программирования 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 подключим к системе задний мост.
Где "key" меняем на идентификатор в Blynk (на мобильном устройстве), а "name" и "pass" на логин и пароль сети к которой будет подключаться автомобиль. После данных манипуляций можно добавить кнопку в мобильном приложении Blynk привязать её к нужному пину и дать сигнал. Если ESP8266 подключился корректно - задний привод автомобиля начнет работать.
Теперь собираем всё в корпус.
Вытаскиваем все лишнее |
Ну и пока навесной монтаж, без него никак.
В связи с тем, что для модуля 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
Источник http://arduino-ua.com/prod406-Draiver_dvyh_dvigatelei_na_L298N
Немає коментарів:
Дописати коментар