CAD CAM EDM DRO - Yahoo Group Archive

Re: [CAD_CAM_EDM_DRO] The guts of Circular Interpolation

on 2004-02-27 19:41:51 UTC
Hi Pete,

Yup, that's basically how it works.

Pete Miles wrote:
>
> I am looking for either a website or some literature that explains in
> detail what happens inside a CNC controller when executing a circular
> interpolation command, either G01 or G02.
>
> It is my understanding that a CNC actually breaks up the arcs into a
> set of smaller linear moves so that the cordal deviation with the
> line segment and the arc are within the tolerance spec set in the Amp.

Cords are linear, but it's more like moving to the nearest point that
lies on the arc desired. Think of the finest grid (defined by the axis
resolution). An arc is "swept" through the points on this grid
necessary. Rho-theta to polar conversion. (DDAs may also be used;
haven't seen it).

>
> These small line segments have a set of coordinates and a velocity.
> Which causes both axis of the machine to move. But prior to moving,
> it needs to calculate the accelerations and decelerations, distances
> to move based on the acceleration values, adjusting the straight line
> velocities so that the tool gets to the end of the small sub line
> segment at the right time so as to maintain (or try to) velocity
> through the entire arc.

Each of these cords or line segments have their coordinates (think of
the grid), but I wouldn't say they have their OWN velocity. We
accelerate/decelerate around the arc "stepping" to the new points as
needed. The velocity is bumped during accel/decel. The distance and
accl/decel calcs are done beforehand. Arcs and linear moves "know" how
many steps they have to go through to get to the end point of the move.
For helical interpolations, we move two axis through an arc, and one or
more additional axis through a line(s). Not all controllers think in
"velocity", but the effect is the same.

>
> Now all of these tiny little calculations take time, and are repeated
> many times during a single G02/G03 command. Then all these
> calculations have to match up with the servo update clock, and when
> things like jerk, acceleration, and velocity on an axis become
> limiting factors, things have to slow down.

Most all of the calculations are done beforehand. Tables are often used
for acceleration/deceleration. During the move, the velocity is bumped
up or down as needed, we also calculate the next time(s) to step an
axis, and we "wait around" for the appropriate time(s) to arrive to take
the step(s). It's mostly a lot of counting and waiting around to take a
step.

>
> What I am looking for is how all this is calculated. Does the CNC
> controller do all the work, is the servo controller involved with
> some of the calculations.

NOW you say servos. This discussion is appropriate for step/dir
servos. step/dir servos "follow" this stream of steps, trying to keep
the servo as close as possible to the requested position. The error
voltage and feedback is handled INSIDE the driver.

Most "home shop" systems use the same system, right up to the type of
driver used. Servo or stepper. This description is valid for just such
a system.

OTHER servo (true?) systems are more involved with the error signal, and
the controller generates this signal. The error signal is then
amplified and sent to the motor. There is some sort of feedback device
on the servo (or axis) and this feedback is given to the controller.
Shaft encoders on the servos, or linear encoders on the actual axis.

>
> Any info would be appreciated.
>
> Pete Miles
>

Hope that helps

Alan KM6VV

Discussion Thread

Pete Miles 2004-02-27 18:55:02 UTC The guts of Circular Interpolation Alan Marconett KM6VV 2004-02-27 19:41:51 UTC Re: [CAD_CAM_EDM_DRO] The guts of Circular Interpolation ballendo 2004-02-28 06:32:22 UTC Re: The guts of Circular Interpolation stevenson_engineers 2004-02-28 08:27:00 UTC Re: The guts of Circular Interpolation rotarysmp 2004-03-01 04:22:27 UTC Re: The guts of Circular Interpolation Pete Miles 2004-03-01 13:09:35 UTC Re: [CAD_CAM_EDM_DRO] Re: The guts of Circular Interpolation