Gantry machine progress

More
01 Aug 2017 15:15 #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 or Create an account to join the conversation.

More
01 Aug 2017 18:29 #96851 by andypugh
Replied by andypugh on topic Gantry machine progres
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 or Create an account to join the conversation.

More
02 Aug 2017 06:47 #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 or Create an account to join the conversation.

More
02 Aug 2017 10:34 #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 or Create an account to join the conversation.

More
02 Aug 2017 10:49 #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 or Create an account to join the conversation.

More
02 Aug 2017 11:17 #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 or Create an account to join the conversation.

More
02 Aug 2017 11:24 - 02 Aug 2017 11:34 #96891 by Yannis
Replied by Yannis on topic Gantry machine progres
i have to change the Joint 1 to Joint 2 right?
Last edit: 02 Aug 2017 11:34 by Yannis.

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

More
02 Aug 2017 11:33 #96893 by Yannis
Replied by Yannis on topic Gantry machine progres
sorry and the analog1 to analog2

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

More
02 Aug 2017 11:35 #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 or Create an account to join the conversation.

More
02 Aug 2017 12:03 #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 or Create an account to join the conversation.

Time to create page: 0.217 seconds
Powered by Kunena Forum