Коротко о том с чего все началось. Однажды появилась потребность в демонстрационном столике или как еще его называют вращающийся столик. Покупать готовый не стал в связи с тем что жалко портить новый, да и к тому же столики имеющиеся в продаже по некоторым характеристикам не подходят для моих целей. Для этой цели решил использовать Arduino и шаговый двигатель в связи с тем что он может вращаться на низких скоростях что и требуется для этой цели.
Если у вас возникнут вопросы по данной теме то вы можете их задать в комментариях под видео в YouTube перейдя по этой ссылке www.youtube.com/Мастер Колотушкин
Arduino UNO 1 штука.
USB кабель для подключения Arduino UNO к компьютеру 1 штука и конечно же сам компьютер с установленным приложением Arduino IDE
Униполярный шаговый двигатель 28BYJ-48 5V на 5 вольт и драйвер к нему на базе микросхемы ULN2003 который обычно идет в комплекте с шаговым двигателем, 1 комплект.
Соединительные провода мама мама для подключения линий питания 2 штуки.
Соединительные провода папа мама для подключения управляющих электрических цепей 4 штуки.
Потенциометр с сопротивлением от 3 до 50 киллоом 1 штука, с заранее припаяными проводами типа папа. Зеленый подпаян к средней ноге потенциометра!
Если у вас по какой-то причине отсутствует данный скетч то вы можете его скопировать с окна ниже и вставить в чистое поле приложения ArduinoIDE. После чего можно приступать к 5 шагу.
//Начало скетча stepper_speedControl 1
#include "Stepper.h"
const int stepsPerRevolution = 200; // количество шагов на 1 оборот
Stepper myStepper(stepsPerRevolution, 8, 9, 10, 11);
// контакты к которым подключается шаговый двигатель
int stepCount = 0;
void setup() {
}
void loop() {
int sensorReading = analogRead(A0);
// контакт А0 считывает сигнал с потенциометра
int motorSpeed = map(sensorReading, 0, 1023, 0, 100);
// карта: значения 0, 1023 это от 0 до +5 вольт с потенциометра
// карта: значения 0, 100 это скорость вращения шагового
// двигателя от 0 до 100 шагов в секунду
if (motorSpeed > 0) {
myStepper.setSpeed(motorSpeed);
myStepper.step(stepsPerRevolution / 100);
}
}
//Конец скетча stepper_speedControl 1
А если у вас не оказалось библиотеки Stepper, то можете воспользоваться скетчем ниже, который работает без библиотек.
//Начало скетча stepper_speedControl 2
void setup() {
// 8, 9, 10, 11 контакты к которым подключается шаговый двигатель
pinMode(8, OUTPUT); pinMode(9, OUTPUT);
pinMode(10, OUTPUT); pinMode(11, OUTPUT);
}
void loop() {
// контакт А0 считывает сигнал с потенциометра
int sensorReading = analogRead(A0);
int t = map(sensorReading, 0, 1023, 1, 20);
digitalWrite(11, HIGH); digitalWrite(9, LOW);
delay(t);
digitalWrite(10, HIGH); digitalWrite(8, LOW);
delay(t);
digitalWrite(9, HIGH); digitalWrite(11, LOW);
delay(t);
digitalWrite(8, HIGH); digitalWrite(10, LOW);
delay(t);
}
//Конец скетча stepper_speedControl 2
В нижнем правом углу должно быть Arduino/Genuino на COM(номер ком порта к которому подключена плата) если все верно то переходим к следующему шагу.
Если вы используете скетч с этой страницы то приложение при загрузке предложит сохранить его. После чего загрузка продолжится
Через 5-45 секунд скетч загрузится и появится уведомление Загрузка завершена.
Зеленый провод который подпаян к средней ноге потенциометра подключаем контакту A0, остальные два к питанию GND (минус) и +5V (5 вольт) полярность на ваше усмотрение.
В моем случае если вращать потенциометр по часовой стрелке то скорость вращения шагового двигателя увеличивается, а если поменять местами серый с красным проводом то при вращении потенциометра так же по часовой стрелке скорость вращения шагового двигателя будет уменьшаться.
Линия 1N1 к 8 контакту, линия 1N2 к 9 контакту, линия 1N3 к 10 контакту и линия 1N4 к 11 контакту.
Такой способ подключения допустим лишь при использовании маломощных шаговых двигателей! При использовании нескольких, или более мощных шаговых двигателей следует использовать отдельный источник питания! При этом у Ардуино и драйвера шагового двигателя должна быть общая земля!
Доработка демонстрационного столика для которого была применена данная схема