Servo Tuning detailed How To.
superlen wrote: The drives are configurable so I can configure them for velocity or torque mode and let Linuxcnc do the tuning if necessary. I take it that is the most common way of configuring Linuxcnc (with it handling motion control). I keep thinking that the motion control should be outside the PC in embedded hardware, but I realize that with the power of Linux & RTOS this isn't as prevalent as it once was, particularly with a FPGA doing some of the heavy lifting in between.
The most common setup is a velocity-controlled servo drive (velocity loop in the drive, an tuned in the drive) and a position loop in LinuxCNC (tuned after the velocity loop is tuned)
The fundamental point of EMC (which became LinuxCNC) was to be a motion controller that ran on commodity PC hardware rather than on specialised hardware. Whereas Mach3 had commercial reasons to support external motion cards like the Smoothstepper, LinuxCNC has no such commercial incentives, so the philosophy is that LinuxCNC is a motion controllerm and if you don't want it to do that, then use something else. But I digress.
after studying the current setup in more detail, they aren't. They are receiving an analog voltage from a PCI motion card (similar to Mesa, but not supported by Linux CNC),
Are you sure? What card is it?
Thanks for the information on the velocity loop vs. position loop.
The drives are KollMorgen ServoStarCDs. The PCI card is an Acroloop 8020. With the reasonable price of the Mesa Cards it was way more obvious to just purchase and play, rather than write a driver. The Mesa ethernet version(s) simplifies some wiring for me as well.
This was extremely informative! I'm excited to start my running. I have a few questions I hope you don't mind me asking here. (I think they may help other people as well)
First, my joint.N.f-error on all three joints dose not seem to be producing any results. I'm assuming that is because it is not using the encoder feedback for some reason. Under .hal configuration tool I can see my encoder counting and used it to determine my steps per rev initially, but I'm guessing that I missed something somewhere to tie this in and close the loop?
Second, when talking about the p value and it's initial adjustment. When you talk about the vibration, I can not physically feel a vibration in the servo motor itself, but after a jog I can audibly here faint vibration noise and if I put my hand on the screw I can feel the motor ever so slightly "vibrating" attempting to hold the position. Putting even very light pressure on the rotation of the screw physically and audibly changes that "vibration" it's almost more of a buzzing sound. My question being is this what you are considering vibration or is what your referring to something more aggressive? Also I'm guessing before messing with this and the P to much I should figgure out the joint.N.f-error situation first.
Lastly, will my accel/decell and velocity affect the tune. Should they be solidified prior to running? I'm not to sure on how to decide those numbers yet.
Thanks for any info!