Some success with a servo drive/tachometer mode

Jul 09, 2010 33 Replies

Yes, of course. Any servo needs to have its "loop" closed at all times. It may be that if you put a 10 K Ohm resistor across the tach input terminals on the servo amp, then an open tach circuit will no longer cause a runaway.

Well, the tach can also have the brushes go bad, the wire can fail due to flexing, etc.

It is unlikely the tach AND the encoder will fail at the same time.

I just got in the boards for my "Copley interface", which will also work on the AMC amps (they are the same). The servo amp needs a contact closure to ground to enable it, and produces a 5 V signal when it goes into fault status. A quirk is that when disabled, it shows fault status. So, this board suppresses the fault indication for a moment until the amp has gotten enabled. The signal from one of the DIO SSR's can be used to send the enable to the servo amps. By default, EMC2 does not go to E-stop on a following error, allowing the servo amps to drift (or continue to run away, if that was the cause). I have to find out how to modify the ppmc_io.hal file to make this happen.

Jon

Jon, the way I am planning to do things, estop will cut power to servo amps and will also stop the spindle by interrupting its signal circuit.

I would like to know, what do you think is the best mode to run these amps: voltage mode, torque mode or tach mode? Any thoughts on this?

By the way, I wired in your PPMC and it powers find every time.

I have not connected it to a PC after placing it inside the mill.

i

Why do you say this? Most of the older machines had tach feedback and velocity servo amps, and many still do, in one form or another. Are you serious that "precise smooth control" is not an issue in machining applications? Or, are you saying that torque mode control can be just as smooth?

The problem with no-tach servo control is that at SOME point, as you go slower, the encoder counts come in farther and farther apart in time, and the CNC control has no velocity information between encoder counts. This is why some CNC controls (Fanuc, for example) moved to ever higher and higher encoder counts, now Fanuc is at 4 million counts/rev. Try pricing a million cycle/rev encoder!

When I first set up my Bridgeport, I wanted to see how well the velocity servo loop worked, so I moved at ever slower rates until the movement started to become irregular. That was at about 0.01 IPM, or 3 encoder counts/second on this setup. With the EMC2 servo loop operating at 1000 cycles/second, that meant it was going 333 updates before seeing each count. But, the velocity servo was keeping the movement quite steady.

Jon

The control has the velocity loop in software. It reads the encoder and subtracts new pos from last pos to compute velocity. Commanded velocity - actual velocity is the velocity error output, and is fed out as a torque command. This is IDENTICAL to what a velocity servo amp does (usually with op amps and resistors) except it is done by computation. The one place this falls down is if the machine is moving slowly enough that you get NO encoder counts in a servo period, then there is no way to calculate velocity.

Jon

Why ruin what you already have working? What is the resolution of your encoder? Calculate what velocity will have less than 10 encoder counts coming in per second, and if this is any rational velocity like you might have while orbiting a circular path, then you will descend into stepwise movement. Don't fear a tach, they've been used for 50 years now in motion control systems.

Jon

Jon, my encoders are sinusoidal and thus I believe them to be incompatible.

i

A cultural note: that's a Minnesota rocket, by golly.

Jon, I'm just saying the first rule of good engineering is KISS.

Torque mode is simple and will work very well for Iggy.

Karl

Er, you got the US Digital ones to install in place of the old ones, didn't you? You certainly aren't going to get your CNC control working without working encoders.

Yes, I got US digital encoders and am now working on mounting them.

i

Depending on how smooth he wants it, and what his encoder resolution works out to, maybe yes, and maybe no. The whole basis of my argument for the tach feedback is the velocity servo is a continuous-time system, the DC tach and velocity error amplifier are not sampled in any way. (Yes, the PWM modulator, etc. downstream in the typical servo amp then makes it discontinuous-time, but the PWM frequency is high enough that this shouldn't interfere with my argument.)

Deriving velocity info from an encoder effectively samples the information both in position (encoder resolution) and in time (servo sampling rate), thus introducing a type of noise into the system, but also making the system run open-loop between encoder counts. At low speeds, this requires much lower gain of the velocity loop, or you get a step-wise response at each encoder count.

This is why Fanuc, for example, uses encoders with a million lines/rev.

Jon

Well, you might want to think about having a braking resistor switched in when the servo power is cut off. Something like a 10 Ohm 25 W resistor on the NC relay contacts that drains energy from the motors via the DC bus.

I would run in velocity (tach) mode. You have the tachs on the machine now, all it takes is a little bit of wire to connect them. You should be able to get smooth motion even at low speeds with the tachs. I am using velocity servo mode on my Bridgeport, and never had a problem with them.

Jon

Well, yes, we went through that, but you said you were going to install new encoders soon.

Jon

Yes, I have new encoders.

I think that tach mode is still within the KISS principle.

i

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required