Скетч и подключение для шагового двигателя
- Войдите на сайт для отправки комментариев
Пт, 05/10/2018 - 09:15
Добрый день,
требуется скетчи для работы шагового двигателя
1.
двигатель nema 23 1.8 A подключен к arduino nano через драйвер А4988 по данной схеме
скетч
01 | /*Программа для вращения шагового мотора NEMA 17, серии 17HS4402 + драйвер A4988. Сначала мотор совершает полный оборот в одну сторону, потом в другую*/ |
02 | /*целочисленная константа, хранящая номер цифрового контакта Arduino, который подаёт сигнал Step на драйвер. Каждый импульс от этого контакта — это перемещение мотора на один шаг*/ |
03 | const int pinStep = 5; |
04 | /*целочисленная константа, хранящая номер цифрового контакта Arduino, который подаёт сигнал Direction на драйвер. Наличие импульса - мотор вращается в одну сторону, отсутствие - в другую*/ |
05 | const int pinDir = 4; |
06 |
07 | //временная задержка между шагами мотора в мс |
08 | const int move_delay = 1; |
09 |
10 | //шагов на полный оборот |
11 | const int steps_rotate_360 = 200; |
12 |
13 | /*Функция, в которой происходит инициализация всех переменных программы*/ |
14 | void setup () |
15 | { |
16 | /*задаём контактам Step и Direction режим вывода, то есть они выдают напряжение*/ |
17 | pinMode(pinStep, OUTPUT); |
18 | pinMode(pinDir, OUTPUT); |
19 | //устанавливаем начальный режим |
20 | digitalWrite(pinStep, HIGH); |
21 | digitalWrite(pinDir, LOW); |
22 | } |
23 |
24 | /*Функция-цикл в которой задаётся поведение программы*/ |
25 | void loop () |
26 | { |
27 | //устанавливаем направление вращения |
28 | digitalWrite(pinDir, HIGH); |
29 |
30 | for ( int i = 0; i < steps_rotate_360; i++) |
31 | { |
32 | digitalWrite(pinStep, HIGH); |
33 | delay(move_delay); |
34 | digitalWrite(pinStep, LOW); |
35 | delay(move_delay); |
36 | } |
37 |
38 | |
39 | } |
Необходимо добавить кнопку "Пуск" - двигатель с постоянной скоростью делает N количество оборотов, двигатель останавливается (не в режиме Пауза). Цикл повторяется.
2.
Нужна схема подключения и скетч для arduino nano, драйвер TB6600, двигатель nemo 23 2.5A, lcd дисплей с возможностью ввода количества шагов, скорость оборотов, направление вращения. Принцип такой же что и предыдущий, нажимаем "Пуск", двигатель вращается с заданной постоянной скоростью N количество оборотов и полностью останавливается (не в режиме пауза). Цикл повторяется.
Конечно пишите. skif7361@ya.ru
Как раз сейчас делаю себе лазерную выжигалку, есть на чём ваши программы проверить
Или wrk.sadman@gmail.com (если скиф загнет цену).
Та когда я загинал? Я за доширак работаю
За доширак и качество работ соответствующее. Заказчику такое может не подойти.
Поставить кнопку в готовую программу - тут да, особое качество нужно. Задача на два доширака. А загнутая цена за мелочь - это признак качества?
Так я предоплату никогда не беру. Понравится заказчику - он меня накормит. Не понравится - я лапу сосать буду.
Дак чево тянуть, вставляй прямо тут кнопочку в готовую программу.
А доширак? Два доширака?
"Понравится заказчику - он меня накормит" (С)
"Понравится заказчику - он меня накормит" (С)
А меня?
А загнутая цена за мелочь - это признак качества?
7808543@gmail.com
Конечно пишите. skif7361@ya.ru
Как раз сейчас делаю себе лазерную выжигалку, есть на чём ваши программы проверить
Здравствуйте, вы оба варианта можете сделать?
конечно оба.
У скифа ещё и с юмором напряженка. Совсем печально.(
Спасибо всем за отклики, исполнитель найден
У скифа ещё и с юмором напряженка. Совсем печально.(
Ну да. Какой там юмор без доширака.
привет. maslachenko767@mail.ru пишите сделаем
Привет. Так я сделал уже
Хотел бы поблагодарить sadman41 за проделанную работу (не знаю при чем тут skif), все выполнено быстро и качественно, получил скетчи, схемы подключения и рекомендации, даже мне далекому от программирования все понятно. Тему можно закрывать.
Доброго времени суток. Такой вопрос: в каком приложении (сайте) вы имитируете собранные схемы.
Цена вопроса написать скетч для спидометра ,тахометра драйвер А4988 библиотекой AccelStepper?
часть скетча на AccelStepper
1
// считывается информация с кода данных OBD1 getOBDdata(OBD_RPM). Либо отдельным пином сигнала от Тахо
tachStepper.moveTo((long)(map(getOBDdata(OBD_RPM), 0, MAX_RPM_RANGE, 1, STEPS_PER_REVOLUTION * uSteps * 2)));
// считывается информация с кода данных OBD1 getOBDdata(OBD_SPD) Либо отдельным пином сигнала от SPD
spdStepper
}
tachStepper.run();
spdStepper.run();
}
}