Gantry machine progress

More
9 years 2 months ago #96840 by Yannis
Replied by Yannis on topic Gantry machine progres
join0 to tune0 to x one rotation of the motor axis 10mm correct(encoder scale 800)
joint1,joint2 to tune1,tune2 to y1,y2 one rotation of the motor axis 7298mm (encoder scale 800)common P>I>D>settings

Please Log in to join the conversation.

More
9 years 2 months ago #96851 by andypugh
Replied by andypugh on topic Gantry machine progres
Code:
setp pid.y1.Pgain [JOINT_2]P setp pid.y1.Igain [JOINT_2]I setp pid.y1.Dgain [JOINT_2]D setp pid.y1.bias [JOINT_2]BIAS setp pid.y1.FF0 [JOINT_2]FF0 setp pid.y1.FF1 [JOINT_2]FF1 setp pid.y1.FF2 [JOINT_2]FF2 setp pid.y1.deadband [JOINT_2]DEADBAND setp pid.y1.maxoutput [JOINT_2]MAX_OUTPUT setp pid.y1.error-previous-target true net y1-index-enable <=> pid.y1.index-enable net y1-enable => pid.y1.enable net y1-pos-cmd => pid.y1.command net y1-vel-cmd => pid.y1.command-deriv net y1-pos-fb => pid.y1.feedback net y1-output => pid.y1.output # ---PWM Generator signals/setup--- setp hm2_5i25.0.7i77.0.1.analogout2-scalemax [JOINT_1]OUTPUT_SCALE setp hm2_5i25.0.7i77.0.1.analogout2-minlim [JOINT_1]OUTPUT_MIN_LIMIT setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [JOINT_1]OUTPUT_MAX_LIMIT net y1-output => hm2_5i25.0.7i77.0.1.analogout2 net y1-pos-cmd joint.2.motor-pos-cmd net y1-enable joint.2.amp-enable-out # ---Encoder feedback signals/setup--- setp hm2_5i25.0.encoder.01.counter-mode 0 setp hm2_5i25.0.encoder.01.filter 1 setp hm2_5i25.0.encoder.01.index-invert 0 setp hm2_5i25.0.encoder.01.index-mask 0 setp hm2_5i25.0.encoder.01.index-mask-invert 0 setp hm2_5i25.0.encoder.01.scale [JOINT_1]ENCODER_SCALE net y1-pos-fb <= hm2_5i25.0.encoder.02.position net y1-vel-fb <= hm2_5i25.0.encoder.02.velocity net y1-pos-fb => joint.2.motor-pos-fb net y1-index-enable joint.2.index-enable <=> hm2_5i25.0.encoder.02.index-enable net y1-pos-rawcounts <= hm2_5i25.0.encoder.02.rawcounts # ---setup home / limit switch signals--- net y1-home-sw => joint.2.home-sw-in net y1-neg-limit => joint.2.neg-lim-sw-in net y1-pos-limit => joint.2.pos-lim-sw-in

For Y1 ou seem to be choosing the PID gains from the [JOINT_2] section (and I wouldn't) and the encoder scale from the [JOINT_1] section (and I wouldn't :-)

But the main error is that you are setting the scale of encoder.01 in the joint.02 section.

Please Log in to join the conversation.

More
9 years 2 months ago #96880 by Yannis
Replied by Yannis on topic Gantry machine progres
#----y1---


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

net y1-index-enable <=> pid.y1.index-enable
net y1-enable => pid.y1.enable
net y1-pos-cmd => pid.y1.command
net y1-vel-cmd => pid.y1.command-deriv
net y1-pos-fb => pid.y1.feedback
net y1-output => pid.y1.output

# ---PWM Generator signals/setup---

setp hm2_5i25.0.7i77.0.1.analogout2-scalemax [JOINT_2]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout2-minlim [JOINT_2]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [JOINT_2]OUTPUT_MAX_LIMIT

net y1-output => hm2_5i25.0.7i77.0.1.analogout2
net y1-pos-cmd joint.2.motor-pos-cmd
net y1-enable joint.2.amp-enable-out

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

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

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

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

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

is this the right values?

Please Log in to join the conversation.

More
9 years 2 months ago #96888 by andypugh
Replied by andypugh on topic Gantry machine progres
No, you are still over-writing the values for encoder.01 in the Y1 section rather than setting the values for encoder.02

Please Log in to join the conversation.

More
9 years 2 months ago #96889 by Yannis
Replied by Yannis on topic Gantry machine progres
if you do thinks with out now what you are doing this is what happens
#*******************
# JOINT Y0
#*******************

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

net y0-index-enable <=> pid.y0.index-enable
net y0-enable => pid.y0.enable
net y0-pos-cmd => pid.y0.command
net y0-vel-cmd => pid.y0.command-deriv
net y0-pos-fb => pid.y0.feedback
net y0-output => pid.y0.output

# ---PWM Generator signals/setup---

setp hm2_5i25.0.7i77.0.1.analogout1-scalemax [JOINT_1]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout1-minlim [JOINT_1]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout1-maxlim [JOINT_1]OUTPUT_MAX_LIMIT

net y0-output => hm2_5i25.0.7i77.0.1.analogout1
net y0-pos-cmd joint.1.motor-pos-cmd
net y0-enable joint.1.amp-enable-out

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

setp hm2_5i25.0.encoder.01.counter-mode 0
setp hm2_5i25.0.encoder.01.filter 1
setp hm2_5i25.0.encoder.01.index-invert 0
setp hm2_5i25.0.encoder.01.index-mask 0
setp hm2_5i25.0.encoder.01.index-mask-invert 0
setp hm2_5i25.0.encoder.01.scale [JOINT_1]ENCODER_SCALE

net y0-pos-fb <= hm2_5i25.0.encoder.01.position
net y0-vel-fb <= hm2_5i25.0.encoder.01.velocity
net y0-pos-fb => joint.1.motor-pos-fb
net y0-index-enable joint.1.index-enable <=> hm2_5i25.0.encoder.01.index-enable
net y0-pos-rawcounts <= hm2_5i25.0.encoder.01.rawcounts

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

net y0-home-sw => joint.1.home-sw-in
net y0-neg-limit => joint.1.neg-lim-sw-in
net y0-pos-limit => joint.1.pos-lim-sw-in


#----y1---


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

net y1-index-enable <=> pid.y1.index-enable
net y1-enable => pid.y1.enable
net y1-pos-cmd => pid.y1.command
net y1-vel-cmd => pid.y1.command-deriv
net y1-pos-fb => pid.y1.feedback
net y1-output => pid.y1.output

# ---PWM Generator signals/setup---

setp hm2_5i25.0.7i77.0.1.analogout1-scalemax [JOINT_1]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout2-minlim [JOINT_2]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [JOINT_2]OUTPUT_MAX_LIMIT

net y1-output => hm2_5i25.0.7i77.0.1.analogout2
net y1-pos-cmd joint.2.motor-pos-cmd
net y1-enable joint.2.amp-enable-out

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

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

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

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

net y1-home-sw => joint.2.home-sw-in
net y1-neg-limit => joint.2.neg-lim-sw-in
net y1-pos-limit => joint.2.pos-lim-sw-in
is this near to what i try to fix?

Please Log in to join the conversation.

More
9 years 2 months ago #96890 by andypugh
Replied by andypugh on topic Gantry machine progres
This looks wrong too:

setp hm2_5i25.0.7i77.0.1.analogout1-scalemax [JOINT_1]OUTPUT_SCALE
setp hm2_5i25.0.7i77.0.1.analogout2-minlim [JOINT_2]OUTPUT_MIN_LIMIT
setp hm2_5i25.0.7i77.0.1.analogout2-maxlim [JOINT_2]OUTPUT_MAX_LIMIT

Please Log in to join the conversation.

More
9 years 2 months ago #96891 by Yannis
Replied by Yannis on topic Gantry machine progres
i have to change the Joint 1 to Joint 2 right?

Please Log in to join the conversation.

More
9 years 2 months ago #96893 by Yannis
Replied by Yannis on topic Gantry machine progres
sorry and the analog1 to analog2

Please Log in to join the conversation.

More
9 years 2 months ago #96894 by andypugh
Replied by andypugh on topic Gantry machine progres
No, the problem is the analogout1.
[JOINT_1] might be correct, if you want to share settings.
(But you really do need to make a decision about that, and be consistent)

Please Log in to join the conversation.

More
9 years 2 months ago #96898 by Yannis
Replied by Yannis on topic Gantry machine progres
ok
i change the values an it is the first time i have both y0 and y1 enable and stand still
i can not home the machine because of a problem with the z axis break
when i try to jog the y axis only the y0 motor is rotating, the acceleration on the display is moving, but not the y axis value
where to look for this

Please Log in to join the conversation.

Time to create page: 0.118 seconds
Powered by Kunena Forum