Какой джиттер достаточно при аппаратных stepgen`ах?

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.

Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение DmitryJ » 12 апр 2018, 12:01

Всем привет!

Сейчас имею ситуацию:
Джиттер BP 30000 и SP 28000, 7i92+7i76, три шаговика
Вылезает ошибка Unexpected realtime delay

Куда копать - дальше пытаться снижать джиттер или проблема может быть где-то еще?

Спасибо!
DmitryJ
Новичок
 
Сообщения: 26
Зарегистрирован: 21 апр 2017, 11:58
Репутация: 0

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение Сергей Саныч » 12 апр 2018, 12:14

Имеет смысл радикально увеличить BASE_PERIOD. Сейчас, кстати, какой?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7720
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2374
Медальки:

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение DmitryJ » 12 апр 2018, 12:23

Пробовал BASE_PERIOD в диапазоне 40000 - 120000
Никаких изменений :(
DmitryJ
Новичок
 
Сообщения: 26
Зарегистрирован: 21 апр 2017, 11:58
Репутация: 0

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение UAVpilot » 12 апр 2018, 14:17

Сергей Саныч писал(а):Имеет смысл радикально увеличить BASE_PERIOD.

А зачем он там вообще нужен?..
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 15661
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3832
Медальки:
Настоящее имя: Сергей

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение Сергей Саныч » 12 апр 2018, 14:53

UAVpilot писал(а):А зачем он там вообще нужен?..
Мало ли какая логика может быть наворочена с базовым тактированием.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7720
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2374
Медальки:

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение UAVpilot » 12 апр 2018, 17:15

Сергей Саныч писал(а):Мало ли какая логика может быть наворочена с базовым тактированием.

Для обработки какого сигнала? :)

Намёк: откуда он приходит и куда уходит?
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 15661
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3832
Медальки:
Настоящее имя: Сергей

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение Сергей Саныч » 13 апр 2018, 10:35

UAVpilot писал(а):Для обработки какого сигнала?
1. Каждый такт может создавать в цепочке лог. элементов задержку (может и не создавать, смотря как организована последовательность выполнения). При тактировании сервопоследовательностью задержка может достигать нескольких миллисекунд, что может быть критично, скажем, при обработке датчиков.
2. У меня, к примеру, для обработки штурвала (MPG 100 ppr) используется компонент encoder. Если его тактировать частотой 1 кГц, то крутить штурвал без сбоев можно будет не быстрее примерно 1 оборота в секунду.
3. При использовании таких компонентов, как debounce, использование сервопоследовательности в качестве тактовой тоже может создавать серьезные задержки.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7720
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2374
Медальки:

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение DmitryJ » 13 апр 2018, 12:44

Надеюсь, в битве титанов никто не пострадает :)

Что делать-то все-таки?
Влияет все-таки джиттер или нет при аппаратных stepgen`ах?
Ошибка Unexpected realtime delay вылезает :(

Что проверить/покрутить?

Возможно, как-то влияет кинематика - genserkins, манипулятор-рука.
При этом хомится нормально, без сбоев.
Ручное управление также работает.
DmitryJ
Новичок
 
Сообщения: 26
Зарегистрирован: 21 апр 2017, 11:58
Репутация: 0

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение Сергей Саныч » 13 апр 2018, 12:52

Все-таки есть смысл побороться с задержками. Подольше погонять тест не пробовали? С повышенной загрузкой компьютера ("шестеренки", видео, перекачка файлов...)?
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7720
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2374
Медальки:

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение DmitryJ » 13 апр 2018, 13:16

А до каких значений надо снизить джиттер?

Гонял браузер + шестеренки (5шт) + видео
Джиттер стоит колом.

Проц Pentium Core Duo, мать на чипсете H110, видео встроенное.
Пробовал видеокарту GeForce 710, джиттер - без изменений.
В Grub прописано nomodeset, isolcpus=1
DmitryJ
Новичок
 
Сообщения: 26
Зарегистрирован: 21 апр 2017, 11:58
Репутация: 0

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение UAVpilot » 13 апр 2018, 17:25

Сергей Саныч писал(а):2. У меня, к примеру, для обработки штурвала (MPG 100 ppr) используется компонент encoder. Если его тактировать частотой 1 кГц, то крутить штурвал без сбоев можно будет не быстрее примерно 1 оборота в секунду.

Для штурвала в данном случае надо использовать либо энкодерный вход на 7i77 и соотв. аппаратный счётчик в 7i92, либо LPT и программный счётчик. base-thread имеет смысл только во втором варианте, правда сам второй вариант не очень-то имеет смысл в данном случае. :)

Сергей Саныч писал(а):3. При использовании таких компонентов, как debounce, использование сервопоследовательности в качестве тактовой тоже может создавать серьезные задержки.

А такие компоненты как debounce откуда возьмут сигнал, меняющийся чаще, чем раз в сервоперод? :)

DmitryJ писал(а):Влияет все-таки джиттер или нет при аппаратных stepgen`ах?

Нет.
Просто уберите все упоминания о BASE_PERIOD и base-thread.
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 15661
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3832
Медальки:
Настоящее имя: Сергей

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение Сергей Саныч » 14 апр 2018, 04:36

UAVpilot писал(а):А такие компоненты как debounce откуда возьмут сигнал, меняющийся чаще, чем раз в сервоперод?
Из реального мира, вестимо. Полученные не из месы, которая опрашивается раз в сервопериод, а, скажем, из того же LPT.
я не спорю, что построение систем без использования base-thread возможно и даже желательно. Но иногда получение и обработка "сырых данных" с более высокой частотой. чем servo-thread, может позволить уменьшить задержки реакции системы на внешние воздействия.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7720
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2374
Медальки:

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение UAVpilot » 14 апр 2018, 15:15

Сергей Саныч писал(а):Из реального мира, вестимо. Полученные не из месы, которая опрашивается раз в сервопериод, а, скажем, из того же LPT.

Ну я ж написал:
UAVpilot писал(а):base-thread имеет смысл только во втором варианте, правда сам второй вариант не очень-то имеет смысл в данном случае. :)

И ТС не говорит, что использует LPT. :)

Сергей Саныч писал(а):Но иногда получение и обработка "сырых данных" с более высокой частотой. чем servo-thread, может позволить уменьшить задержки реакции системы на внешние воздействия.

Если вся периферия работает с частотой servo-thread, то физически неоткуда получить сигнал и некуда его передать с дискретизацией меньше, чем servo-thread. :)

Было-бы интересно увидеть пример обратного. :)
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 15661
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3832
Медальки:
Настоящее имя: Сергей

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение DmitryJ » 16 апр 2018, 12:12

UAVpilot писал(а):Просто уберите все упоминания о BASE_PERIOD и base-thread.


Сделал
Ошибка осталась
Все равно вылезает Unexpected realtime delay на первой же команде G-кода

Куда копать?
DmitryJ
Новичок
 
Сообщения: 26
Зарегистрирован: 21 апр 2017, 11:58
Репутация: 0

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение Сергей Саныч » 16 апр 2018, 12:40

DmitryJ писал(а):вылезает Unexpected realtime delay на первой же команде G-кода

Похоже, у вас слишком сложные получились расчеты в кинематике. Которые не успевают завершиться за сервопериод.
Чудес не бывает. Бывают фокусы.
Аватара пользователя
Сергей Саныч
Мастер
 
Сообщения: 7720
Зарегистрирован: 30 май 2012, 14:20
Откуда: Тюмень
Репутация: 2374
Медальки:

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение DmitryJ » 16 апр 2018, 14:31

Команда не самая сложная - G0
Ошибка вылезает, но команда выполняется.

Если путь побольше, то в конце пути вываливается уже под joint following error
Но это понятно, отклонение накапливается.

На linuxcnc.org у коллег с такой кинематикой все работает, так что грешить на кинематику я бы не стал.
Возможно, ошибка наведенная, но где что еще проверить-подергать - не знаю.
DmitryJ
Новичок
 
Сообщения: 26
Зарегистрирован: 21 апр 2017, 11:58
Репутация: 0

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение UAVpilot » 16 апр 2018, 16:54

HAL свой покажи чтоль...
Джиттер как мерял? Как долго? Что заускал при этом?
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 15661
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3832
Медальки:
Настоящее имя: Сергей

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение DmitryJ » 16 апр 2018, 21:22

Hal и ini выкладываю

Джитттер мерял так - запускал браузер, видео, 5-6 шестеренок
Но недолго - 10-20 минут
Вложения
SecondMachine.hal
(4.84 Кб) Скачиваний: 21
SecondMachine.ini
(9.78 Кб) Скачиваний: 22
DmitryJ
Новичок
 
Сообщения: 26
Зарегистрирован: 21 апр 2017, 11:58
Репутация: 0

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение UAVpilot » 16 апр 2018, 23:10

вот это тоже выкидывайте:
traj_period_nsec=[EMCMOT]TRAJ_PERIOD
1. Робот не может ответить отказом на предложение человека выпить или своим бездействием допустить, чтобы человек напился один.
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 15661
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 3832
Медальки:
Настоящее имя: Сергей

Re: Какой джиттер достаточно при аппаратных stepgen`ах?

Сообщение DmitryJ » 18 апр 2018, 12:05

выкинул 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?
или проблемы с питанием или помехи какие могут влиять?
Вложения
Какой джиттер достаточно при аппаратных stepgen`ах? Scr1.png
DmitryJ
Новичок
 
Сообщения: 26
Зарегистрирован: 21 апр 2017, 11:58
Репутация: 0

След.

Вернуться в LinuxCNC

Кто сейчас на конференции

Зарегистрированные пользователи: AymoZotto, андрейик, Bing [Bot], Dimka_almighty, Google [Bot], Google Feedfetcher, Umnik, Yandex [bot]

Поделиться

Reputation System ©'