Как работает реалтайм в платах MESA
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
Re: Как работает реалтайм в платах MESA
[youtube]https://youtu.be/okozRW1Rs9M[/youtube]
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
Re: Как работает реалтайм в платах MESA
Человек показывает это на практике.... Но немецкого я не знаю, может знающие поймут по видео как это работает?
-
- Мастер
- Сообщения: 1949
- Зарегистрирован: 10 окт 2015, 23:25
- Репутация: 284
- Настоящее имя: Андрей
- Откуда: Красноярск
- Контактная информация:
Re: Как работает реалтайм в платах MESA
на глаз у него с месы ШИМ и ОС по линейкам..
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Как работает реалтайм в платах MESA
Планировщик LinuxCNC каждую милисекунду даёт задание проехать очередные ~0.4мм и проверяет результат по энкодеру. Если результат например оказался 0.36мм (меньше на 10% от длительности сервоцикла при latency = 100000), то следующим заданием будет проехать 0.44мм...antoxa-kylibin писал(а): ↑ Общая схема понятно, но вот такой момент непонятен.... Как при скорости 25м/мин отклонение от заданной позиции остаётся в пределах 0.03-0.04мм при условии что время опроса платы 1мс?
Ну и реальная точность следования по тректории ±0.04мм на скорости 25м/мин - это совсем другие деньги и принципы реализации.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
Re: Как работает реалтайм в платах MESA
ну я согласен что линейки renishaw RGH22 стоят других денег по сравнению с китайскими sino....но судя по видео, принцип реализации не изменился....Вместо step/dir используется pwm/dir и моторы коллекторные, а не шаговики...
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Как работает реалтайм в платах MESA
Там просто аналог. Про PWM говорится потому, что нет 7i77 с готовыми аналоговыми выходами, т.е. схема такая: ПИД -> PWM -> PWMtoAnalog -> Сервоусилитель -> Мотор -> Энкодер -> ПИД.antoxa-kylibin писал(а): ↑ Вместо step/dir используется pwm/dir и моторы коллекторные, а не шаговики...
На видио чел просто радуется работе сервоприводов после шаговиков.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
Re: Как работает реалтайм в платах MESA
Я думал что для H-bridge нужен pwm сигнал, но это уже нюансы на самом деле. Результат то получился интересный...скорости 25м/мин, отклонение от заданной траектории не превышает 0,03-0,04мм. Прикол в правильной настройке PID?
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
Re: Как работает реалтайм в платах MESA
Тем не менее, человек показал в живую как это работает...Получается что временного интервала опроса в 1мс достаточно для нормальной работы даже на больших скоростях и с хорошей дискретностью? Получается что если PID настроены правильно, то комп дает корректные данные для отработки плате mesa, а та в свою очередь их корректно отрабатывает. Если при следующем опросе система не вывалилась за допустимую ошибку рассогласования, то едем дальше. Если рассогласование больше допустимого, то E-Stop?Serg писал(а): ↑17 фев 2021, 12:01Там просто аналог. Про PWM говорится потому, что нет 7i77 с готовыми аналоговыми выходами, т.е. схема такая: ПИД -> PWM -> PWMtoAnalog -> Сервоусилитель -> Мотор -> Энкодер -> ПИД.antoxa-kylibin писал(а): ↑ Вместо step/dir используется pwm/dir и моторы коллекторные, а не шаговики...
На видио чел просто радуется работе сервоприводов после шаговиков.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Как работает реалтайм в платах MESA
"Да" на все 3 вопроса.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
- merkwurdigliebe
- Мастер
- Сообщения: 608
- Зарегистрирован: 17 дек 2013, 22:14
- Репутация: 580
- Откуда: București
- Контактная информация:
Re: Как работает реалтайм в платах MESA
о, снова "подруливание"
планировщик (вернее интерполятор) ничего не проверяет. он считает время сервоцикла постоянным и тупо выдувает последовательность координат. т.е. если движение равномерное - то и задания каждый цикл будут отличаться на одно и то же значиние. вне зависимости одинаковые ли в реальности были временные интервалы этих циклов и кто сколько проехал (к счастью)
результат по энкодеру в расчетах используют только PID контроллеры, т.е. уже ниже
- antoxa-kylibin
- Мастер
- Сообщения: 786
- Зарегистрирован: 22 июн 2017, 13:18
- Репутация: 107
- Настоящее имя: Антон
- Откуда: г. Воронеж
- Контактная информация:
Re: Как работает реалтайм в платах MESA
И все таки как получается отклонение от заданной траектории не более 0.05мм при скорости перемещения 25м/мин?
- merkwurdigliebe
- Мастер
- Сообщения: 608
- Зарегистрирован: 17 дек 2013, 22:14
- Репутация: 580
- Откуда: București
- Контактная информация:
Re: Как работает реалтайм в платах MESA
а почему нет, что смущает-то? то что за 1мс проезжаем 0.4мм?
если мы движемся со скоростью 25м/мин, то значит траектория гладкая. и при аппроксимации ее отрезками (ну или параболами) длиной 0.4мм отклонения будут значительно меньше этих 0.05
а если на траектории углы-изгибы - значит скорость будет снижаться (чтобы соблюсти ограничения на ускорения) и 1мс отрезки станут, соответственно, гораздо короче, чем 0.4мм
если мы движемся со скоростью 25м/мин, то значит траектория гладкая. и при аппроксимации ее отрезками (ну или параболами) длиной 0.4мм отклонения будут значительно меньше этих 0.05
а если на траектории углы-изгибы - значит скорость будет снижаться (чтобы соблюсти ограничения на ускорения) и 1мс отрезки станут, соответственно, гораздо короче, чем 0.4мм
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5181
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Как работает реалтайм в платах MESA
Я потому постоянно и говорю, что между планировщиком и степгеном надо ставить PID - тогда будет подруливать. "Выход энкодера" у степгена есть - называется stepgen.N.position−fb.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2857
- Откуда: Тюмень
- Контактная информация:
Re: Как работает реалтайм в платах MESA
Всё уже предусмотрено, "подруливание" есть и работает даже с самым простым stepgen'ом для LPT.
компонент motion по выходу
joint.N.motor−pos−cmd OUT FLOAT - выдает задание, куда приехать за следующий сервоцикл.
а по входу
joint.N.motor−pos−fb IN FLOAT - принимает обратную связь о позиции, куда stepgen смог дошагать.
Исходя из этого, формируется задание на следующий сервоцикл. Или выбрасывается following error, если ошибка превысила допустимое значение.
Никаких дополнительных PIDов по положению в данном случае не требуется.
компонент motion по выходу
joint.N.motor−pos−cmd OUT FLOAT - выдает задание, куда приехать за следующий сервоцикл.
а по входу
joint.N.motor−pos−fb IN FLOAT - принимает обратную связь о позиции, куда stepgen смог дошагать.
Исходя из этого, формируется задание на следующий сервоцикл. Или выбрасывается following error, если ошибка превысила допустимое значение.
Никаких дополнительных PIDов по положению в данном случае не требуется.
Чудес не бывает. Бывают фокусы.
-
- Мастер
- Сообщения: 953
- Зарегистрирован: 23 фев 2011, 01:50
- Репутация: 36
- Контактная информация:
Re: Как работает реалтайм в платах MESA
Вы не правильно сформулировали. Ошибка появляется только если есть ускорение. Т.е. указанная ошибка возникнет, если есть ускорение 25м/мин2 - 0.4м/с2. Но масса движущихся частей станка не позволяет, за счет инерции, сделать ускорение влияющим на ошибку за интервал 1мс.antoxa-kylibin писал(а): ↑ И все таки как получается отклонение от заданной траектории не более 0.05мм при скорости перемещения 25м/мин?
- merkwurdigliebe
- Мастер
- Сообщения: 608
- Зарегистрирован: 17 дек 2013, 22:14
- Репутация: 580
- Откуда: București
- Контактная информация:
Re: Как работает реалтайм в платах MESA
here we go again ну нет же, не из этого. обратная связь по положению на расчет траектории не влияет. проверить просто: поставьтеСергей Саныч писал(а): ↑ Всё уже предусмотрено, "подруливание" есть и работает даже с самым простым stepgen'ом для LPT.
компонент motion по выходу
joint.N.motor−pos−cmd OUT FLOAT - выдает задание, куда приехать за следующий сервоцикл.
а по входу
joint.N.motor−pos−fb IN FLOAT - принимает обратную связь о позиции, куда stepgen смог дошагать.
Исходя из этого, формируется задание на следующий сервоцикл. Или выбрасывается following error, если ошибка превысила допустимое значение.
Никаких дополнительных PIDов по положению в данном случае не требуется.
MIN_FERROR=1000
FERROR=1000
и отключите joint.N.motor-pos-fb. и траектория не изменится, все будет работать точно так же
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2857
- Откуда: Тюмень
- Контактная информация:
Re: Как работает реалтайм в платах MESA
Что понимается под расчетом траектории?merkwurdigliebe писал(а): ↑ обратная связь по положению на расчет траектории не влияет
Чудес не бывает. Бывают фокусы.
- merkwurdigliebe
- Мастер
- Сообщения: 608
- Зарегистрирован: 17 дек 2013, 22:14
- Репутация: 580
- Откуда: București
- Контактная информация:
Re: Как работает реалтайм в платах MESA
процесс превращения g-code в последовательность векторов - координат задания осям через равные промежутки времени