Re: [CAD_CAM_EDM_DRO] getting started with CNCs
Posted by
JanRwl@A...
on 2003-05-25 17:15:42 UTC
In a message dated 5/25/2003 6:47:22 PM Central Standard Time,
jwilson002@... writes:
line: I know. So far, the only "axis-count" I have needed to handle is X,
Y, plus Spindle-Motor ON/OFF, and (pneumatically-operated) Tailstock OUT/IN.
There are 8 "wires" in the parallel port. I use the first two for "X" Step and
Direction, the second pair for "Y" S & D, and the remaining two pairs via XOR
gates to operate SSR's controlling the motor and compressed-air valve.
Simple for simple mind.
For an "X move", say, of ten MM to the EAST, each linear mm. requiring 50
steps, I'd have a line in BASIC like this:
150 FOR X=1 TO 500:CALL X1:NEXT
X1 would be the address of the nine-byte "patch" that causes ONE step
eastward. (X0 would cause one step westward, etc.)
I never DID QBASIC; I only know it exists. I can handle GWBASIC, but that's
about all MY tiny mind can handle, being very, very feeble, with an attitude
of such magnitude that... OH, nevermind!
For CURVES, I first calculate a "look-up table" of step-variables for each
step of X (for example), and then have two "nested" FOR-NEXT loops, the X makes
a step, then the Y "looks up" how many steps to take, does that, then X steps
again, etc. One must write things to handle (accumulate, add, and use!)
fractions, as the math is NOT "integer" for circles, etc., of course.
Even a ten-year old laptop with only a 20 mHz. clock will run a FOR-NEXT loop
much faster than a stepper-machine can go, so a "delay loop" in the
machine-code is necessary to set "feed-rates". Then, before each FOR-NEXT loop, one
POKES AD,D where AD is "Address of Delay-Loop" and D is the "delay count" (for a
Tandy 1500HD, a "3" is a good "rapid traverse", and 8, 15, 30, and 60 are
useful numbers for woodturning applications on the machine I built using that
laptop.)
A recent "Pentium computer" with a 533 mHz clock runs BASIC SO fast that even
using a TWO-BYTE-wide "delay number" is counted faster than the laptop can do
its values, so SPEED is NO problem in this example!
G-code? First, I'd have to LEARN it, then find or WRITE an interpreter or
"compiler" (one ol' boy in a local home-machine-shop club did that, it is MUCH
more complicated than MY simple method of "learning from scratch, myself"!).
No thanks. My application is totally happy with what I do, now.
Jan Rowland
[Non-text portions of this message have been removed]
jwilson002@... writes:
> GWBasic is interpreted. Are you able to handle multiple axis? How do youJim: Carefully pondering if this remain on-topic, I dare take this ΒΆ line-by
> intergrate the "Called assembler" stuff? Have you tried QuickBasic? It is
> semi-compiled and runs a lot faster than GW. I did a lot of Basic stuff years
> ago and "poked" machine codes for fast stuff. I always thought Basic got a
> raw deal. You could do anything you could think of with Basic. Would you
> elaborate on how you do G code.
>
line: I know. So far, the only "axis-count" I have needed to handle is X,
Y, plus Spindle-Motor ON/OFF, and (pneumatically-operated) Tailstock OUT/IN.
There are 8 "wires" in the parallel port. I use the first two for "X" Step and
Direction, the second pair for "Y" S & D, and the remaining two pairs via XOR
gates to operate SSR's controlling the motor and compressed-air valve.
Simple for simple mind.
For an "X move", say, of ten MM to the EAST, each linear mm. requiring 50
steps, I'd have a line in BASIC like this:
150 FOR X=1 TO 500:CALL X1:NEXT
X1 would be the address of the nine-byte "patch" that causes ONE step
eastward. (X0 would cause one step westward, etc.)
I never DID QBASIC; I only know it exists. I can handle GWBASIC, but that's
about all MY tiny mind can handle, being very, very feeble, with an attitude
of such magnitude that... OH, nevermind!
For CURVES, I first calculate a "look-up table" of step-variables for each
step of X (for example), and then have two "nested" FOR-NEXT loops, the X makes
a step, then the Y "looks up" how many steps to take, does that, then X steps
again, etc. One must write things to handle (accumulate, add, and use!)
fractions, as the math is NOT "integer" for circles, etc., of course.
Even a ten-year old laptop with only a 20 mHz. clock will run a FOR-NEXT loop
much faster than a stepper-machine can go, so a "delay loop" in the
machine-code is necessary to set "feed-rates". Then, before each FOR-NEXT loop, one
POKES AD,D where AD is "Address of Delay-Loop" and D is the "delay count" (for a
Tandy 1500HD, a "3" is a good "rapid traverse", and 8, 15, 30, and 60 are
useful numbers for woodturning applications on the machine I built using that
laptop.)
A recent "Pentium computer" with a 533 mHz clock runs BASIC SO fast that even
using a TWO-BYTE-wide "delay number" is counted faster than the laptop can do
its values, so SPEED is NO problem in this example!
G-code? First, I'd have to LEARN it, then find or WRITE an interpreter or
"compiler" (one ol' boy in a local home-machine-shop club did that, it is MUCH
more complicated than MY simple method of "learning from scratch, myself"!).
No thanks. My application is totally happy with what I do, now.
Jan Rowland
[Non-text portions of this message have been removed]
Discussion Thread
johnny_flamengo
2003-05-25 08:41:43 UTC
getting started with CNCs
pcfw
2003-05-25 11:27:56 UTC
Re: getting started with CNCs
JanRwl@A...
2003-05-25 13:33:49 UTC
Re: [CAD_CAM_EDM_DRO] getting started with CNCs
Jim Wilson
2003-05-25 16:46:34 UTC
Re: [CAD_CAM_EDM_DRO] getting started with CNCs
JanRwl@A...
2003-05-25 17:15:42 UTC
Re: [CAD_CAM_EDM_DRO] getting started with CNCs
Harvey White
2003-05-25 19:28:22 UTC
Re: [CAD_CAM_EDM_DRO] getting started with CNCs
alex
2003-05-26 11:11:43 UTC
Re: [CAD_CAM_EDM_DRO] getting started with CNCs