48 lines
1.7 KiB
Plaintext
48 lines
1.7 KiB
Plaintext
# HAL config file for Pico Systems USC board with encoders
|
|
|
|
# set sane pulse timing - these are basically Gecko numbers
|
|
# both pulse width and space are set to 3.5 uS, to prevent
|
|
# problems if the outputs are inverted externally
|
|
setp ppmc.0.stepgen.00-03.pulse-width-ns 3500
|
|
setp ppmc.0.stepgen.00-03.pulse-space-min-ns 3500
|
|
# setup time is set to 1 uS
|
|
setp ppmc.0.stepgen.00-03.setup-time-ns 1000
|
|
|
|
# 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
|
|
|
|
# get feedback scaling from ini file
|
|
setp ppmc.0.encoder.00.scale [JOINT_0]INPUT_SCALE
|
|
setp ppmc.0.encoder.01.scale [JOINT_1]INPUT_SCALE
|
|
setp ppmc.0.encoder.02.scale [JOINT_2]INPUT_SCALE
|
|
setp ppmc.0.encoder.03.scale [JOINT_3]INPUT_SCALE
|
|
|
|
# connect PID output signals to step generators
|
|
net Xoutput => ppmc.0.stepgen.00.velocity
|
|
net Youtput => ppmc.0.stepgen.01.velocity
|
|
net Zoutput => ppmc.0.stepgen.02.velocity
|
|
net Aoutput => ppmc.0.stepgen.03.velocity
|
|
|
|
# connect axis enables to step generators
|
|
net Xenable => ppmc.0.stepgen.00.enable
|
|
net Yenable => ppmc.0.stepgen.01.enable
|
|
net Zenable => ppmc.0.stepgen.02.enable
|
|
net Aenable => ppmc.0.stepgen.03.enable
|
|
|
|
# set output scaling from ini file
|
|
# input and output scales should (normally) be the same for a USC
|
|
setp ppmc.0.stepgen.00.scale [JOINT_0]OUTPUT_SCALE
|
|
setp ppmc.0.stepgen.01.scale [JOINT_1]OUTPUT_SCALE
|
|
setp ppmc.0.stepgen.02.scale [JOINT_2]OUTPUT_SCALE
|
|
setp ppmc.0.stepgen.03.scale [JOINT_3]OUTPUT_SCALE
|
|
|
|
# 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
|
|
|