Tak jsem teď projížděl Linux manuál.Tomis píše:To mi neříkej, že se to se Step / Gen servem nedá udělat bez enkodéru.RaS píše:na řezání závitu potřebuješ zpětnou vazbu..
Step / gen je přeci přesná poloha, systém ví kde to servo je, podle toho kolika pulsama ho krmí...
Podle mě jde akorát o to, ty step gen pulsy co posílá linux vřetenu slinkovat v HALu s pozici vřetena.
Ale to já neumím.
T.
A teoreticky by stačilo do mýho HAL doplnit řádek
net spindle-vel-fb <= motion.spindle-speed-out-rps
Nechce se mi až věřit, že by to bylo tak jednoduché
V manuálu ale stojí
motion.spindle-speed-in - (float, in) Feedback of actual spindle speed in rotations per second. This is used by feed-per-revolution motion (G95). If your spindle encoder driver does not have a velocity output, you can generate a suitable one by sending the spindle position through a ddt component. If you do not have a spindle encoder, you can loop back motion.spindle-speed-out-rps.
zde je můj nynější HAL
# ---setup spindle control signals---
net spindle-vel-cmd-rps <= motion.spindle-speed-out-rps
net spindle-vel-cmd-rps-abs <= motion.spindle-speed-out-rps-abs
net spindle-vel-cmd <= motion.spindle-speed-out
net spindle-vel-cmd-rpm-abs <= motion.spindle-speed-out-abs
net spindle-on <= motion.spindle-on
net spindle-cw <= motion.spindle-forward
net spindle-ccw <= motion.spindle-reverse
net spindle-brake <= motion.spindle-brake
net spindle-revs => motion.spindle-revs
net spindle-at-speed => motion.spindle-at-speed
net spindle-vel-fb => motion.spindle-speed-in
net spindle-index-enable <=> motion.spindle-index-enable
# ---Setup spindle at speed signals---
sets spindle-at-speed true