Вращение шагового двигателя по программе из массива Arduino
- Информация о материале
- Обновлено: 29.03.2023, 14:34
- Опубликовано: 28.03.2023, 12:07
- Автор: DeniS
Цель: Заставить вращаться 2 шаговых двигателей по программе: вращение - остановка - пауза - вращение - остановка - пауза. Программа движения шаговых двигателей записана в массив.
Материалы и компоненты:
- Шаговый двигатель мини от CD ROM
- Драйвер шагового двигателя двухполярный A4988
- Библиотека GyverStepper2.h для ардуино скачать можно здесь >>> ************** Здесь >>> описание библиотеки
- Конденсатор 47-100мкф на 10-35 в
Схема подключения шагового двигателя от CD ROM к Arduino
Внимание! Шаговый двигатель от CD ROM нужно питать от 5В!
На схеме типовое подключение дарайвера шагового двигателя и ардуино, внешнее питание должно быть 5В!
Скетч управления двумя шаговыми двигателя по программе из массива
***********************************************************
// Шаговый двигатель вращается по программе из массива с паузой в точках из второго массива
#include "GyverStepper2.h"
GStepper2<STEPPER2WIRE> stepper(20, 2, 3);
void setup()
{
// устанавливаем ускорение и скорость
stepper.setAcceleration(200);
stepper.setMaxSpeed(100);
stepper.setTarget(0);
//stepper.setSpeed(100);
}
byte count = 0;
//Массив с количеством оборотов шагового двигателя
int16_t path[] = {0, -70, 0, 70};
//Массив с паузами в точках
int16_t vremya[] = {1000, 500, 1500, 0};
//int16_t vremya[] = {0, 0, 0, 0};
void loop()
{
// здесь происходит движение мотора, вызывать как можно чаще
stepper.tick();
// вернёт true, если все моторы доехали
if (stepper.ready())
{
stepper.setTarget(path[count]); // загружаем новую точку (начнётся с 0)
stepper.brake(); //остановка ШД
delay (vremya[count]); //пауза
stepper.resume(); //включение ШД
if (++count >= sizeof(path) / 2) count = 0;
}
}
*************************************************************