Страница 2 из 46
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 16:49
MGG
vovafed писал(а):можно на них
сам материнку закрепил на родной панели из старого корпуса
поленился я с работы тащить корпус, в итоге только мать и бп.
Попробую завтра в чип и дип съездить.
По поводу кабеля, обычный фтп 5е пойдет, или искать кабель посерьезней?
И как временный вариант, стоек у меня нет, если мать поставить на металл, а между ними сделать проставку из поролона в которых они обычно продаются, нормально будет? мини фейрверк не устрою?
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 16:57
vovafed
я им заводил нормально работает
аналоговый сигнал проводил просто парой выдраной из кабеля
как серва реагирует если покрутить за вал ?
тогда наверно лучше материнку на изолятор а заземлить бп
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 17:02
MGG
При включенном состоянии пытается прокрутить обратно
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 17:17
vovafed
net x-pos-fb => axis.2.motor-pos-fb
не понял как заводится сигнал энкодера в пид

и смущают эта строкка в хал в блоке для оси игрик
по зет тоже ошибочка по моему
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 17:51
MGG
Конфиг косячный, собирался из трех, тоже думал может дело в конфиге. Накидал правильно 2 мотора, в простой конфиг который просто может крутить, в итоге такие же танцы
И эти моменты вроде поправил.
Код: Выделить всё
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
# My driver
loadrt to_pci
loadrt pid names=pid.x,pid.y,pid.z,pid.a
# ################################################
# 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
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.a.do-pid-calcs servo-thread
#net x-enable to_pci.1.pins.pin-00-out
#net y-enable to_pci.1.pins.pin-02-out
#net z-enable to_pci.1.pins.pin-03-out
#net a-enable to_pci.1.pins.pin-01-out
# --- HOME-X ---
#net home-x <= to_pci.1.pins.pin-24-in
# --- HOME-Y ---
net home-y <= to_pci.1.pins.pin-25-in
# --- HOME-Z ---
net home-z <= to_pci.1.pins.pin-26-in
########### egantry ###########################
loadrt egantry count=1 personality=2
addf egantry.0 servo-thread
setp egantry.0.align-vel 50
setp egantry.0.align-acc 100
setp egantry.0.align-hyst 0.05
setp egantry.0.align-hyst 0.05
setp egantry.0.joint.01.correct 1
# position & feedback
net x-pos-cmd egantry.0.axis.motor-pos-cmd => axis.0.motor-pos-cmd
net x-pos-fb egantry.0.axis.motor-pos-fb => axis.0.motor-pos-fb
net x1-pos-cmd egantry.0.joint.00.pos-cmd => pid.x.command
net x1-pos-fb egantry.0.joint.00.pos-fb <= pid.x.feedback
net x2-pos-cmd egantry.0.joint.01.pos-cmd => pid.a.command
net x2-pos-fb egantry.0.joint.01.pos-fb <= pid.a.feedback
# enables
net x-enable egantry.0.axis.amp-enable <= axis.0.amp-enable-out
net x1-enable egantry.0.joint.00.enable => pid.x.enable
net x2-enable egantry.0.joint.01.enable => pid.a.enable
# index_ENC
net x-index-enable egantry.0.axis.index-enable <= axis.0.index-enable
net x1-index-enable egantry.0.joint.00.index-enable => pid.x.index-enable
net x2-index-enable egantry.0.joint.01.index-enable => pid.a.index-enable
# home switches & othrs
net x-home-sw egantry.0.axis.home-sw => axis.0.home-sw-in
net x1-home-sw egantry.0.joint.00.home-sw <= to_pci.1.pins.pin-24-in
#net x2-home-sw egantry.0.joint.01.home-sw <= to_pci.1.pins.pin-30-in
net x-home-state axis.0.home-state => egantry.0.axis.home-state
net x-homed axis.0.homed => egantry.0.axis.homed
########## egantry ###########################
#*******************
# 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
#net x-index-enable <=> pid.x.index-enable
#net x-enable => pid.x.enable
#net x-pos-cmd => pid.x.command
net x-vel-cmd => pid.x.command-deriv
#net x-pos-fb => pid.x.feedback
net x-output => pid.x.output
# ---PWM Generator signals/setup---
setp to_pci.1.out_scale0 1
net x-enable axis.0.amp-enable-out
net x-enable => to_pci.1.pins.pin-00-out
net x-output => to_pci.1.dcontrol0
# --------fb--------------
setp to_pci.1.feedback.enc_scale0 1
#setp to_pci.1.feedback.encoder0.counter-mode 0
#setp to_pci.1.feedback.encoder0.filter 1
#setp to_pci.1.feedback.encoder0.index-invert 0
#setp to_pci.1.feedback.encoder0.index-mask 0
#setp to_pci.1.feedback.encoder0.index-mask-invert 0
#setp hm2_5i20.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
#net x-pos-fb <= to_pci.1.feedback.encoder.0.position
#net x-vel-fb <= to_pci.1.feedback.encoder0.velocity
net x-pos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> to_pci.1.feedback.index_en0
#net x-pos-rawcounts <= to_pci.1.feedback.encoder0.rawcounts
#net min-home-x => axis.0.home-sw-in
#net min-home-x => axis.0.neg-lim-sw-in
#net x-pos-limit => axis.0.pos-lim-sw-in
#*******************
# AXIS X1
#*******************
setp pid.a.Pgain [AXIS_0]P
setp pid.a.Igain [AXIS_0]I
setp pid.a.Dgain [AXIS_0]D
setp pid.a.bias [AXIS_0]BIAS
setp pid.a.FF0 [AXIS_0]FF0
setp pid.a.FF1 [AXIS_0]FF1
setp pid.a.FF2 [AXIS_0]FF2
setp pid.a.deadband [AXIS_0]DEADBAND
setp pid.a.maxoutput [AXIS_0]MAX_OUTPUT
#net a-index-enable <=> pid.a.index-enable
#net a-enable => pid.a.enable
#net a-pos-cmd => pid.a.command
net a-vel-cmd => pid.a.command-deriv
#net a-pos-fb => pid.a.feedback
net a-output => pid.a.output
# ---PWM Generator signals/setup---
setp to_pci.1.out_scale1 1
net a-enable axis.1.amp-enable-out
net a-enable => to_pci.1.pins.pin-01-out
net a-output => to_pci.1.dcontrol1
# --------fb--------------
#setp to_pci.1.feedback.enc_scale1 1
##setp to_pci.1.feedback.encoder1.counter-mode 0
#setp to_pci.1.feedback.encoder1.filter 1
#setp to_pci.1.feedback.encoder1.index-invert 0
#setp to_pci.1.feedback.encoder1.index-mask 0
#setp to_pci.1.feedback.encoder1.index-mask-invert 0
#setp hm2_5i20.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
#net x-pos-fb <= to_pci.1.feedback.encoder1.position
#net x-vel-fb <= to_pci.1.feedback.encoder1.velocity
net a-pos-fb => axis.1.motor-pos-fb
net a-index-enable axis.1.index-enable <=> to_pci.1.feedback.index_en1
#net x-pos-rawcounts <= to_pci.1.feedback.encoder1.rawcounts
#*******************
# AXIS Y
#*******************
setp pid.y.Pgain [AXIS_0]P
setp pid.y.Igain [AXIS_0]I
setp pid.y.Dgain [AXIS_0]D
setp pid.y.bias [AXIS_0]BIAS
setp pid.y.FF0 [AXIS_0]FF0
setp pid.y.FF1 [AXIS_0]FF1
setp pid.y.FF2 [AXIS_0]FF2
setp pid.y.deadband [AXIS_0]DEADBAND
setp pid.y.maxoutput [AXIS_0]MAX_OUTPUT
net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-vel-cmd => pid.y.command-deriv
net y-pos-fb => pid.y.feedback
net y-output => pid.y.output
# ---PWM Generator signals/setup---
setp to_pci.1.out_scale2 1
net y-enable axis.2.amp-enable-out
net y-enable => to_pci.1.pins.pin-02-out
net y-output => to_pci.1.dcontrol2
# --------fb--------------
#setp to_pci.1.feedback.enc_scale2 1
#setp to_pci.1.feedback.encoder2.counter-mode 0
#setp to_pci.1.feedback.encoder2.filter 1
#setp to_pci.1.feedback.encoder2.index-invert 0
#setp to_pci.1.feedback.encoder2.index-mask 0
#setp to_pci.1.feedback.encoder2.index-mask-invert 0
#setp hm2_5i20.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
#net x-pos-fb <= to_pci.1.feedback.encoder2.position
#net x-vel-fb <= to_pci.1.feedback.encoder2.velocity
net x-pos-fb => axis.2.motor-pos-fb
net x-index-enable axis.2.index-enable <=> to_pci.1.feedback.index_en2
#net x-pos-rawcounts <= to_pci.1.feedback.encoder2.rawcounts
net min-home-y => axis.2.home-sw-in
#net min-home-y => axis.2.neg-lim-sw-in
net y-pos-limit => axis.2.pos-lim-sw-in
#*******************
# AXIS Z
#*******************
setp pid.z.Pgain [AXIS_0]P
setp pid.z.Igain [AXIS_0]I
setp pid.z.Dgain [AXIS_0]D
setp pid.z.bias [AXIS_0]BIAS
setp pid.z.FF0 [AXIS_0]FF0
setp pid.z.FF1 [AXIS_0]FF1
setp pid.z.FF2 [AXIS_0]FF2
setp pid.z.deadband [AXIS_0]DEADBAND
setp pid.z.maxoutput [AXIS_0]MAX_OUTPUT
net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-pos-cmd => pid.z.command
net z-vel-cmd => pid.z.command-deriv
net z-pos-fb => pid.z.feedback
net z-output => pid.z.output
# ---PWM Generator signals/setup---
setp to_pci.1.out_scale3 1
net z-enable axis.3.amp-enable-out
net z-enable => to_pci.1.pins.pin-03-out
net z-output => to_pci.1.dcontrol3
# --------fb--------------
setp to_pci.1.feedback.enc_scale3 1
#setp to_pci.1.feedback.encoder3.counter-mode 0
#setp to_pci.1.feedback.encoder3.filter 1
#setp to_pci.1.feedback.encoder3.index-invert 0
#setp to_pci.1.feedback.encoder3.index-mask 0
#setp to_pci.1.feedback.encoder3.index-mask-invert 0
#setp hm2_5i20.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
#net x-pos-fb <= to_pci.1.feedback.encoder3.position
#net x-vel-fb <= to_pci.1.feedback.encoder3.velocity
net x-pos-fb => axis.3.motor-pos-fb
net x-index-enable axis.3.index-enable <=> to_pci.1.feedback.index_en3
#net x-pos-rawcounts <= to_pci.1.feedback.encoder3.rawcounts
net min-home-z => axis.3.home-sw-in
#net min-home-z => axis.3.neg-lim-sw-in
net z-pos-limit => axis.3.pos-lim-sw-in
# ---HALUI signals---
#net joint-select-a halui.joint.0.select
#net x-is-homed halui.joint.0.is-homed
#net jog-x-pos halui.jog.0.plus
#net jog-x-neg halui.jog.0.minus
#net jog-x-analog halui.jog.0.analog
#net joint-select-b halui.joint.1.select
#net y-is-homed halui.joint.1.is-homed
#net jog-y-pos halui.jog.1.plus
#net jog-y-neg halui.jog.1.minus
#net jog-y-analog halui.jog.1.analog
#net joint-select-c halui.joint.2.select
#net z-is-homed halui.joint.2.is-homed
#net jog-z-pos halui.jog.2.plus
#net jog-z-neg halui.jog.2.minus
#net jog-z-analog halui.jog.2.analog
#net joint-select-d halui.joint.3.select
#net a-is-homed halui.joint.3.is-homed
#net jog-a-pos halui.jog.3.plus
#net jog-a-neg halui.jog.3.minus
#net jog-a-analog halui.jog.3.analog
#net jog-selected-pos halui.jog.selected.plus
#net jog-selected-neg halui.jog.selected.minus
#net spindle-manual-cw halui.spindle.forward
#net spindle-manual-ccw halui.spindle.reverse
#net spindle-manual-stop halui.spindle.stop
#net machine-is-on halui.machine.is-on
#net jog-speed halui.jog-speed
#net MDI-mode halui.mode.is-mdi
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
net probe-in => motion.probe-input
# ---motion control signals---
net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled
# ---digital in / out signals---
# ---estop signals---
net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in to_pci.1.enable_drive
# ---manual tool change signals---
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 17:56
vovafed
последний можете скинуть
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 17:58
MGG
Выше добавил, а вот конфиг на котором теситровал
Код: Выделить всё
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
# My driver
loadrt to_pci
loadrt pid names=pid.x,pid.y
# ################################################
# 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
addf pid.y.do-pid-calcs servo-thread
# ######################################################
# Axis-of-motion Specific Configs (not the GUI)
# ######################################################
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
net x-enable => pid.x.enable
net x-output => pid.x.output
net x-pos-cmd => pid.x.command
net x-pos-fb => pid.x.feedback
# --------fb--------------
setp to_pci.1.feedback.enc_scale1 1
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-enable => pid.y.enable
net y-output => pid.y.output
net y-pos-cmd => pid.y.command
net y-pos-fb => pid.y.feedback
# --------fb--------------
setp to_pci.1.feedback.enc_scale0 1
# -------E-STOP--------
net estop-ext iocontrol.0.emc-enable-in <= iocontrol.0.user-enable-out to_pci.1.enable_drive
# ------PWM Generator signals/setup--------
setp to_pci.1.out_scale0 1
net x-enable axis.0.amp-enable-out
net x-enable => to_pci.1.pins.pin-00-out
net x-output => to_pci.1.dcontrol0
net y-pos-cmd axis.1.motor-pos-cmd
setp to_pci.1.out_scale1 1
net y-enable axis.1.amp-enable-out
net y-enable => to_pci.1.pins.pin-01-out
net y-output => to_pci.1.dcontrol1
net y-pos-cmd axis.1.motor-pos-cmd
#----------- SIGNALS ---------------
net buton_test => to_pci.1.feedback.index_en0
#net buton_test => to_pci.1.pins.pin-00-out
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 18:03
Duhas
MGG писал(а):
По поводу кабеля, обычный фтп 5е пойдет, или искать кабель посерьезней?
не то чтобы посерьезней. но для аналога можно купить отдельные провода 2 провода в экране, лучше что-то из многожилки с нормальной оплеткой а не фольга + жилка. типа МКЭШ 2х0.75
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 18:08
vovafed
не вижу где заводятся энкодеры
если покрутить за вал циферы на экране бегают
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 18:17
MGG
В хал метре бегают, или где именно?
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 18:24
vovafed
нужно покрутить за вал
если сигнал правильно заведен должны бегать цифры по оси в аксис
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 18:38
MGG
vovafed писал(а):нужно покрутить за вал
если сигнал правильно заведен должны бегать цифры по оси в аксис
Попробовал, ничего не происходит, все по нулям.
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 18:50
vovafed
разбирайтесь с конфигом
в нем все дело
там вроде бы все правильно но не подключен энкодер
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 18:56
MGG
vovafed писал(а):разбирайтесь с конфигом
в нем все дело
там вроде бы все правильно но не подключен энкодер
А подскажи в какую сторону копать? Как примерно должно выглядеть на одну ось?
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 19:34
vovafed
Код: Выделить всё
setp to_pci.1.feedback.enc_scale1 1
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-enable => pid.y.enable
net y-output => pid.y.output
net y-pos-cmd => pid.y.command
net y-pos-fb => pid.y.feedback
net y-output => to_pci.1.dcontrol1
net y-pos-fb <= to_pci.1.feedback.encoder1
net y-pos-fb => axis.1.motor-pos-fb
последние 2 строки это вход энкодера его у вас нет
http://www.cnc-club.ru/forum/download/file.php?id=85001
http://www.cnc-club.ru/forum/viewtopic.php?f=15&t=11422
брал здесь
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 19:37
MGG
Сейчас все в металл переделаю и попробую, большое спасибо!
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 29 ноя 2016, 20:06
vovafed
еще направление энкодера не всегда совпадает с выходом аналога
можно скалярность с знаком минус задавать в ини
[AXIS_1]
TYPE = LINEAR
HOME = 0.0
FERROR = 10
MIN_FERROR = 10
MAX_VELOCITY = 2000
MAX_ACCELERATION = 300.0
P = 4.0
I = 0.0
D = 0.02
FF0 = 0.0
FF1 = 0.065
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.05
MAX_OUTPUT = 10.0
ENCODER_SCALE = -2000.0
OUTPUT_SCALE = 10
MIN_LIMIT = -250.0
MAX_LIMIT = 250.0
HOME_OFFSET = 0.000000
HOME_SEARCH_VEL = 3.00000
HOME_LATCH_VEL = -0.1
HOME_FINAL_VEL = 0.01000
HOME_USE_INDEX = NO
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = NO
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 30 ноя 2016, 14:55
MGG
Вот вроде поправил эти моменты, вечером буду пробовать. Спасибо!
Код: Выделить всё
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
# My driver
loadrt to_pci
loadrt pid names=pid.x,pid.y,pid.z,pid.a
# ################################################
# 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
addf pid.y.do-pid-calcs servo-thread
addf pid.z.do-pid-calcs servo-thread
addf pid.a.do-pid-calcs servo-thread
#net x-enable to_pci.1.pins.pin-00-out
#net y-enable to_pci.1.pins.pin-02-out
#net z-enable to_pci.1.pins.pin-03-out
#net a-enable to_pci.1.pins.pin-01-out
# --- HOME-X ---
#net home-x <= to_pci.1.pins.pin-24-in
# --- HOME-Y ---
net home-y <= to_pci.1.pins.pin-25-in
# --- HOME-Z ---
net home-z <= to_pci.1.pins.pin-26-in
########### egantry ###########################
loadrt egantry count=1 personality=2
addf egantry.0 servo-thread
setp egantry.0.align-vel 50
setp egantry.0.align-acc 100
setp egantry.0.align-hyst 0.05
setp egantry.0.align-hyst 0.05
setp egantry.0.joint.01.correct 1
# position & feedback
net x-pos-cmd egantry.0.axis.motor-pos-cmd => axis.0.motor-pos-cmd
net x-pos-fb egantry.0.axis.motor-pos-fb => axis.0.motor-pos-fb
net x1-pos-cmd egantry.0.joint.00.pos-cmd => pid.x.command
net x1-pos-fb egantry.0.joint.00.pos-fb <= pid.x.feedback
net x2-pos-cmd egantry.0.joint.01.pos-cmd => pid.a.command
net x2-pos-fb egantry.0.joint.01.pos-fb <= pid.a.feedback
# enables
net x-enable egantry.0.axis.amp-enable <= axis.0.amp-enable-out
net x1-enable egantry.0.joint.00.enable => pid.x.enable
net x2-enable egantry.0.joint.01.enable => pid.a.enable
# index_ENC
net x-index-enable egantry.0.axis.index-enable <= axis.0.index-enable
net x1-index-enable egantry.0.joint.00.index-enable => pid.x.index-enable
net x2-index-enable egantry.0.joint.01.index-enable => pid.a.index-enable
# home switches & othrs
net x-home-sw egantry.0.axis.home-sw => axis.0.home-sw-in
net x1-home-sw egantry.0.joint.00.home-sw <= to_pci.1.pins.pin-24-in
#net x2-home-sw egantry.0.joint.01.home-sw <= to_pci.1.pins.pin-30-in
net x-home-state axis.0.home-state => egantry.0.axis.home-state
net x-homed axis.0.homed => egantry.0.axis.homed
########## egantry ###########################
#*******************
# 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
#net x-index-enable <=> pid.x.index-enable
#net x-enable => pid.x.enable
#net x-pos-cmd => pid.x.command
net x-vel-cmd => pid.x.command-deriv
#net x-pos-fb => pid.x.feedback
net x-output => pid.x.output
# ---PWM Generator signals/setup---
setp to_pci.1.out_scale0 1
net x-enable axis.0.amp-enable-out
net x-enable => to_pci.1.pins.pin-00-out
net x-output => to_pci.1.dcontrol0
# --------fb--------------
setp to_pci.1.feedback.enc_scale0 1
#setp to_pci.1.feedback.encoder0.counter-mode 0
#setp to_pci.1.feedback.encoder0.filter 1
#setp to_pci.1.feedback.encoder0.index-invert 0
#setp to_pci.1.feedback.encoder0.index-mask 0
#setp to_pci.1.feedback.encoder0.index-mask-invert 0
#setp hm2_5i20.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
#net x-pos-fb <= to_pci.1.feedback.encoder.0.position
#net x-vel-fb <= to_pci.1.feedback.encoder0.velocity
net x-pos-fb => axis.0.motor-pos-fb
net x-index-enable axis.0.index-enable <=> to_pci.1.feedback.index_en0
#net x-pos-rawcounts <= to_pci.1.feedback.encoder0.rawcounts
#net min-home-x => axis.0.home-sw-in
#net min-home-x => axis.0.neg-lim-sw-in
#net x-pos-limit => axis.0.pos-lim-sw-in
#*******************
# AXIS X1
#*******************
setp pid.a.Pgain [AXIS_0]P
setp pid.a.Igain [AXIS_0]I
setp pid.a.Dgain [AXIS_0]D
setp pid.a.bias [AXIS_0]BIAS
setp pid.a.FF0 [AXIS_0]FF0
setp pid.a.FF1 [AXIS_0]FF1
setp pid.a.FF2 [AXIS_0]FF2
setp pid.a.deadband [AXIS_0]DEADBAND
setp pid.a.maxoutput [AXIS_0]MAX_OUTPUT
#net a-index-enable <=> pid.a.index-enable
#net a-enable => pid.a.enable
#net a-pos-cmd => pid.a.command
net a-vel-cmd => pid.a.command-deriv
#net a-pos-fb => pid.a.feedback
net a-output => pid.a.output
# ---PWM Generator signals/setup---
setp to_pci.1.out_scale1 1
net a-enable axis.1.amp-enable-out
net a-enable => to_pci.1.pins.pin-01-out
net a-output => to_pci.1.dcontrol1
# --------fb--------------
#setp to_pci.1.feedback.enc_scale1 1
##setp to_pci.1.feedback.encoder1.counter-mode 0
#setp to_pci.1.feedback.encoder1.filter 1
#setp to_pci.1.feedback.encoder1.index-invert 0
#setp to_pci.1.feedback.encoder1.index-mask 0
#setp to_pci.1.feedback.encoder1.index-mask-invert 0
#setp hm2_5i20.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
net a-pos-fb <= to_pci.1.feedback.encoder1
net a-vel-fb <= to_pci.1.feedback.encoder1
net a-pos-fb => axis.1.motor-pos-fb
net a-index-enable axis.1.index-enable <=> to_pci.1.feedback.index_en1
net a-pos-rawcounts <= to_pci.1.feedback.encoder1
#*******************
# AXIS Y
#*******************
setp pid.y.Pgain [AXIS_0]P
setp pid.y.Igain [AXIS_0]I
setp pid.y.Dgain [AXIS_0]D
setp pid.y.bias [AXIS_0]BIAS
setp pid.y.FF0 [AXIS_0]FF0
setp pid.y.FF1 [AXIS_0]FF1
setp pid.y.FF2 [AXIS_0]FF2
setp pid.y.deadband [AXIS_0]DEADBAND
setp pid.y.maxoutput [AXIS_0]MAX_OUTPUT
net y-index-enable <=> pid.y.index-enable
net y-enable => pid.y.enable
net y-pos-cmd => pid.y.command
net y-vel-cmd => pid.y.command-deriv
net y-pos-fb => pid.y.feedback
net y-output => pid.y.output
# ---PWM Generator signals/setup---
setp to_pci.1.out_scale2 1
net y-enable axis.2.amp-enable-out
net y-enable => to_pci.1.pins.pin-02-out
net y-output => to_pci.1.dcontrol2
# --------fb--------------
#setp to_pci.1.feedback.enc_scale2 1
#setp to_pci.1.feedback.encoder2.counter-mode 0
#setp to_pci.1.feedback.encoder2.filter 1
#setp to_pci.1.feedback.encoder2.index-invert 0
#setp to_pci.1.feedback.encoder2.index-mask 0
#setp to_pci.1.feedback.encoder2.index-mask-invert 0
#setp hm2_5i20.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
net y-pos-fb <= to_pci.1.feedback.encoder2
net y-vel-fb <= to_pci.1.feedback.encoder2
net y-pos-fb => axis.2.motor-pos-fb
net y-index-enable axis.2.index-enable <=> to_pci.1.feedback.index_en2
net y-pos-rawcounts <= to_pci.1.feedback.encoder2.rawcounts
net min-home-y => axis.2.home-sw-in
#net min-home-y => axis.2.neg-lim-sw-in
net y-pos-limit => axis.2.pos-lim-sw-in
#*******************
# AXIS Z
#*******************
setp pid.z.Pgain [AXIS_0]P
setp pid.z.Igain [AXIS_0]I
setp pid.z.Dgain [AXIS_0]D
setp pid.z.bias [AXIS_0]BIAS
setp pid.z.FF0 [AXIS_0]FF0
setp pid.z.FF1 [AXIS_0]FF1
setp pid.z.FF2 [AXIS_0]FF2
setp pid.z.deadband [AXIS_0]DEADBAND
setp pid.z.maxoutput [AXIS_0]MAX_OUTPUT
net z-index-enable <=> pid.z.index-enable
net z-enable => pid.z.enable
net z-pos-cmd => pid.z.command
net z-vel-cmd => pid.z.command-deriv
net z-pos-fb => pid.z.feedback
net z-output => pid.z.output
# ---PWM Generator signals/setup---
setp to_pci.1.out_scale3 1
net z-enable axis.3.amp-enable-out
net z-enable => to_pci.1.pins.pin-03-out
net z-output => to_pci.1.dcontrol3
# --------fb--------------
setp to_pci.1.feedback.enc_scale3 2000
#setp to_pci.1.feedback.encoder3.counter-mode 0
#setp to_pci.1.feedback.encoder3.filter 1
#setp to_pci.1.feedback.encoder3.index-invert 0
#setp to_pci.1.feedback.encoder3.index-mask 0
#setp to_pci.1.feedback.encoder3.index-mask-invert 0
#setp hm2_5i20.0.encoder.00.scale [AXIS_0]ENCODER_SCALE
net z-pos-fb <= to_pci.1.feedback.encoder3
net z-vel-fb <= to_pci.1.feedback.encoder3
net z-pos-fb => axis.3.motor-pos-fb
net z-index-enable axis.3.index-enable <=> to_pci.1.feedback.index_en3
net z-pos-rawcounts <= to_pci.1.feedback.encoder3
net min-home-z => axis.3.home-sw-in
#net min-home-z => axis.3.neg-lim-sw-in
net z-pos-limit => axis.3.pos-lim-sw-in
# ---HALUI signals---
#net joint-select-a halui.joint.0.select
#net x-is-homed halui.joint.0.is-homed
#net jog-x-pos halui.jog.0.plus
#net jog-x-neg halui.jog.0.minus
#net jog-x-analog halui.jog.0.analog
#net joint-select-b halui.joint.1.select
#net y-is-homed halui.joint.1.is-homed
#net jog-y-pos halui.jog.1.plus
#net jog-y-neg halui.jog.1.minus
#net jog-y-analog halui.jog.1.analog
#net joint-select-c halui.joint.2.select
#net z-is-homed halui.joint.2.is-homed
#net jog-z-pos halui.jog.2.plus
#net jog-z-neg halui.jog.2.minus
#net jog-z-analog halui.jog.2.analog
#net joint-select-d halui.joint.3.select
#net a-is-homed halui.joint.3.is-homed
#net jog-a-pos halui.jog.3.plus
#net jog-a-neg halui.jog.3.minus
#net jog-a-analog halui.jog.3.analog
#net jog-selected-pos halui.jog.selected.plus
#net jog-selected-neg halui.jog.selected.minus
#net spindle-manual-cw halui.spindle.forward
#net spindle-manual-ccw halui.spindle.reverse
#net spindle-manual-stop halui.spindle.stop
#net machine-is-on halui.machine.is-on
#net jog-speed halui.jog-speed
#net MDI-mode halui.mode.is-mdi
# ---coolant signals---
net coolant-mist <= iocontrol.0.coolant-mist
net coolant-flood <= iocontrol.0.coolant-flood
# ---probe signal---
net probe-in => motion.probe-input
# ---motion control signals---
net in-position <= motion.in-position
net machine-is-enabled <= motion.motion-enabled
# ---digital in / out signals---
# ---estop signals---
net estop-out <= iocontrol.0.user-enable-out
net estop-out => iocontrol.0.emc-enable-in to_pci.1.enable_drive
# ---manual tool change signals---
Как сказать линуксу что датчики нормально замкнутые?
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 30 ноя 2016, 15:28
vovafed
возможно так
для месы так выглядело
hm2_5i25.0.7i77.0.0.input-06 прямой
hm2_5i25.0.7i77.0.0.input-06-not инвертированый
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 30 ноя 2016, 15:37
MGG
Пробовал так, ругается, что такого пина нет