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

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

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

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

Всем привет!

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Проц Pentium Core Duo, мать на чипсете H110, видео встроенное.
Пробовал видеокарту GeForce 710, джиттер - без изменений.
В Grub прописано nomodeset, isolcpus=1
DmitryJ
Новичок
 
Сообщения: 27
Зарегистрирован: 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.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Аватара пользователя
UAVpilot
Мастер
 
Сообщения: 16703
Зарегистрирован: 17 апр 2012, 14:58
Откуда: Москва
Репутация: 4111
Медальки:
Настоящее имя: Сергей

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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
Новичок
 
Сообщения: 27
Зарегистрирован: 21 апр 2017, 11:58
Репутация: 0

След.

Вернуться в LinuxCNC

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

Зарегистрированные пользователи: andrew75, Bing [Bot], Dimka_almighty, error101, FLUKE, frezeryga, Google [Bot], hmnijp, Kiriller, kpankratov, Nick, PKM, s29, sima8520, Timur_Akhmatov, tronhejm, Tytanham0n, Umnik, Yandex [bot]

Поделиться

Reputation System ©'