Учебники

Arduino — шаговый двигатель

Шаговый двигатель или шаговый двигатель — это бесщеточный синхронный двигатель, который делит полный оборот на несколько ступеней. В отличие от бесщеточного двигателя постоянного тока, который непрерывно вращается, когда к нему прикладывается постоянное напряжение постоянного тока, шаговый двигатель вращается в дискретных шагах под углом.

По этой причине шаговые двигатели изготавливаются с шагом на оборот 12, 24, 72, 144, 180 и 200, что приводит к шаговым углам 30, 15, 5, 2,5, 2 и 1,8 градуса на шаг. Шаговым двигателем можно управлять с обратной связью или без нее.

Вообразите двигатель на самолете RC. Мотор вращается очень быстро в одном или другом направлении. Вы можете изменять скорость в зависимости от мощности, подаваемой на двигатель, но вы не можете сказать пропеллеру остановиться в определенной позиции.

Теперь представьте себе принтер. Внутри принтера много движущихся частей, включая двигатели. Один из таких двигателей действует как подача бумаги, вращающиеся ролики, которые перемещают лист бумаги, когда на нем печатаются чернила. Этот мотор должен иметь возможность перемещать бумагу на точное расстояние, чтобы можно было напечатать следующую строку текста или следующую строку изображения.

К стержню с резьбой прикреплен другой двигатель, который перемещает печатающую головку вперед и назад. Опять же, этот стержень с резьбой необходимо перемещать на точное количество, чтобы печатать одну букву за другой. Здесь пригодятся шаговые двигатели.

Шаговый двигатель

Как работает шаговый двигатель?

Обычный двигатель постоянного тока вращается только в одном направлении, тогда как шаговый двигатель может вращаться с точным шагом.

Шаговые двигатели могут поворачивать точное количество градусов (или шагов) по желанию. Это дает вам полный контроль над двигателем, позволяя вам переместить его в точное место и удерживать это положение. Это достигается за счет питания катушек внутри двигателя в течение очень коротких периодов времени. Недостатком является то, что вы должны постоянно приводить двигатель в действие, чтобы удерживать его в желаемом положении.

Все, что вам нужно знать на данный момент, это то, что для перемещения шагового двигателя вы говорите ему, чтобы он двигался на определенное количество шагов в одном или другом направлении, и сообщаете ему скорость, с которой нужно двигаться в этом направлении. Существует множество разновидностей шаговых двигателей. Методы, описанные здесь, могут быть использованы для определения того, как использовать другие двигатели и драйверы, которые не упомянуты в этом руководстве. Тем не менее, всегда рекомендуется обращаться к техническим данным и руководствам по двигателям и драйверам, относящимся к имеющимся у вас моделям.

Внутренний шаговый двигатель

Необходимые компоненты

Вам понадобятся следующие компоненты —

  • 1 × Arduino UNO доска
  • 1 × маленький биполярный шаговый двигатель, как показано на рисунке ниже
  • 1 × LM298 управляющая микросхема

LM298 управляющая микросхема

Процедура

Следуйте электрической схеме и выполните соединения, как показано на рисунке ниже.

Соединения шагового двигателя

эскиз

Откройте программное обеспечение Arduino IDE на своем компьютере. Кодирование на языке Arduino будет контролировать вашу схему. Откройте новый файл эскиза, нажав Новый.

эскиз

Arduino Code

/* Stepper Motor Control */

#include <Stepper.h>
const int stepsPerRevolution = 90;
// change this to fit the number of steps per revolution
// for your motor
// initialize the stepper library on pins 8 through 11:
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);

void setup() {
   // set the speed at 60 rpm:
   myStepper.setSpeed(5);
   // initialize the serial port:
   Serial.begin(9600);
}

void loop() {
   // step one revolution in one direction:
   Serial.println("clockwise");
   myStepper.step(stepsPerRevolution);
   delay(500);
   // step one revolution in the other direction:
   Serial.println("counterclockwise");
   myStepper.step(-stepsPerRevolution);
   delay(500);
}

Код для заметки

Эта программа приводит в движение однополярный или биполярный шаговый двигатель. Двигатель прикреплен к цифровым контактам 8 — 11 Arduino.

Результат

Двигатель совершит один оборот в одном направлении, а затем один оборот в другом направлении.