Шаговый двигатель на AccelStepper

Пользовательские блоки для управления шаговыми двигателями и сервоприводами
Правила форума
Рекомендации по размещению блоков:
Автор блока создает подробное описание блока, отличие от подобных(если есть на данный момент).Сложные блоки очень желательно с примерами.
При выходе новых версий редактирует/дополняет свой первый пост с указанием даты, версии, причины.
В каждой теме обсуждается только выложенный автором блок - баги, возможность (или предложение) доработки и прочие хотелки.
Свои блоки, переработанные, с другими библиотеками, протоколами и т.д.- размещаем либо сами отдельно, либо обсуждаем и дорабатываем в форуме Разработка блоков.
Пользователи улучшив блок автора и проверив его работоспособность - могут обратиться к автору или модераторам с просьбой добавить их версию блока в первое сообщение темы.
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Шаговый двигатель на AccelStepper

Сообщение AlexCrane »

[ref]Davit07[/ref], Кратко опишите по пунктам что Вам нужно.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
Davit07
Сержант
Сообщения: 175
Зарегистрирован: 05 янв 2020, 03:39
Откуда: Краснодар
Имя: Давит
Благодарил (а): 7 раз

Шаговый двигатель на AccelStepper

Сообщение Davit07 »

Добрый день.
[ref]AlexCrane[/ref], Благодарю Вас за помощь
Блук будет работать в 2х режимах : шаги , максимальная скорость.
Хочу собрать устройство с функциями делительной головки и зуборезного устройства.
Функционал я вижу такой :
1) С энкодера считаем скорость вращение. После математических вычислений по формулам, подаем на блок скорость постоянного вращения ШД ( функция зубореза)
2) Через блок меню или через Vertuino вводим количество зубов на шестерне, после математических вычислений на блок подається число с количеством шагов на один зуб. При нажатии кнопки происходит вращение оси на один шаг
3) Возврат поворотной оси в точку 0 . Ну над этой функцией буду думать ближе к концу
В качестве эксперимента используется 4я ость от ЧПУ на базе ШД. Если же эксперимент пройдет удачно, то приобрету серводвигатель для увеличение скорости вращение .
Приобрел платы ESP8266 NodeMcu v3 для реализации этого проекта.

Как реализовать функции блока указанные в пунктах 1 и 2 ?
Какое железо луче всего использовать для данного проекта ?
Благодарю Вас за ответ
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Шаговый двигатель на AccelStepper

Сообщение ingener »

В проекте используется комплект из 3 блоков
Все работает четко только при условии, что значение max speed не более 4000.
Имеется в виду работа по программе, с запуском через En Steps.
Если давать больше, то начинается нестабильная работа - сбой индикации позиции, невозможно остановить вращение сигналом на Stop Asse, произвольные редкие шаги после остановки и пр.
Если крутить в ручном режиме через Continuous, то переваривает скорость до 9600 примерно.
Просьба к автору пояснить, это связано с особенностью блоков, их количеством (может на одном такого не будет) или виноват контроллер (нано)?
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Шаговый двигатель на AccelStepper

Сообщение AlexCrane »

[ref]ingener[/ref], Как я понимаю, в режиме Continuous не используется математика с float для вычисления ускорений, поэтому и разгоняется. Просто нано не справляется.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
MegaF
Рядовой
Сообщения: 87
Зарегистрирован: 05 сен 2018, 10:09
Имя: farad

Шаговый двигатель на AccelStepper

Сообщение MegaF »

у многих большие проблемы с входом на форум я уже четвертый день не могу войти , чисто сдучайно получилось , каперский тревожно сообщает
Безымянный1.png
о не соответствия сертификата безопасности. в чем проблема?

Отправлено спустя 3 минуты 43 секунды:
единственная тема которая открылась и поля ввода функционирует, в теме работа форума нет возможности писать Коментарии.

Отправлено спустя 2 минуты 33 секунды:
Безымянный1.png
Аватара пользователя
Davit07
Сержант
Сообщения: 175
Зарегистрирован: 05 янв 2020, 03:39
Откуда: Краснодар
Имя: Давит
Благодарил (а): 7 раз

Шаговый двигатель на AccelStepper

Сообщение Davit07 »

Вопрос к автору блока .
Как можно задать определенную скорость вращение ШД?
К примеру 100 об/мин
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Шаговый двигатель на AccelStepper

Сообщение ingener »

зачем автора беспокоить по таким пустякам)
чистая математика
1. узнаете кол-во шагов мотора на один оборот
2. делите его на 60.
3. это значение скорости соответствует 1об/мин
4. далее умножаете его на необходимое вам число оборотов в мин
вроде так :smile37:
Аватара пользователя
Davit07
Сержант
Сообщения: 175
Зарегистрирован: 05 янв 2020, 03:39
Откуда: Краснодар
Имя: Давит
Благодарил (а): 7 раз

Шаговый двигатель на AccelStepper

Сообщение Davit07 »

ingener писал(а): 26 июн 2020, 09:51 зачем автора беспокоить по таким пустякам)
чистая математика
1. узнаете кол-во шагов мотора на один оборот
2. делите его на 60.
3. это значение скорости соответствует 1об/мин
4. далее умножаете его на необходимое вам число оборотов в мин
вроде так :smile37:
Доброго дня .
Благодарю за ответ .
Из вашего примера получается , что 200/60*100 =333,3333. И если поставлю эту константу, то ШД закрутиться 100 об/мин.
Правельно ли я понял ?
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Шаговый двигатель на AccelStepper

Сообщение ingener »

Davit07 писал(а): 26 июн 2020, 17:11 333,3333. И если поставлю эту константу, то ШД закрутиться 100 об/мин.
Правельно ли я понял ?
Да, но это при условии, что на драйвере не включен делитель. Если включен, то надо еще умножить 333 на коэффициент деления.
Anydy

Шаговый двигатель на AccelStepper

Сообщение Anydy »

MegaF писал(а): 23 июн 2020, 23:42 у многих большие проблемы с входом на форум я уже четвертый день не могу войти , чисто сдучайно получилось , каперский тревожно сообщает
ну чтож такое - специально проверил в трех браузерах - с трех аккаунтов - все работает! если у вас проблема - зачем здесь писать что не работает?
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Шаговый двигатель на AccelStepper

Сообщение AlexCrane »

[ref]Alexzloy[/ref], Замените блок ШД на последнюю версию, пропорциональное управление в примере - в зависимости от положения переменного резистора шаговый двигатель идет в определенную позицию
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Аватара пользователя
leons
Сержант
Сообщения: 141
Зарегистрирован: 18 июн 2017, 17:07

Шаговый двигатель на AccelStepper

Сообщение leons »

Помогите разобраться с отправкой переменных по uart , есть рабочий проект всё в одном , решил разделить на две части , где мой косяк
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Trivius
Рядовой
Сообщения: 11
Зарегистрирован: 16 авг 2020, 20:41
Имя: Trivius

Шаговый двигатель на AccelStepper

Сообщение Trivius »

Добрый день. Подскажите, как в режиме ускорения достичь 8000Гц, на меге больше 4к не разгоняет. Драйвер не работает в шаговом, только полу, и т.д. 10 об/с мало... В проекте счётчик, триггер, концевик нуля, пару базовых блоков. Если давать 5кгц и больше- крутится с той же скоростью, звук двигателя не меняется. Если добавить экран в проект,что через пины, что по I2C - до 4к тоже норм, после- задержка индикации. Исходя из изложенного, следует, что в моем случае что дело не в нехватке производительности Меги на 4к...
Аватара пользователя
ingener
Лейтенант
Сообщения: 580
Зарегистрирован: 14 окт 2018, 00:26
Имя: Андрей
Благодарил (а): 2 раза
Поблагодарили: 3 раза

Шаговый двигатель на AccelStepper

Сообщение ingener »

По личному опыту с использованием Nano максимальная частота блоков ок. 3800 Гц
Trivius
Рядовой
Сообщения: 11
Зарегистрирован: 16 авг 2020, 20:41
Имя: Trivius

Шаговый двигатель на AccelStepper

Сообщение Trivius »

Библиотека AccelStepper лимитирует частоту до 4000Hz(Из релиз ноутс):
Improvements contributed by Peter Mousley: Use of microsecond steps and other speed improvements to increase max stepping speed to about 4kHz. New option for user to set the min allowed pulse width. Added checks for already running at max speed and skip further calcs if so.

Существует либа FastAccelStepper. Простите чайнику глупый вопрос: можно ли построить аналогичный блок на этой либе? Там 25КГц.
Wadim77
Рядовой
Сообщения: 21
Зарегистрирован: 20 авг 2020, 19:23
Имя: Wadim

Шаговый двигатель на AccelStepper

Сообщение Wadim77 »

AlexCrane писал(а): 06 авг 2020, 13:53 [ref]Alexzloy[/ref], Замените блок ШД на последнюю версию, пропорциональное управление в примере - в зависимости от положения переменного резистора шаговый двигатель идет в определенную позицию
Добрый день! Большое спасибо вам за проделанную работу. Я новичек совсем в программировании. немогли бы вы мне помочь? Мне нужно из вашего примера №4 только одна функция - установка в 0 и дальнейшее перемещение относительно потенциометра. Пытаюсь удалить остальные блоки (программы), но ничего не получается, не работает.Если не сложно - удалите блоки и программы ненужные. Сам не могу справиться. Посути мне надо , что бы при включении ардуины мотор докрутился влево до концевика. и потом я мог установить его положение относительно значения которое придет по уарт (условно приходит число 1000 и шаговик сделает 1000 шагов). Спасибо.

уважением, Вадим
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Шаговый двигатель на AccelStepper

Сообщение AlexCrane »

[ref]Wadim77[/ref], Попробуй
Тест ШД 05 test.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Wadim77
Рядовой
Сообщения: 21
Зарегистрирован: 20 авг 2020, 19:23
Имя: Wadim

Шаговый двигатель на AccelStepper

Сообщение Wadim77 »

AlexCrane писал(а): 22 авг 2020, 20:09 [ref]Wadim77[/ref], Попробуй Тест ШД 05 test.flp
Благодарю. к сожалению не заработала программа. у меня такая ситуация. 1. Запускаю ардуину, замыкаю контакты поиска концевика. экран показывает, что он меняет позицию в минус. 2. Замыкаю контакты концевика. Концевик сработал. Экран показывает - обнулилось. 3. Дальше ничего не происходит. На экране все нули. П.С. подключил к переменной вход аналоговый (с потенциомера вместе уарта для проверки) - ничего не меняется в графе позиция (верхняя строка). И значение программа - тоже все время в нуле. Переменник работает - значения на экране меняются нормально. Если это важно - экран подключени по i2C
Аватара пользователя
AlexCrane
Капитан
Сообщения: 903
Зарегистрирован: 20 окт 2017, 13:22
Откуда: Ульяновск
Имя: Александр
Поблагодарили: 12 раз

Шаговый двигатель на AccelStepper

Сообщение AlexCrane »

[ref]Wadim77[/ref], Прошу прощения, забыл в примере подать импульс для начала движения ШД (как только получили данные по UART)
Тест ШД 05.3 test.flp
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Если не знаю, то не скажу. Если скажу, то сначала проверю...
Если нет возможности отблагодарить материально, хотя бы оцени пост....
Wadim77
Рядовой
Сообщения: 21
Зарегистрирован: 20 авг 2020, 19:23
Имя: Wadim

Шаговый двигатель на AccelStepper

Сообщение Wadim77 »

AlexCrane писал(а): 04 сен 2020, 10:18 [ref]Wadim77[/ref], Прошу прощения, забыл в примере подать импульс для начала движения ШД (как только получили данные по UART)
Тест ШД 05.3 test.flp
ДОБРОГО ВРЕМЕНИ СУТОК!

Я немного заменил вход (плата №6), теперь там не уарт вход, а приемник DMX512. Что то совсем все перестало работать. в принципе немного изменил - приходит значение от 0 до 255, затем масштабируется до 2550 шагов. Это поидее понятно. Наверное я что то напортачил с сигналом поступления значения? Взгляние, ПОЖАЛУЙСТА. Хотелось бы довести этот проект до конца. П.С. (если не сложно) подскажите - 1. какую переменную или просто ПРИЕМ в ком порт надо принимать? 2. Пункт - сигнал по приему я не нашел? как он правильно реализуется? 3. Что надо отправляться в ком порт ардуинки с компа (МОНИТОРА ПОРТа), что бы заставить делать шаги? ОГРОМНОЕ ВАМ СПАСИБО за помощь! П.С.С - проект свой я приложил к этому письму)
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Ответить

Вернуться в «Управление шаговыми двигателями и сервоприводами»

Кто сейчас на конференции

Сейчас этот форум просматривают: owerts и 5 гостей