В этой статье описано управление шаговым двигателем на Ардуино, снятым со старого принтера, с помощью контроллера Arduino.
![](https://img.masterclub.online/gs/cdn.instructables.com/FZF/7MH2/IC37DKG4/FZF7MH2IC37DKG4.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FA8/NCI7/IBDHP9H8/FA8NCI7IBDHP9H8.LARGE.jpg)
Шаг 1: Шаговый двигатель
![](https://img.masterclub.online/gs/cdn.instructables.com/FUK/54L4/IB22QT6A/FUK54L4IB22QT6A.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FH2/O7RU/IB22QR8X/FH2O7RUIB22QR8X.LARGE.jpg)
Две основных детали шагового двигателя – ротор и статор. Ротор – вращающаяся часть, она, собственно, и делает всю работу, а статор – неподвижная часть, в которую помещен ротор. В шаговом двигателе ротор – постоянный магнит. Статор состоит из нескольких катушек, которые становятся электромагнитами при прохождении через них тока. При прохождении импульса через обмотки катушек, электромагнитное поле взаимодействует с постоянным магнитом, в результате чего ротор двигается. Вращение ротора обеспечивается чередованием обмоток, на которые подается напряжение.
Шаговые двигатели обладают рядом преимуществ. Они недороги и просты в использовании. Если не подавать на обмотки напряжение, положение ротора фиксируется. Изменение направления вращения ротора происходит за счет изменения последовательности подачи импульсов на катушки.
Шаг 2: Список материалов
![](https://img.masterclub.online/gs/cdn.instructables.com/FNN/GTL1/IB22QK82/FNNGTL1IB22QK82.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FAH/H952/IB22S1RS/FAHH952IB22S1RS.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FP1/0295/IB22S1SP/FP10295IB22S1SP.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FKJ/WDK8/IB22S1SS/FKJWDK8IB22S1SS.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F2U/7MU8/IC37DKE1/F2U7MU8IC37DKE1.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FPK/082N/IB22S1SA/FPK082NIB22S1SA.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FCQ/EKXZ/IB22S1SC/FCQEKXZIB22S1SC.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FXI/5MJV/IB22S1S8/FXI5MJVIB22S1S8.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FRL/FGTG/IB22S1S3/FRLFGTGIB22S1S3.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FM0/O19I/IB22S1T5/FM0O19IIB22S1T5.LARGE.jpg)
Для управления биполярным шаговым двигателем вам понадобятся:
- шаговый двигатель
- микроконтроллер Arduino
- изолированный медный провод
- стабилизатор тока
- транзистор
- Н-мост (мостовая схема драйвера)
- плата расширения MotorShield
Опционально:
- паяльник
- припой
- паяльный фен
- третья рука для пайки
- защитные очки
Шаг 3: Припаиваем провода
![](https://img.masterclub.online/gs/cdn.instructables.com/FTM/CCBA/IB22QK86/FTMCCBAIB22QK86.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FJE/DD42/IB22QK87/FJEDD42IB22QK87.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FNK/VSNZ/IB22QK88/FNKVSNZIB22QK88.LARGE.jpg)
У большинства шаговых двигателей имеются четыре вывода, поэтому нужны четыре отрезка медного провода (цвет не имеет значения, я использовал отрезки разных цветов для наглядности). Эти выводы нужны для управления порядком работы катушек. Так как данный двигатель снят с принтера, то пайка проводов к нему была самой простой частью проекта.
Шаг 4: Скетч для Arduino
![](https://img.masterclub.online/gs/cdn.instructables.com/FWQ/PNT2/IB22RI0Z/FWQPNT2IB22RI0Z.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F8T/WQCL/IB22RI11/F8TWQCLIB22RI11.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F2D/4UWB/IB22QT5X/F2D4UWBIB22QT5X.LARGE.gif)
В контроллерах Arduino имеется предустановленная библиотека для шаговых двигателей. Вам нужно перейти во вкладку Файл – Примеры – Stepper — stepper_oneRevolution (File > Examples > Stepper >stepper_oneRevolution). Дальше вам нужно настроить количество шагов под свой конкретный двигатель (stepsPerRevolution). Поискав в интернете, я выяснил, что у моего двигателя 48 шагов на оборот. Библиотека Stepper чередует импульсы, посылаемые на обмотку катушек (проиллюстрировано в гиф-файле).
Шаг 5: Что такое Н-мост (мостовая схема драйвера)
![](https://img.masterclub.online/gs/cdn.instructables.com/FMY/CNEM/IBDHFGF5/FMYCNEMIBDHFGF5.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FWB/6FEP/IBDHNFHU/FWB6FEPIBDHNFHU.LARGE.jpg)
Н-мост – схема, состоящая из четырех переключателей, чаще используются простые транзисторы. Транзистор – полупроводниковый ключ – включается при прохождении тока через один из пинов. Использование одного транзистора даст возможность контролировать только скорость, тогда как Н-мост дает еще и возможность контролировать направление вращения. Это происходит за счет того, что выключение разных переключателей позволяет току течь в разных направлениях, меняя тем самым полярность. Переключатели 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: Подключение компонентов
![](https://img.masterclub.online/gs/cdn.instructables.com/FA8/NCI7/IBDHP9H8/FA8NCI7IBDHP9H8.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F0A/UBDY/IC37DKF2/F0AUBDYIC37DKF2.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/FCF/SMMA/IB22QK8J/FCFSMMAIB22QK8J.LARGE.jpg)
![](https://img.masterclub.online/gs/cdn.instructables.com/F0S/58L0/IC37DKVD/F0S58L0IC37DKVD.LARGE.jpg)
4 штыревых вывода Н-моста должны подключаться к четырем выводам. 4 логических вывода подключаются к Arduino (в этой статье это 8, 9, 10 и 11 выводы). На схеме видно, что для питания можно использовать внешний источник питания. Н-мост работает при напряжении в диапазоне 4,5-36 В.
Шаг 7: Загрузка кода и тест
Загрузите код в Arduino. Если вы ошиблись при подключении, мотор вместо вращения начнет вибрировать. Попробуйте разные скорости и направления вращения, чтобы понять, что вам нужно.