Подключение осей через Mesa и LPT одновременно

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
sergey_s
Опытный
Сообщения: 158
Зарегистрирован: 06 янв 2016, 00:31
Репутация: 6
Настоящее имя: Сергей
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение sergey_s »

У материнки базовый период очень плохой. На драйвере стоит умножение на 16. В другой конфигурации (без месы) скорость меня устраивает (35 мм/сек) а в этой она сильно меньше.
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение vovafed »

другой конфиг можно посмотреть
sergey_s
Опытный
Сообщения: 158
Зарегистрирован: 06 янв 2016, 00:31
Репутация: 6
Настоящее имя: Сергей
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение sergey_s »

Конфигурация "Т1" работает через LPT. Конфигурация "ТА" работает (должна работать) через LPT ось Z, через MESA ось Х и шпиндель. Физического переподключения не делаю, просто загружаю "Т1" - ось Z работает, загружаю "ТА" - ось Z положение принимает правильное, (согласно заданию) но очень медленно.
Вложения
T1.rar
(4.19 КБ) 321 скачивание
TA.rar
(5.24 КБ) 291 скачивание
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение vovafed »

вот это попробуйте
если будет ругатся ошибки сюда закинте
конфиг нет возможности проверить
Вложения
TA.rar
(5.25 КБ) 314 скачиваний
sergey_s
Опытный
Сообщения: 158
Зарегистрирован: 06 янв 2016, 00:31
Репутация: 6
Настоящее имя: Сергей
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение sergey_s »

Вот ошибки
Вложения
ошибка.txt
(41.12 КБ) 688 скачиваний
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение vovafed »

конечно это уже танцы с бубном
этот попробуйте
Вложения
TA2.rar
(5.34 КБ) 295 скачиваний
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение vovafed »

гы вот где собака порылась
Вложения
TA3.rar
(10.53 КБ) 282 скачивания
Mihaill
Мастер
Сообщения: 238
Зарегистрирован: 02 июн 2014, 12:06
Репутация: 68
Откуда: Ярославль
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение Mihaill »

Может я чего не понимаю.
выдержка из твоего hal
setp stepgen.0.position-scale [AXIS_1]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 1
setp stepgen.0.dirhold 50000
setp stepgen.0.dirsetup 50000
setp stepgen.0.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.0.position-cmd
net zpos-fb stepgen.0.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.0.step
net zdir <= stepgen.0.dir
net zenable axis.2.amp-enable-out => stepgen.0.enable
setp stepgen.0 наверно должно записать как setp stepgen.2
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение vovafed »

нет это номер степген а не оси
а дело все в этом
setp stepgen.0.position-scale [AXIS_1]SCALE
степген берет настройки скалярности с оси которой нет в ини файле
в последнем вложении подправил
sergey_s
Опытный
Сообщения: 158
Зарегистрирован: 06 янв 2016, 00:31
Репутация: 6
Настоящее имя: Сергей
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение sergey_s »

Помогло, теперь ездит как надо. Спасибо Vovafed, что не бросили дилетанта.
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение vovafed »

хорошо :)
Mihaill
Мастер
Сообщения: 238
Зарегистрирован: 02 июн 2014, 12:06
Репутация: 68
Откуда: Ярославль
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение Mihaill »

Продолжу эту тему, у меня тоже появилась плата от ТООТ и задача сходная.
Нужно мне подключить станок с шаговыми моторами, через ЛПТ порт, а обратную связь (оптические линейки) подключить к плате to_pci.
Опыта настройки PID тем более с шаговыми полный ноль, написал hal как ума хватило, но определенно ошибок наделал не мало, большая просьба помочь довести до ума это дело.

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

loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 1000
loadrt stepgen step_type=0,0,0

loadrt to_pci
loadrt pid names=pid.x

# THREADS
addf to_pci.1.update          servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf pid.x.do-pid-calcs       servo-thread

# LPT port
addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf stepgen.update-freq servo-thread

net estop-out       => parport.0.pin-01-out
setp parport.0.pin-02-out-invert 1
net xdir            => parport.0.pin-02-out
net xstep           => parport.0.pin-03-out
setp parport.0.pin-03-out-reset 1

#   -------E-STOP--------

net estop-ext iocontrol.0.emc-enable-in    <=  iocontrol.0.user enable-out



# --- HOME-X ---
net home-x     <= parport.0.pin-15-in

# ---AXIS X---
net x-pos-fb        =>  pid.x.feedback
net x-pos-cmd       =>  pid.x.command
net x-enable        =>  pid.x.enable
net x-vel-cmd       =>  pid.x.command-deriv
net x-index-enable  <=> pid.x.index-enable
net x-output        =>  pid.x.output

setp   pid.x.Pgain     [AXIS_0]P
setp   pid.x.Igain     [AXIS_0]I
setp   pid.x.Dgain     [AXIS_0]D
setp   pid.x.bias      [AXIS_0]BIAS
setp   pid.x.FF0       [AXIS_0]FF0
setp   pid.x.FF1       [AXIS_0]FF1
setp   pid.x.FF2       [AXIS_0]FF2
setp   pid.x.deadband  [AXIS_0]DEADBAND
setp   pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp   pid.x.error-previous-target true
setp   pid.x.maxerror .0005

# -------- FEED BACK X--------------
setp  to_pci.1.feedback.enc_scale0 [AXIS_0]ENCODER_SCALE
net x-pos-fb       <=  to_pci.1.feedback.encoder0
net x-pos-fb       =>  axis.0.motor-pos-fb


# Step Gen signals/setup

setp   stepgen.0.position-scale  [AXIS_0]STEP_SCALE
setp   stepgen.0.steplen         [AXIS_0]STEPLEN
setp   stepgen.0.stepspace       [AXIS_0]STEPSPACE 
setp   stepgen.0.dirsetup        [AXIS_0]DIRSETUP
setp   stepgen.0.dirhold         [AXIS_0]DIRHOLD
#setp   stepgen.0.step_type        0
#setp   stepgen.0.control-type     1
setp   stepgen.0.maxaccel         [AXIS_0]STEPGEN_MAXACCEL
#setp   stepgen.0.maxvel           [AXIS_0]STEPGEN_MAXVEL

# ---closedloop stepper signals---

net x-pos-cmd    <= axis.0.motor-pos-cmd
net x-vel-cmd    <= axis.0.joint-vel-cmd
#net x-output     <= stepgen.0.velocity-cmd
#net x-pos-fb     <= stepgen.0.position-fb
net x-pos-fb     => axis.0.motor-pos-fb
net x-enable     <= axis.0.amp-enable-out
net x-enable     => stepgen.0.enable

# ---setup home / limit switch signals---

net home-x     =>  axis.0.home-sw-in
net x-neg-limit     =>  axis.0.neg-lim-sw-in
net x-pos-limit     =>  axis.0.pos-lim-sw-in
П.С. Сам станок уже собран и опробован и без обратной связи все работает(с другим hal и ini), линейки установлены но пока подключены к УЦИ, пере подключить недолго.
ПП.С С этим халом станок уже пробовал запускать, программа загружается без ошибок, но ось не двигается.
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение vovafed »

конфиг без обратной связи можете скинуть
nkp
Мастер
Сообщения: 8340
Зарегистрирован: 28 ноя 2011, 00:25
Репутация: 1589
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение nkp »

loadrt hal_parport cfg="0x378 out"
не?
Mihaill
Мастер
Сообщения: 238
Зарегистрирован: 02 июн 2014, 12:06
Репутация: 68
Откуда: Ярославль
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение Mihaill »

Хал рабочий, правда не совсем весь как то сохранился с ошибкой и конец потерялся.

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

# Generated by stepconf 1.1 at Thu Apr 20 03:12:12 2017
# Все изменения в этом файле будут перезаписаны
# при следующем запуске stepconf
loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 1000
loadrt stepgen step_type=0,0,0

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf motion-command-handler servo-thread
addf motion-controller servo-thread
addf stepgen.update-freq servo-thread
net spindle-cmd-rpm     <= motion.spindle-speed-out
net spindle-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-cmd-rps     <= motion.spindle-speed-out-rps
net spindle-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-at-speed    => motion.spindle-at-speed
net spindle-cw <= motion.spindle-forward

net estop-out       => parport.0.pin-01-out
setp parport.0.pin-02-out-invert 1
net xdir            => parport.0.pin-02-out
net xstep           => parport.0.pin-03-out
setp parport.0.pin-03-out-reset 1
net ydir            => parport.0.pin-04-out
net ystep           => parport.0.pin-05-out
setp parport.0.pin-05-out-reset 1
setp parport.0.pin-06-out-invert 1
net zdir            => parport.0.pin-06-out
net zstep           => parport.0.pin-07-out
setp parport.0.pin-07-out-reset 1
net spindle-cw      => parport.0.pin-14-out
net home-x          <= parport.0.pin-12-in
net home-y          <= parport.0.pin-13-in-not

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 22000
setp stepgen.0.dirsetup 22000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xenable axis.0.amp-enable-out => stepgen.0.enable
net home-x => axis.0.home-sw-in

setp stepgen.1.position-scale [AXIS_1]SCALE
setp stepgen.1.steplen 1
setp stepgen.1.stepspace 0
setp stepgen.1.dirhold 22000
setp stepgen.1.dirsetup 22000
setp stepgen.1.maxaccel [AXIS_1]STEPGEN_MAXACCEL
net ypos-cmd axis.1.motor-pos-cmd => stepgen.1.position-cmd
net ypos-fb stepgen.1.position-fb => axis.1.motor-pos-fb
net ystep <= stepgen.1.step
net ydir <= stepgen.1.dir
net yenable axis.1.amp-enable-out => stepgen.1.enable
net home-y => axis.1.home-sw-in

setp stepgen.2.position-scale [AXIS_2]SCALE
setp stepgen.2.steplen 1
setp stepgen.2.stepspace 0
setp stepgen.2.dirhold 22000
setp stepgen.2.dirsetup 22000
setp stepgen.2.maxaccel [AXIS_2]STEPGEN_MAXACCEL
net zpos-cmd axis.2.motor-pos-cmd => stepgen.2.position-cmd
net zpos-fb stepgen.2.position-fb => axis.2.motor-pos-fb
net zstep <= stepgen.2.step
net zdir <= stepgen.2.dir
net zenable axis.2.amp-enable-out => stepgen.2.enable

net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in

loadusr -W hal_manualtoolchange
net tool-change iocontrol.0.tool-change => hal_manualtoolchange.change
net tool-changed iocontrol.0.tool-changed <= hal_manualtoolchange.changed
net tool-number iocontrol.0.tool-prep-number => hal_manualtoolchange.number
net tool-prepare-loopback iocontrol.0.tool-prepare => iocontrol.0.tool-prepared
Mihaill
Мастер
Сообщения: 238
Зарегистрирован: 02 июн 2014, 12:06
Репутация: 68
Откуда: Ярославль
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение Mihaill »

Mihaill писал(а):С этим халом станок уже пробовал запускать, программа загружается без ошибок, но ось не двигается.
На экране то она двигается правда не больше чем на заданный люфт т.е. 0.05мм, а на деле нет.
T00T
Мастер
Сообщения: 742
Зарегистрирован: 16 дек 2011, 12:07
Репутация: 100
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение T00T »

Mihaill,
Постарайтесь мыслить функциональными блоками. Что у вас в схеме за чем идёт.
К примеру в данной конфигурации у вас управление должно идти так:
MOTION -> PID -> STEP_GEN -> PAR_PORT.
Обратная связь должна быть вот так:
to_pci.1.feedback.encoder -> PID
to_pci.1.feedback.encoder -> MOTION

Проследите как сигналы у вас выходят из одного блока и попадают другой.
Вот например этой связи вообще нет STEP_GEN -> PAR_PORT. Вопрос, как на порту
должно что то получиться?

Немного поправил. (Сам конечно не запускал, поэтому могут быть ошибки)

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

loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES

# My driver
loadrt to_pci

setp    parport.0.reset-time 5000
loadrt stepgen step_type=0
loadrt hal_parport cfg="0 out"
loadrt pid names=pid.x

# THREADS
addf parport.0.read           servo-thread
addf to_pci.1.update          servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf pid.x.do-pid-calcs       servo-thread

# LPT port

addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf stepgen.update-freq servo-thread

#   -------E-STOP--------

net estop-out       => parport.0.pin-01-out

# --- HOME-X ---
net home-x     <= parport.0.pin-15-in

# ---AXIS X---
setp   pid.x.Pgain     [AXIS_0]P
setp   pid.x.Igain     [AXIS_0]I
setp   pid.x.Dgain     [AXIS_0]D
setp   pid.x.bias      [AXIS_0]BIAS
setp   pid.x.FF0       [AXIS_0]FF0
setp   pid.x.FF1       [AXIS_0]FF1
setp   pid.x.FF2       [AXIS_0]FF2
setp   pid.x.deadband  [AXIS_0]DEADBAND
setp   pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp   pid.x.error-previous-target true
setp   pid.x.maxerror .1


net x-pos-cmd       =>  pid.x.command
net x-enable        =>  pid.x.enable
#net x-vel-cmd       =>  pid.x.command-deriv
net x-index-enable  <=> pid.x.index-enable

net x-pos-fb        =>  pid.x.feedback

net x-output        =>  pid.x.output

# -------- FEED BACK X--------------
setp  to_pci.1.feedback.enc_scale0 [AXIS_0]ENCODER_SCALE
net x-pos-fb       <=  to_pci.1.feedback.encoder0
net x-pos-fb       =>  axis.0.motor-pos-fb


# ----------Step Gen signals/setup---------

setp   stepgen.0.position-scale  [AXIS_0]STEP_SCALE
setp   stepgen.0.steplen         [AXIS_0]STEPLEN
setp   stepgen.0.stepspace       [AXIS_0]STEPSPACE 
setp   stepgen.0.dirsetup        [AXIS_0]DIRSETUP
setp   stepgen.0.dirhold         [AXIS_0]DIRHOLD
setp   stepgen.0.step_type        0
setp   stepgen.0.control-type     1
setp   stepgen.0.maxaccel         [AXIS_0]STEPGEN_MAXACCEL
setp   stepgen.0.maxvel           [AXIS_0]STEPGEN_MAXVEL

net x-enable     => stepgen.0.enable

net x-output     <= stepgen.0.velocity-cmd

net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir

# ---/////////////////////////---

net x-pos-cmd    <= axis.0.motor-pos-cmd
net x-pos-fb     => axis.0.motor-pos-fb
net x-enable     <= axis.0.amp-enable-out


setp parport.0.pin-02-out-invert 1
net xdir            => parport.0.pin-02-out
net xstep           => parport.0.pin-03-out
setp parport.0.pin-03-out-reset 1

# ---setup home / limit switch signals---

net home-x     =>  axis.0.home-sw-in
net x-neg-limit     =>  axis.0.neg-lim-sw-in
net x-pos-limit     =>  axis.0.pos-lim-sw-in
Последний раз редактировалось T00T 01 фев 2017, 19:48, всего редактировалось 1 раз.
Я не волшебник я пока учусь......
Аватара пользователя
vovafed
Мастер
Сообщения: 1822
Зарегистрирован: 08 фев 2013, 16:19
Репутация: 325
Настоящее имя: Владимир
Откуда: башкортостан
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение vovafed »

solo писал(а):но вот что написано в мануале
Re: EMC2 Integrators Manual Перевод на русский язык #53
то есть чтобы загрузить два степенгера , один работает в скорости второй в положении то надо в хеле писать так
loadrt stepgen step_type=0,0 ctrl_type=v,p
и еще у меня оси с енкодером настроены степегеры в режиме скорости вот как настроено у меня


(для просмотра содержимого нажмите на ссылку)
#-------- Encoder-X --------#
setp encoder.0.position-scale 200.00
net Xpos-phase-a encoder.0.phase-A
net Xpos-phase-b encoder.0.phase-B
net Xpos-phase-a <= parport.1.pin-02-in
net Xpos-phase-b <= parport.1.pin-03-in
# Add feedback to motion. This replaces sepgen.0.position-fb
net Xpos-fb <= encoder.0.position
net Xpos-fb => axis.0.motor-pos-fb
#-------- Encoder-X --------#

#-------- PID-X --------#
net Xpos-fb => pid.0.feedback
net Xpos-cmd axis.0.motor-pos-cmd => pid.0.command
net xenable <= axis.0.amp-enable-out => pid.0.enable
net Xvel-cmd <= pid.0.output
setp pid.0.Pgain 70.0
setp pid.0.Igain 0.0
setp pid.0.Dgain 0.0
setp pid.0.bias 0
setp pid.0.FF0 0
setp pid.0.FF1 1.0
setp pid.0.FF2 0.03
#setp pid.0.deadband 0.005
#setp pid.0.tune-mode 1

setp stepgen.0.position-scale [AXIS_0]SCALE
setp stepgen.0.steplen 1
setp stepgen.0.stepspace 0
setp stepgen.0.dirhold 15000
setp stepgen.0.dirsetup 15000
setp stepgen.0.maxaccel [AXIS_0]STEPGEN_MAXACCEL
#net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net Xvel-cmd => stepgen.0.velocity-cmd

#net xpos-fb stepgen.0.position-fb => axis.0.motor-pos-fb


net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
#net xenable axis.0.amp-enable-out => stepgen.0.enable
net xenable stepgen.0.enable
#net min-x => axis.0.neg-lim-sw-in
#net max-x => axis.0.pos-lim-sw-in
net xhome-x => axis.0.home-sw-in


ну а выводы степенгера это наверное вопрос второй куда направлять толи на ЛПТ толи на месу
тогда прицепить к этому и готово
Mihaill
Мастер
Сообщения: 238
Зарегистрирован: 02 июн 2014, 12:06
Репутация: 68
Откуда: Ярославль
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение Mihaill »

Спасибо за помощь, запуск удался, ось начала перемещаться, сейчас до подключения линеек все работает,. Пишу с планшета не очень удобно, завтра выложу, то что получилось.
Mihaill
Мастер
Сообщения: 238
Зарегистрирован: 02 июн 2014, 12:06
Репутация: 68
Откуда: Ярославль
Контактная информация:

Re: Подключение осей через Mesa и LPT одновременно

Сообщение Mihaill »

Вот что в результате получилось

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

loadrt trivkins
loadrt [EMCMOT]EMCMOT base_period_nsec=[EMCMOT]BASE_PERIOD servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt hal_parport cfg="0 out"
setp parport.0.reset-time 1000
loadrt stepgen step_type=0,0,0

loadrt to_pci
loadrt pid names=pid.x

# THREADS
addf to_pci.1.update          servo-thread
addf motion-command-handler   servo-thread
addf motion-controller        servo-thread
addf pid.x.do-pid-calcs       servo-thread

# LPT port
addf parport.0.read base-thread
addf stepgen.make-pulses base-thread
addf parport.0.write base-thread
addf parport.0.reset base-thread

addf stepgen.capture-position servo-thread
addf stepgen.update-freq servo-thread

#   -------E-STOP--------

net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in
net estop-out       => parport.0.pin-01-out


# --- HOME-X ---
net home-x     <= parport.0.pin-15-in

# ---AXIS X---
net xpos-fb        =>  pid.x.feedback
net xpos-cmd       =>  pid.x.command
net xenable        =>  pid.x.enable
net xvel-cmd       =>  pid.x.command-deriv
net xindex-enable  <=> pid.x.index-enable
net xoutput        =>  pid.x.output

setp parport.0.pin-02-out-invert 1
net xdir            => parport.0.pin-02-out
net xstep           => parport.0.pin-03-out
setp parport.0.pin-03-out-reset 1

setp   pid.x.Pgain     [AXIS_0]P
setp   pid.x.Igain     [AXIS_0]I
setp   pid.x.Dgain     [AXIS_0]D
setp   pid.x.bias      [AXIS_0]BIAS
setp   pid.x.FF0       [AXIS_0]FF0
setp   pid.x.FF1       [AXIS_0]FF1
setp   pid.x.FF2       [AXIS_0]FF2
setp   pid.x.deadband  [AXIS_0]DEADBAND
setp   pid.x.maxoutput [AXIS_0]MAX_OUTPUT
setp   pid.x.error-previous-target true
setp   pid.x.maxerror .0005

# -------- FEED BACK X--------------
setp  to_pci.1.feedback.enc_scale1 [AXIS_0]ENCODER_SCALE
net xpos-fb       <=  to_pci.1.feedback.encoder1
net xpos-fb       =>  axis.0.motor-pos-fb


# Step Gen signals/setup

setp   stepgen.0.position-scale  [AXIS_0]STEP_SCALE
setp   stepgen.0.steplen         [AXIS_0]STEPLEN
setp   stepgen.0.stepspace       [AXIS_0]STEPSPACE 
setp   stepgen.0.dirsetup        [AXIS_0]DIRSETUP
setp   stepgen.0.dirhold         [AXIS_0]DIRHOLD
#setp   stepgen.0.step_type        0
#setp   stepgen.0.control-type     1
setp   stepgen.0.maxaccel         [AXIS_0]STEPGEN_MAXACCEL
#setp   stepgen.0.maxvel           [AXIS_0]STEPGEN_MAXVEL
net xstep <= stepgen.0.step
net xdir <= stepgen.0.dir
net xpos-cmd axis.0.motor-pos-cmd => stepgen.0.position-cmd
net xenable axis.0.amp-enable-out => stepgen.0.enable 


# ---closedloop stepper signals---

net xvel-cmd     <= axis.0.joint-vel-cmd
#net xoutput     <= stepgen.0.velocity-cmd
#net xpos-fb     <= stepgen.0.position-fb
net xpos-fb      => axis.0.motor-pos-fb

# ---setup home / limit switch signals---

net home-x     =>  axis.0.home-sw-in
net xneg-limit     =>  axis.0.neg-lim-sw-in
net xpos-limit     =>  axis.0.pos-lim-sw-in 

Буду сегодня подключать линейки, посмотрим что из этого выйдет.
Теперь задумался о подключении маховичка с энкодером.
Ответить

Вернуться в «LinuxCNC»