All pastes #2018753 Raw Edit

nikos.chalikias.bldc_sine.hal

public text v1 · immutable
#2018753 ·published 2010-12-13 20:58 UTC
rendered paste body
loadrt trivkins
loadrt [EMCMOT]EMCMOT servo_period_nsec=[EMCMOT]SERVO_PERIOD num_joints=[TRAJ]AXES num_aio=8 num_dio=8
loadrt probe_parport
loadrt hostmot2
# SVST8_4.BIT
# TPEN6_6.BIT

#loadrt hm2_pci config="firmware=hm2/5i20/TPEN6_6.BIT num_3pwmgens=2 enable_raw"
loadrt hm2_pci config="firmware=hm2/5i20/svtp6_7i39.bit num_3pwmgens=2"

loadrt bldc_sine
loadrt pid num_chan=1

addf motion-command-handler 	servo-thread
addf motion-controller 		servo-thread
addf hm2_5i20.0.read         	servo-thread
addf hm2_5i20.0.pet_watchdog 	servo-thread
addf hm2_5i20.0.write        	servo-thread
addf bldc-sine.0		servo-thread
addf pid.0.do-pid-calcs				servo-thread

net A-phase bldc-sine.0.A-value => hm2_5i20.0.3pwmgen.00.A-value
net B-phase bldc-sine.0.B-value => hm2_5i20.0.3pwmgen.00.B-value
net C-phase bldc-sine.0.C-value => hm2_5i20.0.3pwmgen.00.C-value

setp hm2_5i20.0.3pwmgen.00.scale 50
setp hm2_5i20.0.3pwmgen.00.enable true
setp bldc-sine.0.initvalue 40
setp bldc-sine.0.scale 2000
setp bldc-sine.0.dir 1

net enc0 hm2_5i20.0.encoder.00.rawcounts => bldc-sine.0.rawcounts
setp hm2_5i20.0.encoder.00.scale 1600

net xpos-cmd axis.0.motor-pos-cmd => pid.0.command
net xpos-fb hm2_5i20.0.encoder.00.position => pid.0.feedback axis.0.motor-pos-fb
net pwm pid.0.output => bldc-sine.0.value

setp pid.0.Pgain 100
setp pid.0.maxoutput 47
setp pid.0.Igain 0
setp pid.0.Dgain 0
setp pid.0.FF1 0
setp pid.0.FF2 0
setp pid.0.maxerrorI 1
setp pid.0.Igain 1

net estop-out iocontrol.0.user-enable-out => bldc-sine.0.init => iocontrol.0.emc-enable-in pid.0.enable
net align bldc-sine.0.init-done => motion.enable