Шаговый генератор на STM32 (STEP/DIR/ENBL)

Контроллеры, драйверы, датчики, управляющие устройства.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение michael-yurov »

UAVpilot писал(а):И тут-то и возникает "неудобный" вопрос: а нафик тогда всё эти S-кривые, если все оси кроме самой медленной будут разгонятся и тормозить не по своим оптимальным S-кривым, а согласно характеристикам самой медленной (самой тажёлой) оси?..
А вот тут то, на мой взгляд, и есть тонкий момент!
При движении по линейному сегменту от начала до конца по S-кривой особой пользы (в плане времени) от этой самой S-кривой нет.
То что удается выиграть повышением максимального ускорения - теряется в начале и конце сегмента на участках его плавного роста.
Так что выигрыша во времени не получаем. Может даже проиграем (хотя движение будет более плавным).
Но вот на сложной криволинейной траектории вполне можно получить выигрыш при использовании S-кривых. Только вот, как я уже и сказал - расчеты получаются достаточно сложные и не очевидные, т.к. система уравнений имеет множество решений.
Аватара пользователя
wldev
Мастер
Сообщения: 1650
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение wldev »

michael-yurov писал(а):При движении по линейному сегменту от начала до конца по S-кривой особой пользы (в плане времени) от этой самой S-кривой нет.
То что удается выиграть повышением максимального ускорения - теряется в начале и конце сегмента на участках его плавного роста.
Так что выигрыша во времени не получаем. Может даже проиграем (хотя движение будет более плавным).
Но вот на сложной криволинейной траектории вполне можно получить выигрыш при использовании S-кривых. Только вот, как я уже и сказал - расчеты получаются достаточно сложные и не очевидные, т.к. система уравнений имеет множество решений.
НЕ согласен!
Время разгона по S кривой равно времени разгона по трапеции T. Да, ускорение в середине S может быть больше чем у T. Но из-за того что нет резких изменений ускорения у вас будет всё работать плавнее - это и есть осн. плюс S разгона...
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение Сергей Саныч »

Bender писал(а):ускорение в середине S может быть больше чем у T
А если привод не способен отработать такое ускорение? Если не хватает момента?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
wldev
Мастер
Сообщения: 1650
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение wldev »

Вот хороший пример:
https://www.youtube.com/watch?v=qYJpl7SNoww

т.е. S нужен не для того чтобы выжать с движка всё что можно... а для того чтобы обеспечить наиболее плавное и быстрое перемещение
Последний раз редактировалось wldev 10 авг 2017, 12:54, всего редактировалось 1 раз.
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение Hanter »

Bender писал(а):Время разгона по S кривой равно времени разгона по трапеции T. Да, ускорение в середине S может быть больше чем у T. Но из-за того что нет резких изменений ускорения у вас будет всё работать плавнее - это и есть осн. плюс S разгона...
оно не просто может быть. оно просто обязательно будет выше чем при разгоне по трапеции.
может будет полезной такая инфа:
Буфер обмена01.gif (1465 просмотров) <a class='original' href='./download/file.php?id=117871&mode=view' target=_blank>Загрузить оригинал (68.37 КБ)</a>
Буфер обмена02.gif (1465 просмотров) <a class='original' href='./download/file.php?id=117872&mode=view' target=_blank>Загрузить оригинал (37.23 КБ)</a>
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение Сергей Саныч »

Bender писал(а):Вот хороший пример:
А так ли оно нужно для фрезера?
Вот ежели проектировать робота-бармена, или там чайханщика, тогда да :)
Чудес не бывает. Бывают фокусы.
Аватара пользователя
wldev
Мастер
Сообщения: 1650
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение wldev »

Hanter писал(а):оно не просто может быть. оно просто обязательно будет выше чем при разгоне по трапеции.
Да это понятно... Касательная к S в середине будет круче чем у трапеции.
S нужен не для того чтобы выжать с движка всё что можно... а для того чтобы обеспечить наиболее плавное и быстрое перемещение чего либо
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
wldev
Мастер
Сообщения: 1650
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение wldev »

Сергей Саныч писал(а):А так ли оно нужно для фрезера?
Вот ежели проектировать робота-бармена, или там чайханщика, тогда да
Смотрите шире... в каждом станке есть места которые могут накапливать механическое напряжение (ремни, ШВП, гайки, элементы конструкции, муфты, ШД в окресности шага) всё это даёт инерцию = запаздывание. S позволяет минимизировать всё это. ваш станок будет работать быстрее точнее и дольше т.к. у него не будет перегрузок как при T.

PS заканчиваю обсуждение ибо ушли от темы(((
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
Hanter
Мастер
Сообщения: 5414
Зарегистрирован: 27 янв 2012, 14:52
Репутация: 4338
Настоящее имя: Алексей
Откуда: Питер
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение Hanter »

Bender писал(а):а для того чтобы обеспечить наиболее плавное и быстрое перемещение чего либо
нет. основная задача - снизить нагрузки. плавное движение обеспечивается и без S-кривых. ибо участки начала разгона и торможения как правило ничтожно малы по сравнению с прямолинейным участком. но вот нагрузки при работе без этих участков реально выше. я гонял железо в разных режимах - с S-кривыми и без них - реально без них движение идет с ударами. жесткими, реально ощутимыми и различимыми. при включении S-кривых - все работает реально мягко. ударов нет вообще. плюс значительно легче отстроить ПИДы.
Опыт - это когда на смену вопросам: "Что? Где? Когда? Как? Почему?" Приходит единственный вопрос: "Нахрена?"
==========================================
фрезерная и токарная обработка на станках с чпу.
Резка, гибка, сварка и порошковая окраса.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение Serg »

Bender писал(а):Она нужна для плавности движения, чтобы небыло резких изменений ускорения....
Ну можно-же просто уменьшить ускорение и всё... :)
Bender писал(а):поэтому и строят станки чтобы характеристики всех осей были примерно одинаковыми... :beer_blow:
Тут даже и не знаю что сказать... Почему-то сразу вспоминаются тяжёлые станки типа 6Т80Ш или AG400... :)
Bender писал(а):Время разгона по S кривой равно времени разгона по трапеции T. Да, ускорение в середине S может быть больше чем у T. Но из-за того что нет резких изменений ускорения у вас будет всё работать плавнее - это и есть осн. плюс S разгона...
Увы нет, этому всячески сопротивляется физика: Допустим некий привод, имеет такую мощность, что может ускоряться с максимальным ускорением N m/s². Если применить не постоянное ускорение, а S-кривую, то на любом участке этой S-кривой привод не сможет превысить эти самые N m/s² - мощности не хватит.
Разгон и торможение по S-кривой - это только лишь плавность движения.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
wldev
Мастер
Сообщения: 1650
Зарегистрирован: 24 янв 2012, 16:04
Репутация: 510
Настоящее имя: Сергей Бочаров
Откуда: Новосибирск
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение wldev »

MX_Master писал(а):Как много хороших советов, аж выбрать никак не могу )))
Вот посмотри

http://www.galilmc.com/news/dmc-program ... ntour-mode

там есть файл xls
Новости: https://t.me/wldevruch
Обсуждения: https://t.me/wldevgr
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2858
Откуда: Тюмень
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение Сергей Саныч »

UAVpilot писал(а):Допустим некий привод, имеет такую мощность, что может ускоряться с максимальным ускорением N m/s². Если применить не постоянное ускорение, а S-кривую, то на любом участке этой S-кривой привод не сможет превысить эти самые N m/s² - мощности не хватит.
Вообще-то многие приводы допускают кратковременное превышение мощности. То есть надо смотреть не мгновенную мощность, а интегральную на каком-то временнОм отрезке, чтобы именно ее не превысить (а то перегреется). Но тут считать надо.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение michael-yurov »

Сергей Саныч писал(а):
UAVpilot писал(а):Допустим некий привод, имеет такую мощность, что может ускоряться с максимальным ускорением N m/s². Если применить не постоянное ускорение, а S-кривую, то на любом участке этой S-кривой привод не сможет превысить эти самые N m/s² - мощности не хватит.
Вообще-то многие приводы допускают кратковременное превышение мощности. То есть надо смотреть не мгновенную мощность, а интегральную на каком-то временнОм отрезке, чтобы именно ее не превысить (а то перегреется). Но тут считать надо.
И при трапецеидальном ускорении - будут всплески нагрузки в начале и конце линейного перемещения. И эти всплески выйдут за рамки расчетного ускорения.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение Serg »

Сергей Саныч писал(а):То есть надо смотреть не мгновенную мощность, а интегральную на каком-то временнОм отрезке
Не суть, работа требуемая для разгона некой массы от скорости V1 до скорости V2 не зависит от времени:
W = 1/2 * m * (V1 -V2)²
michael-yurov писал(а):И при трапецеидальном ускорении - будут всплески нагрузки в начале и конце линейного перемещения. И эти всплески выйдут за рамки расчетного ускорения.
С чего вдруг?..
Подними над землёй какой-нибудь "килограмм" и отпусти его - с каким ускорением он начнёт двигаться к земле В МОМЕНТ ОТПУСКАНИЯ? А в середине своего пути?.. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
michael-yurov
Почётный участник
Почётный участник
Сообщения: 11730
Зарегистрирован: 26 июл 2012, 00:10
Репутация: 4703
Настоящее имя: Михаил Львович
Откуда: Новоуральск
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение michael-yurov »

UAVpilot писал(а):С чего вдруг?..
Подними над землёй какой-нибудь "килограмм" и отпусти его - с каким ускорением он начнёт двигаться к земле В МОМЕНТ ОТПУСКАНИЯ? А в середине своего пути?..
Ну мы же не сферический килограмм перемещаем! Килограмм, действительно, будет двигаться равноускоренно.
Представь - станок у которого вместо привода (для наглядности возьмем привод перемещающий портал) - блок и тросик, к которому привязан этот "килограмм".
Отпускаем этот килограмм. Будет ли движение равноускоренным, или все этот самый портал в момент начала ускорения немного изогнется, спружинит, выпрямится, и т.п? Будет ли при этом его ускорение постоянным? Или его собственные вибрации повлияют на постоянство ускорения?
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение spike »

UAVpilot писал(а): Подними над землёй какой-нибудь "килограмм" и отпусти его - с каким ускорением он начнёт двигаться к земле В МОМЕНТ ОТПУСКАНИЯ? А в середине своего пути?..
С постоянным ускорением свободного падения, но речь идет о рывке. А рывок (третья производная функции позиции от времени) - в момент "отпускания" бесконечен (конечно, при условии мгновенного "отпускания"). В середине пути рывок = 0. Суть S-кривых - это ограничение именно рывка. Вот только в реальности сделать планировщик с ограничением рывка очень сложно - поэтому, кстати и применяют фильтроподобные регуляторы.
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение Serg »

michael-yurov писал(а):Ну мы же не сферический килограмм перемещаем! Килограмм, действительно, будет двигаться равноускоренно.
Работа, требуемая для преодоления как сопротивления воздуха при падении, так и сил трения в станке так-же не зависит от времени... :)
michael-yurov писал(а):Представь - станок у которого вместо привода (для наглядности возьмем привод перемещающий портал) - блок и тросик
Не хочу. Тем более тросики! :) Зачем вводить в рассуждения всякую побочную муть? Чтобы сложнее было увидеть истину?
spike писал(а):С постоянным ускорением свободного падения, но речь идет о рывке.
А можно матобоснование этого рывка? Ну чтоб можно было в формулу подставить и увидеть что от чего зависит.
spike писал(а):Суть S-кривых - это ограничение именно рывка.
Суть S-кривых в плавном изменении ускорения, я об этом уже выше написал. Но увеличить мощность привода, т.е. ускорение выше максимума для данного привода они не могут.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение spike »

UAVpilot писал(а):А можно матобоснование этого рывка?
https://ru.wikipedia.org/wiki/%D0%A0%D1 ... %BA%D0%B0)
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение Serg »

Вот видишь, и в википедии тебе пишут что это изменение ускорения от нуля до максимума. Т.е. превысить этот самый максимум всё равно не получится.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
spike
Почётный участник
Почётный участник
Сообщения: 358
Зарегистрирован: 08 фев 2010, 01:03
Репутация: 5
Контактная информация:

Re: Шаговый генератор на STM32 (STEP/DIR/ENBL)

Сообщение spike »

UAVpilot писал(а):Т.е. превысить этот самый максимум всё равно не получится.
а можно математическое/физическое обоснование, хотя бы и "на пальцах"? только про темные силы инерции не забудь... ;)
Ответить

Вернуться в «Электроника»