В этой статье описано управление шаговым двигателем на Ардуино, снятым со старого принтера, с помощью контроллера Arduino.
Содержание статьи
Шаг 1: Шаговый двигатель
Две основных детали шагового двигателя – ротор и статор. Ротор – вращающаяся часть, она, собственно, и делает всю работу, а статор – неподвижная часть, в которую помещен ротор. В шаговом двигателе ротор – постоянный магнит. Статор состоит из нескольких катушек, которые становятся электромагнитами при прохождении через них тока. При прохождении импульса через обмотки катушек, электромагнитное поле взаимодействует с постоянным магнитом, в результате чего ротор двигается. Вращение ротора обеспечивается чередованием обмоток, на которые подается напряжение.
Шаговые двигатели обладают рядом преимуществ. Они недороги и просты в использовании. Если не подавать на обмотки напряжение, положение ротора фиксируется. Изменение направления вращения ротора происходит за счет изменения последовательности подачи импульсов на катушки.
Шаг 2: Список материалов
Для управления биполярным шаговым двигателем вам понадобятся:
- шаговый двигатель
- микроконтроллер Arduino
- изолированный медный провод
- стабилизатор тока
- транзистор
- Н-мост (мостовая схема драйвера)
- плата расширения MotorShield
Опционально:
- паяльник
- припой
- паяльный фен
- третья рука для пайки
- защитные очки
Шаг 3: Припаиваем провода
У большинства шаговых двигателей имеются четыре вывода, поэтому нужны четыре отрезка медного провода (цвет не имеет значения, я использовал отрезки разных цветов для наглядности). Эти выводы нужны для управления порядком работы катушек. Так как данный двигатель снят с принтера, то пайка проводов к нему была самой простой частью проекта.
Шаг 4: Скетч для Arduino
В контроллерах Arduino имеется предустановленная библиотека для шаговых двигателей. Вам нужно перейти во вкладку Файл – Примеры – Stepper — stepper_oneRevolution (File > Examples > Stepper >stepper_oneRevolution). Дальше вам нужно настроить количество шагов под свой конкретный двигатель (stepsPerRevolution). Поискав в интернете, я выяснил, что у моего двигателя 48 шагов на оборот. Библиотека Stepper чередует импульсы, посылаемые на обмотку катушек (проиллюстрировано в гиф-файле).
Шаг 5: Что такое Н-мост (мостовая схема драйвера)
Н-мост – схема, состоящая из четырех переключателей, чаще используются простые транзисторы. Транзистор – полупроводниковый ключ – включается при прохождении тока через один из пинов. Использование одного транзистора даст возможность контролировать только скорость, тогда как Н-мост дает еще и возможность контролировать направление вращения. Это происходит за счет того, что выключение разных переключателей позволяет току течь в разных направлениях, меняя тем самым полярность. Переключатели 1, 2, 3 и 4 никогда не должны включаться вместе, это вызовет короткое замыкание и может повредить устройство.
Н-мост не даст контроллеру перегореть при работе двигателя. Мотор создает сильное магнитное поле. Когда ток перестает поступать, энергия магнитного поля преобразуется в электрическую, это может повредить компоненты. Н-мост помогает защитить контроллер от повреждений. Никогда не подключайте двигатель напрямую к Arduino.
Н-мост легко собрать самим, а имеющиеся в продаже стоят недорого. В данном проекте используется Н-мост L293NE/SN754410.
Его распиновка:
- Пин 1 (1, 2EN) —> Мотор 1 Вкл/Выкл (HIGH/LOW)
- Пин 2 (1A) —> Мотор 1 Логический вывод1
- Пин 3 (1Y) —>Мотор 1 Штыревой вывод 1
- Пин 4 —>Земля
- Пин 5 —>Земля
- Пин 6 (2Y) —>Мотор 1 Штыревой вывод 2
- Пин 7 (2A) —> Мотор 1 Логический вывод 2
- Пин 8 (VCC2) —>Питание для двигателей
- Пин 9 —>Мотор 2 Вкл/Выкл (HIGH/LOW)
- Пин 10 —>Мотор 2 Логический вывод 1
- Пин 11 —>Мотор 2 Штыревой вывод 1
- Пин 12 —>Земля
- Пин 13 —>Земля
- Пин 14 —>Мотор 2 Штыревой вывод 2
- Пин 15 —>Мотор 2 Логический вывод 2
- Пин 16 (VCC1) —>Питание Н-моста (5 В)
Шаг 6: Подключение компонентов
4 штыревых вывода Н-моста должны подключаться к четырем выводам. 4 логических вывода подключаются к Arduino (в этой статье это 8, 9, 10 и 11 выводы). На схеме видно, что для питания можно использовать внешний источник питания. Н-мост работает при напряжении в диапазоне 4,5-36 В.
Шаг 7: Загрузка кода и тест
Загрузите код в Arduino. Если вы ошиблись при подключении, мотор вместо вращения начнет вибрировать. Попробуйте разные скорости и направления вращения, чтобы понять, что вам нужно.