Страница 9 из 9

LinuxCNC - Альтернативная кинематика.

Добавлено: 10 май 2012, 13:54
Serg
Эта тема предлагается для обсуждения моих решений некоторых вопросов кинематики в LinuxCNC и других, связанных с ними.

На сегодня стоит задача получить рабочее решение для вот этого монстрика: Многосевой станок лазерной резки листа и профиля #1 - нужно управлять количеством моторов (joints), которое пока не под силу штатным средствам LinuxCNC. Ну и скорее всего и для других проектов, которым окажутся тесными возможности штатной кинематики LinuxCNC.

Если появятся желающие присоединиться к работам по этой тематике, то добро пожаловать в тему.
Оставляю за собой узурпаторское право "отселять" обсуждения, выходящие за рамки этой темы. :tongue:

ВНИМАНИЕ!
Все опубликованные ниже разработки предлагаются "AS IS" (как есть), без каких-либо гарантий, в том числе и по сопровождению
Имеющиеся описания ориентированы на тех, кто более-менее разбирается в LinuxCNC и в его HAL в частности, или хотя-бы прочитал и понял документацию.
Считайте это своеобразным порогом вхождения. Если сделать подробное описание "для чайников", то оные не преминут этим воспользоваться и в случае любых непоняток будут задавать вопросы, которые как правило так или иначе освещены в документации. Отвечать на них я не желаю, не из вредности, а из-за отсутствия у меня на это времени....

Extended Gantry Axis Component for LinuxCNC HAL (egantry)

Описание: https://cncdevice.com/devel/eaxis/egantry.txt
Архив: https://cncdevice.com/devel/eaxis/egant ... re3.tar.gz предыдущая версия: https://cncdevice.com/devel/eaxis/egant ... re2.tar.gz
Устанавливается командой

Код: Выделить всё

sudo halcompile --install egantry.c
Совместим с LinuxCNC версий 2.6.x и выше. Для уточнения проверяйте у компонента axis.N наличие пинов home-state и homed.

BlackBox userspace component for LinuxCNC HAL

Описание: Re: LinuxCNC - Альтернативная кинематика. #76
Компонент: https://cncdevice.com/devel/misc/BlackBox.py

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Начало темы было такое: :)
PKM писал(а):А что за кинематика? Для твоего мега-станка?
gantry кинематика, которая которая использует только одну axis.N для любого количества приводов оси, ну и решает можество других проблем, сопутствующих штатной gantrykins.

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 17 мар 2020, 15:13
Serg
sergey_s писал(а):значения encoder.0(1).velocity
Это было только для примера - это программный компонент, у вас он не используется.

Давайте сначала:
1. Запустите linuxcnc с вашими изначальными настройками (файлы .ini и .hal из поста #156)
2. откройте консоль/терминал и выполните там команду "halcmd show pin to_pci.1.feedback", покажите результат.

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 17 мар 2020, 16:07
sergey_s
Вот что показывает (файлы .ini и .hal из поста #156)

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 17 мар 2020, 16:55
sergey_s
Вижу где проблема. Помогите найти ошибку в hal

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 17 мар 2020, 16:56
Serg
Теперь так:
1. Запустите linuxcnc с вашими изначальными настройками (файлы .ini и .hal из поста #156)
2. откройте консоль/терминал и выполните там следующие команды:

Код: Выделить всё

halcmd unlink to_pci.1.enable_drive
halcmd unlink to_pci.1.PWM.dcontrol0
halcmd unlink to_pci.1.PWM.dcontrol1
halcmd unlink to_pci.1.feedback.encoder0
halcmd unlink to_pci.1.feedback.encoder1
halcmd setp to_pci.1.PWM.dcontrol0 2
halcmd setp to_pci.1.PWM.dcontrol1 2
halcmd setp 1 to_pci.1.enable_drive
после последней команды моторы начнут вращаться. В это время в консоли можно смотреть их скорость командой

Код: Выделить всё

halcmd show pin unlink to_pci.1.feedback.vel
Если скорости разные, то пока они вращаются померьте тестером напряжения на обоих аналоговых выходах to_pci.

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 19 мар 2020, 09:31
sergey_s
У меня почему-то значение t0_pci.1.feedback.enc_scale0 и t0_pci.1.feedback.enc_scale1 разные. По-этому и двигатели вращаются с разной скоростью. t0_pci.1.feedback.enc_scale1 почему-то берется из ini для AXIS1. Я когда в ini в AXIS0 и AXIS1 делаю одинаковое значение все работает одинаково. Что-то в hal я напутал.

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 19 мар 2020, 14:36
Serg
sergey_s писал(а):У меня почему-то значение t0_pci.1.feedback.enc_scale0 и t0_pci.1.feedback.enc_scale1 разные.
Их вашего .hal:
#*******************
# AXIS X1
#*******************
...
setp to_pci.1.feedback.enc_scale0 -2500
...
#*******************
# AXIS X2
#*******************
...
setp to_pci.1.feedback.enc_scale1 -2500
...
#*******************
# AXIS Y
#*******************
...
setp to_pci.1.feedback.enc_scale1 [AXIS_1]ENCODER_SCALE

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 20 мар 2020, 11:08
sergey_s
Да, точно. Спасибо помогло.

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 06 июл 2020, 15:31
zaxlex
День добрый, появился вопрос после двух суток экзекуций с этим модулем. Выбил following error после пяти часов работы, на старой конфигурации без этого модуля только с trivkins работает сутками наконец-то:)), так вот вопрос в чем, можно как-то сконфигурировать этот egranty, чтоб он участвовал только в процессе выставления по датчикам, а потом передавал управление обратно trivkins(я пытался это сделать с помощью MUX2, но там получается все кроме fb фидбэка), или все-таки допилить модуль до надежного состояния.
вот мои примеры экзекуций - в ини файле при максимальной скорости =100 работает по пять часов, при скорости 200 выбивает ошибку сразу как только пытаешься двинуть ось стрелками, это при том что другая ось летает на 200 без ошибок.
было также масса танцев с бубном по подбору скорости поиска датчика дома HOME_SEARCH_VEL = -15.0
хочет меньше, чем у меня обычно иначе опять же ошибка.

может будет у кого желание, посмотрите мой хал файл, может найдете заковыку

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 06 июл 2020, 22:20
Serg
Никакие "половинчатые" режимы работы компонента не предусмотрены.

Причины непостоянных ошибок нужно искать в конкретных значениях hal-сигналов в момент появления этих ошибок, т.е. изучать их значения в момент самой ошибки.
Тут может помочь компонент BlackBox.

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 07 июл 2020, 10:49
zaxlex
это конечно все замечательно, но я морально не созрел заняться этим делом, тем более по факту готовый алгоритм действий я себе придумал, питание на драйверы даю в ручном режиме тумблером и оно не зависит от компьютера, а вашим модулем, только выставляю дома, потом выключаю linuxcnc c Вашим модулем и запускаю на классической кинематике, да костыли, да можно на обычном granty, но пока так.

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 09 апр 2024, 07:07
AAN
Как успехи на данный момент? Насколько стабильной получилось сделать работу?

Re: LinuxCNC - Альтернативная кинематика.

Добавлено: 11 апр 2024, 11:05
a321
AAN писал(а): Как успехи на данный момент? Насколько стабильной получилось сделать работу?
Я могу ошибаться, но тема как минимум в основной своей части утратила актуальность с выходом LinuxCNC2.8, где хоминг и соответствующа коррекция проводится по любому числу моторов\датчиков на одну ось.