Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #######
- #Spindle uses encoder.02 and pwmgen.02
- #######
- #spindle scales
- addf scale.0 servo-thread
- addf scale.1 servo-thread
- #10v/6000rpm=0.001667
- setp scale.0.gain -0.000201
- # offset for spindle
- #setp scale.0.offset 0.0001loadrt pwmgen output_type=0 # This creates a 1Hz signal
- setp scale.1.gain 60
- #load abs comp make spindle RPM pos
- loadrt abs count=3
- addf abs.0 servo-thread
- addf abs.1 servo-thread
- addf abs.2 servo-thread
- #spindle speed out limits
- loadrt limit1 count=1
- addf limit1.0 servo-thread
- setp limit1.0.min -6000
- setp limit1.0.max 6000
- #set scale and pwm
- setp hm2_5i20.0.encoder.02.scale -4096
- setp hm2_[HOSTMOT2](BOARD).0.pwmgen.02.output-type 1
- net spindle-speed-limit motion.spindle-speed-out => limit1.0.in
- net spindle-speed-limit-out limit1.0.out => scale.0.in
- net spindle-speed-DAC scale.0.out => hm2_5i20.0.pwmgen.02.value
- net spindle-rpm => abs.1.in
- net spindle-speed-abs <= abs.1.out
- #spindle enable
- net spindle-enable-req motion.spindle-on => and2.1.in0
- net spindle-brake-sensor hm2_5i20.0.gpio.051.in_not => and2.1.in1
- net spindle-enable and2.1.out => hm2_5i20.0.pwmgen.02.enable
- # enable spindle drive
- net spindle-enable => hm2_5i20.0.gpio.065.out
- # force spindle lock pin out
- net spindle-enable => hm2_5i20.0.gpio.042.out
- # release spindle brake
- net spindle-brake-prg not.0.out => or2.2.in0
- net spindle-brake-logic motion.spindle-brake => not.0.in
- net spindle-brake hm2_5i20.0.gpio.040.out <= or2.2.out
- #spindle sync
- net spindle-index motion.spindle-index-enable <= hm2_5i20.0.encoder.02.index-enable
- net spindle-velocity motion.spindle-speed-in <= hm2_5i20.0.encoder.02.velocity
- net spindle-revs motion.spindle-revs <= hm2_5i20.0.encoder.02.position
- net spindle-velocity => abs.0.in
- net spindle-v-abs abs.0.out => scale.1.in
- net spindle-v-abs-out <= scale.1.out
- # spindle speed
- net spindle-velocity mult2.0.in0
- setp mult2.0.in1 60
- net spindle-abs abs.2.in mult2.0.out
- net spindle-rpm abs.2.out
- # spindle at speed
- setp near.0.difference 0.15
- net spindle-velocity near.0.in1
- net com-spindle-vel near.0.in2 <= motion.spindle-speed-out-rps
- net spindle-at-speed near.0.out <= motion.spindle-at-speed
- # trick Axis
- net trick-axis motion.spindle-reverse
- #######
- #end of spindle
- ######
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement