CNC software highest step rate

Sep 21, 2005 54 Replies

According to oparr :

The DC servo motor *in combination with the Gecko drive* is pretending to be a stepper motor. It accepts step and direction pulses like a stepper driver does, and for each step, it puts out torque until the encoder count matches the input pulse count. Thus, it has pulses of torque, just as a stepper motor does.

How do you tune a servo whose drive electronics (the Gecko) pay no attention to the tach generator? There is not even anywhere to connect the tach generator.

It (the Gecko) is a package of electronics intended to make a servo motor behave like a stepper motor, to allow using it with a simpler controller. This is not what I need, as I intend to use the servo motors as designed, with tach feedback and encoders, not the way Gecko mis-uses them.

Enjoy, DoN.

Like Eric, I don't know what 4X and 1X are. Is that 4 microsteps vs. full step? Something else?

Let's back all the way up. The original context was about EMC and its ability to drive servos on the PC's parallel port. That's where the 320 came in. Most PC software operate steppers in open-loop only: no encoder input, and sends step and direction lines going out. The 320 reads the encoder quadrature input, closing the loop. The encoder resolution has to match the step size. That is, one encoder tick for each step or microstep. When they get too far out of sync, the 320 signals a fault and then resets. The original quote refers to replacing the 320's functionality with a freebie, otherwise unused old PC running EMC, to run steppers in closed loop.

I know nothing about servos. Simplistically, I think of them as steppers with a matched encoder. Probably too simplistic, but workable, since I don't expect to ever want to pay the extra for whatever they bring.

I'm aware of other and cheaper drives, ranging from HobbyCNC's u-solder-it

4-axis $99 special, and up.

I'm not sure what it was you were trying to say.

30 volts at 5 amps? Hopelessly underrated for most CNC applications.

This is speculative fantasy. Gecko controlled servos do not behave this way. PID digital feedback yields smooth motion.

More silliness. That's not how PID digital controls work.

The step/direction signals are simply a method of *communication* between PC and controller. The motion does not exhibit stepping.

Your efficiency notion is also wrong. Geckos use PWM MOSFETs which are very efficient. Heatsinks are hardly necessary for many high-power applications.

Nonsense. You don't understand this device, and obviously have never used one.

O.K. I can't get through to the Gecko web page -- has the URL changed, or have they gone out of business?

However, somewhere around here I have the saved PDF files of the manuals for them. I could find no place for the connection of the tachometer feedback wires from the servo motor, so it can't be paying attention to the motor's velocity. It just moves it until the encoder says that it has moved far enough, and then stops -- suddenly.

I've used servo amps, and know how they work.

The Gecko is *not* one of these. Not even the one of the four models which is designed to work with servo motors.

In any case -- it is *not* what *I* need.

If you have more information to tell me otherwise, please post it.

Enjoy, DoN.

So -- what happens if you feed it a pulse, wait five seconds and then feed it another pulse? Are you saying that it is going to

*predict* exactly when that second pulse will come, and will move at a steady speed just right so when the second pulse comes it will be in the right place? If so, it must have some rather impressive CPU power built into it -- and I see no provisions for that.

Here -- you are obviously misreading me. I did not claim that the Gecko was energy inefficient. Instead, I was saying that the

*analog* servo amplifiers which *I* have and use are energy inefficient, and I had hoped that Gecko would have come out with a *real* servo amplifier using PWM drivers. They have so far disappointed me in that hope.

DoN.

According to Mike Young :

While the EMC can drive servos through the PC's parallel port, with the help of the Gecko 320, that was not what I was talking about. The use of the servos and amplifiers which I was talking about involves the Servo-to-go card, which was priced at $888.00 when I got it, for an ICA bus socket. That contains lots of buffered I/O connections of various sorts, plus one D/A converter per axis (and the $888.00 version can handle up to eight axes). To set the speed, the computer writes a value to the D/A which converts it from the computer's "D"igtal numbers to an "A"nalog voltage, which commands the servo amplifier to run the servo motor at a selected speed.

The Servo-to-go keeps track of the encoder position to let the computer tell whether the speed that it set was correct. If not, the computer can make corrections in time to avoid problems.

The loop closing with the EMC card and servo motors (*not* steppers) closes the loop through the computer, so the computer need not take it on faith that just because it told it to go so far, that it has actually accomplished that -- unlike with steppers, where trying to run too fast in the face of a load will cause it to miss steps. And trying to run even slow in the face of a serious load will still cause it to miss steps.

Think of them as a motor, with an encoder (though that may be on the machine axis, telling where it *really* is), *and* a tachometer generator which produces a voltage proportional to the motor's speed. Thus, when the servo amp receives a voltage saying to go so-and-so fast, it has a way of telling whether the motor is doing that. The servo amp combines the speed command voltage with the feedback voltage from the tach generator, and amplifies the *difference* between them to produce a voltage to the motor's armature. The amplifier has a lot of gain, so it does not take much difference to produce a lot of output. The amplifier is a high-power version of an operational amplifier -- designed for summing signals.

To my mind, a motor with an encoder, but *not* a tach generator is not a servo motor. (Though the Gecko drive can work as well with it as it does with one with a tach generator, as it ignores the tach generator -- it does not even have terminals to connect them to.) Since it is PWM, it can sort of work around that, by measuring the voltage during the intervals when it is not actually pumping current into the motor, but this is not as precise a means of control.

Well ... at least you have what *I* was trying to say above.

Enjoy, DoN.

The problem with simply disabling the amp when approaching a limit is that the motor will then coast. This may not be a problem at low velocity if there's plenty of room between the switch and a hard stop, but if the motor is heading balls-to-the-wall toward the end of travel, disabling the amp isn't going to prevent a crash. Most dedicated motion controllers have interrupt driven travel limits that do a better job at getting the motor stopped quickly.

Position control systems almost always run in torque (current) mode, rather than velocity (voltage) mode. The amp is set up to output current proportional to the command voltage.

Tachs haven't been used for many years on servos, the exception being velocity control apps where an exceptionally wide speed range is required. And even in those cases it's more common to see the tach signal being synthesized from an encoder output. Some mfrs offer an option on their amps that'll take an encoder input and use it in a velocity loop. This sort of thing is also available on four quadrant DC drives and AC vector drives. You do have to be careful that the encoder resolution is adequate at ultra low speeds.

Which brings us back to the point that positioning systems with digital motion controllers run the amp in current mode, so there's no place for a tach signal. The encoder is connected only to the controller, which generates the command signal to the amp based on position error.

While I agree that the step and direction scheme that Gecko uses is a less than ideal kludge for driving servos in a system that was designed for steppers, I would still consider it a real servo amp. There's nothing in the definition of a servo that dictates how the various components communicate. In fact the first servos were mechanical, there are plenty of servos that use proprietary links between the various parts, and many more recent systems talk over standard communication buses.

I gather from a quick look at the literature this isn't how the Gecko amp operates. It appears the amp includes a PID loop that takes the input pulses and generates a command that's a function of the position error and the PID tuning. IOW, once it's tuned properly, it behaves as you suggest it ought to. Moving the PID loop out of the controller, where it's traditionally located, is really the key to controlling the servo with a pulse train intended for driving a stepper.

Ned Simmons

Thanks Oparr for both replies. Eric

Correct! Hobbyist applications are only a small fraction of all CNC applications.

Based on your last post, I think it suffices to say that there is no simple way under the sun you can use a Gecko 320 to drive a stepper motor even if it was equipped with an encoder. Repeating....It is a DC servo drive.

Just about any motion control scheme should cause a jump in linear postion based on a single step. I see where you are trying to go with this so I'll save you the trouble. It is the **frequency** of the step input that excites resonance in a stepper motor. The DC motor is isolated from the **frequency** of the step input. The only

**frequency** the DC motor sees is the frequency of the PWM signal applied to the controlling H-bridge. It is constant and bears no relationship whatsoever to the step input **frequency**.

It is the duty cycle of the PWM signal that is varied in order to provide a moving equilibrium between step input and encoder counts in response to changes in step input **frequency**. The tuning of the DC servo system will determine the behaviour of the movement mentioned. If the **frequency** of the step input suddenly changes then the P & D settings (aka gain and damping) are supposed to critically damp the movement in a properly tuned system. An improperly tuned system can break out into violent oscillations similar to a stepper in resonance. Perhaps this is what you've seen and confused it with resonance.

There is no integral component.

Don,

I've looked at the Gecko 320, and it is a full servo, just with some severe limitations.

It uses a stepper like interface in that you give it a direction and pulse signal, which is actually a pretty reasonable way to comunicate with a controller. As long as you have a controller that can run the pulse ramps (and keep track of them) it's pretty straight forward. If fact there are many low cost controllers that control in just this way.

The Gecko 320 is a full PID controller. The tach signal is derived by looking at the rate the encoder signal moves. This is reasonable IF the encoder is mounted on the motor, but really sucks if encoder is on the leadscrew, which is driven from a belt. The extra element in the servo path limits the optimal tuning that you can do.

I would like to upgrade my mill to a newer controller and was looking at these. I couldn't get near the stiffness out of the gecko's as my current system. Gecko has the block diagram for the 320 on their web site. If you are familiar with servo's it's pretty straight forward.

As far as having "stepping", its not quite what you think. The Gecko 320 method has no worse "stepping" as a servo done with EMC. Both are limited by the discrete positions of the encoder.

If anyone want to try out a 320 (I think that's the one I have), let me know. Since it won't work for me I need to move on to something else.

Terry

snipped-for-privacy@d-and-d.com (DoN. Nichols) wrote in news: snipped-for-privacy@news1.newsguy.com:

The gecko doesn't use tachometer feedback. just quadrature encoder. The gecko is intended to be used with a step direction controller, in the hobby environment usually a PC running something like Turbocnc or Mach2/3. The controller holds the characteristics of the axis including acceleration rates and so calculates velocity and acceleration as well as position. When a gcode line requires the axis to move from one position to another the controller works out the move, F rate and acceleration required and issues the step/direction pulse stream so that the axis

*smoothly* accelerates up to F rate and decelerates to stop at the required position. Same with either steppers or servocs, the controller does the work not the gecko. With either stepper or Servo there's no *pulsing* of torque going on as a result of the 'stepping'. With steppers at slower rates or poor resolution there can be resonance issues but functionally the only significant difference is that steppers can loose steps and position, servos don't and servos have a higher torque at higher speeds.. that's it but at the same time $150 Gecko's are not a 'real' commercial equivalent to a $500,000 vmc, nor are they published as servo amps using tachometers..

Correct, It's been a while since I looked at it.

Terry

Lately they have hosting problems. But from what I hear, their business is galloping along.

No, not at all. You're speculating, and wrongly so.

You're confusing encoder quantization with stepper motor poles.

You're confusing step/dir communication with servo control.

You're don't appreciate that a digital position encoder can be digitally differentiated to effect a digital tachometer or accelerometer.

Do some reading on digital servo feedback loops using PID control.

formatting link

I don't know of *any* metalworking machines that will scoot with such tiny amounts power, unless you're gearing down to nothing. Maybe you're suggesting PCB drills or wood routers that don't require much torque.

150 watts for $80, vs Gecko's 1600 watts for $120, I'd choose the latter. The former is no bargain, per watt.

It *is* all about the oomph, you know. Why would a hobbyist hand-build a car, and then put a lawnmower engine in it?

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required