Страница 8 из 9
LinuxCNC - Альтернативная кинематика.
Добавлено: 10 май 2012, 13:54
Serg
Эта тема предлагается для обсуждения моих решений некоторых вопросов кинематики в LinuxCNC и других, связанных с ними.
На сегодня стоит задача получить рабочее решение для вот этого монстрика:
Многосевой станок лазерной резки листа и профиля #1 - нужно управлять количеством моторов (joints), которое пока не под силу штатным средствам LinuxCNC. Ну и скорее всего и для других проектов, которым окажутся тесными возможности штатной кинематики LinuxCNC.
Если появятся желающие присоединиться к работам по этой тематике, то добро пожаловать в тему.
Оставляю за собой узурпаторское право "отселять" обсуждения, выходящие за рамки этой темы.
ВНИМАНИЕ!
Все опубликованные ниже разработки предлагаются "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
Устанавливается командой
Совместим с 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 - Альтернативная кинематика.
Добавлено: 02 фев 2019, 19:47
vovafed
поставил 3 версию ошибка не изменилась
чтото я пропускаю
он у меня работал только не хомился
наковырял на следующий день ошибка вылезла
Код: Выделить всё
q@q:~$ sudo halcompile --install egantry.c
[sudo] password for q:
make KBUILD_EXTRA_SYMBOLS=/usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/Module.symvers -C /usr/src/linux-headers-3.4-9-rtai-686-pae SUBDIRS=`pwd` CC=gcc V=0 modules
make[1]: Entering directory `/usr/src/linux-headers-3.4-9-rtai-686-pae'
CC [M] /tmp/tmpqqrGuz/egantry.o
Building modules, stage 2.
MODPOST 1 modules
CC /tmp/tmpqqrGuz/egantry.mod.o
LD [M] /tmp/tmpqqrGuz/egantry.ko
make[1]: Leaving directory `/usr/src/linux-headers-3.4-9-rtai-686-pae'
cp egantry.ko /usr/realtime-3.4-9-rtai-686-pae/modules/linuxcnc/
q@q:~$ halcmd show pin egantry.0
Component Pins:
Owner Type Dir Value Name
13 float IN 1e+20 egantry.0.align-acc
13 float IN 0.01 egantry.0.align-hyst
13 float IN 1e+20 egantry.0.align-vel
13 bit IN FALSE egantry.0.axis.amp-enable
13 bit OUT FALSE egantry.0.axis.amp-fault-out
13 s32 OUT 0 egantry.0.axis.fb-joint
13 s32 IN 0 egantry.0.axis.home-state
13 bit OUT FALSE egantry.0.axis.home-sw
13 bit IN FALSE egantry.0.axis.homed
13 bit I/O FALSE egantry.0.axis.index-enable
13 float IN 0 egantry.0.axis.motor-pos-cmd
13 float OUT 0 egantry.0.axis.motor-pos-fb
13 bit OUT FALSE egantry.0.axis.neg-lim-sw
13 bit OUT FALSE egantry.0.axis.pos-lim-sw
13 bit IN FALSE egantry.0.joint.00.amp-fault-in
13 float IN 0 egantry.0.joint.00.correct
13 bit OUT FALSE egantry.0.joint.00.enable
13 float OUT 0 egantry.0.joint.00.f-error
13 bit IN FALSE egantry.0.joint.00.home-sw
13 bit I/O FALSE egantry.0.joint.00.index-enable
13 float IN 1e+20 egantry.0.joint.00.max_acceleration
13 float IN 1e+20 egantry.0.joint.00.max_velocity
13 bit IN FALSE egantry.0.joint.00.neg-lim-sw
13 float OUT 0 egantry.0.joint.00.offset
13 float OUT 0 egantry.0.joint.00.pos-cmd
13 float IN 0 egantry.0.joint.00.pos-fb
13 bit IN FALSE egantry.0.joint.00.pos-lim-sw
13 bit IN FALSE egantry.0.joint.01.amp-fault-in
13 float IN 0 egantry.0.joint.01.correct
13 bit OUT FALSE egantry.0.joint.01.enable
13 float OUT 0 egantry.0.joint.01.f-error
13 bit IN FALSE egantry.0.joint.01.home-sw
13 bit I/O FALSE egantry.0.joint.01.index-enable
13 float IN 1e+20 egantry.0.joint.01.max_acceleration
13 float IN 1e+20 egantry.0.joint.01.max_velocity
13 bit IN FALSE egantry.0.joint.01.neg-lim-sw
13 float OUT 0 egantry.0.joint.01.offset
13 float OUT 0 egantry.0.joint.01.pos-cmd
13 float IN 0 egantry.0.joint.01.pos-fb
13 bit IN FALSE egantry.0.joint.01.pos-lim-sw
13 s32 OUT 5196 egantry.0.time
./ima.hal:1: Warning: File contains DOS-style line endings.
есть подозрение что затащил из блокнота винды какуюнибуть фиговину в другой кодировке которая мешает работе egantry
первая версия хал на работе осталась в понедельник с ней попробую
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 03 фев 2019, 01:07
Serg
В файле строчки заканчиваются символами "\r\n", в юниксах принято только "\n". Можно забить.
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 03 фев 2019, 08:50
vovafed
поставил linuxcnc на другой компьютер
установил 3 версию egantry
ошибка исчезла
буду со своими конфигами пробовать
вот я тормоз
проблема была вот в чем
я прописывал как
а подключал пины
x.joint.00.max_acceleration
тоесть надо было в место икс egantry прописать
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 03 фев 2019, 19:33
Serg
vovafed писал(а):тоесть надо было в место икс egantry прописать
Не ты первый.
Я вот всё думаю переписать пример чтоб было egantry.* или пусть народ узнаёт, что компоненты можно называть как им удобно...
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 06 апр 2019, 15:55
Nikomas
UAVpilot писал(а):Не ты первый.
Сергей, не понимаю почему подчиненная ось сама двигается. Решил полностью переписать кинематику и поставить 2 датчика для Home 2х сторон. Поудалял любое упоминание об оси а, и дописал строку
Код: Выделить всё
net y-output => to_pci.1.PWM.dcontrol0 => to_pci.1.PWM.dcontrol1
Оси поехали, но при остановке что-то постоянно двигает ось Y2 то в + то в -.
Я так понимаю надо подключить PID к пинам y2-pos-cmd, y2-pos-fb. Верно?
Код: Выделить всё
# position & feedback
net y-pos-cmd egantry.0.axis.motor-pos-cmd => axis.1.motor-pos-cmd
net y-pos-fb egantry.0.axis.motor-pos-fb => axis.1.motor-pos-fb
net y1-pos-cmd egantry.0.joint.00.pos-cmd => pid.y.command
net y1-pos-fb egantry.0.joint.00.pos-fb <= pid.y.feedback
net y2-pos-cmd egantry.0.joint.01.pos-cmd
net y2-pos-fb egantry.0.joint.01.pos-fb
Вот куски кода (для просмотра содержимого нажмите на ссылку)Код: Выделить всё
# ######################################################
# AXIS Y
# ######################################################
# -------PID--------
setp pid.y.Pgain [AXIS_1]P
setp pid.y.Igain [AXIS_1]I
setp pid.y.Dgain [AXIS_1]D
setp pid.y.bias [AXIS_1]BIAS
setp pid.y.FF0 [AXIS_1]FF0
setp pid.y.FF1 [AXIS_1]FF1
setp pid.y.FF2 [AXIS_1]FF2
setp pid.y.deadband [AXIS_1]DEADBAND
setp pid.y.maxoutput [AXIS_1]MAX_OUTPUT
net y-vel-cmd => pid.y.command-deriv
net y-output => pid.y.output
net y-vel-fb => pid.y.feedback-deriv
net y-output => pid.y.output
# --------feed back--------------
setp to_pci.1.feedback.enc_scale0 -2500
setp to_pci.1.feedback.enc_scale1 -2500
net y-pos-fb => axis.1.motor-pos-fb
# ------PWM Generator signals/setup----------------------
setp to_pci.1.PWM.out_scale0 -1
setp to_pci.1.PWM.out_scale1 -1
net y-enable axis.1.amp-enable-out
net y-pos-cmd axis.1.motor-pos-cmd
net y-enable => to_pci.1.enable_drive
net y-output => to_pci.1.PWM.dcontrol0 to_pci.1.PWM.dcontrol1
net y1-pos-fb => to_pci.1.feedback.encoder0
net y1-index-enable to_pci.1.feedback.index_en0
net y2-pos-fb => to_pci.1.feedback.encoder1
net y2-index-enable to_pci.1.feedback.index_en1
Код: Выделить всё
########### egantry ###########################
loadrt egantry count=1 personality=2
addf egantry.0 servo-thread
setp egantry.0.align-vel 80
setp egantry.0.align-acc 60
setp egantry.0.align-hyst 0.05
#setp egantry.0.joint.00.correct 3.000
#setp egantry.0.joint.01.correct 3.100
setp egantry.0.joint.00.max_acceleration [AXIS_1]MAX_ACCELERATION
setp egantry.0.joint.00.max_velocity [AXIS_1]MAX_VELOCITY
setp egantry.0.joint.01.max_acceleration [AXIS_1]MAX_ACCELERATION
setp egantry.0.joint.01.max_velocity [AXIS_1]MAX_VELOCITY
# position & feedback
net y-pos-cmd egantry.0.axis.motor-pos-cmd => axis.1.motor-pos-cmd
net y-pos-fb egantry.0.axis.motor-pos-fb => axis.1.motor-pos-fb
net y1-pos-cmd egantry.0.joint.00.pos-cmd => pid.y.command
net y1-pos-fb egantry.0.joint.00.pos-fb <= pid.y.feedback
net y2-pos-cmd egantry.0.joint.01.pos-cmd
net y2-pos-fb egantry.0.joint.01.pos-fb
# enables
net y-enable egantry.0.axis.amp-enable <= axis.1.amp-enable-out
net y1-enable egantry.0.joint.00.enable => pid.y.enable
net y2-enable egantry.0.joint.01.enable
# index_ENC
net y-index-enable egantry.0.axis.index-enable <= axis.1.index-enable
net y1-index-enable egantry.0.joint.00.index-enable => pid.y.index-enable
net y2-index-enable egantry.0.joint.01.index-enable
# home switches & othrs
net y-home-sw egantry.0.axis.home-sw => axis.1.home-sw-in
#net y1-home-sw egantry.0.joint.00.home-sw <= #to_pci.1.pins.pin-06-in
#net y2-home-sw egantry.0.joint.01.home-sw <= #to_pci.1.pins.pin-06-in
net y-joint-home-sw egantry.0.joint.00.home-sw egantry.0.joint.01.home-sw <= to_pci.1.pins.pin-06-in
net y-home-state axis.1.home-state => egantry.0.axis.home-state
net y-homed axis.1.homed => egantry.0.axis.homed
########## egantry ###########################
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 06 апр 2019, 19:06
vovafed
ко второму приводу пид регулятор не подключен
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 07 апр 2019, 01:54
Serg
egantry получает задание от axis.N и "разделяет" его на несколько приводов, каждый из которых должен иметь свой собственный PID с полностью замкнутой петлёй ОС.
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 07 апр 2019, 15:03
Nikomas
Ну не знаю, ползут у меня оси и все тут.
Код: Выделить всё
#*******************
# EGANTRY
#*******************
setp egantry.0.align-vel 80
setp egantry.0.align-acc 60
setp egantry.0.align-hyst 0.05
#setp egantry.0.joint.01.correct 3.100
setp egantry.0.joint.00.max_acceleration [AXIS_1]MAX_ACCELERATION
setp egantry.0.joint.00.max_velocity [AXIS_1]MAX_VELOCITY
setp egantry.0.joint.01.max_acceleration [AXIS_1]MAX_ACCELERATION
setp egantry.0.joint.01.max_velocity [AXIS_1]MAX_VELOCITY
#setp egantry.0.joint.00.f-error 50
#setp egantry.0.joint.01.f-error 50
# position & feedback
net y-pos-cmd egantry.0.axis.motor-pos-cmd => axis.1.motor-pos-cmd
net y-pos-fb egantry.0.axis.motor-pos-fb => axis.1.motor-pos-fb
net y1-pos-cmd egantry.0.joint.00.pos-cmd
net y1-pos-fb egantry.0.joint.00.pos-fb
net y2-pos-cmd egantry.0.joint.01.pos-cmd
net y2-pos-fb egantry.0.joint.01.pos-fb
# enables
net y-enable egantry.0.axis.amp-enable <= axis.1.amp-enable-out
net y1-enable egantry.0.joint.00.enable
net y2-enable egantry.0.joint.01.enable
# index_ENC
net y-index-enable egantry.0.axis.index-enable <= axis.1.index-enable
net y1-index-enable egantry.0.joint.00.index-enable
net y2-index-enable egantry.0.joint.01.index-enable
# home switches & others
net y-home-sw egantry.0.axis.home-sw => axis.1.home-sw-in
net y1-home-sw egantry.0.joint.00.home-sw <= to_pci.1.pins.pin-06-in
#net y2-home-sw egantry.0.joint.01.home-sw <= to_pci.1.pins.pin-06-in
net y-home-state axis.1.home-state => egantry.0.axis.home-state
net y-homed axis.1.homed => egantry.0.axis.homed
Код: Выделить всё
#*******************
# AXIS Y1
#*******************
setp pid.y1.Pgain [AXIS_1]P
setp pid.y1.Igain [AXIS_1]I
setp pid.y1.Dgain [AXIS_1]D
setp pid.y1.bias [AXIS_1]BIAS
setp pid.y1.FF0 [AXIS_1]FF0
setp pid.y1.FF1 [AXIS_1]FF1
setp pid.y1.FF2 [AXIS_1]FF2
setp pid.y1.deadband [AXIS_1]DEADBAND
setp pid.y1.maxoutput [AXIS_1]MAX_OUTPUT
net y1-index-enable <=> pid.y1.index-enable
net y1-enable => pid.y1.enable
net y1-output => pid.y1.output
net y1-pos-cmd => pid.y1.command
net y1-vel-fb => pid.y1.feedback-deriv
net y1-pos-fb => pid.y1.feedback
net y1-pos-cmd <= egantry.0.joint.00.pos-cmd
net y1-enable <= egantry.0.joint.00.enable
net y1-pos-fb => egantry.0.joint.00.pos-fb
net y1-index-enable => egantry.0.joint.00.index-enable
#net y1-neg-limit => egantry.0.joint.00.neg-lim-sw
#net y-pos-limit => egantry.0.joint.00.pos-lim-sw
net y1-pos-fb => to_pci.1.feedback.encoder0
net y1-index-enable to_pci.1.feedback.index_en0
net y1-output => to_pci.1.PWM.dcontrol0
setp to_pci.1.PWM.out_scale0 -1
setp to_pci.1.feedback.enc_scale0 -2500
net y-pos-fb => axis.1.motor-pos-fb
Код: Выделить всё
#*******************
# AXIS Y2
#*******************
setp pid.y2.Pgain [AXIS_1]P
setp pid.y2.Igain [AXIS_1]I
setp pid.y2.Dgain [AXIS_1]D
setp pid.y2.bias [AXIS_1]BIAS
setp pid.y2.FF0 [AXIS_1]FF0
setp pid.y2.FF1 [AXIS_1]FF1
setp pid.y2.FF2 [AXIS_1]FF2
setp pid.y2.deadband [AXIS_1]DEADBAND
setp pid.y2.maxoutput [AXIS_1]MAX_OUTPUT
net y2-index-enable <=> pid.y2.index-enable
net y2-enable => pid.y2.enable
net y2-output => pid.y2.output
net y2-pos-cmd => pid.y2.command
net y2-vel-fb => pid.y2.feedback-deriv
net y2-pos-fb => pid.y2.feedback
net y2-pos-cmd <= egantry.0.joint.01.pos-cmd
net y2-enable <= egantry.0.joint.01.enable
net y2-pos-fb => egantry.0.joint.01.pos-fb
net y2-index-enable => egantry.0.joint.01.index-enable
net y2-neg-limit => egantry.0.joint.01.neg-lim-sw egantry.0.joint.01.home-sw
net y-pos-limit => egantry.0.joint.01.pos-lim-sw
net y2-pos-fb => to_pci.1.feedback.encoder1
net y2-index-enable to_pci.1.feedback.index_en1
net y2-output => to_pci.1.PWM.dcontrol1
#net y-vel-cmd => pid.y.command-deriv
#net y-output => pid.y.output
#net y-vel-fb => pid.y.feedback-deriv
#net y-output => pid.y.output
#net y-pos-fb => axis.1.motor-pos-fb
#net y-enable axis.1.amp-enable-out
#net y-pos-cmd axis.1.motor-pos-cmd
#net y-enable => to_pci.1.enable_drive
setp to_pci.1.PWM.out_scale1 -1
setp to_pci.1.feedback.enc_scale1 -2500
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 07 апр 2019, 15:56
Serg
Нигде не увидел подключения y1-enable и/или y2-enable к соотв. пинам платы - видимо потому и ползут...
Эти сигналы должны подаваться и на pid.N и на PWM и электрически на сам привод, иначе будет "ползти".
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 07 апр 2019, 23:26
Nikomas
UAVpilot писал(а):Эти сигналы должны подаваться и на pid.N и на PWM и электрически на сам привод, иначе будет "ползти".
Спасибо. Ось побежала. Осталось допилить второй датчик и отладить Homing.
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 16 апр 2019, 00:41
Nikomas
Обновлю немного тему. Чтобы уйти от любых программных коректировок и поправок на позиционирование подчиненной оси установил датчик Home на подчиненную ось. Выставил датчиками параллельность сторон оси до 0,1.
Полностью переписал hal и ini файлы. Убрал любое упоминание о оси А. Теперь заработал Home All Axes (Ctrl+Home). Уже отлично, не зря все это. Но толчки подчиненной оси остались, и если раньше грешил на
egantry.1.joint.01.correct, то теперь все указывает на
to_pci (у владельцев Mesa ведь все нормально):
http://www.youtube.com/watch?v=HS4Rmxq3yyA
http://www.youtube.com/watch?v=XDRn9ZzZWaU
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 16 апр 2019, 04:12
Serg
Nikomas писал(а):то теперь все указывает на to_pci (у владельцев Mesa ведь все нормально):
Если я правильно понял видео, то с этой проблемой разбирались в теме MGG. Для to_pci вроде всё ещё нет корректного решения, только грязный хак. И в теме по to_pci вроде тоже помнится об этой проблеме "пару слов" говорил.
P.S. Попробуй на всякий случай предыдущую версию egantry - 1.0pre2...
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 16 мар 2020, 19:48
sergey_s
Здравствуйте. Я тоже пробую настроить два двигателя на одной оси с контроллером to_pci и egantry. У меня одинаковые серводвигатели с одинаковыми и одинаково настроенными серводрайверами, вращаются с разной скоростью. В HAL Configuration разные значения задающего напряжения (аналоговое управление), разница более 2-х раз. При этом показания энкодеров можно считать одинаковыми. Непонятно, ошибка в показаниях энкодера или задающем напряжении?
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 16 мар 2020, 20:12
Serg
Сначала надо настроить приводы (joint), чтобы работали одинаково.
покажите свои .ini и .hal
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 16 мар 2020, 21:17
sergey_s
Вот мои файлы. Не понятно, почему одинаковые привода работают настолько по-разному. Ну спорить не буду, Вы специалист.
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 17 мар 2020, 02:22
Serg
to_pci не знаю, но смущают значения OUTPUT_SCALE...
Надо бы проверить где возникает разница.
Отсоедините валы моторов от прочей механики, чтоб куда-нибудь всё не уехало.
В .hal отключите от все сигналы от:
to_pci.1.enable_drive
to_pci.1.PWM.dcontrol0
to_pci.1.PWM.dcontrol1
далее сделайте так:
setp 5 to_pci.1.PWM.dcontrol0 to_pci.1.PWM.dcontrol1
setp 1 to_pci.1.enable_drive
Померьте напряжение на аналоговых выходах to_pci для этих приводов - должно быть одинаковым. При этом моторы должны вращаться с одинаковой скроростью. Если это не так. то проверять настройки приводов.
Если напряжение на аналоговых выходах to_pci не одинаковое, то нужно отключить от них провода, идущие к приводам и замерить напряжение снова. Если напряжение стало одинаковым, то искать ошибки в эл.монтаже.
Если осталось неодинаковым, то искать в самой to_pci.
Для начала отключите упр. входы приводов от to_pci и подайте на эти входы какое-нибудь напряжение в пределах -10В..+10В, одновременно на оба привода и оцените скорость вращения моторов - должно быть одинаково.
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 17 мар 2020, 10:54
sergey_s
При подаче одного напряжения от независимого источника на оба привода они вращаются примерно одинаково. При установке
setp to_pci.1.PWM.dcontrol0 2
setp to_pci.1.PWM.dcontrol1 2
двигатели вращаются примерно одинаково (примерно, потому-что дрейф при включении без напряжения не устранял), но Растет разница между показаниями энкодеров и выскакивает ошибка позиционирования. Разница в показаниях энкодеров такая-же как и в скорости вращения когда to_pci.1.PWM.dcontrol0(1) были подключены к х1(х2)-output. Т.е. или один двигатель вращается в 2 раза быстрей другого при одинаковых показаниях энкодера или двигатели вращаются одинаково, а один энкодер показывает в 2 раза больше другого.
Менял местами подключение приводов к платам to_pci, начинал быстрей вращаться другой двигатель. Как будто в одном из проводов между сервоприводом и to_pci теряются сигналы энкодера. Или где-то в другом месте, может в to_pci, может в hal.
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 17 мар 2020, 14:02
Serg
sergey_s писал(а):Растет разница между показаниями энкодеров и выскакивает ошибка позиционирования.
В .hal отключите пока to_pci.1.feedback.encoder0 и to_pci.1.feedback.encoder1 от всего остального, чтобы ошибка не выскакивала.
Если в to_pci есть пин, аналогичный encoder.N.velocity, то на нём можно смотреть реальную скорость мотора.
sergey_s писал(а):Менял местами подключение приводов к платам to_pci, начинал быстрей вращаться другой двигатель.
Это при
setp to_pci.1.PWM.dcontrol0 2
setp to_pci.1.PWM.dcontrol1 2
?
Какие при этом напряжения на обоих выходах платы?
sergey_s писал(а):Как будто в одном из проводов между сервоприводом и to_pci теряются сигналы энкодера.
Энкодеры тут не при чём.
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 17 мар 2020, 14:28
sergey_s
UAVpilot писал(а):Это при
setp to_pci.1.PWM.dcontrol0 2
setp to_pci.1.PWM.dcontrol1 2
?
Какие при этом напряжения на обоих выходах платы?
Нет, это при подключении к х1(х2)-output.
Когда
setp to_pci.1.PWM.dcontrol0 2
setp to_pci.1.PWM.dcontrol1 2
то двигатели вращаются одинаково, напряжение на to_pci 2В
Re: LinuxCNC - Альтернативная кинематика.
Добавлено: 17 мар 2020, 14:41
sergey_s
При подключении to_pci.1.PWM.dcontrol0(1) к х1(х2)-output значения encoder.0(1).velocity и to_pci.1.feedback.encoder0(1) одинаковые. А значения to_pci.1.PWM.dcontrol0(1) разные.