PDA

View Full Version : Why does Mach 3 still use parallel port instead of USB?



Black Forest
12-12-2012, 08:04 AM
Why does Mach stay with parallel port instead of switching to more modern technology? I am sure there is a reason but I can't find it online.

John Stevenson
12-12-2012, 08:11 AM
It does.

It can use both but it's not Mach3 dependant on what breakout board is fitted, there are USB boards out there that work very well.

adatesman
12-12-2012, 08:27 AM
IIRC the USB port isn't able to maintain stable timing, which Mach needs to operate. The parallel port does, hence using either that or an external USB device that does its own timing, like SmoothStepper or KFlop.

BigJohnT
12-12-2012, 08:46 AM
BF I sent a PM to you

John

EVguru
12-12-2012, 09:04 AM
If you install it under a 64 bit operating system then the parallel port is no longer an option, you have to use a motion control board.

Some people are very upset over this. They seem to feel they have a right to use an affordable piece of software on the latest operating system and have it support an obsolete piece of hardware.

lazlo
12-12-2012, 10:58 AM
IIRC the USB port isn't able to maintain stable timing, which Mach needs to operate. The parallel port does, hence using either that or an external USB device that does its own timing, like SmoothStepper or KFlop.

That's correct. USB is an arbitrated, packet-based interface, and completely non-deterministic.

Mach bit-bangs the parallel port to generate pulses: it schedules a high priority Windows processes that writes to the raw parallel port. Hopefully, Windows services that interrupt handler often enough that you drive the stepper :)

Black_Moons
12-12-2012, 02:28 PM
Pertty much, to use USB you need something smart enough to take g-code (or something similar) and do all the PID loop(if any)/ pulse generation internaly. Takes a little more skill to program a microcontroller to pull that off then it does a PC with infinate gobs of computing power.

MrFluffy
12-12-2012, 04:24 PM
What lazlo said, its easy to bitbang pins on a parallel port via asm at low level, but usb is a lot more abstract and more difficult to time.

Evan
12-12-2012, 07:37 PM
You can bit bang the USB port using a USB to serial converter but the hardware timing is only accurate to a few milliseconds at best. That's good enough to run a stepper at a 100 steps per second or less but that would be a very slow CNC machine. It is however plenty good enough to run a telescope drive.

John Stevenson
12-12-2012, 07:58 PM
Just use one of these:-

http://i1134.photobucket.com/albums/m609/onlyforever702/USB4axisboard-11.jpg

Does 4 axis and spindle speed control. 16 inputs, 200KHZ speed

Black Forest
12-13-2012, 03:13 AM
OK John, What is that and where can it be bought?

EVguru
12-13-2012, 04:51 AM
Sometimes people forget to look for clues and use a search engine;

Google + 'leafboy77' = http://leafboy77.com/index.php/en/

EVguru
12-13-2012, 05:13 AM
And with a little bit more work; http://www.automationtechnologiesinc.com/products-page/breakout-boards/4-axis-cnc-usb-card-mach3-200khz-breakout-board

DFMiller
12-13-2012, 08:23 AM
Yes John, tell us which one that is.
I would suggest looking at Ethernet as a better option.
USB is not galvanically isolated and can suffer from noise issues. Case in point the Smoothstepper USB in some cases just would not work reliabilly where the Parallel Port would. The Ethernet version of the same product does not seem to have same issue. It's a noise issue. Spent many weeks in my router install before I binned the Smoothstepper.
Dave

DFMiller
12-13-2012, 08:57 AM
Thanks Paul for the link,
Looking at the schematic very skeptical on its robustness.
Google does not report much, at least one person is having issues and not much about people's successes.
Dave