CAD CAM EDM DRO - Yahoo Group Archive

New Servo ?

on 1999-09-20 10:55:42 UTC
Hi again,

I made a fool of my self too many times, - so I guess nobody would
be surprised if I did it again. So here goes:

Ok Bertho, I read some of what you wrote. I had not seen all of
it, because of the line wrapping. The thing is that this list
should have been sponsored by a toner and paper company. I am
amazed with the activity. I receive things faster than I can think
;-)

Still, I don't understand the concept. What I mean is, why this
should be any nicer or better than a classical design, something
like Jon's.

So, let try something else: We start backwards.

You need a power output. I would say a MOSFET bridge. If this is
the case, I think I would add another ADC. Put one in each leg of
the bridge. This way I think it would be easier to measure the
currents. You will have freewheeling currents that would be
difficult to measure otherwise.
In order to measure the currents, then you would like as small
resistors as possible and amplify them. Let's add some op amps, and
you may have to adjust the gain, so add some variable resistors.
From the processor, you will need to translate the voltage suitable
for the high end transistors, and also the low end. Okay - add some
more discrete components. Then add some input buffers and output
buffers for the encoder. This may be differential drives or just
5V. Then we need some input latches, or buffers. You may want to
have fifo ram. If we say a cmd byte + 16 bit, you would like to
download 3 bytes fast, and independent of the processor. And before
adding the processor, maybe ram/eeprom/flash, reset circuits,
oscillator, .... I think we have something.

I think we have passed an analog design in the amount of
components. Now we need a program, and we need to initialize some
parameters for gains, etc. How to we do that ? Well, we could use
the cmd-byte to do several things, but already we will have some
problem with the current feedback. The reason is that we don't know
the size of the motor, so we have to adjust the current gain. If
you want it all electronic, then we need to replace the gain
resistors with some electronic variable resistors, ( maybe from
Xicor ) or we could use some DACs.

We can approximate the velocity by reading the encoder count and
compare it to the previous sample. We can plug in some digital
filters, and we have our servo.

More or less the same as the analog version, - so what have we
accomplished. It is more expensive, harder to make. We still need
encoder input in the PC, so the digital interface don't make much
difference. Sorry, we need more wires, maybe buffers and shielding
too.

If this circuit doesn't do anything else than replace an analog
servo amp, then I don't see any use in it. A digital tacho on the
other hand, is nice enough, but in this way - I just don't see any
point in it.

I may have missed some of the ideas you all had, - but I can not see
the point in this, - if it doesn't do anything more.

Okay, now let us get a little crazy:

Dean Franks came with some "wild" stuff :-) I am just spinning off
in that direction:

In the servo, we would use a PID filter ( in the analog one ) Well,
one disadvantage is that the feedback gains are constant and
prescpecified.
So, we add another type of controller. We have varying speeds and
payloads, - this has Dean Franks said. We have backlash too. So a
simple PID is not any good. We need something else, feed forward
or adaptive control. Wow ! This could justify such a circuit !!

So how to do it, - more wild stuff. We make a new command
language. Instead of G91, we do GA91. "A" for adaptive. What
this is, is that you run a simulation model on the computer, and
we expand the language with some parameters. This is for the type
of material, the number of flutes on your tool, and what ever. The
model will run with look ahead, and will know what kind of forces to
expect. You remove most of these disturbances.

What do you get ? Well 10 times the accuracy and speed in
machining - what do you think ?
--------------------------------------------------------------------

( Yeah, I am crazy ) Could it be done ? Yes, I think so, but I
would need a couple of years to do it, but Fred could do it in no
time. The reason is that he has already made a model that runs
under simulation, and he knows the forward and backward feeds in
the control loop.

What you had to do, is think in new terms. That is, you had to pass
the load parameters - it would be something like a feed rate value,
along with the G code, - and call it GA code.

Something like this - would in my opinion make some sense to the
hassle of making a digital servo.

Wait a minute - what if this could be done ? Could it be tested
somehow before making all the circuits ? Well, I think so. I
think you could do a simple test on a STG board. The only thing is
that I only know of one that could give any answers to this is
Fred, - and he might kill me :)

//ARNE

Discussion Thread

Arne Chr. Jorgensen 1999-09-20 10:55:42 UTC New Servo ? Bertho Boman 1999-09-20 11:01:47 UTC Re: New Servo ?