После нескольких вечеров и одних выходных, проведенных в поисках неисправности Motor Shield V3 (которую перед этим по неопытности просто спалил, подключив биполярный шаговый двигатель и подав избыточное напряжение – отдельная история с заменами 74HCT595D и L293DD, их поисками, отработкой методики снятия микросхем с поверхностным монтажом ) пришел к простому выводу, что просто сам драйвер L293D очень неплохо может справляться с данной задачей – что с обычными двигателями (предыдущий пример), что с шаговыми.
Преамбула завершена. К сути:
Есть простая схема (Спасибо http://smobiler.ru/arduino/65-podklyuchenie-shagovogo-dvigatelya-k-arduinoi-s-l293d-mikroshemoy.html) – к сожалению сейчас недоступна…
И, собственно, скетч для моего шагового двигателя от принтера Canon i550
// Собственно библиотека #include <Stepper.h> // количество шагов мотора (получается простым способом деления //360 градусов на угол (документация к мотору), на который поворачивается //мотор за один шаг. В моем случае (Mitsumi) 48 шагов #define STEPS 48 // создает класс шагового двигателя и объявляет какими ножками Ардуино // он будет управляться (в моем случае двигатель биполярный 4 вывода) Stepper stepper(STEPS, 8, 9, 10, 11); void setup() { // Установление скорости оборотов двигателя в оборотах в минуту (RPM) // мой движок работал в диапазоне 5-400 вполне стабильно. stepper.setSpeed(30); } void loop() { // один полный круг вперед stepper.step(1*STEPS); delay(1000); // один полный круг назад stepper.step(-1*STEPS); delay(1000); }
Все очень прекрасно работает, спасибо все авторам и ИНТЕРНЕТУ, за то, что он есть….
Бонус: русский материал по библиотеке stepper.h
http://arduino.net.ua/file_archive/Arduino%20Library/Arduino%20Stepper%20Library/
Эта библиотека позволяет вам управлять униполярными и биполярными шаговыми двигателями. Вам понадобится сам шаговый двигатель и драйвер, чтобы им управлять. Если вы хотите больше узнать о шаговых двигателях, прочтите заметку о шаговиках Tom Igoe’s.
Функции:
Stepper (steps, pin1, pin2)
Stepper (steps, pin1, pin2, pin3, pin4)
setSpeed (rpm)
step (steps)
Stepper (steps, pin1, pin2)
Stepper (steps, pin1, pin2, pin3, pin4)
Описание:
Эта функция создает новый класс, который определяет подключение шагового двигателя к платформе Arduino. Поместите ее в начало скетча, до функций setup () и loop (). Число параметров зависит от подключения вашего двигателя к плате — посредством двух или четырех проводов.
Параметры:
steps: Число шагов на один оборот вашего двигателя. Если вам известен угол поворота на один шаг, разделите 360 на этот угол и получите количество шагов на оборот. (int)
pin1, pin2: два провода, подключенные к двигателю (int)
pin3, pin4: опционально: два последних провода, если мотор подключен посредством 4-х проводов (int)
Возвращает:
новый объект класса Stepper.
Пример:
Stepper myStepper = Stepper (100, 5, 6);
Stepper: setSpeed (rpms)
Описание:
Устанавливает частоту вращения шагового двигателя в оборотах в минуту.
Для установки количества шагов используйте функцию step ().
Параметры:
rpms: скорость, с которой двигатель должен вращаться в оборотах в минуту — положительное число (long)
Stepper: step (steps)
Описание:
Устанавливает определенное количество шагов мотора, со скоростью, определенную функцией setSpeed (). Эта функция блокиреует работу программы до завершения движения ротора. Например, вы установили скорость 1об/мин и 100 шагов для 100-шагового двигателя. В итоге, функция будет выполняться целую минуту. Для лучшего контроля, устанавливайте большую частоту вращения и двигайтесь на малое количество шагов.
Параметры:
steps: число шагов мотора — положительное число для одного направления, отрицательное — для другого. (int)
По ссылке вы можете скачать схемы подключения униполярных и Биполярных двигателей.
Размер: 96.16 КБ
Скачать