Страница 4 из 46
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 22 янв 2017, 16:08
MGG
Товарищи, прошу наставить на путь истинный, есть 3 датчика индукционных замкнутых, по мануалам цвета: коричневый +, синий земля, черный сигнал.
Суть такая, датчики при подключении по одному при приближении металла срабатывают только если на черный подавать землю, а синий идет сигналом(китаезы попутали, или я чего не догоняю?). Т.е. вроде как то работают, но тут загвоздка, если цеплять 3 датчика, т.е. общее питание, общая земля, то им вообще все равно, обрыва не происходит.
Датчики походу вот такие
http://darxton.ru/catalog_item/datchik- ... a3-2-z-ax/
Подскажите, где туплю! Благодарю!
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 22 янв 2017, 18:41
MGG
победил, но не по цветам, а просто более жирный кабель кинул на землю, и все теперь звонится .
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 23 янв 2017, 18:27
MGG
Подскажите по компоненту not,
net home-z <= to_pci.1.pins.pin-26-in not.2.in
такой вариант правильный? Хочу инвертировать вход, но что-то ничего не меняется. Звонится звониться, а ЛЦНЦ никак не реагирует.
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 23 янв 2017, 21:33
Serg
А как он должен реагировать? На not.2.out что происходит?
P.S. А разве нет to_pci.1.pins.pin-26-in-not? Это-же ничего не стоит...
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 25 янв 2017, 00:37
MGG
UAVpilot писал(а):А как он должен реагировать? На not.2.out что происходит?
Пытаюсь завести датчики нормально замкнутые, проблема как раз в том, что ничего не происходит, хотя тестером звонится. Т.е. наезжаю на датчик, сигнал пропадает, съезжаю появляется. Кстати, еще странный момент, сигнал пропадает только когда минусовой щуп на земле, если + на землю, то он пищит еще какое то время после того как убираешь. Всегда думал что при прозвонке на поляроность все равно.
UAVpilot писал(а):P.S. А разве нет to_pci.1.pins.pin-26-in-not? Это-же ничего не стоит...
Создатель завел пины под это дело, но я пытаюсь попробовать все варианты.
Осталось 2 варианта, или датчикам хана, или их как то хитро надо заводить.
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 25 янв 2017, 11:42
vovafed
хал метр на пине что показывает ?
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 25 янв 2017, 11:53
MGG
to_pci.1.pins.pin-26-in - просто FALSE
to_pci.1.pins.pin-26-in-n - (это создатель сделал аналог -not) TRUE
to_pci.1.pins.pin-26-in not.2.in - FALSE
И состояние не меняется.
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 25 янв 2017, 18:41
vovafed
http://www.cnc-club.ru/forum/viewtopic. ... 74#p271774
если вход как здесь
третий раз перерисовываю доча помогает)
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 25 янв 2017, 20:13
vovafed
или так без резистора
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 26 янв 2017, 14:24
MGG
Спасибо! Сегодня буду пробовать!
Только вопрос, 3 датчики если скручены будут по земле, будут работать? Или тут + в AGND надо, а черные в IN ? Просто насколько я понимаю черный будет идти на разрыв.
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 26 янв 2017, 14:44
vovafed
да если подавать сигнал на разные пины
можно скрутить и соеденить напитание
а (черные) сигнальные провода завести на сигнальные минусовые входы платы
плюсовые сигнальные входы платы можно обьеденить и подключить к плюсу питания
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 26 янв 2017, 21:14
MGG
vovafed писал(а):да если подавать сигнал на разные пины
можно скрутить и соеденить напитание
а (черные) сигнальные провода завести на сигнальные минусовые входы платы
плюсовые сигнальные входы платы можно обьеденить и подключить к плюсу питания
Ситуация конечно странная, работает как по схеме без резистора, и только так,[s] любые другие варианты хал-метр не реагирует никак [/s]
Весь юмор в том, что у меня 3 датчика HOME и как раз это единственная схема, которая не подходит
upd: fix с резистором один запустил, на очереди еще 2

Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 26 янв 2017, 21:58
vovafed
с резистором сигнал будет как с нормально разомкнутым датчиком
возможно еще в этой схеме сопротивление меньше надо будет или напряжение питания больше
чтоб стабильней работало
по схеме без резистора нормально замкнутый сигнал
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 26 янв 2017, 22:23
MGG
Интересно, у всех такие танцы с бубнами, или все же я очень везучий и мне так везет. Вот вопрос, повезло с датчиками или с контроллером
.
vovafed писал(а):с резистором сигнал будет как с нормально разомкнутым датчиком
возможно еще в этой схеме сопротивление меньше надо будет или напряжение питания больше
чтоб стабильней работало
по схеме без резистора нормально замкнутый сигнал
Да уже хоть как то запустить. По схеме без резистора, датчик меняет состояние ХАЛ, но проблема в том, что их 3. Если + запускать в АГНД, то ничего не происходит.
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 27 янв 2017, 09:08
vovafed
не понял как хотите соеденить

Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 27 янв 2017, 09:10
MGG
vovafed писал(а):не понял как хотите соеденить
Соеденил как по схеме с резистором, все даже работает, во всяком случае в HAL пин состояние меняет
Я часто бываю мастером объяснений!
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 27 янв 2017, 21:19
MGG
И снова засада, в упор не могу понять, где я накосячил, состояние пинов меняется, но оси на датчики никак не реагируют.
Код: Выделить всё
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES
loadrt not count=3
# 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
addf not.0 servo-thread
addf not.1 servo-thread
addf not.2 servo-thread
net x-enable to_pci.1.pins.pin-00-out
net a-enable to_pci.1.pins.pin-01-out
net y-enable to_pci.1.pins.pin-02-out
net z-enable to_pci.1.pins.pin-03-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-24-in-n
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-vel-cmd => pid.x.command-deriv
net x-output => pid.x.output
net x-vel-fb => pid.x.feedback-deriv
# ---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 2000
net x1-pos-fb => to_pci.1.feedback.encoder0
net x-index-enable to_pci.1.feedback.index_en0
#*******************
# 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-vel-cmd => pid.a.command-deriv
net a-output => pid.a.output
net a-vel-fb => pid.a.feedback-deriv
net a-enable axis.3.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 2000
#net a-pos-fb <= to_pci.1.feedback.encoder1
net x2-pos-fb => to_pci.1.feedback.encoder1
net a-index-enable to_pci.1.feedback.index_en1
#*******************
# 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.1.amp-enable-out
net y-enable => to_pci.1.pins.pin-02-out
net y-output => to_pci.1.dcontrol2
net y-pos-cmd axis.1.motor-pos-cmd
# --------fb--------------
setp to_pci.1.feedback.enc_scale2 -2000
net y-pos-fb <= to_pci.1.feedback.encoder2
net y-pos-fb => axis.1.motor-pos-fb
net y-index-enable axis.1.index-enable <=> to_pci.1.feedback.index_en2
net min-home-y => axis.1.home-sw-in
#net min-home-y => axis.2.neg-lim-sw-in
net y-pos-limit => axis.1.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.2.amp-enable-out
net z-enable => to_pci.1.pins.pin-03-out
net z-output => to_pci.1.dcontrol3
net z-pos-cmd axis.2.motor-pos-cmd
# --------fb--------------
setp to_pci.1.feedback.enc_scale3 -2000
net z-pos-fb <= to_pci.1.feedback.encoder3
net z-pos-fb => axis.2.motor-pos-fb
net z-index-enable axis.2.index-enable <=> to_pci.1.feedback.index_en3
net min-home-z => axis.2.home-sw-in
#net min-home-z => axis.2.neg-lim-sw-in
net z-pos-limit => axis.2.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---
Код: Выделить всё
DRIVER=to_pci
[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]
DISPLAY = axis
CYCLE_TIME = 0.200
MAX_FEED_OVERRIDE = 1.200000
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 = 250.000000
MAX_LINEAR_VELOCITY = 250.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
[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
PARAMETER_FILE = linuxcnc.var
[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 = my.hal
POSTGUI_HALFILE = custom_postgui.hal
[TRAJ]
AXES = 4
JOINTS = 4
COORDINATES = X Y Z
HOME = 0 0 0 0
LINEAR_UNITS = mm
ANGULAR_UNITS = degree
CYCLE_TIME = 0.010
DEFAULT_VELOCITY = 50
MAX_VELOCITY = 200
DEFAULT_ACCELERATION = 100.0
MAX_ACCELERATION = 7.0
[AXIS_0]
TYPE = LINEAR
HOME = 0.0
FERROR = 10
MIN_FERROR = 10
MAX_VELOCITY = 2000
MAX_ACCELERATION = 300.0
P = 4
I = 0
D = 0.02
FF0 = 0
FF1 = 0.065
FF2 = 0
BIAS = 0
DEADBAND = 0.05
MAX_OUTPUT = 10
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 = YES
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = NO
[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 = YES
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = NO
[AXIS_2]
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 = 1.0
HOME_FINAL_VEL = 0.01000
HOME_USE_INDEX = YES
HOME_SEQUENCE = 0
HOME_IGNORE_LIMITS = NO
[AXIS_3]
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 = YES
HOME_SEQUENCE = 1
HOME_IGNORE_LIMITS = NO
[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
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 27 янв 2017, 21:37
vovafed
net home-z <= to_pci.1.pins.pin-26-in
это вход датчика подключен к сигналу net home-z
он должен идти сюда но тут подключен другой сигнал
net min-home-z => axis.2.home-sw-in
тоесть должно быть так
net home-z => axis.2.home-sw-in
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 27 янв 2017, 21:43
Serg
MGG писал(а):И снова засада, в упор не могу понять, где я накосячил, состояние пинов меняется, но оси на датчики никак не реагируют.
Прослеживай путь сигнала от пина до конца - у тебя там "разрывы".
Re: Портальник по мягким металлам по проекту Фрезеряги.
Добавлено: 27 янв 2017, 22:08
MGG
vovafed писал(а):net home-z <= to_pci.1.pins.pin-26-in
это вход датчика подключен к сигналу net home-z
он должен идти сюда но тут подключен другой сигнал
net min-home-z => axis.2.home-sw-in
тоесть должно быть так
net home-z => axis.2.home-sw-in
Владимир, огромное спасибо! Усе получилось, правда пока по Y и Z. самое смешное что один датчик настроен на замкнутый, второй на разомкнутый, но оба отрабатывают.
UAVpilot писал(а):Прослеживай путь сигнала от пина до конца - у тебя там "разрывы".
Не я в очередной раз убеждаюсь, что у меня почти все косяки в настройках.
Вот сейчас например по Х егантри у меня начинает или одна сторона дергаться, или обе туда сюда выстреливают и вышибает драйвер сервы по перегрузке у одной сервы, уверен косяк в настройках моих.