Страница 2 из 3

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 00:06
antoxa-kylibin
[youtube]https://youtu.be/okozRW1Rs9M[/youtube]

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 00:08
antoxa-kylibin
Человек показывает это на практике.... Но немецкого я не знаю, может знающие поймут по видео как это работает?

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 00:44
Duhas
на глаз у него с месы ШИМ и ОС по линейкам..

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 03:39
Serg
antoxa-kylibin писал(а): Общая схема понятно, но вот такой момент непонятен.... Как при скорости 25м/мин отклонение от заданной позиции остаётся в пределах 0.03-0.04мм при условии что время опроса платы 1мс?
Планировщик LinuxCNC каждую милисекунду даёт задание проехать очередные ~0.4мм и проверяет результат по энкодеру. Если результат например оказался 0.36мм (меньше на 10% от длительности сервоцикла при latency = 100000), то следующим заданием будет проехать 0.44мм...

Ну и реальная точность следования по тректории ±0.04мм на скорости 25м/мин - это совсем другие деньги и принципы реализации. :)

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 11:05
antoxa-kylibin
ну я согласен что линейки renishaw RGH22 стоят других денег по сравнению с китайскими sino....но судя по видео, принцип реализации не изменился....Вместо step/dir используется pwm/dir и моторы коллекторные, а не шаговики...

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 12:01
Serg
antoxa-kylibin писал(а): Вместо step/dir используется pwm/dir и моторы коллекторные, а не шаговики...
Там просто аналог. Про PWM говорится потому, что нет 7i77 с готовыми аналоговыми выходами, т.е. схема такая: ПИД -> PWM -> PWMtoAnalog -> Сервоусилитель -> Мотор -> Энкодер -> ПИД.
На видио чел просто радуется работе сервоприводов после шаговиков. :)

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 12:44
antoxa-kylibin
Я думал что для H-bridge нужен pwm сигнал, но это уже нюансы на самом деле. Результат то получился интересный...скорости 25м/мин, отклонение от заданной траектории не превышает 0,03-0,04мм. Прикол в правильной настройке PID?

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 14:26
antoxa-kylibin
Вот автор описание оставил под видео....

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 19:07
antoxa-kylibin
Serg писал(а): 17 фев 2021, 12:01
antoxa-kylibin писал(а): Вместо step/dir используется pwm/dir и моторы коллекторные, а не шаговики...
Там просто аналог. Про PWM говорится потому, что нет 7i77 с готовыми аналоговыми выходами, т.е. схема такая: ПИД -> PWM -> PWMtoAnalog -> Сервоусилитель -> Мотор -> Энкодер -> ПИД.
На видио чел просто радуется работе сервоприводов после шаговиков. :)
Тем не менее, человек показал в живую как это работает...Получается что временного интервала опроса в 1мс достаточно для нормальной работы даже на больших скоростях и с хорошей дискретностью? Получается что если PID настроены правильно, то комп дает корректные данные для отработки плате mesa, а та в свою очередь их корректно отрабатывает. Если при следующем опросе система не вывалилась за допустимую ошибку рассогласования, то едем дальше. Если рассогласование больше допустимого, то E-Stop?

Re: Как работает реалтайм в платах MESA

Добавлено: 17 фев 2021, 22:39
Serg
"Да" на все 3 вопроса.

Re: Как работает реалтайм в платах MESA

Добавлено: 18 фев 2021, 12:12
antoxa-kylibin
Понятно)

Re: Как работает реалтайм в платах MESA

Добавлено: 19 фев 2021, 02:58
merkwurdigliebe
Serg писал(а): Планировщик LinuxCNC каждую милисекунду даёт задание проехать очередные ~0.4мм и проверяет результат по энкодеру. Если результат например оказался 0.36мм (меньше на 10% от длительности сервоцикла при latency = 100000), то следующим заданием будет проехать 0.44мм...
о, снова "подруливание" ;)
планировщик (вернее интерполятор) ничего не проверяет. он считает время сервоцикла постоянным и тупо выдувает последовательность координат. т.е. если движение равномерное - то и задания каждый цикл будут отличаться на одно и то же значиние. вне зависимости одинаковые ли в реальности были временные интервалы этих циклов и кто сколько проехал (к счастью)
результат по энкодеру в расчетах используют только PID контроллеры, т.е. уже ниже

Re: Как работает реалтайм в платах MESA

Добавлено: 19 фев 2021, 03:05
antoxa-kylibin
И все таки как получается отклонение от заданной траектории не более 0.05мм при скорости перемещения 25м/мин?

Re: Как работает реалтайм в платах MESA

Добавлено: 19 фев 2021, 04:03
merkwurdigliebe
а почему нет, что смущает-то? то что за 1мс проезжаем 0.4мм?
если мы движемся со скоростью 25м/мин, то значит траектория гладкая. и при аппроксимации ее отрезками (ну или параболами) длиной 0.4мм отклонения будут значительно меньше этих 0.05
а если на траектории углы-изгибы - значит скорость будет снижаться (чтобы соблюсти ограничения на ускорения) и 1мс отрезки станут, соответственно, гораздо короче, чем 0.4мм

Re: Как работает реалтайм в платах MESA

Добавлено: 19 фев 2021, 05:54
Serg
Я потому постоянно и говорю, что между планировщиком и степгеном надо ставить PID - тогда будет подруливать. "Выход энкодера" у степгена есть - называется stepgen.N.position−fb. :)

Re: Как работает реалтайм в платах MESA

Добавлено: 19 фев 2021, 07:58
Сергей Саныч
Всё уже предусмотрено, "подруливание" есть и работает даже с самым простым stepgen'ом для LPT.

компонент motion по выходу
joint.N.motor−pos−cmd OUT FLOAT - выдает задание, куда приехать за следующий сервоцикл.
а по входу
joint.N.motor−pos−fb IN FLOAT - принимает обратную связь о позиции, куда stepgen смог дошагать.

Исходя из этого, формируется задание на следующий сервоцикл. Или выбрасывается following error, если ошибка превысила допустимое значение.
Никаких дополнительных PIDов по положению в данном случае не требуется.

Re: Как работает реалтайм в платах MESA

Добавлено: 19 фев 2021, 09:11
Impartial
antoxa-kylibin писал(а): И все таки как получается отклонение от заданной траектории не более 0.05мм при скорости перемещения 25м/мин?
Вы не правильно сформулировали. Ошибка появляется только если есть ускорение. Т.е. указанная ошибка возникнет, если есть ускорение 25м/мин2 - 0.4м/с2. Но масса движущихся частей станка не позволяет, за счет инерции, сделать ускорение влияющим на ошибку за интервал 1мс.

Re: Как работает реалтайм в платах MESA

Добавлено: 19 фев 2021, 12:19
merkwurdigliebe
Сергей Саныч писал(а): Всё уже предусмотрено, "подруливание" есть и работает даже с самым простым stepgen'ом для LPT.

компонент motion по выходу
joint.N.motor−pos−cmd OUT FLOAT - выдает задание, куда приехать за следующий сервоцикл.
а по входу
joint.N.motor−pos−fb IN FLOAT - принимает обратную связь о позиции, куда stepgen смог дошагать.

Исходя из этого, формируется задание на следующий сервоцикл. Или выбрасывается following error, если ошибка превысила допустимое значение.
Никаких дополнительных PIDов по положению в данном случае не требуется.
here we go again :) ну нет же, не из этого. обратная связь по положению на расчет траектории не влияет. проверить просто: поставьте
MIN_FERROR=1000
FERROR=1000
и отключите joint.N.motor-pos-fb. и траектория не изменится, все будет работать точно так же

Re: Как работает реалтайм в платах MESA

Добавлено: 19 фев 2021, 12:47
Сергей Саныч
merkwurdigliebe писал(а): обратная связь по положению на расчет траектории не влияет
Что понимается под расчетом траектории?

Re: Как работает реалтайм в платах MESA

Добавлено: 19 фев 2021, 13:18
merkwurdigliebe
процесс превращения g-code в последовательность векторов - координат задания осям через равные промежутки времени