Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Small CNC Machines For Making PC Boards

Status
Not open for further replies.

MrAl

Well-Known Member
Most Helpful Member
Hi there,

Anyone here try any of these machines yet? They are small, roughly 1 foot by 1 foot, and come with all motors and software. They look accurate enough to make PC boards.
The sell for around $500 USD and up.
Only down side 'seems' to be that they need a parallel port.
 
Hi there,

Anyone here try any of these machines yet? They are small, roughly 1 foot by 1 foot, and come with all motors and software. They look accurate enough to make PC boards.
The sell for around $500 USD and up.
Only down side 'seems' to be that they need a parallel port.
I'm renovating an old engraving machine... I will be interfacing it to a decent sized pic using the PMP and the USB... This way I will be able to interface a PC quite easily.... BUT!!!! as I'm as busy as a bumble bee, I have no idea when I'll get round to it!!!!

You can buy parallel / USB convertors...
 
Hi,

That sounds interesting too.

I have read that many of the emulated parallel ports do not work very well. Any ideas here?
 
Hi,

That sounds interesting too.

I have read that many of the emulated parallel ports do not work very well. Any ideas here?
Yep! I have also heard this... But No experience at all...I will definitely use a pic to interface to the engraver.... I will be using it to create PCB's
 
I am currently re-building a home made (not by me) controller for a more robust "real" milling machine.
When I bought it the wiring was sort of OK, but I have seen much better, when I opened up some of the connectors I understood why it did some odd things from time to time!

I use a small desktop type PC, actually a "Shuttle", to run the control software (Mach3), the output is via the parallel port built in to the Shuttle, and seems to work OK.
I have also installed a second parallel port into the Shuttle to give a bit more I/O so that I can implement better Jog functions and spindle speed measurement.

I have not tried using an emulated parallel port or a USB to parallel converter, and I have never read of anyone doing it successfully.

In my controller, the parallel port connects into an isolated interface called a Gecko G540 which provides drive for the axis stepper motors and the control signal to the spindle motor driver board.

If you want to avoid using a parallel port, I know that there are interface/drivers available which use USB rather than parallel, but I cannot give a link to any at the moment.

JimB
 
Hi again Jim,

I can see you are thinking along the same lines i am thinking.

One question, you are saying that the CNC software you are using is Mach3 right?
Does this allow import of files that you create yourself?
How do you intend to draw your PC board layouts, then how do you intend to transfer them to the program software?
I would like to know about this so that i might plan ahead if i decide to finish my own homebrew machine, which was really going to be an xy drawing machine but now i'm thinking of going CNC with that too.
Thanks.
 
MrAl if you want to avoid parallel ports, start by googling "Ethernet Smooth Stepper", this is a breakout and isolation (?) board which connects via ethernet.

Yes the CNC software is called Mach3, you can download the demo version for free. The demo version has most of the functionality of the fully paid version.
Yes, mach3 can import files written in "G Code" which it interprets and drives the axes and the spindle.

As for creating drawings and the associated G Code, I have not addressed that obstacle yet.

Before I bought my mill, I had it in mind to use it to create PC Boards and looked at various flatbed type CNC routers (which can also be driven by Mach3). As I also like to "make swarf" from bits of metal, I bought a real milling machine, a Denford NovaMill, which is a benchtop sized machine which was initially made for use in educational establishments, as witnessed by the scars on its worktable!

JimB
 
Hi,

That sounds interesting too.

I have read that many of the emulated parallel ports do not work very well. Any ideas here?

They don't, it's like the parallel port PIC programmers, you're using the port in a completely non-standard way and 'hitting the hardware' directly, USB converters don't generally cope with that.
 
Free Pcb-gcode is a User Language Program (ULP) for EAGLE PCB design software produced by CadSoft. Pcb-gcode allows one to make printed circuit boards by using a CNC router or milling machine to cut the traces out of the copper on the board. It also produces files for drilling holes. Two-sided boards are supported. By "mechanically etching" the boards, no toxic chemicals are needed – making the process more environmentally friendly. Turn-around times and costs are much reduced from ordering a prototype from a board house.

https://pcbgcode.com/


You can buy a parallel card for your computer but you can get an old, used PC with a parallel port cheaper. You shouldn’t use a laptop for CNC because they pause occasionally for housekeeping.

In the future, I will cut wider so it will be easier to solder without bridging.
1st board sm.jpg
 
You can buy a parallel card for your computer but you can get an old, used PC with a parallel port cheaper.

Be aware that a parallel card 'might' not work, they tend to be fairly non-standard, and 'might' not support the direct hardware access required. Something to bear in mind, and makes an old 'proper' parallel port capable PC an easier option.

In the future, I will cut wider so it will be easier to solder without bridging.

Nice, what CNC did you use? :D
 
Thanks Nigel

I used my 75 year old milling machine that I converted to CNC using large stepper motors. The free Mach3 program compensates for the 0.030” backlash nicely.

I made a separate 10,000 RPM spindle for engraving.

Axelson.jpg
Spindle.jpg
X motor.jpg
Y motor.jpg
 
An "Internet buddy" did buy a Chinese CNC, he had issues with E-stop and needed to add the height ORG sensor. He's not using it for PCB milling and he's using the Mach3 software. As was said, it must be a real "parallel port".
 
I love that chunky milling machine and I like your add-on spindle for engraving, I was considering doing something similar myself.

JimB
 
Hi,

I havent seen a milling machine that large in years now :)

Yes the parallel port can be a pain. I had a flat bed scanner once that used a parallel port, then i 'upgraded' to a 'better' computer (mobo, processor, etc.) and lost the true parallel port. I tried a parallel port card, and the scanner could only run at about one tenth speed, which was far too slow. There seemed to be no way to correct that.
In the original computer with built in P port, it had a setting in the bias, something like "Extended Parallel Port" or something like that (dont remember too well now) and there was nothing like that in the PP card.
I dont know if they improved this or not as that was many many years ago now. I ended up buying another flat bed scanner that turned out to be much faster than the old one anyway. With the CNC machine this would not be possible however.

I can see this is just a matter of the bridge between the software and the parallel port. If the software could be modified, we could design our own parallel port that runs off of just about any other port like USB or even serial. It might be slower that's all.
One thing is for sure, we could make a stand alone parallel port with a PIC or something, that could be driven from just about anything else. But getting the software to comply with the 'anything else' would be the challenge. We may have to make our own software too then. This begs the question, can we get the specs of the CNC machine, ie the protocol it needs from the parallel port to run properly?
Ideally though, i'd like to see the CNC control work from another port, not the parallel port, which has been phased out for the most part now.

Another question that comes up:
What actually does the microstepping? Is it the control board of the CNC, or the software in the PC?

Another option might be to buy a bare bones CNC -- one with motors but no control boards -- and go from there. That way we'd always know what was what and where everything was located.
 
Last edited:
One thing is for sure, we could make a stand alone parallel port with a PIC or something, that could be driven from just about anything else. But getting the software to comply with the 'anything else' would be the challenge. We may have to make our own software too then. This begs the question, can we get the specs of the CNC machine, ie the protocol it needs from the parallel port to run properly?

It's been done, and it works for the most part, but the problem with using a PIC, or for that matter any standard Micro, is the speeds involved. They simply cannot keep up if you want to do any machining at a reasonable speed. As for the Protocols involved, it is simply step and direction signals generated from G-Code and translated by the CNC software running on your PC, which is in effect the motion controller. The G-Code itself being generated either on the fly by manually entering it into Mach3, LinuxCNC etc, or by running your designs and models through some CAM capable software and generating your toolpath that way.

Ideally though, i'd like to see the CNC control work from another port, not the parallel port, which has been phased out for the most part now.

You can buy off the shelf solutions to remove the parallel port entirely from the equation, at least on the PC side of things. These allow the machine to run using either a USB or an Ethernet port. You can also buy dedicated Motion controller cards that just drop into an expansion slot in your PC if you want something even more robust.

Another question that comes up:
What actually does the microstepping? Is it the control board of the CNC, or the software in the PC?

The micro stepping is actually performed by the motor driver board itself, which is in turn driven by an opto-coupled breakout board either connected directly to a real Parallel Port, or via some other motion controller. Breakout Boards can be had with all sorts of variations on the theme, but all essentially perform the same task, which is to isolate the Parallel Port from the high voltages in the CNC machine. Jim mentioned earlier that the ESS board is a breakout and isolation board. It is actually performing several functions, a motion controller, interface translation etc. It's a daughter card that connects into your existing breakout board's Parallel Port input. It doesn't isolate, that's a BB function. It is built around a Xilinx FPGA as I remember, and very quick. It has a good reputation for being reliable too. Think of a BB as performing the same function as the main board in a PC, it has all your backplane for connecting stuff up coupled with a few integrated features and functions. You then add in additional cards for specific functionality. You mentioned that maybe some software needs to be written. There is documentation on how to write interface plug-ins that drop right into the Mach3 software and others for hardware translation, including additional motion controllers, spindle controllers and a whole slew of other applications. It's doable, but complex :)
 
I used my 75 year old milling machine that I converted to CNC using large stepper motors. The free Mach3 program compensates for the 0.030” backlash nicely.

Nice, you can't beat old Iron. Makes a change from seeing a Bridgeport with steppers hanging off it :)
 
Nice mill and conversion, but no paint. Paint would spoil it, right? I miss not having access to a mill.

Microstepping: Basically divides the "step" into x current divisions. So, if 1 A was a single step, then 1/2 Amp for the winding would now increase the resolution by a factor of two. Microstepping is a lot more than a factor of 2. It's the controller's job.

USB 3.0 may actually be able to support the parallel port interfaces that CNC's use, who knows. At least, here https://accessories.euro.dell.com/sna/productdetail.aspx?c=ie&l=en&s=dhs&cs=iedhs1&sku=452-11421 is one such gizmo.

I used some of these controllers at the bottom of the page: https://www.netmotion.com/htm_files/mc_controllers1.htm#233_spec They were actually kinda cool gizmos. They didn't like fake serial ports though. I successfully interfaced a filter wheel and shutter control with the embedded language. The language was missing some constructs though. I didn;t quite finish a LabView driver for the stepper. I got caught up in the the technology of a IEEE-488 or otherwise monochometer with integrated filters was not available at the time of purchase/design, so the project was later "scrubbed" and we traded like $12,000 for an IEEE monochometer with IEEE interface. That kind of money wasn't available at the time of the needed upgrade either.

Automating our old monochometer woud have gotten us better performance. This was a job where a PDP-11 could count pulses fast enough and activate the start/stop button, but a PC could not.
 
Hi,

The way i see microstepping is like this...
The current to one winding goes lower, while the current to another winding goes higher, the two currents hold the rotor in a position in between the direct step positions, so a stepper with 100 steps could step 200 steps if the rotor is held between two full steps. If the stepper pulls less one way than the other, we get 1/4 step, then 1/8 step, and so on and so forth. If the controller can do linear, it could rotate the rotor smoothly just like a motor as it puts sinusoidal waves on the coils.

But i had to wonder if some of the grunt work might be being done on the PC itself these days, which would simplify the controller/driver board itself. Probably not though.

The controller boards i built had some in between step ability, but i dont remember what it was now as that was some time ago.

It's nice to see everyone has some experience with this.
 
Basically. I didn't care much about the logistics as you did, but the current is changed to HOLD the motor between full positions and it pretty much has to be in the gizmo that accepts the direction/~enable signals which usually interfaces to the motor. e.g. 64 pulses is a full step
 
Status
Not open for further replies.

Latest threads

Back
Top