CNC machines, Parallel Ports and PCMCIA cards for laptops

1,128 views
Skip to first unread message

April Staines

unread,
Nov 10, 2013, 6:11:47 PM11/10/13
to connected-commu...@googlegroups.com
Hi everyone,

I recently purchased a CNC 3040.  It apparently needs to be driven by a parallel port not USB (though the control box it has a usb, but I think its just for power)

I do have an old PC with a parallel port I can use, but I really dont want to have something that bulky in my workshop and was thinking of purchasing a PCMCIA to parallel port adaptor for my old laptop that sits in the workshop for use with the 3d printers.

this is what I was thinking of getting:


thoughts?


-------------------------------------------------------------------
April Staines - Melbourne AU

Clifford Heath

unread,
Nov 10, 2013, 6:15:48 PM11/10/13
to connected-commu...@googlegroups.com
On 11/11/2013, at 10:11 AM, April Staines <aprils...@gmail.com> wrote:
> I do have an old PC with a parallel port I can use, but I really dont want to have something that bulky in my workshop and was thinking of purchasing a PCMCIA to parallel port adaptor for my old laptop that sits in the workshop for use with the 3d printers.
> this is what I was thinking of getting:

Why PCMCIA? I bought a USB<->Parallel adapter for my trusty Laserjet 6L,
and it's been problem-free (hooked up to a media PC running Ubuntu).

Clifford Heath.
signature.asc

April Staines

unread,
Nov 10, 2013, 6:19:29 PM11/10/13
to connected-commu...@googlegroups.com
Others may want to step in, but my limited understanding is that the Mach3 software and the CNC specially uses the _timing_ of the parallel ports to control steps which you dont get with USB to parallel adapters.  

PCMCIA is just a variant of a PCI expansion bus adapter and therefor maintains the timing.

Like in other things, timing is everything. :-)


-------------------------------------------------------------------
April Staines - Melbourne AU


Stuart Young

unread,
Nov 10, 2013, 6:19:52 PM11/10/13
to CCHS
USB->Parallel adaptors are useless for machine control. The way most of the control software works is by bit-banging each individual pin to get the right timing.

USB adaptors:
 1. Don't allow bit-banging like that (they're not memory mapped).
 2. Introduce a variable latency between the PC and the output.



On 11 November 2013 10:15, Clifford Heath <cliffor...@gmail.com> wrote:



--
Stuart Young (aka Cefiar)

John Spencer

unread,
Nov 10, 2013, 6:21:00 PM11/10/13
to connected-commu...@googlegroups.com
Although I haven't looked into that exact PCMCIA card, the general advice is that you cannot run CNC machines on laptops or through usb to parallel adapters.

Both these methods change the clock speeds the CNC machine uses to perform accurate milling.

Specifically, laptops almost always do funky clock things to save power, regardless of what operating system and settings you use.

Your best bet is to find an old P4 and use that :/


--
You received this message because you are subscribed to the Google Groups "Connected Community HackerSpace" group.
To unsubscribe from this group and stop receiving emails from it, send an email to connected-community-h...@googlegroups.com.
To post to this group, send an email to connected-commu...@googlegroups.com.
To view this discussion on the web, visit https://groups.google.com/d/msgid/connected-community-hackerspace/CAB3zPcU3p2xBKDG%2B-TanA%2BoeLoW9z34%3Djru-c%3DawCO8tUf9QJA%40mail.gmail.com.
For more options, visit https://groups.google.com/groups/opt_out.

Robert Powers

unread,
Nov 10, 2013, 6:22:12 PM11/10/13
to connected-commu...@googlegroups.com
Aye, was just about to add the same as Cef. I haven't got any input much otherwise except to wonder if you're working off of a dedicated machine or if this is sharing responsibility for other things... anyone done this with a Pi yet?


--
You received this message because you are subscribed to the Google Groups "Connected Community HackerSpace" group.
To unsubscribe from this group and stop receiving emails from it, send an email to connected-community-h...@googlegroups.com.
To post to this group, send an email to connected-commu...@googlegroups.com.

John Spencer

unread,
Nov 10, 2013, 6:26:51 PM11/10/13
to connected-commu...@googlegroups.com
Mach 3 is windows only, so no Pi for you :)

LinuxCNC uses it's own magical kernel at the moment.  Wouldn't hold your breath there either.  LinuxCNC is much fussier than mach3 about what hardware it will run on.

Best solution, use grbl and break out the pins to the motor drivers in the magical box supplied with the mill.


Clifford Heath

unread,
Nov 10, 2013, 6:29:46 PM11/10/13
to connected-commu...@googlegroups.com
On 11/11/2013, at 10:19 AM, Stuart Young <cef...@gmail.com> wrote:
> The way most of the control software works is by bit-banging each individual pin to get the right timing.

What is this, the 1990's? I've built bit-banged parallel port things things,
but I wouldn't have bought such a machine now.
I assumed it was using something more… modern.
signature.asc

Robert Powers

unread,
Nov 10, 2013, 6:47:29 PM11/10/13
to connected-commu...@googlegroups.com
LinuxCNC uses it's own magical kernel at the moment.  Wouldn't hold your breath there either.  LinuxCNC is much fussier than mach3 about what hardware it will run on.

There's 22 pages of forum and a year of frustration on the Pi forums (http://www.raspberrypi.org/phpBB3/viewtopic.php?f=44&t=23688), so this might not be completely unworkable... but I haven't read it through or checked out the solutions they've tried, but could make for a fine project for anyone wanting to flatten their brow against a wall.

Cheers,
Bob


John Spencer

unread,
Nov 10, 2013, 6:59:29 PM11/10/13
to connected-commu...@googlegroups.com
The more I look at it the more I think the microprocesser route is the way to go for these small hobby mills.  Which is possibly a bit of a shame because the GUI interface for LinuxCNC is far superior to anything I've seen for grbl.

I suspect you linked to the wrong discussion there Bob, that one was only 5 posts long.  My research is getting a bit dated now, but my understanding was that the kernel LinuxCNC was using was pretty much undeveloped and there was an effort to move across to a different realtime kernel.


Darren Freeman

unread,
Nov 10, 2013, 7:05:44 PM11/10/13
to connected-commu...@googlegroups.com
On Mon, 2013-11-11 at 10:11 +1100, April Staines wrote:
> this is what I was thinking of getting:

I can't promise you that this will work, but it's not an expensive
experiment either.

It looks to be functionally equivalent to an ISA parallel port card,
which is what the software is expecting.

There is at least a chance that it will work :)

USB converters have no hope of working, for the reasons that others have
given, so if you're looking to gamble $15 on something, it should be
this.

If I had one of these machines, I'd probably end up using an Arduino
running any of the CNC firmwares that generate stepper signals. You
don't need stepper drivers or extruder heating, so the Arduino on its
own should do nicely.

Have fun,
Darren

Robert Powers

unread,
Nov 10, 2013, 7:06:02 PM11/10/13
to connected-commu...@googlegroups.com

Stuart Young

unread,
Nov 10, 2013, 7:33:36 PM11/10/13
to CCHS
Yeah exactly.

From what I can see, a lot of the machining setups use either dedicated hardware (read: Not a normal PC - supplied by the machine maker), or they use old PC hardware to get timing out of old software combos.

There has been a few attempts at using smaller external microprocessors to do all the timing/movement stuff, but the issue usually has been "where to draw the line" on what processing takes where.

Mach3 and LinuxCNC both try and do as much processing on the actual PC as possible. There are (expensive) FPGA solutions that talk to the PC over USB, but apart from the prices, the barrier to entry has been very high (eg: non-free Windows only tools to program everything). FWIW: These were all developed by people aiming to make a "killing" in the machining space (and of course they're charging buckets for the hardware). IMO they're not really interested in making things better overall, but are interested only in profit.

In both Mach3 and LinuxCNC, they process the g-code down to movements on the PC, which while it allows certain optimisations to be be performed, means that the controller ends up being rather dumb, and as such can't predict when it needs lots of resources vs less.

For LinuxCNC, someone did a first take at using an Arduino to take basic commands and produce stepper outputs. This works (somewhat), but has certain issues, especially if you've got a low powered Arduino (eg: Leonardo, which also has to worry about USB transactions as well). Something faster like a Due based setup or something based on STM32 might prove more reliable. That said, there are of course still some issues as this is entirely "just" stepper movement control, and has nothing to do with advance planning by interpreting g-code.

So you've basically got a lot of machining people who are either using very expensive hardware with high barriers to entry or old hardware which "works" for what they want. A select few are dumping the traditional Mach3 and LinuxCNC options in favour of the RepRap-style controllers, but for high speed precision milling, the speed and firmware shortcuts of the AVR based electronics simply doesn't cut it.

A lot of people are looking at the new generations of RepRap based electronics (based on ARM and similar cores, which can keep up with the full speed required without any code shortcuts), hoping that they will prove suitable for their uses.

Luke Weston

unread,
Nov 11, 2013, 4:14:37 AM11/11/13
to connected-commu...@googlegroups.com
The best way to do it might be to find an old PC with parallel port, install appropriate software (and an appropriate kernel if it's worthwhile) and have it dedicated to the purpose.

The RedFrog pick and place machine has its PC motherboard, hard drive and PC power supply integrated right inside the machine itself so it's all self contained, you just plug the monitor, keyboard and mouse into the machine itself, which is an elegant way to do it.
Reply all
Reply to author
Forward
0 new messages