7i77 not sending any voltage on TB5 pins 3 and 4

More
01 Oct 2018 21:17 #118320 by scubawarm
I rewired everything and got new DMM drives. They work great with the included utility. And sit very still still with the LinuxCNC GUIs.

BUT when I issue a command to move when I go past the MIN_FERROR value I error out because the card is not sending any command voltage to the drivers.

I did not have this problem when I had the old drives and motors... They just wouldn't sit still... I'm including a little of a set of drives info of the INI and HAL... as I guess it has to be in that somehow.... But is pretty basic stuff generated by PNCConf

[AXIS_Y]
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
MIN_LIMIT = -1.001
MAX_LIMIT = 144.0

[JOINT_2]
TYPE = LINEAR
HOME = 0.0
FERROR = 10
MIN_FERROR = 1
MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
P = 50.0
I = 0.0
D = 0.0
FF0 = 0.0
FF1 = 1.0
FF2 = 0.0
BIAS = 0.0
DEADBAND = 0.0
MAX_OUTPUT = 0.0
ENCODER_SCALE = -34944.0
OUTPUT_SCALE = -10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
MIN_LIMIT = -1.001
MAX_LIMIT = 144.0
HOME_OFFSET = 0.0
HOME_SEARCH_VEL = 0
HOME_LATCH_VEL = 0
HOME_USE_INDEX = NO
HOME_SEQUENCE = -1
HOME equals to HOME_OFFSET


#*******************
# AXIS Y JOINT 2
#*******************

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

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 hm2_7i92.0.7i77.0.1.analogout2-scalemax [JOINT_2]OUTPUT_SCALE
setp hm2_7i92.0.7i77.0.1.analogout2-minlim [JOINT_2]OUTPUT_MIN_LIMIT
setp hm2_7i92.0.7i77.0.1.analogout2-maxlim [JOINT_2]OUTPUT_MAX_LIMIT

net y-output => hm2_7i92.0.7i77.0.1.analogout2
net y-pos-cmd <= joint.2.motor-pos-cmd
net y-enable <= joint.2.amp-enable-out

# ---Encoder feedback signals/setup---

setp hm2_7i92.0.encoder.02.counter-mode 0
setp hm2_7i92.0.encoder.02.filter 1
setp hm2_7i92.0.encoder.02.index-invert 0
setp hm2_7i92.0.encoder.02.index-mask 0
setp hm2_7i92.0.encoder.02.index-mask-invert 0
setp hm2_7i92.0.encoder.02.scale [JOINT_2]ENCODER_SCALE

net y-pos-fb <= hm2_7i92.0.encoder.02.position
net y-vel-fb <= hm2_7i92.0.encoder.02.velocity
net y-pos-fb => joint.2.motor-pos-fb
net y-index-enable joint.2.index-enable <=> hm2_7i92.0.encoder.02.index-enable
net y-pos-rawcounts <= hm2_7i92.0.encoder.02.rawcounts

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

net y-home-sw => joint.2.home-sw-in
net y-neg-limit => joint.2.neg-lim-sw-in
net y-pos-limit => joint.2.pos-lim-sw-in

Please Log in or Create an account to join the conversation.

More
01 Oct 2018 21:25 #118321 by PCW
I dont see anything driving hm2_7i92.0.7i77.0.1.analogena

Please Log in or Create an account to join the conversation.

More
01 Oct 2018 22:34 #118323 by scubawarm
I had this above for joint 0. Which enables it for all correct?

net x-output => hm2_7i92.0.7i77.0.1.analogout0
net x-pos-cmd <= joint.0.motor-pos-cmd
net x-enable <= joint.0.amp-enable-out
# enable _all_ sserial pwmgens
net x-enable => hm2_7i92.0.7i77.0.1.analogena

When I look at Hal Config and move between 0.99 and back to zero
The hm2_7i92.0.7i77.0.1.analogout2 moves between 0 and 49.5
What pin can I watch if there is voltage vs trying to use a physical meter?

Please Log in or Create an account to join the conversation.

More
01 Oct 2018 23:28 #118325 by PCW
Yes, hm2_7i92.0.7i77.0.1.analogena enables channels 0..4

The hm2_7i92.0.7i77.0.1.analogoutN pins will indicate voltage _if_ the output scale is 10 (and the output is not bounded by the minlim or maxlim values)

I would however disconnect any load and measure at the TB5 output pins with a voltmeter before proceeding

Please Log in or Create an account to join the conversation.

More
01 Oct 2018 23:51 #118327 by scubawarm
I did check with a voltmeter while connected to the drive, but will try with it disconnected.

Why do I get a value of 49.5 at 0.99 inch and 0 at 0 on analogoutN? Seems more like a position than a speed voltage +-10

Please Log in or Create an account to join the conversation.

More
02 Oct 2018 00:03 - 02 Oct 2018 00:06 #118329 by PCW
The PID output is scaled in volts if you use the default 10 output scale
it sounds like you have a P value of 50 so a .99 inch error will result in a 49.5 volt correction voltage
(of course this is bounded by the hardware and the min/max limit settings).

If you set the output scale to the axis velocity at 10V (in machine units per second) and adjust the min/max limits
to accomodate the new range, the PID output it will be scaled in velocity. This has the advantage of "normalizing"
the PID numbers so everything is in sensible machine units and FF1 is known (=1.0)
Last edit: 02 Oct 2018 00:06 by PCW.
The following user(s) said Thank You: scubawarm

Please Log in or Create an account to join the conversation.

More
02 Oct 2018 00:33 - 02 Oct 2018 01:40 #118330 by scubawarm
Ok... I'm not sure I got all that.. but here goes

MAX_VELOCITY = 1.0
MAX_ACCELERATION = 30.0
(Leave the velocity at 60in per minute for now, but reducing acceleration to 12.0)

P = 50.0
(Changing to 10)

FF1 = 1.0
(Leaving at 1)

DEADBAND = 0.0
(Changing to 0.001)

MAX_OUTPUT = 0
(Is this correct @ zero? I don't think so this should be 10 and is my problem why I'm not getting any voltage to move the motors.)

ENCODER_SCALE = -34944.0
OUTPUT_SCALE = -10.0
OUTPUT_MIN_LIMIT = -10.0
OUTPUT_MAX_LIMIT = 10.0
(Leaving all these as is)
Last edit: 02 Oct 2018 01:40 by scubawarm.

Please Log in or Create an account to join the conversation.

More
02 Oct 2018 19:38 #118374 by scubawarm
Yes the MAX_OUTPUT = 10 got me voltage, BUT...

It appears DYN4 drives logic for enabling and disabling the drives is still backwards... I found some old threads on this... crazy for something that should be so simple. They are looking at it, but I am not very optimistic about not having to find a NC relay to get this to work.

Only bright side is my failures with both sets of drives and motors, has me thinking I'm actually starting to understand all this. (not that I really wanted to... LOL)

Please Log in or Create an account to join the conversation.

More
02 Oct 2018 19:59 #118375 by PCW
Yeah, disables (rather then enables) on drives is fairly dumb

I can see why low power step motor drives do this so it can be ignored
and it will work if not connected. but defaulting to being enabled is not a
great thing on a servo drive.

I think a NC relay or form B OPTO is the easiest solution

Please Log in or Create an account to join the conversation.

More
15 Nov 2018 13:01 #120749 by COlger81
I also have drive inhibit as opposed to drive enable. The way my old control worked was as soon as estop was released, the drives were enabled. So their was no "machine on". Is their a way to enable and disable (turn machine on and off) machine along with estop? And are their issues that could come of this?

Please Log in or Create an account to join the conversation.

Moderators: PCWjmelson
Time to create page: 0.291 seconds
Powered by Kunena Forum