adding the spindle encoder questions (PPMC)
- Jake
- Offline
- Elite Member
Less
More
- Posts: 315
- Thank you received: 10
25 Dec 2016 22:25 #84691
by Jake
adding the spindle encoder questions was created by Jake
Merry Christmas to everyone
I need to add the spindle encoder to my machine. I have Pico hardware, Jon gave me some additional code to enter in my config files. But now I and getting
ppmc.0.encoder.04.index-enable not found
I think I need to add the information for the spindle encoder in my IO and motion.hal files
All the other axis are x,y,z....
would the spindle be S axis like....or is the spindle letter designation something else? or what ever I want as long as its consistent ?
net Sindex <= axis.4.index-enable ppmc.0.encoder.04.index-enable
It would still be the 4 axis on my encoder card which makes me think I need to move it to axis 3 as its 0,1,2,3
I dont have the actual 4th "A" setup yet, that will be in the future, but I need more hardware for that
I think in my motion.hal files I need to add all the info for the spindle axis also. What I have tried so far has not been successful.
Thanks again everyone!
I need to add the spindle encoder to my machine. I have Pico hardware, Jon gave me some additional code to enter in my config files. But now I and getting
ppmc.0.encoder.04.index-enable not found
I think I need to add the information for the spindle encoder in my IO and motion.hal files
All the other axis are x,y,z....
would the spindle be S axis like....or is the spindle letter designation something else? or what ever I want as long as its consistent ?
net Sindex <= axis.4.index-enable ppmc.0.encoder.04.index-enable
et Xindex <= axis.0.index-enable ppmc.0.encoder.00.index-enable
net Yindex <= axis.1.index-enable ppmc.0.encoder.01.index-enable
net Zindex <= axis.2.index-enable ppmc.0.encoder.02.index-enable
net Sindex <= axis.4.index-enable ppmc.0.encoder.04.index-enable
It would still be the 4 axis on my encoder card which makes me think I need to move it to axis 3 as its 0,1,2,3
I dont have the actual 4th "A" setup yet, that will be in the future, but I need more hardware for that
I think in my motion.hal files I need to add all the info for the spindle axis also. What I have tried so far has not been successful.
# connect position feedback signals to encoders
net Xpos-fb <= ppmc.0.encoder.00.position
net Ypos-fb <= ppmc.0.encoder.01.position
net Zpos-fb <= ppmc.0.encoder.02.position
#net Apos-fb <= ppmc.0.encoder.03.position
#net Spos-fb <= ppmc.0.encoder.04.position
# get feedback scaling from ini file
setp ppmc.0.encoder.00.scale [AXIS_0]INPUT_SCALE
setp ppmc.0.encoder.01.scale [AXIS_1]INPUT_SCALE
setp ppmc.0.encoder.02.scale [AXIS_2]INPUT_SCALE
#setp ppmc.0.encoder.03.scale [AXIS_3]INPUT_SCALE
#net ppmc.0.encoder.04.scale [AXIS_4] INPUT_SCALE
# connect PID output signals to step generators
net Xoutput => ppmc.0.DAC.00.value
net Youtput => ppmc.0.DAC.01.value
net Zoutput => ppmc.0.DAC.02.value
#net Aoutput => ppmc.0.DAC.03.value
# set output scaling from ini file
setp ppmc.0.DAC.00.scale [AXIS_0]OUTPUT_SCALE
setp ppmc.0.DAC.01.scale [AXIS_1]OUTPUT_SCALE
setp ppmc.0.DAC.02.scale [AXIS_2]OUTPUT_SCALE
#setp ppmc.0.DAC.03.scale [AXIS_3]OUTPUT_SCALE
# set slowest velocity for estimation
setp ppmc.0.encoder.00.min-speed-estimate 0.001
setp ppmc.0.encoder.01.min-speed-estimate 0.001
setp ppmc.0.encoder.02.min-speed-estimate 0.001
#setp ppmc.0.encoder.03.min-speed-estimate 0.001
# Here's the part that connects the encoder velocity to the PID
net Xfbderiv ppmc.0.encoder.00.velocity pid.0.feedback-deriv
net Yfbderiv ppmc.0.encoder.01.velocity pid.1.feedback-deriv
net Zfbderiv ppmc.0.encoder.02.velocity pid.2.feedback-deriv
#net Afbderiv ppmc.0.encoder.03.velocity pid.3.feedback-deriv
# add a couple of tuning test links
# if these are useful will want to add them to the other axes as well
# or make these setup with the tuning script
net Xoutput ddt.0.in
net Xpos-fb ddt.1.in
# hook up motion controller's sync output
net spindle-index-en ppmc.0.encoder.04.index-enable motion.spindle-index-enable
# report rev count to motion controller
net spindle-pos ppmc.0.encoder.04.position motion.spindle-revs
# set up 4th DAC generator as a spindle speed control
newsig spindle-speed float
newsig spindle-DAC-cmd float
newsig spindle-DAC-filt float
newsig spindle-DAC-abs float
net spindle-speed motion.spindle-speed-out mult2.1.in0
setp mult2.1.in1 0.002457
net spindle-DAC-cmd mult2.1.out lowpass.0.in
net spindle-DAC-filt lowpass.0.out => abs.0.in
setp lowpass.0.gain 0.005
net spindle-DAC-abs abs.0.out ppmc.0.DAC.03.value
setp ppmc.0.encoder.04.scale 5000
# spindle speed display
addf lowpass.1 servo-thread
net spinraw ppmc.0.encoder.04.delta conv-s32-float.0.in
net spinfloat conv-s32-float.0.out mult2.0.in0
setp mult2.0.in1 0.012 # (60/5000/rev)
net rawSpindleRPM mult2.0.out => lowpass.1.in
setp lowpass.1.gain 0.02
newsig SpindleRPM float
linkps lowpass.1.out => SpindleRPM
Thanks again everyone!
Please Log in or Create an account to join the conversation.
Moderators: PCW, jmelson
Time to create page: 0.049 seconds