Какой джиттер достаточно при аппаратных stepgen`ах?
-
DmitryJ
- Новичок
- Сообщения: 30
- Зарегистрирован: 21 апр 2017, 11:58
- Репутация: 0
- Контактная информация:
Какой джиттер достаточно при аппаратных stepgen`ах?
Всем привет!
Сейчас имею ситуацию:
Джиттер BP 30000 и SP 28000, 7i92+7i76, три шаговика
Вылезает ошибка Unexpected realtime delay
Куда копать - дальше пытаться снижать джиттер или проблема может быть где-то еще?
Спасибо!
Сейчас имею ситуацию:
Джиттер BP 30000 и SP 28000, 7i92+7i76, три шаговика
Вылезает ошибка Unexpected realtime delay
Куда копать - дальше пытаться снижать джиттер или проблема может быть где-то еще?
Спасибо!
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Имеет смысл радикально увеличить BASE_PERIOD. Сейчас, кстати, какой?
Чудес не бывает. Бывают фокусы.
-
DmitryJ
- Новичок
- Сообщения: 30
- Зарегистрирован: 21 апр 2017, 11:58
- Репутация: 0
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Пробовал BASE_PERIOD в диапазоне 40000 - 120000
Никаких изменений
Никаких изменений
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
А зачем он там вообще нужен?..Сергей Саныч писал(а):Имеет смысл радикально увеличить BASE_PERIOD.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Мало ли какая логика может быть наворочена с базовым тактированием.UAVpilot писал(а):А зачем он там вообще нужен?..
Чудес не бывает. Бывают фокусы.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Для обработки какого сигнала?Сергей Саныч писал(а):Мало ли какая логика может быть наворочена с базовым тактированием.
Намёк: откуда он приходит и куда уходит?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
1. Каждый такт может создавать в цепочке лог. элементов задержку (может и не создавать, смотря как организована последовательность выполнения). При тактировании сервопоследовательностью задержка может достигать нескольких миллисекунд, что может быть критично, скажем, при обработке датчиков.UAVpilot писал(а):Для обработки какого сигнала?
2. У меня, к примеру, для обработки штурвала (MPG 100 ppr) используется компонент encoder. Если его тактировать частотой 1 кГц, то крутить штурвал без сбоев можно будет не быстрее примерно 1 оборота в секунду.
3. При использовании таких компонентов, как debounce, использование сервопоследовательности в качестве тактовой тоже может создавать серьезные задержки.
Чудес не бывает. Бывают фокусы.
-
DmitryJ
- Новичок
- Сообщения: 30
- Зарегистрирован: 21 апр 2017, 11:58
- Репутация: 0
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Надеюсь, в битве титанов никто не пострадает 
Что делать-то все-таки?
Влияет все-таки джиттер или нет при аппаратных stepgen`ах?
Ошибка Unexpected realtime delay вылезает
Что проверить/покрутить?
Возможно, как-то влияет кинематика - genserkins, манипулятор-рука.
При этом хомится нормально, без сбоев.
Ручное управление также работает.
Что делать-то все-таки?
Влияет все-таки джиттер или нет при аппаратных stepgen`ах?
Ошибка Unexpected realtime delay вылезает
Что проверить/покрутить?
Возможно, как-то влияет кинематика - genserkins, манипулятор-рука.
При этом хомится нормально, без сбоев.
Ручное управление также работает.
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Все-таки есть смысл побороться с задержками. Подольше погонять тест не пробовали? С повышенной загрузкой компьютера ("шестеренки", видео, перекачка файлов...)?
Чудес не бывает. Бывают фокусы.
-
DmitryJ
- Новичок
- Сообщения: 30
- Зарегистрирован: 21 апр 2017, 11:58
- Репутация: 0
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
А до каких значений надо снизить джиттер?
Гонял браузер + шестеренки (5шт) + видео
Джиттер стоит колом.
Проц Pentium Core Duo, мать на чипсете H110, видео встроенное.
Пробовал видеокарту GeForce 710, джиттер - без изменений.
В Grub прописано nomodeset, isolcpus=1
Гонял браузер + шестеренки (5шт) + видео
Джиттер стоит колом.
Проц Pentium Core Duo, мать на чипсете H110, видео встроенное.
Пробовал видеокарту GeForce 710, джиттер - без изменений.
В Grub прописано nomodeset, isolcpus=1
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Для штурвала в данном случае надо использовать либо энкодерный вход на 7i77 и соотв. аппаратный счётчик в 7i92, либо LPT и программный счётчик. base-thread имеет смысл только во втором варианте, правда сам второй вариант не очень-то имеет смысл в данном случае.Сергей Саныч писал(а):2. У меня, к примеру, для обработки штурвала (MPG 100 ppr) используется компонент encoder. Если его тактировать частотой 1 кГц, то крутить штурвал без сбоев можно будет не быстрее примерно 1 оборота в секунду.
А такие компоненты как debounce откуда возьмут сигнал, меняющийся чаще, чем раз в сервоперод?Сергей Саныч писал(а):3. При использовании таких компонентов, как debounce, использование сервопоследовательности в качестве тактовой тоже может создавать серьезные задержки.
Нет.DmitryJ писал(а):Влияет все-таки джиттер или нет при аппаратных stepgen`ах?
Просто уберите все упоминания о BASE_PERIOD и base-thread.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Из реального мира, вестимо. Полученные не из месы, которая опрашивается раз в сервопериод, а, скажем, из того же LPT.UAVpilot писал(а):А такие компоненты как debounce откуда возьмут сигнал, меняющийся чаще, чем раз в сервоперод?
я не спорю, что построение систем без использования base-thread возможно и даже желательно. Но иногда получение и обработка "сырых данных" с более высокой частотой. чем servo-thread, может позволить уменьшить задержки реакции системы на внешние воздействия.
Чудес не бывает. Бывают фокусы.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Ну я ж написал:Сергей Саныч писал(а):Из реального мира, вестимо. Полученные не из месы, которая опрашивается раз в сервопериод, а, скажем, из того же LPT.
И ТС не говорит, что использует LPT.UAVpilot писал(а):base-thread имеет смысл только во втором варианте, правда сам второй вариант не очень-то имеет смысл в данном случае.
Если вся периферия работает с частотой servo-thread, то физически неоткуда получить сигнал и некуда его передать с дискретизацией меньше, чем servo-thread.Сергей Саныч писал(а):Но иногда получение и обработка "сырых данных" с более высокой частотой. чем servo-thread, может позволить уменьшить задержки реакции системы на внешние воздействия.
Было-бы интересно увидеть пример обратного.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
DmitryJ
- Новичок
- Сообщения: 30
- Зарегистрирован: 21 апр 2017, 11:58
- Репутация: 0
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
СделалUAVpilot писал(а): Просто уберите все упоминания о BASE_PERIOD и base-thread.
Ошибка осталась
Все равно вылезает Unexpected realtime delay на первой же команде G-кода
Куда копать?
- Сергей Саныч
- Мастер
- Сообщения: 9116
- Зарегистрирован: 30 май 2012, 14:20
- Репутация: 2858
- Откуда: Тюмень
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Похоже, у вас слишком сложные получились расчеты в кинематике. Которые не успевают завершиться за сервопериод.DmitryJ писал(а):вылезает Unexpected realtime delay на первой же команде G-кода
Чудес не бывает. Бывают фокусы.
-
DmitryJ
- Новичок
- Сообщения: 30
- Зарегистрирован: 21 апр 2017, 11:58
- Репутация: 0
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Команда не самая сложная - G0
Ошибка вылезает, но команда выполняется.
Если путь побольше, то в конце пути вываливается уже под joint following error
Но это понятно, отклонение накапливается.
На linuxcnc.org у коллег с такой кинематикой все работает, так что грешить на кинематику я бы не стал.
Возможно, ошибка наведенная, но где что еще проверить-подергать - не знаю.
Ошибка вылезает, но команда выполняется.
Если путь побольше, то в конце пути вываливается уже под joint following error
Но это понятно, отклонение накапливается.
На linuxcnc.org у коллег с такой кинематикой все работает, так что грешить на кинематику я бы не стал.
Возможно, ошибка наведенная, но где что еще проверить-подергать - не знаю.
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
HAL свой покажи чтоль...
Джиттер как мерял? Как долго? Что заускал при этом?
Джиттер как мерял? Как долго? Что заускал при этом?
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
DmitryJ
- Новичок
- Сообщения: 30
- Зарегистрирован: 21 апр 2017, 11:58
- Репутация: 0
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
Hal и ini выкладываю
Джитттер мерял так - запускал браузер, видео, 5-6 шестеренок
Но недолго - 10-20 минут
Джитттер мерял так - запускал браузер, видео, 5-6 шестеренок
Но недолго - 10-20 минут
- Вложения
-
- SecondMachine.hal
- (4.84 КБ) 943 скачивания
-
- SecondMachine.ini
- (9.78 КБ) 675 скачиваний
- Serg
- Мастер
- Сообщения: 21923
- Зарегистрирован: 17 апр 2012, 14:58
- Репутация: 5183
- Заслуга: c781c134843e0c1a3de9
- Настоящее имя: Сергей
- Откуда: Москва
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
вот это тоже выкидывайте:
traj_period_nsec=[EMCMOT]TRAJ_PERIOD
traj_period_nsec=[EMCMOT]TRAJ_PERIOD
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
-
DmitryJ
- Новичок
- Сообщения: 30
- Зарегистрирован: 21 апр 2017, 11:58
- Репутация: 0
- Контактная информация:
Re: Какой джиттер достаточно при аппаратных stepgen`ах?
выкинул traj_period_nsec=[EMCMOT]TRAJ_PERIOD
Стало как-то не лучше, а иначе (:
Работает при servo period 3500000, если ставить ниже - сразу realtime error при исполнении G0
Подозреваю, что 3 500 000 как-то многовато
При относительно длинном пути по G0 вываливается по joint following error
Заглушил обратную связь со степегена, поставил axis.position-com => axis.position-fb
Тогда уже отваливается SSerial - communication error (13)
Скриншот прилагаю
Может быть дело не в ini-hal?
Криво встал rt-preemt, поэтому и realtime error?
или проблемы с питанием или помехи какие могут влиять?
Стало как-то не лучше, а иначе (:
Работает при servo period 3500000, если ставить ниже - сразу realtime error при исполнении G0
Подозреваю, что 3 500 000 как-то многовато
При относительно длинном пути по G0 вываливается по joint following error
Заглушил обратную связь со степегена, поставил axis.position-com => axis.position-fb
Тогда уже отваливается SSerial - communication error (13)
Скриншот прилагаю
Может быть дело не в ini-hal?
Криво встал rt-preemt, поэтому и realtime error?
или проблемы с питанием или помехи какие могут влиять?