Mesa 7I52 with 3x20/7I68
24 Jun 2014 10:21 #48216
by redbase
Replied by redbase on topic Mesa 7I52 with 3x20/7I68
Correct Peter, enc 1 does not count.
I was checking the encoder pins on P5 of 7i52S.
Are there other signals to check closer to the 7i68 or 3x20 that will help in diagnosis?
So confirming that pin 21- ENCMUX of the 7i52S does not need to be configured in my HAL.
I was checking the encoder pins on P5 of 7i52S.
Are there other signals to check closer to the 7i68 or 3x20 that will help in diagnosis?
So confirming that pin 21- ENCMUX of the 7i52S does not need to be configured in my HAL.
Please Log in or Create an account to join the conversation.
24 Jun 2014 10:41 #48217
by PCW
Replied by PCW on topic Mesa 7I52 with 3x20/7I68
You should not have to do anything with the encmux pins (the driver initializes them)
So are you saying that encoder 1 raw counts do not change with
valid quadrature counts on 7I52 P5 pins 9..16? but encoder 0 on 7I52 P5 1..8 works?
So are you saying that encoder 1 raw counts do not change with
valid quadrature counts on 7I52 P5 pins 9..16? but encoder 0 on 7I52 P5 1..8 works?
Please Log in or Create an account to join the conversation.
24 Jun 2014 11:37 #48218
by redbase
Replied by redbase on topic Mesa 7I52 with 3x20/7I68
Please Log in or Create an account to join the conversation.
25 Jun 2014 09:36 #48236
by redbase
Replied by redbase on topic Mesa 7I52 with 3x20/7I68
Found fault in the Delta servo. Replaced servo and now running.
Please Log in or Create an account to join the conversation.
25 Jun 2014 11:34 #48238
by redbase
Replied by redbase on topic Mesa 7I52 with 3x20/7I68
Peter trying to connect up the third servo, step + dir is mapped but did not see encoder configured in dmesg.
hm2/hm2_3x20.0: 144 I/O Pins used:
hm2/hm2_3x20.0: IO Pin 000 (P4-01): IOPort
hm2/hm2_3x20.0: IO Pin 001 (P4-03): Muxed Encoder #0, pin Muxed A (Input)
hm2/hm2_3x20.0: IO Pin 002 (P4-05): Muxed Encoder #0, pin Muxed B (Input)
hm2/hm2_3x20.0: IO Pin 003 (P4-07): Muxed Encoder #0, pin Muxed Index (Input)
hm2/hm2_3x20.0: IO Pin 004 (P4-09): Muxed Encoder #1, pin Muxed A (Input)
hm2/hm2_3x20.0: IO Pin 005 (P4-11): Muxed Encoder #1, pin Muxed B (Input)
hm2/hm2_3x20.0: IO Pin 006 (P4-13): Muxed Encoder #1, pin Muxed Index (Input)
hm2/hm2_3x20.0: IO Pin 007 (P4-15): IOPort
hm2/hm2_3x20.0: IO Pin 008 (P4-17): IOPort
hm2/hm2_3x20.0: IO Pin 009 (P4-19): IOPort
hm2/hm2_3x20.0: IO Pin 010 (P4-21): Muxed Encoder Select #0, pin Mux Select 0 (Output)
hm2/hm2_3x20.0: IO Pin 011 (P4-23): IOPort
hm2/hm2_3x20.0: IO Pin 012 (P4-25): IOPort
hm2/hm2_3x20.0: IO Pin 013 (P4-27): IOPort
hm2/hm2_3x20.0: IO Pin 014 (P4-29): IOPort
hm2/hm2_3x20.0: IO Pin 015 (P4-31): IOPort
hm2/hm2_3x20.0: IO Pin 016 (P4-33): IOPort
hm2/hm2_3x20.0: IO Pin 017 (P4-35): StepGen #2, pin Step (Output)
hm2/hm2_3x20.0: IO Pin 018 (P4-37): StepGen #2, pin Direction (Output)
hm2/hm2_3x20.0: IO Pin 019 (P4-39): StepGen #1, pin Step (Output)
hm2/hm2_3x20.0: IO Pin 020 (P4-41): StepGen #1, pin Direction (Output)
hm2/hm2_3x20.0: IO Pin 021 (P4-43): StepGen #0, pin Step (Output)
hm2/hm2_3x20.0: IO Pin 022 (P4-45): StepGen #0, pin Direction (Output)
HAL configuration below, for axis 2, is the same as axis 0 & 1
# position command and feedback
net emcmot.02.pos-cmd axis.2.motor-pos-cmd => pid.2.command
net emcmot.02.vel-cmd axis.2.joint-vel-cmd => pid.2.command-deriv
net motor.02.pos-fb <= hm2_[HOSTMOT2](BOARD).0.encoder.02.position axis.2.motor-pos-fb pid.2.feedback
net motor.02.command pid.2.output hm2_[HOSTMOT2](BOARD).0.stepgen.02.velocity-cmd
setp pid.2.error-previous-target true
# encoder feedback setup
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.counter-mode 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.filter 1
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-mask 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-mask-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.scale [AXIS_2]INPUT_SCALE
INI setup
[HOSTMOT2]
DRIVER=hm2_pci
BOARD=3x20
CONFIG="firmware=hm2/3x20-1/svst24_24.bit num_encoders=3 num_stepgens=3"
Can you point me in a direction of where to check this setup for encoder 3?
hm2/hm2_3x20.0: 144 I/O Pins used:
hm2/hm2_3x20.0: IO Pin 000 (P4-01): IOPort
hm2/hm2_3x20.0: IO Pin 001 (P4-03): Muxed Encoder #0, pin Muxed A (Input)
hm2/hm2_3x20.0: IO Pin 002 (P4-05): Muxed Encoder #0, pin Muxed B (Input)
hm2/hm2_3x20.0: IO Pin 003 (P4-07): Muxed Encoder #0, pin Muxed Index (Input)
hm2/hm2_3x20.0: IO Pin 004 (P4-09): Muxed Encoder #1, pin Muxed A (Input)
hm2/hm2_3x20.0: IO Pin 005 (P4-11): Muxed Encoder #1, pin Muxed B (Input)
hm2/hm2_3x20.0: IO Pin 006 (P4-13): Muxed Encoder #1, pin Muxed Index (Input)
hm2/hm2_3x20.0: IO Pin 007 (P4-15): IOPort
hm2/hm2_3x20.0: IO Pin 008 (P4-17): IOPort
hm2/hm2_3x20.0: IO Pin 009 (P4-19): IOPort
hm2/hm2_3x20.0: IO Pin 010 (P4-21): Muxed Encoder Select #0, pin Mux Select 0 (Output)
hm2/hm2_3x20.0: IO Pin 011 (P4-23): IOPort
hm2/hm2_3x20.0: IO Pin 012 (P4-25): IOPort
hm2/hm2_3x20.0: IO Pin 013 (P4-27): IOPort
hm2/hm2_3x20.0: IO Pin 014 (P4-29): IOPort
hm2/hm2_3x20.0: IO Pin 015 (P4-31): IOPort
hm2/hm2_3x20.0: IO Pin 016 (P4-33): IOPort
hm2/hm2_3x20.0: IO Pin 017 (P4-35): StepGen #2, pin Step (Output)
hm2/hm2_3x20.0: IO Pin 018 (P4-37): StepGen #2, pin Direction (Output)
hm2/hm2_3x20.0: IO Pin 019 (P4-39): StepGen #1, pin Step (Output)
hm2/hm2_3x20.0: IO Pin 020 (P4-41): StepGen #1, pin Direction (Output)
hm2/hm2_3x20.0: IO Pin 021 (P4-43): StepGen #0, pin Step (Output)
hm2/hm2_3x20.0: IO Pin 022 (P4-45): StepGen #0, pin Direction (Output)
HAL configuration below, for axis 2, is the same as axis 0 & 1
# position command and feedback
net emcmot.02.pos-cmd axis.2.motor-pos-cmd => pid.2.command
net emcmot.02.vel-cmd axis.2.joint-vel-cmd => pid.2.command-deriv
net motor.02.pos-fb <= hm2_[HOSTMOT2](BOARD).0.encoder.02.position axis.2.motor-pos-fb pid.2.feedback
net motor.02.command pid.2.output hm2_[HOSTMOT2](BOARD).0.stepgen.02.velocity-cmd
setp pid.2.error-previous-target true
# encoder feedback setup
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.counter-mode 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.filter 1
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-mask 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.index-mask-invert 0
setp hm2_[HOSTMOT2](BOARD).0.encoder.02.scale [AXIS_2]INPUT_SCALE
INI setup
[HOSTMOT2]
DRIVER=hm2_pci
BOARD=3x20
CONFIG="firmware=hm2/3x20-1/svst24_24.bit num_encoders=3 num_stepgens=3"
Can you point me in a direction of where to check this setup for encoder 3?
Please Log in or Create an account to join the conversation.
25 Jun 2014 12:16 #48239
by PCW
Replied by PCW on topic Mesa 7I52 with 3x20/7I68
The 7I52 encoder interfaces are multiplexed so the
muxed-encoder #0 signals are used for encoders 0 and 1
and
muxed-encoder #1 signals are used for encoders 2 and 3
if you enable 6 encoders, you will see that GPIO 007,008, and 009
become muxed encoder pins #2 (for encoders 4 and 5)
muxed-encoder #0 signals are used for encoders 0 and 1
and
muxed-encoder #1 signals are used for encoders 2 and 3
if you enable 6 encoders, you will see that GPIO 007,008, and 009
become muxed encoder pins #2 (for encoders 4 and 5)
Please Log in or Create an account to join the conversation.
27 Jun 2014 04:40 #48261
by redbase
Replied by redbase on topic Mesa 7I52 with 3x20/7I68
Thanks Peter, have enabled all 9 axis and begun testing.
Please Log in or Create an account to join the conversation.
10 Jul 2014 08:55 #48602
by redbase
Replied by redbase on topic Mesa 7I52 with 3x20/7I68
Peter will the 3x20/7I68 configuration run on the ISO "Ubuntu 10.04 with LinuxCNC v2.5" out of the box or require a little massage?
This is a new motherboard with a clean ISO install of the above.
Copied the 9-axis project INI, HAL to configs and BIT file to 3x20-1, from working system setup.
Debug gives the following on the new motherboard:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
9axis.hal:125: parameter or pin 'pid.0.error-previous-target' not found
1551
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
This is a new motherboard with a clean ISO install of the above.
Copied the 9-axis project INI, HAL to configs and BIT file to 3x20-1, from working system setup.
Debug gives the following on the new motherboard:
Can not find -sec MOT -var MOT -num 1
Can not find -sec IO -var IO -num 1
Can not find -sec LINUXCNC -var NML_FILE -num 1
Can not find -sec EMC -var NML_FILE -num 1
9axis.hal:125: parameter or pin 'pid.0.error-previous-target' not found
1551
PID TTY STAT TIME COMMAND
Stopping realtime threads
Unloading hal components
Please Log in or Create an account to join the conversation.
10 Jul 2014 09:17 - 10 Jul 2014 09:17 #48603
by PCW
Replied by PCW on topic Mesa 7I52 with 3x20/7I68
The "pid.N.error-previous-target" option was added to the PID component
sometime after LinuxCNC V 2.5
I'm pretty sure its in the latest stable release (2.5.4) so you should be able to just update
linuxcnc with synaptic package manager to 2.5.4 to fix that issue
sometime after LinuxCNC V 2.5
I'm pretty sure its in the latest stable release (2.5.4) so you should be able to just update
linuxcnc with synaptic package manager to 2.5.4 to fix that issue
Last edit: 10 Jul 2014 09:17 by PCW.
The following user(s) said Thank You: redbase
Please Log in or Create an account to join the conversation.
11 Jul 2014 07:49 #48629
by redbase
Replied by redbase on topic Mesa 7I52 with 3x20/7I68
Great 2.5.4 fixed.... wiki.linuxcnc.org/cgi-bin/wiki.pl?Released_2.5.X
No latency errors with this new board, however seem to be dropping/missing encoder pulses for axis 1. Appears to be a damaged IO but will defer to your input following the details below.
1. Axis 0 works, axis 1 counts incorrectly in LinuxCNC , axis 2 onward count correctly
2. Swapping any correctly counting axis with axis 1 produces the same result on axis 1
3. Verified all the encoders into the 7I52S level and phase between A B inputs
4. Swapped 7I52S with a newbie, same result.
Any suggestions for further tests?
No latency errors with this new board, however seem to be dropping/missing encoder pulses for axis 1. Appears to be a damaged IO but will defer to your input following the details below.
1. Axis 0 works, axis 1 counts incorrectly in LinuxCNC , axis 2 onward count correctly
2. Swapping any correctly counting axis with axis 1 produces the same result on axis 1
3. Verified all the encoders into the 7I52S level and phase between A B inputs
4. Swapped 7I52S with a newbie, same result.
Any suggestions for further tests?
Please Log in or Create an account to join the conversation.
Time to create page: 0.115 seconds