Регулятор скорости вращения для биполярного шагового двигателя на базе Arduino Nano. Управление ШД. HD
Скетч и схема https://kolotushkin.com/article.php?id=27 Донат на развитие канала https://www.donationalerts.com/r/masterk Внимание! Забыл указать на схемах, что контакты драйвера RESET и SLEEP надо подключить к +5 вольт! На сайте схемы уже исправлены! Проекты на базе Arduino Nano: Меню для дисплея LCD 1602 https://youtu.be/_dQzjDCKhCQ Автоматический привод для шасси квадрокоптера https://youtu.be/IkO81w7DcTA Дубликатор домофонных ключей https://youtu.be/CJEHb01H05A Как переделать сервомотор с 180 на 360 градусов https://youtu.be/MNwVBK2mwaA Управление двумя униполярными шаговыми моторами по Bluetooth https://youtu.be/IQTHzujhRys Самодельный RGB контроллер для 2 RGB лент https://youtu.be/g521YF8iQqg Полезные программы: Arduino IDE для начинающих https://youtu.be/V69K_tCfA58 Симулятор Arduino UnoArduSim https://youtu.be/qJUYlKSfdr8 Так как единственный NEMA17, который у меня есть, установлен на ЧПУ станок, то буду показывать на примере Японского шагового двигателя MITSUMI. Он такой же биполярный с четырех проводным подключением, только имеет более крупное деление шага. Еще буду использовать плату Arduino Nano, и драйвер DRV8825. Мне показалось не достаточно площади охлаждения родного радиатора, поэтому я добавил куски алюминиевой проволоки, которые пришлось зажать между ребрами радиатора. Да это не эстетично, зато эффективно! Также использую 2 кнопки, потенциометр на 3,3 килоома, безпаечную макетную плату и соединительные провода. И так поехали! Одна кнопка используется для запуска и остановки шагового двигателя. Вторая для изменения направления вращения. Изменять направление вращения можно, как в состоянии покоя, так и во время вращения шагового двигателя, не зависимо от скорости вращения. Изменять скорость вращения можно при помощи потенциометра. Так как этот двигатель имеет большое деление шага в 7,5 градуса, то при низких скоростях ощущается сильная вибрация. Изменение направления вращения на полном ходу, не оказывает негативных влияний на используемую электронику, и на сам шаговый двигатель. Но при этом, в момент смены направления вращения, могут происходить пропуски одного или двух шагов. Теперь второй вариант. Во втором варианте кнопки не нужны, поэтому я их уберу и уберу провода, которые к ним подходят. Драйвер шагового двигателя включается, подачей минуса на контакт Enable, и так как кнопка, которая за это отвечает, теперь отсутствует, то провод подключенный к 12 контакту платы Arduino, переключаем на минус. И можно управлять скоростью вращения шагового мотора. Теперь рассмотрим скетч на примере приложения UnoArduSim. Написал его без использования библиотек, чтобы можно было загружать его в любые микроконтроллеры. Кнопка Старт/Стоп назначена на 8 пин, кнопка Реверс на 9 пин. Задача этих кнопок, изменять состояние сигнала на 12 и 13 контактах. Этот модуль симулирует работу биполярного шагового двигателя подключенного через драйвер, который управляется сигналами Step, Dir и Enable. К таким драйверам относятся DRV8825 и A4988, и я подкл