Craig,
I'm also one of those guys who did learn control technique about 30 years ago, so I don't remember all the details.But I do know what the confusion here is: You are used to seeing encoder feedback as a constant and linear representation of the movement, like an encoder. What we have here is that the feedback isn't coming from a close to ideal device. And it is also very non-linear. So much so that it's not providing any useful feedback at all at standstill. It's only at higher speeds that this kind of feedback is usable (and available as a physical signal).Take a look at most standard VFDs, they use this back EMF as an "encoder" to control the speed of an inductance motor. They actually read out this value and use that as encoder feedback. The downside of this is that it's only available in a certain range of speeds this is reliable and useful. As a result, they have a very big limitation, they can't control the speed at low speeds. And have next to no control at standstill. This is due to the fact that the back EMF is highly dependent on speed. And is not available at low speeds.Think of it as an encoder that stops giving reliable feedback at low speeds. If there was such a product available, it would be about what we are talking about here.To get a transfer function for this kind of feedback you could get that from the software in a VFD, as they use it. But since they have so many limitations, there is no point.So..... as you might know, to get an induction motor to behave well at all speeds, you have to replace the very limited and unreliable feedback you can get from back-EMF with any kind of proper encoder.
And since all forms of available encoders are of a type that works at all speeds, we can take advantage of that and use any of them to make the servo system stable at all speeds, including standstill. Like most spindles are built today.Anyway, I do understand the tangent of trying to figure out if the system is velocity- or torque-controlled. But I think the answer to this is that it is velocity. The best way to get this confirmed would be to use a signal generator (or test with the output of a Mesa card) to see if it behaves like a speed controlled system or not. And the tests already done seem to confirm that the mode of operation isn't torque, as the system seems to be able to keep the speed constant to a degree.
And then the system closes the outer loop with encoder feedbac in order to achieve accurate positioning.I want to use dual encoder feedback on my mill, a Maho MH600E from 1990. This had an old Philips 432 controller with Rexroth servos. I did what you wanted to do and kept the servos and linear scales. So I have a system with tacos for speed control and linear scales for position control.
But I have found that the Philips controller does something that LinuxCNC isn't able to do. As is, it's impossible to get the speed and precision of feeding only the linear scales to LinuxCNC. My system has full speed control with the tacometers connected to the servo-drives. But still, the bandwidth is kind of low due to mechanical sloppiness. It's an old machine, and has run for 30 000 hours or something, so a mechanical rework is planned. I have even bought a Biax scraper lately....
Anyway, the Philips controller was able to control the mill better than I'm able to with only linear scales attached to LinuxCNC. So I attached normal encoders directly to the shaft of my servo motors and used those as feedback to LinuxCNC instead.... and now we are talking! Much better response, and way better bandwith! But.... now I lost the high accuracy of the linear scales, which have a resolution of 1um!
So.... dual encoder is what I want.
I'm not a programmer, so I'm not 100% sure how to set up HAL to make this happen. Hence, I lurke about here to find others who want the same thing..... to see if there are any configs posted with parts I can use to get my machine working.
It has been years since I started with this conversion..... way too many years.... but I hope to proceed soon,
I also need spindle orient, and have a complicated ATC I want to get running.Anders