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

Работа с платами MESA, подключение, конфигурация.
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

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

Сообщение antoxa-kylibin »

[youtube]https://youtu.be/okozRW1Rs9M[/youtube]
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

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

Сообщение antoxa-kylibin »

Человек показывает это на практике.... Но немецкого я не знаю, может знающие поймут по видео как это работает?
Duhas
Мастер
Сообщения: 1949
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 284
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

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

Сообщение Duhas »

на глаз у него с месы ШИМ и ОС по линейкам..
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

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

Ну и реальная точность следования по тректории ±0.04мм на скорости 25м/мин - это совсем другие деньги и принципы реализации. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

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

Сообщение antoxa-kylibin »

ну я согласен что линейки renishaw RGH22 стоят других денег по сравнению с китайскими sino....но судя по видео, принцип реализации не изменился....Вместо step/dir используется pwm/dir и моторы коллекторные, а не шаговики...
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

antoxa-kylibin писал(а): Вместо step/dir используется pwm/dir и моторы коллекторные, а не шаговики...
Там просто аналог. Про PWM говорится потому, что нет 7i77 с готовыми аналоговыми выходами, т.е. схема такая: ПИД -> PWM -> PWMtoAnalog -> Сервоусилитель -> Мотор -> Энкодер -> ПИД.
На видио чел просто радуется работе сервоприводов после шаговиков. :)
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

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

Сообщение antoxa-kylibin »

Я думал что для H-bridge нужен pwm сигнал, но это уже нюансы на самом деле. Результат то получился интересный...скорости 25м/мин, отклонение от заданной траектории не превышает 0,03-0,04мм. Прикол в правильной настройке PID?
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

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

Сообщение antoxa-kylibin »

Вот автор описание оставил под видео....
Вложения
Снимок.PNG (1728 просмотров) <a class='original' href='./download/file.php?id=192396&sid=66179d2bbadb1b6d7a1577f0e37bc5c7&mode=view' target=_blank>Загрузить оригинал (51.58 КБ)</a>
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

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

Сообщение antoxa-kylibin »

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

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

Сообщение Serg »

"Да" на все 3 вопроса.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

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

Сообщение antoxa-kylibin »

Понятно)
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

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

Сообщение merkwurdigliebe »

Serg писал(а): Планировщик LinuxCNC каждую милисекунду даёт задание проехать очередные ~0.4мм и проверяет результат по энкодеру. Если результат например оказался 0.36мм (меньше на 10% от длительности сервоцикла при latency = 100000), то следующим заданием будет проехать 0.44мм...
о, снова "подруливание" ;)
планировщик (вернее интерполятор) ничего не проверяет. он считает время сервоцикла постоянным и тупо выдувает последовательность координат. т.е. если движение равномерное - то и задания каждый цикл будут отличаться на одно и то же значиние. вне зависимости одинаковые ли в реальности были временные интервалы этих циклов и кто сколько проехал (к счастью)
результат по энкодеру в расчетах используют только PID контроллеры, т.е. уже ниже
Аватара пользователя
antoxa-kylibin
Мастер
Сообщения: 786
Зарегистрирован: 22 июн 2017, 13:18
Репутация: 107
Настоящее имя: Антон
Откуда: г. Воронеж
Контактная информация:

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

Сообщение antoxa-kylibin »

И все таки как получается отклонение от заданной траектории не более 0.05мм при скорости перемещения 25м/мин?
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

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

Сообщение merkwurdigliebe »

а почему нет, что смущает-то? то что за 1мс проезжаем 0.4мм?
если мы движемся со скоростью 25м/мин, то значит траектория гладкая. и при аппроксимации ее отрезками (ну или параболами) длиной 0.4мм отклонения будут значительно меньше этих 0.05
а если на траектории углы-изгибы - значит скорость будет снижаться (чтобы соблюсти ограничения на ускорения) и 1мс отрезки станут, соответственно, гораздо короче, чем 0.4мм
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5181
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

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

Сообщение Serg »

Я потому постоянно и говорю, что между планировщиком и степгеном надо ставить 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ов по положению в данном случае не требуется.
Чудес не бывает. Бывают фокусы.
Impartial
Мастер
Сообщения: 953
Зарегистрирован: 23 фев 2011, 01:50
Репутация: 36
Контактная информация:

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

Сообщение Impartial »

antoxa-kylibin писал(а): И все таки как получается отклонение от заданной траектории не более 0.05мм при скорости перемещения 25м/мин?
Вы не правильно сформулировали. Ошибка появляется только если есть ускорение. Т.е. указанная ошибка возникнет, если есть ускорение 25м/мин2 - 0.4м/с2. Но масса движущихся частей станка не позволяет, за счет инерции, сделать ускорение влияющим на ошибку за интервал 1мс.
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

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

Сообщение 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. и траектория не изменится, все будет работать точно так же
Аватара пользователя
Сергей Саныч
Мастер
Сообщения: 9116
Зарегистрирован: 30 май 2012, 14:20
Репутация: 2857
Откуда: Тюмень
Контактная информация:

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

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

merkwurdigliebe писал(а): обратная связь по положению на расчет траектории не влияет
Что понимается под расчетом траектории?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
merkwurdigliebe
Мастер
Сообщения: 608
Зарегистрирован: 17 дек 2013, 22:14
Репутация: 580
Откуда: București
Контактная информация:

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

Сообщение merkwurdigliebe »

процесс превращения g-code в последовательность векторов - координат задания осям через равные промежутки времени
Ответить

Вернуться в «MESA»