Настраиваем контроллер to_pci.

Обсуждение установки, настройки и использования LinuxCNC. Вопросы по Gкоду.
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение mmv »

Прикрепите сюда свои ini и hal
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Nikomas »

Вот.
Вложения
stanok.hal
(2.31 КБ) 1005 скачиваний
stanok.ini
(2.76 КБ) 722 скачивания
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение mmv »

В этом конфиге разомкнута обратная связь.
Поставьте назад OUTPUT_SCALE = 1
Тут нужно проверить вот что: Изменяя положение оси X.( фактически axis.0.motor-pos-cmd) в пределах от -10 до 10 можно наблюдать равное этому значению напряжение на выходе первого канала. И проверить что соответствует направление вращения в нужную сторону.
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Nikomas »

Не могли бы вы исправить hal так, чтобы все заработало? Пока мотор стартует на макс. скорости не могу поменять даже направление вращения. Но на макс скорости напр. 9,98В. Это китайским мультиметром. Может оно на самом деле и 10В.
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение mmv »

Nikomas писал(а):Не могли бы вы исправить hal так, чтобы все заработало?
#net x-pos-fb => pid.x.feedback - в этой строке уберите знак "решётка".
Nikomas писал(а):Но на макс скорости напр. 9,98В. Это китайским мультиметром. Может оно на самом деле и 10В.
Это не важно 10в или 9.98
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение mmv »

Nikomas, всё у вас заработало?
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Nikomas »

mmv писал(а):Nikomas, всё у вас заработало?
Да, спасибо за наводку. Но основательно проверить приводы без настроенной ПИД петли не получается. Например, нажимаю переместиться на 0,1 по оси. Нет реакции. Нажимаю второй - стоим. Третий - стоим. Четвертый - едем на 1мм...
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение mmv »

Так у вас подключен энкодер?
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Nikomas »

mmv писал(а):Так у вас подключен энкодер?
Да, конечно.
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение mmv »

Тогда все должно работать нормально и без подстройки pid. Просто при старте ошибка набегать должна и тормозить будет с небольшой инерцией.
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Nikomas »

mmv писал(а):Просто при старте ошибка набегать должна и тормозить будет с небольшой инерцией
Так и есть. Останавливается с ошибкой в пару сотых.
Аватара пользователя
Lexxa
Мастер
Сообщения: 2703
Зарегистрирован: 16 дек 2011, 16:48
Репутация: 319
Настоящее имя: Алексей
Откуда: ryazan
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Lexxa »

Спрошу тут о подключении кабеля управления приводом.
На приводе дифференциальный вход для задания, т.е. +Uз, -Uз и Земля.
На плате AOUTx и AGND.
AGND соединен с землей.
Вопрос о подключении экрана. Куда подключать экран со стороны управления?
Если подключить экран на приводе на землю, а на плате управления на AGND, то могут возникнуть блуждающие токи, наводки и от экрана только хуже будет.
Если подключить экран только с одной стороны, что теоретически допускается в нашем случае, со стороны источника, то к AGND или к централизованной шине заземления?
Ну и как пожелание будущей ревизии платы управления приводом - сделать отдельную клемму заземления кабеля управления.
Литература по теме http://www.bookasutp.ru/Chapter3_5.aspx
Вложения
Рекомендации_по_подключению_станков.pdf
(3.02 МБ) 917 скачиваний
:bender:
Duhas
Мастер
Сообщения: 1961
Зарегистрирован: 10 окт 2015, 23:25
Репутация: 285
Настоящее имя: Андрей
Откуда: Красноярск
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Duhas »

имхо, экран на AGND со стороны источника сигнала
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение mmv »

Важно помнить одно: для того что бы наводки на провода не оказывали влияния необходимо что бы токи в проводах шли в разных направлениях.
Я думаю что экран должен быть подключен так, что бы через него не шёл ток. Т.е. можно подключить только с одной стороны или не подключать вовсе.
Всё равно он является проводящей поверхностью и оказывает сильное ослабляющее действие.
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Аватара пользователя
Serg
Мастер
Сообщения: 21923
Зарегистрирован: 17 апр 2012, 14:58
Репутация: 5183
Заслуга: c781c134843e0c1a3de9
Настоящее имя: Сергей
Откуда: Москва
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Serg »

Duhas писал(а):имхо, экран на AGND со стороны источника сигнала
Наоборот, тогда около входа приёмника сопротивление между экраном и землёй будет минимально.
Я не Христос, рыбу не раздаю, но могу научить, как сделать удочку...
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Nikomas »

Мой вариант размещения плат в системнике. Изначально платы висели на задней стенке шкафа, но оказалось крайне неудобно что-либо подключать или отключать.
DSC09742.JPG (2730 просмотров) <a class='original' href='./download/file.php?id=139406&mode=view' target=_blank>Загрузить оригинал (102.73 КБ)</a>
DSC09748.JPG (2730 просмотров) <a class='original' href='./download/file.php?id=139405&mode=view' target=_blank>Загрузить оригинал (86.86 КБ)</a>
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Nikomas »

Вот по этим конфигам двигается только одна ось Х1. Y и Z так и не сдвинулись, хотя энкодеры показывает четко. Что-то делаю не так, а вот что - не понимаю.

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

[EMC]

# Name of machine, for use with display, etc.
MACHINE =               to_pci

# Debug level, 0 means no messages. See src/emc/nml_int/emcglb.h for others
#DEBUG =                0x00000003
#DEBUG =                0x00000007
DEBUG = 0

[DISPLAY]

# Name of display program, e.g., tkemc
DISPLAY =              axis

CYCLE_TIME = 0.200
MAX_FEED_OVERRIDE = 1.500000
MAX_SPINDLE_OVERRIDE = 1.000000
MIN_SPINDLE_OVERRIDE = 0.500000
INTRO_GRAPHIC = linuxcnc.gif
INTRO_TIME = 5
PROGRAM_PREFIX = /home/cnc/linuxcnc/nc_files
INCREMENTS = 5mm 1mm .5mm .1mm .05mm .01mm .005mm
POSITION_OFFSET = RELATIVE
POSITION_FEEDBACK = ACTUAL
DEFAULT_LINEAR_VELOCITY = 20.000000
MAX_LINEAR_VELOCITY = 125.000000
MIN_LINEAR_VELOCITY = 0.010000
DEFAULT_ANGULAR_VELOCITY = 30.000000
MAX_ANGULAR_VELOCITY = 250.000000
MIN_ANGULAR_VELOCITY = 0.010000
EDITOR = gedit
GEOMETRY = XYZ
PYVCP = Panel.xml


[FILTER]
PROGRAM_EXTENSION = .png,.gif,.jpg Grayscale Depth Image
PROGRAM_EXTENSION = .py Python Script
png = image-to-gcode
gif = image-to-gcode
jpg = image-to-gcode
py = python

[TASK]

# Name of task controller program, e.g., milltask
TASK =                  milltask

# Cycle time, in seconds, that task controller will sleep between polls
CYCLE_TIME =            0.010

[RS274NGC]

# File containing interpreter variables
#PARAMETER_FILE




[EMCMOT]

EMCMOT =                motmod

# Timeout for comm to emcmot, in seconds
COMM_TIMEOUT =          1.0

# Interval between tries to emcmot, in seconds
COMM_WAIT =             0.010

# Servo task period, in nanoseconds
SERVO_PERIOD =          1000000




[HAL]

# The run script first uses halcmd to execute any HALFILE
# files, and then to execute any individual HALCMD commands.

# list of hal config files to run through halcmd
# files are executed in the order in which they appear

HALFILE = egantry_test.hal
POSTGUI_HALFILE = custom_postgui.hal



[TRAJ]

AXES =                  4
JOINTS =                2
COORDINATES =           X Y Z
HOME =                  0 0 0 0
LINEAR_UNITS =          mm
ANGULAR_UNITS =         degree
CYCLE_TIME =            0.010
DEFAULT_VELOCITY =      100.0
MAX_VELOCITY =          250.0
DEFAULT_ACCELERATION =  200.0
MAX_ACCELERATION =      10




[AXIS_0]
NAME = X1
TYPE = LINEAR
HOME = 0.0
FERROR = 1000.0
MIN_FERROR = 1000.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 5000.0
P = 1
I = 0
D = 0
FF0 = 0
FF1 = 0.02
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 10
ENCODER_SCALE = 2000
OUTPUT_SCALE = 1
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 = YES
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = YES

[AXIS_1]
NAME = Y
TYPE = LINEAR
HOME = 0.0
FERROR = 1000.0
MIN_FERROR = 1000.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 5000.0
P = 1
I = 0
D = 0
FF0 = 0
FF1 = 0.02
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 10
ENCODER_SCALE = 2000
OUTPUT_SCALE = 1
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 = YES
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = YES

[AXIS_2]
NAME = Z
TYPE = LINEAR
HOME = 0.0
FERROR = 1000.0
MIN_FERROR = 1000.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 5000.0
P = 1
I = 0
D = 0
FF0 = 0
FF1 = 0
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 10
ENCODER_SCALE = 500
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 = YES
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = YES

[AXIS_3]
NAME = X2
TYPE = LINEAR
HOME = 0.0
FERROR = 1000.0
MIN_FERROR = 1000.0
MAX_VELOCITY = 200.0
MAX_ACCELERATION = 5000.0
P = 1
I = 0
D = 0
FF0 = 0
FF1 = 0.02
FF2 = 0
BIAS = 0
DEADBAND = 0
MAX_OUTPUT = 10
ENCODER_SCALE = 2000
OUTPUT_SCALE = 1
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 = YES
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = YES


[EMCIO]
# Name of IO controller program, e.g., io
EMCIO =                 io
# cycle time, in seconds
CYCLE_TIME =            0.100
# tool table file
TOOL_TABLE = tool.tbl



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

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.a.do-pid-calcs                    servo-thread
addf pid.y.do-pid-calcs                    servo-thread
addf pid.z.do-pid-calcs                    servo-thread




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

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



# ######################################################
# AXIS X1
# ######################################################
#   -------PID--------
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-vel-cmd       =>    pid.x.command-deriv
net x-output        =>    pid.x.output
net x-vel-fb        =>    pid.x.feedback-deriv


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

# --------feed back--------------
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
net x-index-enable        axis.0.index-enable  <=> to_pci.1.feedback.index_en0



# ------PWM Generator signals/setup----------------------
net x-enable              axis.0.amp-enable-out
net x-enable       =>     to_pci.1.enable_drive

setp  to_pci.1.PWM.out_scale0 [AXIS_0]OUTPUT_SCALE
net x-output       =>     to_pci.1.PWM.dcontrol0

net x-pos-cmd    axis.0.motor-pos-cmd


# ######################################################
# AXIS X2
# ######################################################
#   -------PID--------
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-vel-cmd       =>  pid.a.command-deriv
net a-output        =>  pid.a.output
net a-vel-fb       =>   pid.a.feedback-deriv


net a-enable        =>    pid.a.enable
net a-output              pid.a.output
net a-pos-cmd       =>    pid.a.command
net a-pos-fb        =>    pid.a.feedback

# --------feed back--------------
setp  to_pci.1.feedback.enc_scale1 [AXIS_0]ENCODER_SCALE

net a-pos-fb       <=  to_pci.1.feedback.encoder1
net a-pos-fb       =>  axis.3.motor-pos-fb
net a-index-enable             axis.3.index-enable  <=> to_pci.1.feedback.index_en1


# ------PWM Generator signals/setup----------------------
net a-enable           axis.3.amp-enable-out
#net a-enable    =>     to_pci.1.enable_drive

setp  to_pci.1.PWM.out_scale0 [AXIS_3]OUTPUT_SCALE
net a-output =>        to_pci.1.PWM.dcontrol1

net a-pos-cmd    axis.3.motor-pos-cmd


# ######################################################
# AXIS Y
# ######################################################
#   -------PID--------
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-vel-cmd       =>  pid.y.command-deriv
net y-output        =>  pid.y.output
net y-vel-fb       =>   pid.y.feedback-deriv


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

# --------feed back--------------
setp  to_pci.1.feedback.enc_scale3 [AXIS_0]ENCODER_SCALE

net y-pos-fb       <=  to_pci.1.feedback.encoder3
net y-pos-fb       =>  axis.1.motor-pos-fb
net y-index-enable             axis.1.index-enable  <=> to_pci.1.feedback.index_en3


# ------PWM Generator signals/setup----------------------
net y-enable           axis.1.amp-enable-out
#net y-enable    =>     to_pci.1.enable_drive

setp  to_pci.1.PWM.out_scale0 [AXIS_1]OUTPUT_SCALE
net y-output =>        to_pci.1.PWM.dcontrol3

net y-pos-cmd    axis.1.motor-pos-cmd

# ######################################################
# AXIS Z
# ######################################################
#   -------PID--------
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-vel-cmd       =>  pid.z.command-deriv
net z-output        =>  pid.z.output
net z-vel-fb       =>   pid.z.feedback-deriv


net z-enable        =>    pid.z.enable
net z-output              pid.z.output
net z-pos-cmd       =>    pid.z.command
net z-pos-fb        =>    pid.z.feedback

# --------feed back--------------
setp  to_pci.1.feedback.enc_scale2 [AXIS_2]ENCODER_SCALE

net z-pos-fb       <=  to_pci.1.feedback.encoder2
net z-pos-fb       =>  axis.2.motor-pos-fb
net z-index-enable             axis.2.index-enable  <=> to_pci.1.feedback.index_en2


# ------PWM Generator signals/setup----------------------
net z-enable           axis.2.amp-enable-out
#net z-enable    =>     to_pci.1.enable_drive

setp  to_pci.1.PWM.out_scale0 [AXIS_0]OUTPUT_SCALE
net z-output =>        to_pci.1.PWM.dcontrol2

net z-pos-cmd    axis.2.motor-pos-cmd












#-----------DISCRET SIGNALS -----------------------------------
#net buton_test => to_pci.1.pins.pin-05-out


#-----------INPUTS --------------------------------------------
net led-alm       =>     to_pci.1.pins.pin-00-in
net led-son       =>     to_pci.1.pins.pin-01-in
net led-rdy-x1    =>     to_pci.1.pins.pin-02-in
net led-rdy-x2    =>     to_pci.1.pins.pin-03-in
net led-rdy-y     =>     to_pci.1.pins.pin-04-in
net led-rdy-z     =>     to_pci.1.pins.pin-05-in


#-----------OUTPUTS --------------------------------------------
net x-enable => to_pci.1.pins.pin-00-out



Как починить ось А оси Х?
mmv
Мастер
Сообщения: 634
Зарегистрирован: 24 май 2016, 21:58
Репутация: 38
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение mmv »

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

# ######################################################
# AXIS Z
# ######################################################
#   -------PID--------
setp   pid.z.Pgain     [AXIS_2]P
setp   pid.z.Igain     [AXIS_2]I
setp   pid.z.Dgain     [AXIS_2]D
setp   pid.z.bias      [AXIS_2]BIAS
setp   pid.z.FF0       [AXIS_2]FF0
setp   pid.z.FF1       [AXIS_2]FF1
setp   pid.z.FF2       [AXIS_2]FF2
setp   pid.z.deadband  [AXIS_2]DEADBAND
setp   pid.z.maxoutput [AXIS_2]MAX_OUTPUT

net z-vel-cmd       =>  pid.z.command-deriv
net z-output        =>  pid.z.output
net z-vel-fb       =>   pid.z.feedback-deriv


net z-enable        =>    pid.z.enable
net z-output              pid.z.output
net z-pos-cmd       =>    pid.z.command
net z-pos-fb        =>    pid.z.feedback

# --------feed back--------------
setp  to_pci.1.feedback.enc_scale2 [AXIS_2]ENCODER_SCALE

net z-pos-fb       <=  to_pci.1.feedback.encoder2
net z-pos-fb       =>  axis.2.motor-pos-fb
net z-index-enable             axis.2.index-enable  <=> to_pci.1.feedback.index_en2


# ------PWM Generator signals/setup----------------------
net z-enable           axis.2.amp-enable-out
#net z-enable    =>     to_pci.1.enable_drive

setp  to_pci.1.PWM.out_scale2 [AXIS_2]OUTPUT_SCALE
net z-output =>        to_pci.1.PWM.dcontrol2

net z-pos-cmd    axis.2.motor-pos-cmd

Думаю для оси Z должно быть так.

Если поедет сравните с тем что написано у вас, и на всех осях сделайте так же
Комплект плат PinCET для модернизации станков на Linuxcnc.
http://www.cnc-club.ru/forum/viewtopic. ... 16#p268407
Nikomas
Мастер
Сообщения: 721
Зарегистрирован: 07 янв 2012, 14:31
Репутация: 64
Откуда: Беларусь
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение Nikomas »

mmv писал(а):Если поедет
Без изменений. Завтра попробую напрямую батарейкой поехать.

UPD. Извиняюсь, затупил - не перевел усилки с режима "Положение" в режим "Скорость". Но теперь при включении SON ось сама Z стартует (на пине dcontrol2 10) пока не упрется. На индикаторе энкодера -500мм. Может из-за этого? Но как сбросить счетчик энкодера - я без понятия. Выключение и включение компа и усилка не помогает. Энкодер инкрементный, а не абсолютный.

UUPD. Даже при сбрасывании показаний энкодера ось стартует до упора. На выходе PWM 2 (к нему подключена ось Z) постоянно 15В. Даже без запущенной LCNC.
K@RLSON
Мастер
Сообщения: 259
Зарегистрирован: 08 апр 2011, 22:56
Репутация: 20
Контактная информация:

Re: Настраиваем контроллер to_pci.

Сообщение K@RLSON »

По материалам сообщений #332-#337 из темы http://www.cnc-club.ru/forum/viewtopic. ... &start=320
Поставил 1,5кОм и не подключил привод. Все отлично(хотя и раньше без привода было аналогично).
Ответить

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