DIY CNC Machine How Hard Can It Be?

L

linnix

Jan 1, 1970
0
I find USB to be really flaky, and as far as I can tell it cannot be relied
upon for timing sensitive tasks. Often my mouse won't work until I unplug
and replug it, that wouldn't do for a CNC machine that has just commanded
maximum current in the Z-axis motor, then bores a hole into the table
because the USB needs re-pluging.

USB is only good for downloading to the uC. The uC should do all the
real time stuffs by itself. That's why I ask for an ARM with 128K
flash at a minimum.
 
C

Chris Jones

Jan 1, 1970
0
D said:
I sometimes program with Delphi and thought maybe I could just do all
the processing on my PC and somehow spit out the positioning data via
USB to the motor controllers.

I find USB to be really flaky, and as far as I can tell it cannot be relied
upon for timing sensitive tasks. Often my mouse won't work until I unplug
and replug it, that wouldn't do for a CNC machine that has just commanded
maximum current in the Z-axis motor, then bores a hole into the table
because the USB needs re-pluging.

PCI might be a reasonable interface except that you have to pay money to
join their "secret club" to get a proper device ID, and the standard is
expensive (though some thoughtful people seem to have forgotten to take it
off their web servers...) I would rather not donate my time to creating
devices that promote or support standards that cost money.

If it were not disappearing, I would say that ISA bus is a good solution
because the bandwidth is sufficient, and the latency is low (I'm assuming
the software is not typical modern bloatware), and it's as reliable as
anything could be on an ordinary PC, and widely understood, and easy to
implement. If you have money to spend, you could buy an industrial PC,
these have some version of the ISA bus with a different connector, and will
be around for some time to come. Otherwise you could visit a dumpster and
stock up on ISA-motherboards to keep your setup running as long as you
want.

I guess that you are probably already aware of the open-source "EMC"
software for interpreting G-codes. I haven't tried it but you might find
it useful.

Chris
 
D

D from BC

Jan 1, 1970
0
The fundamental basic of USENET news is to read a few hundred posts (or a
weeks worth) before posting. Google has consistently dismissed this as
well as most other cannonical properties of USENET news. For a few years
now they have treated us to lamers that think this is a bulleten board
system (BBS), listserv, chat room or blog. Do you know what any of these
are, or why they are different?

I hoped that putting a smiley after the "Too much?" :)...it would be
taken as a joke.
Sometimes I like posting a question without an achieve check because
things change... This is news...What's new?..What's the latest coolest
most modern up to date solution? I mean...I'm afraid if I go too far
back in the achieves I'll learn about making fire :)
D from BC
 
D

D from BC

Jan 1, 1970
0
I find USB to be really flaky, and as far as I can tell it cannot be relied
upon for timing sensitive tasks. Often my mouse won't work until I unplug
and replug it, that wouldn't do for a CNC machine that has just commanded
maximum current in the Z-axis motor, then bores a hole into the table
because the USB needs re-pluging.

PCI might be a reasonable interface except that you have to pay money to
join their "secret club" to get a proper device ID, and the standard is
expensive (though some thoughtful people seem to have forgotten to take it
off their web servers...) I would rather not donate my time to creating
devices that promote or support standards that cost money.

If it were not disappearing, I would say that ISA bus is a good solution
because the bandwidth is sufficient, and the latency is low (I'm assuming
the software is not typical modern bloatware), and it's as reliable as
anything could be on an ordinary PC, and widely understood, and easy to
implement. If you have money to spend, you could buy an industrial PC,
these have some version of the ISA bus with a different connector, and will
be around for some time to come. Otherwise you could visit a dumpster and
stock up on ISA-motherboards to keep your setup running as long as you
want.

I guess that you are probably already aware of the open-source "EMC"
software for interpreting G-codes. I haven't tried it but you might find
it useful.

Chris

At the moment, I'm just evaluating the time and difficulty.
So far...I'm loosing confidence for the link between the PC and the
motor controllers..
How about Firewire?
D from BC
 
D

D from BC

Jan 1, 1970
0
USB is only good for downloading to the uC. The uC should do all the
real time stuffs by itself. That's why I ask for an ARM with 128K
flash at a minimum.

I think if the motor controller stopped getting data from the USB
connection, the CNC would just stop moving..
The motor controller isn't getting any XY coordinates.
I could inhibit the laser beam if there's no data stream.
That way my neighbors below don't get a hole burned into their coffee
table :)

D from BC
 
L

linnix

Jan 1, 1970
0
I think if the motor controller stopped getting data from the USB
connection, the CNC would just stop moving..
The motor controller isn't getting any XY coordinates.
I could inhibit the laser beam if there's no data stream.
That way my neighbors below don't get a hole burned into their coffee
table :)

In our case, we need one for Engineering and some for productions.
For Engineering, occasionally screw up is fine. For production, once
the program/data are downloaded, we don't care about the PC at all.
We need to drill a few thousand holes and cut a few hundred lines, so
it could take hours per wafer.
 
D

D from BC

Jan 1, 1970
0
rs232 is so easy to do, so many micros have it too,
theres always usb to rs232 converters if you pc doesnt have one.

you can get very high resolution optical incremental encoders,
if you want to roll your own you with a sloted disc and quadraturte opto,
you could always use a micro's on board ADC and work out the position
between slots.

you can get many motor driver chips wich accept logic input,
microcontroller development boards are quite cheap on ebay.

big question is how to arrange the table slides and dirves,
theres lots of options, linear round shafts,
toothed flat linear guides etc,
toothed belt drive, screw drive ..
or you could have it polar type with rotating rather than sliding parts.

You can also get x/y slides to fit onto pilar drils to turn them into
milling machines,
just add motor drive/position sensing.

I hope your doing this for fun rather than to get something realy good at a
low price.

Colin =^.^=

Cool..My PC has RS232 ..

I might go with toothed flat linear guides.
*
\/\/\/\/\/\/\/\/\/\/\/\/\/\
My planned table size is 8ft x 4ft.
The machines at Precix.com use that.

It'll be a fun project to gradually build over time.
I'll be amused just to turn on a motor with a PC. :)
D from BC
 
D

D from BC

Jan 1, 1970
0
Oh defacation, how clueless can you be? Just buy pre-encoded strips. They
are intended to be mounted on low TCE measurement reference bars. Then
again they may no longer be generally available.

Fortunately I'm not, "Where do buy a bag of electrons?" clueless.. :)

PC machine control is a new area for me.. I'm just curious about the
general electronics difficulties. Nothing in great detail..Just need
to know where to start the research with PC interfacing and motor
controller IC's.
D from BC
 
D

D from BC

Jan 1, 1970
0
Before reading any other replies: None of these interfaces support decent
real time processing. CNC machining is a true real time situation. The
power supply question is nearly irrelevant. Now where did that Ad for that
fast CNC machine go to? Oh, just google fast CNC machines. Once you see
what they can do you may get some clue as to what is required to build one
from scratch.

Next time I'm at one of my fab houses, I'll take a closer look at
their machines.
I know a few places around here with CNC,jet and laser machines.
I could photograph the XY mechanics.
In fact, those guys would probably be cutting the parts I need to
build the CNC.
Funny..I need a CNC to build a CNC..Irony? :)

About real time interfacing...
I'm mounting a laser on a CNC.. I'll make the electronics shut off the
beam if there's an data stream interruption.
However, I do wonder if accuracy gets effected by sudden stops and
starts.
D from BC
 
J

Jonathan Kirwan

Jan 1, 1970
0
However, I do wonder if accuracy gets effected by sudden stops and
starts.

With stepper control, at least, my experience has been that there is a
controlled rate of speed increase (starting to move) and decrease
(slowing down towards the end of a move.)

Jon
 
M

Michael A. Terrell

Jan 1, 1970
0
D said:
Fortunately I'm not, "Where do buy a bag of electrons?" clueless.. :)


Duh! EVERYONE knows the best electrons are mined in africa. Its all
of those damned diamonds that slow down the production. :(


--
Service to my country? Been there, Done that, and I've got my DD214 to
prove it.
Member of DAV #85.

Michael A. Terrell
Central Florida
 
J

Joel Kolstad

Jan 1, 1970
0
D from BC said:
Anybody know if someone converted an inkjet printer into a CNC?

I doubt it, but you will find people that have converted the cheap Chinese
regular (manual) mills into CNC machines. E.g.,
http://www.stirlingsteele.com/millplans.html (and there are several others).
The mill in question there (made by Sieg) sells for <US$500 from Harbor
Freight.

It seemed that for awhile a CNC conversion article would pop up in Circuit
Cellar Ink or Nuts and Volts every year or so. (I imagine Make magazine has
probably had such an article as well by now.)

---Joel
 
J

Joel Kolstad

Jan 1, 1970
0
With windows and USB, machine controlling is very difficult and most
of the work has to be outsourced to bought in custom processors,
controllers and software.

This really isn't true IMO. There are plenty of <$100 USB digital and/or
analog "interface" boxes out there that make life *much* simpler than "banging
the parallel port" as in the old DOS days. It's still perfectly reasonable to
have you PC control the timing of a bunch of stepper motors: In the DOS days
it's just that you *knew* you were the only process running on the machine,
whereas in Windows you just have to make sure there isn't tons of crapware
loaded up in the background potentially using CPU cycles if precise timing
important to you.

What *does* make software more time consuming today is that many people expect
a fancy GUI interface, which -- even when using Visual Basic or C# or one of
the C++ tool kits -- take longer than some simple "command line" program.
Still, for home/hobbyist use, there's no particular reason you need a GUI...
Essentially you now have to rely on the
skills of others whilst relegated to being just a consumer with deep
pockets.

Hardly -- PCs today are much cheaper, in real dollars, than they were 10 years
ago, and *almost free* compared to what they were, say, 25 years ago.

It's true that -- if you choose Windows as the OS platform -- you're relying
on the skills of others, but this was certainly true in the DOS days as
well -- DOS had thousands of lines of code designed by someone other than
yourself, the video card and parallel port hardware and the CPU were all
designed by someone else, etc.

I guess I see posts as yours as the typical, "those were the good old days,
everything sucks today" when, in actuality, yeah, there's something to be said
for the "good old days," but in general they weren't quite as good as
nostalgia seems to make them.

---Joel
 
J

Joel Kolstad

Jan 1, 1970
0
Chris Jones said:
I find USB to be really flaky, and as far as I can tell it cannot be relied
upon for timing sensitive tasks.

It's not USB that's at fault, it's the OS and all the applications you have
running. Unlike most traditional busses (including PCI), USB has its
"isochronous" mode where you're *guaranteed* a certain bandwidth with bounded
latency.
Often my mouse won't work until I unplug
and replug it

This is symptomatic of a flaky mouse or possibly a flaky motherboard or driver
software, but says nothing about the USB protocol itself. I remember a
particular PCI VGA card I once had that was so poorly built that in many
systems it simply didn't work at all, and in others it had highly visible
"wavvy lines" in the display... ewwww!
PCI might be a reasonable interface except that you have to pay money to
join their "secret club" to get a proper device ID, and the standard is
expensive

Again, this is really off-base. If you purchase a PCI interface IC such as
those made by PXI, you just use their device and vendor ID and then supply
your own sub-device and sub-vendor ID. I designed a PCI board some years back
around a PXI9054 IC (nice chip!) using nothing more than their data sheets and
the ~$50 Mindhsare book on PCI -- no big $$$ amounts anywhere.
I would rather not donate my time to creating
devices that promote or support standards that cost money.

Oh please. It's far better than we *have* standards such as PCI and USB and
WiFi than everyone running off and creating their own, incompatible interface
"for free" (which isn't free anyway!).
If it were not disappearing, I would say that ISA bus is a good solution

Ewwww... noooo!

ISA doesn't exist anywhere in the standard consumer PC space anymore, and I
think it's even accurate to say that VME has held on better in the
industrial/embedded computing space that ISA!

---Joel
 
J

Joel Kolstad

Jan 1, 1970
0
joseph2k said:
Before reading any other replies: None of these interfaces support decent
real time processing. CNC machining is a true real time situation.

My opinion is that it's "soft" real-time, since the impression I had from the
O.P. is that he isn't trying to build a super *fast* machine. If you're just
trying to cut some aluminum or UHMW or PCB material at home (as opposed to
building a "production" quality machine where you fully intend to bill time by
the minute), it's not a big deal if your cutting spend wanders a little bit
from location to location. Certainly when people mill by hand this occurs,
and decent machinists still turn out very good work anyway.

Building a fast machine certainly is a significant challenge and easily
warrants plenty of standalone processing. Hmm... anyone see that You Tube
video of the CNC lathe that can cut, e.g., square and rectangular profiles out
of round stock? That's not something I'd want to trust a standalone PC to do,
since a standalone DSP or CPU is a lot nicer in that scenario than trying to
insure you have complete control of the CPU on a modern "desktop" OS.
 
E

Ecnerwal

Jan 1, 1970
0
most modern up to date solution? I mean...I'm afraid if I go too far
back in the achieves I'll learn about making fire :)

IBM assembler H - HCF command (...halt and catch fire). Next...?
 
D

D from BC

Jan 1, 1970
0
Duh! EVERYONE knows the best electrons are mined in africa. Its all
of those damned diamonds that slow down the production. :(

Those electrons could be 13.7 billion years old...I'm looking for a
bag of brand new electrons :)
D from BC
 
D

D from BC

Jan 1, 1970
0
My opinion is that it's "soft" real-time, since the impression I had from the
O.P. is that he isn't trying to build a super *fast* machine. If you're just
trying to cut some aluminum or UHMW or PCB material at home (as opposed to
building a "production" quality machine where you fully intend to bill time by
the minute), it's not a big deal if your cutting spend wanders a little bit
from location to location. Certainly when people mill by hand this occurs,
and decent machinists still turn out very good work anyway.

Building a fast machine certainly is a significant challenge and easily
warrants plenty of standalone processing. Hmm... anyone see that You Tube
video of the CNC lathe that can cut, e.g., square and rectangular profiles out
of round stock? That's not something I'd want to trust a standalone PC to do,
since a standalone DSP or CPU is a lot nicer in that scenario than trying to
insure you have complete control of the CPU on a modern "desktop" OS.

Fast CNC ..no...
I'll go for quick development over making a speedy CNC machine.

I'm guessing the motor controllers just need xy data for the PC
interface..
For example:
Motor X go to location AC0E 0097
Motor Y go to location 3498 EA33
Motor Z go to location 0000 0000

Somehow, I can't imagine this requiring alot of stand alone
processing..
D from BC
 
G

Gary Tait

Jan 1, 1970
0
Fortunately I'm not, "Where do buy a bag of electrons?" clueless.. :)

PC machine control is a new area for me.. I'm just curious about the
general electronics difficulties. Nothing in great detail..Just need
to know where to start the research with PC interfacing and motor
controller IC's.
D from BC

Depending, you probably won't be directly controlling the motors with your
host PC, but using a decent Micro to do that.

I'd have the mico interperet instrictions, which amount to telling the
controller which x/y/z coordinates to go to and at what velocity, and let
the controller deal with the minutae of timing and encoder reading. maybe
have an micro per motor.
 
D

D from BC

Jan 1, 1970
0
Depending, you probably won't be directly controlling the motors with your
host PC, but using a decent Micro to do that.

I'd have the mico interperet instrictions, which amount to telling the
controller which x/y/z coordinates to go to and at what velocity, and let
the controller deal with the minutae of timing and encoder reading. maybe
have an micro per motor.

Yup...I'd just have the PC just stream xyz data to the motor
controllers.
The motor control units will have to figure out what to do with the
data.
For a basic prototype, I'll make everything constant velocity. Or
perhaps a velocity based on the PC data rate or step size..
D from BC
 
Top