Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Posted by
Alan Marconett KM6VV
on 2000-12-06 12:44:46 UTC
Hi Ballendo,
Yeah, I got caught up in something that just "seemed" to fit right in
with what I was doing. Goes back to the Generic "black box" that
several of us think we should be using for generating pulses.
I did find some URL's while searching, posted below, might be useful for
others!
ballendo@... wrote:
little! Now where was that DDA code...
otherwise, as in a software implementation, each pulse is generated
individually by DDA code.
take several Floating Point calc's to accomplish. DDA's should be able
to do it with long integers.
out some runs of numbers from my implementation of an linear
interpolation algorithm, but it wasn't easy to tell how well my "Y = mX
+ b" was working.
Jack Bresenham is now at Winthrop University, I understand from a URL
below. A search for "Bresenham" and "stepper" Turned up some material
last night: (or TONS if you just look for Bresenham).
http://www.cs.unc.edu/~davemc/Class/136/Lecture9/Lines.html
This one has some nifty Java stuff to show how some of the DDA stuff
works!
http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html
Also good. Hopefully enough to get me going on it.
sounds familiar, although I don't remember a CD? (OK, I probably saw it
BEFORE there were CD's). If you can find the author, I'd appreciate it.
away with much. I looked at the "parallel port interface" file; WAY to
much work to talk to a simple parallel port IMHO. (not meant to be a
negative statement!) When I find the "MEAT" on the interpolation
algorithms, I could probably get/learn something from that!
a horrible time trying to download the files on an old machine with old
OS/Netscape software. Never did run it, didn't have hardware at the
time. Something to look at!
that came up with my Bresenham link and a hole lotta good stuff:
http://www.geocities.com/SiliconValley/Lab/3685/plotter/plotter.htm
"Silicon Valley Surplus" stores/swap meets:
http://www.kce.com/junk.htm
I'd like to find this store! But Hayward would be a drive.
in this pursuit.
Thanks Ballendo,
Alan KM6VV
Yeah, I got caught up in something that just "seemed" to fit right in
with what I was doing. Goes back to the Generic "black box" that
several of us think we should be using for generating pulses.
I did find some URL's while searching, posted below, might be useful for
others!
ballendo@... wrote:
>I'm wanting to go past the Jog code, and run multiple axis. Learn a
> Alan, Wally,
>
> Not sure what you're looking for here. I think Alan wants to know how
> to do interpolated moves of multiple axes? Wally wants a "driver???"
> for EMC?
little! Now where was that DDA code...
>I'd still like to know if this is the intent (set rates and go),
> So I have some "guesses" as to what you are looking for below:
>
> Wally, I believe you are right that Mariss' pulsegen is going to need
> some software to set the rates for the axes/axis. Also, at 8191hz max
> output some screw/drive/pulley setups will not be serviceable.
>
> Since Mariss provided the circuit, keep in mind his "pulse
> multiplied" drives may allow some of these high freq. apps to work. I
> haven't "done the math" to see just what sort of errors accumulate at
> different angles of 2 or 3 axis motion. (doing it the way Alan
> suggested; set it and go!)
otherwise, as in a software implementation, each pulse is generated
individually by DDA code.
>I have actually used "slope" of a line to generate movement, but it DOES
> As for "EMC driver", what do you mean? Do you want to incorporate
> this pulsegen circuit into EMC? If so, Mariss has provided the info
> needed to get started in the .doc file. (send 2 byte "rates" 1024
> times/sec for each axis, I believe)
>
> Alan,
>
> Interpolation of multiple axes can be done MANY ways! I'll give you
> and anyone else who's listening a hint. The screen you are looking at
> to read this "interpolates axes" when it draws angled lines in
> graphics modes.
take several Floating Point calc's to accomplish. DDA's should be able
to do it with long integers.
>So then his algorithm IS a good way to "pick the best points"! I dumped
> The "grandfather" of the linear interpolation algorithm used by many
> graphics applications is Jack Bresenham, who used to work for IBM and
> in 1965 wrote a paper for IBM's system journal titled(i think) "a
> fast line drawing algorithm". He's now teaching at a university in
> the eastern U.S.. A nice man to talk with, but do some research first!
>
> Anyway, his algorithm has been added to, chopped up, modified,
> improved upon but is still useful to begin understanding the problem
> of "picking the correct/best points (from the finite set that IS the
> screen or CNC machine work area) to most accurately represent the
> desired line". He also holds a patent on a fast circular algorithm.
>
out some runs of numbers from my implementation of an linear
interpolation algorithm, but it wasn't easy to tell how well my "Y = mX
+ b" was working.
Jack Bresenham is now at Winthrop University, I understand from a URL
below. A search for "Bresenham" and "stepper" Turned up some material
last night: (or TONS if you just look for Bresenham).
http://www.cs.unc.edu/~davemc/Class/136/Lecture9/Lines.html
This one has some nifty Java stuff to show how some of the DDA stuff
works!
http://www.cs.helsinki.fi/group/goa/mallinnus/lines/bresenh.html
Also good. Hopefully enough to get me going on it.
> Another fast circular interp is in the book "numerical methods". I'mI thought the circular interp was DDA? I'll need that next. This book
> working from memory so I don't have the authors name. Source in C in
> the book and included CD.
sounds familiar, although I don't remember a CD? (OK, I probably saw it
BEFORE there were CD's). If you can find the author, I'd appreciate it.
>GEMS sounds good, I've been to the EMC site several times, but not come
> The book Graphics GEMS (available online) contains many code examples
> (old versions were pascal or BASIC, new editions use C or C++) which
> will prove useful to someone intending to "write a CNC control".
> Obviously, the needed code IS in the EMC source! If you understand C.
away with much. I looked at the "parallel port interface" file; WAY to
much work to talk to a simple parallel port IMHO. (not meant to be a
negative statement!) When I find the "MEAT" on the interpolation
algorithms, I could probably get/learn something from that!
>Is that the step969 and step11 BASIC code I remember? I remember having
> Also in Kevin Carrols' Stepster source and the informative
> explanation of stepster titled "exactly how a cnc works". Both
> available at http://www.metalworking.com . Click the shareware link
> and scroll down...
a horrible time trying to download the files on an old machine with old
OS/Netscape software. Never did run it, didn't have hardware at the
time. Something to look at!
>"Luberths" didn't find anything, but I recall "homebuilt plotters" site
> Luberths' home build plotter site and forum (do a search) has lots of
> 2 and 3 axis code examples in pascal, BASIC, and c . Also some good
> hpgl interpreters. It has been fun to watch his learning curve and
> progression.
that came up with my Bresenham link and a hole lotta good stuff:
http://www.geocities.com/SiliconValley/Lab/3685/plotter/plotter.htm
> A company in Hayward (near Fremont), California called Silicon ValleyHaven't found "Silicon Valley Surplus" yet, but a search found a list of
> Surplus used to sell a "motion control system" (based on the morrow
> CPM computer). They were selling mostly low-end "laser show" stuff
> last time I checked, but they do/did have available some 4 axis
> interpolation step motor code (in BASIC)on disk which is easy to
> follow and adapt. The early, original code was written in forth by
> George Borys. I believe DeskNC used/uses their algorithms. Carl?
>
"Silicon Valley Surplus" stores/swap meets:
http://www.kce.com/junk.htm
I'd like to find this store! But Hayward would be a drive.
> Microchip (makers of the PIC uP's) had a servo drive with softwareI'd sure appreciate it, and I'd like to know others who are interested
> source in one of their application handbooks a few years back.
>
> And of course the book I mentioned in an earlier thread is useful
> (Chuck Raskin).
>
> Hope this helps. (and is somewhere near the mark)
>
> Ballendo
>
> P.S. The older routines were optimised to use the limited processing
> power of the old microprocessors' (avoid divides at all cost,use
> shifts and adds if possible, and multiply only when really
> necessary). Nowadays, many of the "interp" routines just "code the
> straight math" and let the incredible speed "make up" for the old
> methods. Mariss referred to doing this in his pulsgen.doc paper.
>
> P.S.S. List, while we're here in this "interpolate and algorithms"
> thread; maybe others can write what or where to find related info for
> those wishing to "write a cnc control"???
>
in this pursuit.
Thanks Ballendo,
Alan KM6VV
Discussion Thread
Alan Marconett KM6VV
2000-12-06 12:44:46 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Jeff Barlow
2000-12-06 14:50:07 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Mariss Freimanis
2000-12-06 15:12:20 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
Wally K
2000-12-06 16:11:43 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
Mariss Freimanis
2000-12-06 16:18:12 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
PhilC
2000-12-06 16:28:04 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Wally K
2000-12-06 17:01:52 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
Wally K
2000-12-06 17:27:35 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
PhilC
2000-12-06 17:30:32 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Wally K
2000-12-06 17:43:11 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
PhilC
2000-12-06 18:43:29 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Wally K
2000-12-06 19:01:44 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
Jeff Barlow
2000-12-06 19:09:49 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
PhilC
2000-12-06 19:18:12 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Mariss Freimanis
2000-12-06 21:51:54 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
Wally K
2000-12-07 04:21:10 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
Smoke
2000-12-07 07:12:30 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Dan Mauch
2000-12-07 07:22:24 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Mariss Freimanis
2000-12-07 07:55:19 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
Dan Mauch
2000-12-07 08:44:54 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Wally K
2000-12-07 09:28:30 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen
Smoke
2000-12-07 10:19:49 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Ian Wright
2000-12-07 14:29:20 UTC
Re: [CAD_CAM_EDM_DRO] interpolation and algorithms of multiple axes was Re: Pulse Gen
Mariss Freimanis
2000-12-07 14:46:27 UTC
interpolation and algorithms of multiple axes was Re: Pulse Gen