Страница 5 из 16
Шаговый двигатель на AccelStepper
Добавлено: 20 май 2020, 19:36
Ingwar
Davit07 писал(а): 20 май 2020, 00:54
Каким блоком можно разогнать ?
Я пока не пробовал блок [ref]AlexCrane[/ref] - нет необходимости.
Основные проблемы, с которыми можно столкнутся - непостоянство частоты сигналов (в следствии изменения времени выполнения программы в цикле) и "шаг" прироста частоты.
Но у Вас есть все, для того чтобы просто проверить самому. Хотя замечу, что 24 вольта мало для высоких скоростей. И не стоить забывать, что момент на валу падает с увеличением скорости (вдруг это критично).
Шаговый двигатель на AccelStepper
Добавлено: 20 май 2020, 21:46
Davit07
Ingwar писал(а): 20 май 2020, 19:36
Davit07 писал(а): 20 май 2020, 00:54
Каким блоком можно разогнать ?
Я пока не пробовал блок [ref]AlexCrane[/ref] - нет необходимости.
Основные проблемы, с которыми можно столкнутся - непостоянство частоты сигналов (в следствии изменения времени выполнения программы в цикле) и "шаг" прироста частоты.
Но у Вас есть все, для того чтобы просто проверить самому. Хотя замечу, что 24 вольта мало для высоких скоростей. И не стоить забывать, что момент на валу падает с увеличением скорости (вдруг это критично).
Доброго времени суток .
На данном блоке собрал несколько проектов . Конечно же после консультации с автором блока и с его помощью .
Разогнать получилось максимально до 700 об/мин, а после дробление шага 1/16 скорость меньше . После увеличение скорости блок подклинивает и не реагирует на кнопки. Включается и крутит ШД пока не отключить питание .
Может ,что то не правльно делаю .
Вот и решил узнать у Вас . Может ли данный блок разогнаться до 1500-2000об/мин , если нет , то какой другой ?
Всем спасибо за ответ
Шаговый двигатель на AccelStepper
Добавлено: 21 май 2020, 00:26
Ingwar
Davit07 писал(а): 20 май 2020, 21:46
Может ,что то не правльно делаю .
Шаговый привод с одной стороны прост в управлении, а с другой - очень требователен к стабильности. Его можно сравнить с синхронным двигателем, где скорость вращения ротора синхронна со скоростью "вращения" магнитного поля статора. Если поле статора сразу начать "вращать" быстро, то ротор в силу инертности не сможет этого сделать. Он стронется, его южные (для примера) полюса "потянутся" к "убегающим" северным полюсам статора, но поздно... уже подоспели южные статорные, которые его "отталкивают", а потом история повторяется. Так и стоит ротор на месте конвульсивно дергаясь...
Вот и с шаговым похожая история. Если он крутился довольно быстро, то пропуски step или даже кратковременное изменение в + или - частоты step с большим приращением, вызовет его остановку. И стартануть заного он сможет только с низкой частоты...
Такое может происходить если программа в микроконтроллере содержит блоки, имеющие больший приоритет на выполнение, чем блок шагового двигателя. А так же в случае, когда дискретность увеличения частоты низкая. Например (чисто в качестве примера) время периода можно уменьшать дискретно на 10мсек. Для понимания как это отражается на приращении табличка ниже
[spoiler]
Безымянный.png
[/spoiler]
Из нее видно, как на высоких скоростях увеличение на один "шаг" пытается заставить быстрее крутиться ротор, который в силу инерции этого сделать не сможет.
Шаговый двигатель на AccelStepper
Добавлено: 21 май 2020, 03:07
Davit07
[ref]Ingwar[/ref],
Благодарю за развернутый ответ.
Не такое полное , но уже приблизительно понимание имею ,что Вы имеете в виду.
Если я не ошибаюсь , что ардуино не может обеспечить равномерное подачу сигнала , длину сигнала и равномерное уменьшение расстояние меж сигналом для ускорение ?
Тут недавно пытался научиться создаю блока по управлению ШД , что к сожелению прошло без результата. Но с помощью [ref]aidar_i[/ref], получилось закрутить ШД до 1020 об/ми с дроблением шага 1/16, (замер производил механическим тахометром времён СССР). Использовал : Nema17 ,12v , драйвер SDM-1,5.
Вот и подумал , может быстрее получиться.
Ссылка на мой горе эксперимент . Без помощи [ref]aidar_i[/ref], наверно бы не чего не получилось )
viewtopic.php?p=89591#p89591
Благодарю за проявленный интерес к вопросу.
Шаговый двигатель на AccelStepper
Добавлено: 21 май 2020, 08:09
Ingwar
Davit07 писал(а): 21 май 2020, 03:07
Если я не ошибаюсь , что ардуино не может обеспечить равномерное подачу сигнала
Почему же, вполне себе может. Например при использовании функции micros(), шаг изменения может быть в 4 мксек. Другое дело если у Вас в программе есть блоки, использующие аппаратные прерывания (например энкодер). Во время обработки прерывания счет прекращается со всеми вытекающими. Так же критично время выполнения всей программы в цикле. В идеале бы разделить управление на 2 микроконтроллера. Один содержит функции управления, другой формирует сигналы step dir en. Или использовать более быстрые микроконтроллеры (duo, esp32, stm).
А вообще, правильно могут ответить только "шарящие" в программировании, к коим себя я не причисляю...
Отправлено спустя 3 минуты 36 секунд:
Да, напоминаю, 24 вольта мало для Ваших хотелок. Минимум 36, а лучше больше. От этого зависит время перемагничивания и соответственно частота вращения. И чем выше индуктивность обмоток, тем большее нужно напряжение.
Шаговый двигатель на AccelStepper
Добавлено: 21 май 2020, 12:35
Davit07
[ref]Ingwar[/ref], благодарю за ответ.
Буду пробовать. По результату обязательно отпишусь .
Шаговый двигатель на AccelStepper
Добавлено: 21 май 2020, 14:09
dizzyy
Davit07 писал(а): 21 май 2020, 03:07
ШД до 1020 об/ми с дроблением шага 1/16,
а зачем 1/16 ??? из практики больше 1/4 не ставил даже на станке.. точности оно не дает , а только больше греется шаговик и драйвер .. дробление только для плавности чтоб уйти от резонанса
Шаговый двигатель на AccelStepper
Добавлено: 21 май 2020, 16:11
Ingwar
dizzyy писал(а): 21 май 2020, 14:09
точности оно не дает
Да, почти так. На ШВП с шагом 5мм точность без дробления на стандартныом двигателем с 1,8 градусом поворота будет +-0,025 мм. Но шуму... Хорошо если драйвера leadshine или лучше, а если это в квартире...
А если работа на ремень, то при диаметре колеса 8мм один шаг это уже 0,2513мм, а если диаметр больше..., вот тут без дробления никак. Дома на принтер поставил контроллер с tmc2209 1/32 и STM на борту. Теперь бесит шум вентиляторов...

Шаговый двигатель на AccelStepper
Добавлено: 21 май 2020, 18:59
Davit07
Парни , скажу из личного опыта. Дробление шага даёт больше точности в работе ШД .
[ref]Ingwar[/ref], снизьте ток , проэкперементируйте на каком токе ему трудно перемещать ось и по таблице добавьте одно или два деления. Тем самым ШД не будет работать на пике и греться не будет. В принципе у ШД рабочая температура 70 градусов если я не ошибаюсь .
По крайней мере мои перестали греться на фрезере.
Шаговый двигатель на AccelStepper
Добавлено: 21 май 2020, 19:32
Ingwar
Davit07 писал(а): 21 май 2020, 18:59
Ingwar, снизьте ток
У меня ничего не греется) Вентиляторы хотэнда и обдува детали "шумят".
Шаговый двигатель на AccelStepper
Добавлено: 22 май 2020, 08:02
ElectronicRTC
Вопрос по теме, но возможно не в тему. Хотя может кому то поможет.
Почему не используете готовое решение типа
https://aliexpress.ru/item/32737927184. ... web201603_
С помощью готового решения можно очень неплохо управлять из ФЛПРОГ, реализовывая логику работы, а работу с шаговым пусть делает модуль.
Цена 400 руб для такого это можно сказать не цена.
Шаговый двигатель на AccelStepper
Добавлено: 22 май 2020, 12:51
AlexCrane
[ref]ElectronicRTC[/ref],

Тут все драйверами пользуются я думаю, проблема сгенерировать импульсы с большой частотой... на предлагаемый вами драйвер...
Шаговый двигатель на AccelStepper
Добавлено: 22 май 2020, 13:03
ElectronicRTC
[ref]AlexCrane[/ref], извиняйте если что не так - неужели сгенерить 1 канал 500кГц на ардуино так сложно ? Или нужны мегагерцы для шагового двигателя ?
Шаговый двигатель на AccelStepper
Добавлено: 22 май 2020, 20:44
AlexCrane
[ref]ElectronicRTC[/ref], Вот тут [ref=#ff8000]Sancho[/ref] подробно описал про частоты.
viewtopic.php?t=3064#p39396
Шаговый двигатель на AccelStepper
Добавлено: 23 май 2020, 10:23
Sancho
ElectronicRTC писал(а): 22 май 2020, 13:03
неужели сгенерить 1 канал 500кГц на ардуино так сложно ?
Разберём вопрос.
500кГц - 2мкс. 1мкс - полпериода, частота переключения выхода.
1 такт контролера 16мГц - 62,5нс.
Используя аппаратный таймер с тактированием без предделителя, можем попробовать, но
есть время, в течении которого при прерывании будет происходить отправка текущей позиции программы в стёк,
выполнение прерывания, управление выходом, перенастройка таймера, возвращение в работу основной программы из стёка.
за один полупериод, 1 мкс, это 1000/62,5 = 16 тиков проги - если всё и успеем, что останется основному циклу программы?
Как-то так, возможно заблуждаюсь.
Шаговый двигатель на AccelStepper
Добавлено: 27 май 2020, 00:00
Davit07
Всем привет.
Подскажите пожалуйста. Пробовал загрузить данный блок на плату ESP 8266 v3, выдает ошибку с библиотекой . Загружаю с этого же компа , блок прекрасно работает с платами UNO,MEGA.
Парин, подскажите , что я делаю не так?
Благодарю за помощь
Шаговый двигатель на AccelStepper
Добавлено: 27 май 2020, 04:21
ElectronicRTC
По частотам\скорости пусть так. Скажем 100кГц это предел, с учетом что сама программа должна работать.
Вопрос - насколько часто в шаговых используют частоты выше 100кГц ? Кто реально сталкивался в работе и для чего это нужно? Если ускоренное перемещение то неужели надо под 500 кгц ? торопимся ?
И сразу же предложение: а не попробовать ли использовать готовый генератор с управлением по SPI (I2C не нашел) ?
Например готовый модуль есть:
https://aliexpress.ru/item/32867090501. ... b4cfefe0-1
Осталось обратиться к мастерам за помощью. [ref=#ff8000]Sancho[/ref], сможете в случае необходимости подружить модуль в ФЛПРОГ ? Есть готовые работы, типа
https://tsibrov.blogspot.com/2018/06/ad9833.html
Отправлено спустя 4 минуты 6 секунд:
И было бы хорошо с программным SPI (настраиваемые пины т.к.аппаратный у многих бывает занят)
Шаговый двигатель на AccelStepper
Добавлено: 27 май 2020, 07:14
AlexCrane
[ref]Davit07[/ref], Для ESP8266 нужно этот блок использовать
viewtopic.php?t=5919&start=60#p88404 (без главного)
Шаговый двигатель на AccelStepper
Добавлено: 27 май 2020, 08:19
Sancho
ElectronicRTC писал(а): 27 май 2020, 04:21
подружить модуль в ФЛПРОГ
AD9833
Воспользуйтесь поиском - коллеги давно сделали,
например
Шаговый двигатель на AccelStepper
Добавлено: 28 май 2020, 01:51
Davit07
[ref]AlexCrane[/ref], Подскажи пожалуйста.
Блок, что Вы посоветовали не получается запустить в режиме шага.
ШД работает как положено если на входе блок прописать константу. Но если через переменную указать скорость и шаг, то ШД работает без остановки в режиме шага .
Данный пример, что Вы делали ранние работает, с платами UNO, Mega. Но с ESP отсчитывать шаги не желает.
Укажите пожалуйста на ошибки?
Спасибо за помощь
Отправлено спустя 6 минут 43 секунды:
noahi1977 писал(а): 05 май 2020, 23:40
Не успел написать..
Пишу сейчас.
Скорость снизил до 10000.Пока подгонял настройки с ускорением обратил внимание,что после 10000 реакции на увеличение скорости нет.
Дело в том,что при ручном управлении(continuous)скорость очень приличная.Но в авто режиме она маловата для меня.Я так понимаю,это связано с тем,контроллер не успевает считать?
Ещё не могу понять ,как работает stopAsel.Как не пытался понять ,реакции нет.
Так же обратил внимание.
Если не стоит чисел в скорости и ускорении то обычное перемещение continuous не активируется.
Идет какой то такт на период в 1секунду
[ref]noahi1977[/ref], Буду Вам благодарен если поделитесь готовым примером