Лабораторные работы  Технологии+Бизнес

Цель работы: обучение Arduino

Задача: применить на практике шаговый двигатель

 

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

Соберем схему для шагового двигателя, поставим его на платформу, находящуюся выше пола, и закрепим. Наматаем веревку на шаговик.



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

Пусть нам нужно опустить нитку на w см. Мы знаем, что длина окружности вычисляется по формуле:

R - радиус вала, на который наматывается нитка.
Всего нам надо сделать 
 
кругов.
В одном круге 360 градусов. Как упоминалось ранее, один оборот шаговый двгатель делает за 2048 шагов. Значит для того, чтобы совершить N оборотов, потребуется сделать 

шагов.
Получили:


Напишем код.


#define STEPS_MOTOR 32 
Stepper stepper(STEPS_MOTOR, 8, 10, 9, 11); 

void setup() 
{ 
stepper.setSpeed(500);// устанавливаем скорость 
} 

void loop() 
{ 
stepper.step(3100); //выполнить 3100 шагов 
delay(1500); //задержка на 1,5 секунды для помещения груза 
stepper.step(-3100);//выполнить 3100 шагов в обратную сторону 
delay(1500); //задержка на 1,5 секунды для снятия груза 
} 



Вот что у нас получилось в итоге: 




Лабораторные работы Технологии+Бизнес