Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
Posted by
JanRwl@A...
on 2005-01-28 22:25:37 UTC
In a message dated 1/28/2005 1:02:14 P.M. Central Standard Time,
KM6VV@... writes:
Are you talking about a complete hobby controller, or simply some
experiments with steppers? When you mention changing "delay loop numbers", I wonder if
you are running a complete controller.<<
In my BASIC programs, I use a "machine-code patch" which the BASIC CALLs in
a FOR-NEXT loop, and that patch OUTputs a pulse from one of the printer port
data bits (makes a bit go HI), and then goes to a machine-code "do-nothing
loop" where the COUNT can be POKED from the BASIC. The bigger this number, the
longer the delay. When the delay is "counted down to zero" it then makes
that printer-port bit go LO again, and RETF to BASIC. If the For-Next loop is
not yet zero, it repeats that until the loop is at zero.
I have EIGHT addresses for the machine-code patches, one each for
N,S,E,W,NE,NW,SW, and SE. The latter four simply pulse TWO bits at once. Yes, for
stepper machinery!
What kind of feed rates do you get? can you select different feed rates (F
words, G0, G1 words)?<<
I have a 16 bit delay-loop in that machine-code (used as a subroutine, so
all-eight addresses can use it). Thus, two bytes hold the "count". If only
the lower-signif. byte is used, the delay can be quite short (2 µS?), up to 255
counts (not sure of actual time). But if I need SLOWER, I can use the
higher-signif. byte, and make LONG delays. For Pentium machines, I find I use
ONLY the higher-signif. byte, as the lower byte is SO fast it has virtually no
effect at all.
I use F words sometimes, but only when guests are not within ear-shot. (LOL,
if you didn't notice!). I do NOT use G-code. I only know what that IS, not
how to use it. No need for what I do!
Can you move all three axis at once?<<
I use this for a lathe, which has only 2 axis, X and Z. Oh, I can make the
tailstock go in and out, but only to mechanical limits; not at a feed-rate or
set distance. I can also turn the spindle on/off via the printer-port
(bit-7).
Interpolated motion is required for a controller. Without interpolated
moves, you can't do anything
other then vertical or horizontal lines. What does your controller do?<<
My controller is only a PC running GWBASIC in DOS. Windows was FORMATTED
away.
Can you do arcs?<<
Yes. I write a "Math Subroutine" in the BASIC which calculates all the
points (these are stepper-motors!), and STORES the numbers as subscripted
variables (DIMensioned at outset). For each "X-step", the computer "looks up" the
Y-step-value, and Y is stepped; then the next X, etc.
All controllers can do arcs. If not, then it would be good to state so when
you declare that "NO reason to have speed faster than a couple megahurts
clock for CNC purposes" is required. Otherwise, you are misleading readers!
Interpolated motion and arc calculations demand floating point math, and that
takes a LONG time at "couple Megahurts".<<
Years ago, before I had "taught myself much", I actually CALCULATED those
Y-step variables mentioned above after each X-step, and each part made took
several minutes. I got smart and STORED the step-values as I said above, and
each part takes only a couple minutes, movement seeming quite smooth! I began
this home-brew CNC fiddling in '79, so the learning-curve done been bent
around a bit, doncha know!
How do you set various feed rates using delay-loop constants?<<
For "rapid traverse", I have a line in the BASIC: 120 POKE AD,D0 where AD
is the "delay address" and D0 is usually just 1. For "hogging", I'd have 180
POKE AD,D1 where D1 would be perhaps 3. I'd have also D2 for slow cutting,
D3 for QUITE slow, and D4 for DEAD-slow.
And how do you do acceleration/deceleration?<<
I don't. My max. stepping-rate (with that "D0" above) is about 400 Hz. I
have gotten used to thinking in terms of "stepping rate" rather than "inches
per second". I built my first lathes with 0.1" pitch screws, and the latter
two with (preferable!) 4 mm pitch, so the "linear rate" is different, anyway.
Faster with the metric, so I get more done!
Anything faster then about 4 IPM <<
But this depends on the screw-pitch, doesn't it!
needs acceleration/deceleration. Can you rapid? Then you need acc/dec!<<
No I don't! 400 Hz. with 1.8° per step is 2 turns per second or 120 RPM.
So that would be 480 mm per minute, or about 19 inches/min. Fast enough for
my little parts.
What "flavor" of Gcode do you parse? A controller program must be able
to parse (read and break down) a CNC or "motion control" language. This
language gives coordinates and control words that the program needs to
do it's job.<<
Yes. As I have tried to convey above, my brain parses all it can, and BASIC
does the rest.
An extremely limited subset of a controller program might just READ a list
of coordinates for drilling.<<
AH, you remind me: I also built a little "PCB drill" which "looks up" the X
and Y coordinates I had previously "typed into" a FILE, and moves to the
next location, and drills a hole, then looks for next, etc. BASIC.
Self-composed program. Sadly, I did that back when I had several working PET computers,
but the last is now sleeping in a Hefty bag, and I have not had TIME to need
a PCB in so long that I have not converted this to "PC control", which I
intend to do, one day.
No, no G-code. Just BASIC. VERY simple. There are photos of both the
lathe and PCB-drill in the folder "HOMEBREw..." (second page of the PHOTOS
section in the CCED site home--page)
This limited controller would be able to do Manhattan (just horizontal and
vertical) motions in the XY plane, but this is a special case. Is that what
you're talking about? You should specify. And the "drilling program" would
still have to READ the coordinates from a file. Adding lines of code to a
program to define the coordinates you wish to drill at is NOT the type of
controller most of our list members are going to want. A worthwhile experiment
perhaps, but it should be stated as such so as not to confuse readers.<<
All that confuses ME! Were I FORCED to use G-code or Crash-2 or whatever,
I'd have done something different. I didn't.
All of these topics must be addressed for a reasonable controller program.
As the machine requirements for your experiments are not typical, you should
state so when you discuss your work.<<
It was not at all my point to become SO academic and need to discuss ANY of
this to the extent we have, today! I'm just a dum' ol' boy who can cobble
machinery, and understands just enough of home-brew electronics "to make it
go" (and built a little), so I make do with simple stuff. I know this is
completely contrary to the philosophy of Academia and CNC Machine-Tool Manuf
acturers of America, but so far, the SS has not appeared at my door to stop me!
[Non-text portions of this message have been removed]
KM6VV@... writes:
Are you talking about a complete hobby controller, or simply some
experiments with steppers? When you mention changing "delay loop numbers", I wonder if
you are running a complete controller.<<
In my BASIC programs, I use a "machine-code patch" which the BASIC CALLs in
a FOR-NEXT loop, and that patch OUTputs a pulse from one of the printer port
data bits (makes a bit go HI), and then goes to a machine-code "do-nothing
loop" where the COUNT can be POKED from the BASIC. The bigger this number, the
longer the delay. When the delay is "counted down to zero" it then makes
that printer-port bit go LO again, and RETF to BASIC. If the For-Next loop is
not yet zero, it repeats that until the loop is at zero.
I have EIGHT addresses for the machine-code patches, one each for
N,S,E,W,NE,NW,SW, and SE. The latter four simply pulse TWO bits at once. Yes, for
stepper machinery!
What kind of feed rates do you get? can you select different feed rates (F
words, G0, G1 words)?<<
I have a 16 bit delay-loop in that machine-code (used as a subroutine, so
all-eight addresses can use it). Thus, two bytes hold the "count". If only
the lower-signif. byte is used, the delay can be quite short (2 µS?), up to 255
counts (not sure of actual time). But if I need SLOWER, I can use the
higher-signif. byte, and make LONG delays. For Pentium machines, I find I use
ONLY the higher-signif. byte, as the lower byte is SO fast it has virtually no
effect at all.
I use F words sometimes, but only when guests are not within ear-shot. (LOL,
if you didn't notice!). I do NOT use G-code. I only know what that IS, not
how to use it. No need for what I do!
Can you move all three axis at once?<<
I use this for a lathe, which has only 2 axis, X and Z. Oh, I can make the
tailstock go in and out, but only to mechanical limits; not at a feed-rate or
set distance. I can also turn the spindle on/off via the printer-port
(bit-7).
Interpolated motion is required for a controller. Without interpolated
moves, you can't do anything
other then vertical or horizontal lines. What does your controller do?<<
My controller is only a PC running GWBASIC in DOS. Windows was FORMATTED
away.
Can you do arcs?<<
Yes. I write a "Math Subroutine" in the BASIC which calculates all the
points (these are stepper-motors!), and STORES the numbers as subscripted
variables (DIMensioned at outset). For each "X-step", the computer "looks up" the
Y-step-value, and Y is stepped; then the next X, etc.
All controllers can do arcs. If not, then it would be good to state so when
you declare that "NO reason to have speed faster than a couple megahurts
clock for CNC purposes" is required. Otherwise, you are misleading readers!
Interpolated motion and arc calculations demand floating point math, and that
takes a LONG time at "couple Megahurts".<<
Years ago, before I had "taught myself much", I actually CALCULATED those
Y-step variables mentioned above after each X-step, and each part made took
several minutes. I got smart and STORED the step-values as I said above, and
each part takes only a couple minutes, movement seeming quite smooth! I began
this home-brew CNC fiddling in '79, so the learning-curve done been bent
around a bit, doncha know!
How do you set various feed rates using delay-loop constants?<<
For "rapid traverse", I have a line in the BASIC: 120 POKE AD,D0 where AD
is the "delay address" and D0 is usually just 1. For "hogging", I'd have 180
POKE AD,D1 where D1 would be perhaps 3. I'd have also D2 for slow cutting,
D3 for QUITE slow, and D4 for DEAD-slow.
And how do you do acceleration/deceleration?<<
I don't. My max. stepping-rate (with that "D0" above) is about 400 Hz. I
have gotten used to thinking in terms of "stepping rate" rather than "inches
per second". I built my first lathes with 0.1" pitch screws, and the latter
two with (preferable!) 4 mm pitch, so the "linear rate" is different, anyway.
Faster with the metric, so I get more done!
Anything faster then about 4 IPM <<
But this depends on the screw-pitch, doesn't it!
needs acceleration/deceleration. Can you rapid? Then you need acc/dec!<<
No I don't! 400 Hz. with 1.8° per step is 2 turns per second or 120 RPM.
So that would be 480 mm per minute, or about 19 inches/min. Fast enough for
my little parts.
What "flavor" of Gcode do you parse? A controller program must be able
to parse (read and break down) a CNC or "motion control" language. This
language gives coordinates and control words that the program needs to
do it's job.<<
Yes. As I have tried to convey above, my brain parses all it can, and BASIC
does the rest.
An extremely limited subset of a controller program might just READ a list
of coordinates for drilling.<<
AH, you remind me: I also built a little "PCB drill" which "looks up" the X
and Y coordinates I had previously "typed into" a FILE, and moves to the
next location, and drills a hole, then looks for next, etc. BASIC.
Self-composed program. Sadly, I did that back when I had several working PET computers,
but the last is now sleeping in a Hefty bag, and I have not had TIME to need
a PCB in so long that I have not converted this to "PC control", which I
intend to do, one day.
No, no G-code. Just BASIC. VERY simple. There are photos of both the
lathe and PCB-drill in the folder "HOMEBREw..." (second page of the PHOTOS
section in the CCED site home--page)
This limited controller would be able to do Manhattan (just horizontal and
vertical) motions in the XY plane, but this is a special case. Is that what
you're talking about? You should specify. And the "drilling program" would
still have to READ the coordinates from a file. Adding lines of code to a
program to define the coordinates you wish to drill at is NOT the type of
controller most of our list members are going to want. A worthwhile experiment
perhaps, but it should be stated as such so as not to confuse readers.<<
All that confuses ME! Were I FORCED to use G-code or Crash-2 or whatever,
I'd have done something different. I didn't.
All of these topics must be addressed for a reasonable controller program.
As the machine requirements for your experiments are not typical, you should
state so when you discuss your work.<<
It was not at all my point to become SO academic and need to discuss ANY of
this to the extent we have, today! I'm just a dum' ol' boy who can cobble
machinery, and understands just enough of home-brew electronics "to make it
go" (and built a little), so I make do with simple stuff. I know this is
completely contrary to the philosophy of Academia and CNC Machine-Tool Manuf
acturers of America, but so far, the SS has not appeared at my door to stop me!
[Non-text portions of this message have been removed]
Discussion Thread
Codesuidae
2005-01-27 15:25:12 UTC
Minimum reasonable computer speed?
Robert Campbell
2005-01-27 15:48:50 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
R Rogers
2005-01-27 15:53:24 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
Roy J. Tellason
2005-01-27 16:47:07 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
Stephen Wille Padnos
2005-01-27 16:51:36 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
R Rogers
2005-01-27 17:46:00 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
Robert Campbell
2005-01-27 18:14:20 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
Scott L Golden
2005-01-27 18:37:46 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
turbulatordude
2005-01-27 18:40:23 UTC
Re: Minimum reasonable computer speed?
codeSuidae
2005-01-27 21:52:22 UTC
Re: [CAD_CAM_EDM_DRO] Re: Minimum reasonable computer speed?
JanRwl@A...
2005-01-27 23:01:36 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
Torsten
2005-01-27 23:50:22 UTC
Re: Minimum reasonable computer speed?
Ron Ginger
2005-01-28 06:20:17 UTC
Re: Minimum reasonable computer speed?
Richard Garnish
2005-01-28 06:30:05 UTC
Re: [CAD_CAM_EDM_DRO] Re: Minimum reasonable computer speed?
cnc_4_me
2005-01-28 06:59:15 UTC
Re: Minimum reasonable computer speed?
R Rogers
2005-01-28 07:11:11 UTC
Re: [CAD_CAM_EDM_DRO] Re: Minimum reasonable computer speed?
turbulatordude
2005-01-28 07:24:04 UTC
Re: Minimum reasonable computer speed?
Fred Smith
2005-01-28 10:13:37 UTC
Re: Minimum reasonable computer speed?
Alan Marconett
2005-01-28 11:00:48 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
JanRwl@A...
2005-01-28 22:25:37 UTC
Re: [CAD_CAM_EDM_DRO] Minimum reasonable computer speed?
David A. Frantz
2005-01-29 08:18:44 UTC
Re: [CAD_CAM_EDM_DRO] Re: Minimum reasonable computer speed?