Re: [CAD_CAM_EDM_DRO] Circular interpolation G2/3 implementation.
Posted by
Alan Marconett KM6VV
on 2003-09-20 10:19:14 UTC
Hi Alastir,
You'll find doing circular and helical interpolation a challenge! There
are several "problems" to overcome. Arcs can only be done in 90
degrees, as at these points an axis must reverse direction. There are
three planes in which you can do G02/G03, which govern which direction
an axis goes for G02/G03. You'll also want to drag a linear move along
with that to get helical motion. Basically, solve for polar to
rectangular conversion, i.e.,
d1 = radius * sin(a)
d2 = radius * cos(a)
There are other ways, but not a first choice for a hobby controller
program. And don't forget acceleration/deceleration while you're doing
all that!
Why not sign up for TurboCNC, and study the routines there? They can be
developed on one's own (I have for STEP4), but it takes a while.
My current project is to add expression evaluation. I'm also adding
conditional execution and looping. I already have variables.
Alan KM6VV
SherlineCNC
Alastair Reynolds wrote:
You'll find doing circular and helical interpolation a challenge! There
are several "problems" to overcome. Arcs can only be done in 90
degrees, as at these points an axis must reverse direction. There are
three planes in which you can do G02/G03, which govern which direction
an axis goes for G02/G03. You'll also want to drag a linear move along
with that to get helical motion. Basically, solve for polar to
rectangular conversion, i.e.,
d1 = radius * sin(a)
d2 = radius * cos(a)
There are other ways, but not a first choice for a hobby controller
program. And don't forget acceleration/deceleration while you're doing
all that!
Why not sign up for TurboCNC, and study the routines there? They can be
developed on one's own (I have for STEP4), but it takes a while.
My current project is to add expression evaluation. I'm also adding
conditional execution and looping. I already have variables.
Alan KM6VV
SherlineCNC
Alastair Reynolds wrote:
> <SNIP>
> theoretically I know I can take a G-code
> file and parse it to drive the Compumotors via a bit of home grown code and
> panel control. I have done this sort of thing before, but it is not easy,
> but it is cheaper than buying a purpose designed controller. This approach
> requires me to write a circular interpretation algorithm for G2/3. There are
> plenty of software applications that can produce G-code from a dfx files so
> that is why I am going that route. Has anybody in the group dabbled with
> circular interpolation algorithms in C (or any other language). Any other
> comments on my hair brained project will be gratefully received particularly
> if there is an easier route to my chosen solution.
Discussion Thread
Alastair Reynolds
2003-09-20 07:59:48 UTC
Circular interpolation G2/3 implementation.
Paul
2003-09-20 08:28:08 UTC
Re: [CAD_CAM_EDM_DRO] Circular interpolation G2/3 implementation.
Alan Marconett KM6VV
2003-09-20 10:19:14 UTC
Re: [CAD_CAM_EDM_DRO] Circular interpolation G2/3 implementation.
samcoinc2001
2003-09-20 10:24:35 UTC
Re: Circular interpolation G2/3 implementation.
William Scalione
2003-09-20 10:36:15 UTC
Re: [CAD_CAM_EDM_DRO] Circular interpolation G2/3 implementation.
Carey Culpepper
2003-09-20 10:37:58 UTC
Re: [CAD_CAM_EDM_DRO] Circular interpolation G2/3 implementation.
Alastair Reynolds
2003-09-21 06:56:21 UTC
RE: [CAD_CAM_EDM_DRO] Circular interpolation G2/3 implementation.
Antonius J.M. Groothuizen
2003-09-21 07:08:07 UTC
Re: Circular interpolation G2/3 implementation.