Machsupport Forum

Mach Discussion => General Mach Discussion => Topic started by: _Adrian_ on April 09, 2014, 07:50:36 PM

Title: G-Code streaming VIA USB
Post by: _Adrian_ on April 09, 2014, 07:50:36 PM
Hey guys...

Just wondering if anyone has tried the alternatives out there with any of the available 3D printer hardware.
basicly ditching the old and outdated serial ports for newer hardware.

OPTIONS:
 - Arduino Due and Ramps FD
 - Beagle Bone Black and T-Bone
 - Beagle Bone Black and CRAMPS
 
RaspberryPie and the Beagle Bone is just the beginning to these mini computing and slowly all side are joining in...
Intel already stepped up with the Galileo and Arduino is bringing their new Tre to the table.
And this is just the beginning !

Any of these options are mostly open source and fairly cheap!

Input please...
Title: Re: G-Code streaming VIA USB
Post by: Picengraver on April 09, 2014, 09:33:07 PM
Adrian,
Sure looks like a big step backwards from Mach3 to me.  They certainly have their markets, but have no where near the features found in M3.
Regards,
John Champlain
Title: Re: G-Code streaming VIA USB
Post by: _Adrian_ on April 09, 2014, 11:54:19 PM
Hi John,
In my mind Mach3 / Mach4 is nothing more than software over "metal"

Currently its based on a parallel interface ( EPP Mode - 2MB/s ) which is poor by today's standard, even on the widely spread USB2 ( 35MB/s ) which is now considered a standard since everything is being further pushed towards USB3.0 ( 500MB/s).

In my head... a USB interface is easier to use then the bulky DB25 and also makes it easier to deploy almost any cheap laptop on the market.
The EPP ( Enhanced Parallel Port ) is the main drawback and with the prices of other "mach" specific hardware isn't so DIY friendly.

( By the means of "mach" specific hardware I'm referring to Smooth Stepper which are still sitting at around the $200 for even the counterfit ones on eBay, where as the Due and the shield is around $80 )
And as far as support goes its pretty rock solid as plenty of people are using it for 3D printing, which is similar process (instead of removing material your adding it)
The firmware is already in place for the Arduino Due and the RAMPS-FD shield to either run from the SD card on the LCD shield or the PC by the means of USB.

The software would have the same abilities on any similar hardware, and the only difference would be the response.
I would think that there might be a slight delay, BUT It's highly theoretical and doubt it as the the data path from the controller to the PC is 17.5X faster on USB2.0 VS EPP.

This way for those that would want to turn their mills to a 3D printer it would mean nothing more than to switch "plugins" in Mach 4 and swap out the router for an extruder.
I cant say the same for many of the 3D printers as not all of them would fair well if they were changed into mills as I first hand saw a few "woodie" builds over on the Reprap forums.

What im asking is if anyone has tried to use 3D printing hardware with Mach3 and what was the outcome.
Title: Re: G-Code streaming VIA USB
Post by: garyhlucas on April 10, 2014, 09:00:05 AM
Someone on the CamBam forum is using a board with GRBL firmware and discovered that it is woefully uner powered if the G-code contained arcs.
Title: Re: G-Code streaming VIA USB
Post by: Fastest1 on April 10, 2014, 10:17:26 AM
I used Mach 3 on a 3D printer without too many issues. It works fine.
Title: Re: G-Code streaming VIA USB
Post by: magicniner on April 10, 2014, 11:52:36 AM
Hi John,
In my mind Mach3 / Mach4 is nothing more than software over "metal"


But it works! Why fix it when it ain't broke ?

I'm from a PLC, Z80 and PIC Chip programming background and think the toys of which you speak are OK but very limited in their capacity and capability, partly by what's done in making them accessible to those that would never get their heads around Ladder Logic, Statement List or Assembler programming.
JMTP,
Nick
Title: Re: G-Code streaming VIA USB
Post by: stirling on April 10, 2014, 12:43:37 PM
In my mind Mach3 / Mach4 is nothing more than software over "metal"

I've seen all the words before but not in this order. Can someone enlighten me as to what this is supposed to mean?
Title: Re: G-Code streaming VIA USB
Post by: magicniner on April 10, 2014, 02:06:13 PM
In my mind Mach3 / Mach4 is nothing more than software over "metal"

I've seen all the words before but not in this order. Can someone enlighten me as to what this is supposed to mean?
In my mind Mach3 / Mach4 is nothing more than software over "metal"

I've seen all the words before but not in this order. Can someone enlighten me as to what this is supposed to mean?

I think it implies that it's not as good as the stuff people are making slightly lumpy plastic models with, let's see 'em make stuff in Stainless Steel and Titanium like my poor old mill with it's Mach3/parallel port driven system does ;-)
Title: Re: G-Code streaming VIA USB
Post by: _Adrian_ on April 10, 2014, 02:21:03 PM
In my mind Mach3 / Mach4 is nothing more than software over "metal"

I've seen all the words before but not in this order. Can someone enlighten me as to what this is supposed to mean?

Software is nothing more then the mere means of controlling the attached hardware.
yes, its a symbiotic "relationship"

I think it implies that it's not as good as the stuff people are making slightly lumpy plastic models with, let's see 'em make stuff in Stainless Steel and Titanium like my poor old mill with it's Mach3/parallel port driven system does ;-)

Knock it all you want...
Its all in the controller and feed rates as same as machining. put in a dull end mill and ramp up the feed and tell me what your "end product" looks like...

We can sit here and debate this all day till were blue in the face.
Each one has its pros and cons.
Me personally I like the idea of being able to choose either a 3D printer or a Mill just by switching software and the work end ( extruder or router head )
Title: Re: G-Code streaming VIA USB
Post by: _Adrian_ on April 10, 2014, 02:28:12 PM
Also I'm talking about a DIY level here with smaller table top machines, not people that converted older CNC or Non-CNC machines over.

I worked on several CNC's ( HAAS, Milltonics, Weiler, Hurco, Johnford to name a few and now working for Mazak ) and its mainly the controls.
The machines as far as the "hardware" goes they still are based on very similar designs whetever its a mill or a lathe.

Basicly what im saying is...
By being able to stream the Gcode, it would open up the door to more cheaper hardware for DIY or entry level enthusiasts where its not going to cost them an arm and a leg.
Title: Re: G-Code streaming VIA USB
Post by: _Adrian_ on April 10, 2014, 02:38:35 PM
Someone on the CamBam forum is using a board with GRBL firmware and discovered that it is woefully uner powered if the G-code contained arcs.

Do you know which Arduino was used ??
I have a feeling it was an older model that was an 8 bit unit that just doesn't have the computational power to take the G-Code and interpret it.

The newer DUE (http://arduino.cc/en/Main/ArduinoBoardDue) or the new TRE (http://arduino.cc/en/Main/ArduinoBoardTre) will be the ticket for sure, but will have to wait a bit for the RAMPS shield for the TRE.
Title: Re: G-Code streaming VIA USB
Post by: ger21 on April 10, 2014, 03:18:53 PM

Basicly what im saying is...
By being able to stream the Gcode, it would open up the door to more cheaper hardware for DIY or entry level enthusiasts where its not going to cost them an arm and a leg.

If all your interested in is basically a "toy" then yes.
I don't think you realize that there's a whole different DIY scene, where the Arduino type controls just won't cut it. There are thousands of people building midsize routers, that need the features and performance that Mach3 offers.
Title: Re: G-Code streaming VIA USB
Post by: _Adrian_ on April 10, 2014, 03:38:28 PM

Basicly what im saying is...
By being able to stream the Gcode, it would open up the door to more cheaper hardware for DIY or entry level enthusiasts where its not going to cost them an arm and a leg.
If all your interested in is basically a "toy" then yes.
I don't think you realize that there's a whole different DIY scene, where the Arduino type controls just won't cut it. There are thousands of people building midsize routers, that need the features and performance that Mach3 offers.

Yes, but those can still take advantage of the upcoming more powerful boards!

The boards only have 1 job:
Translate the G-Code to output pins of the processor.

All in all it becomes a bandwidth war...
Who can more more data and faster!
Actually its is to that point where you can send commands faster then they can be completed, hence why the rotary encoders are required on many machines as the motors are capable of skipping or missing steps and the encoders are there to follow the program along so it doesnt get ahead of itself rather then trying to guess which step is at on whichever axis.
Title: Re: G-Code streaming VIA USB
Post by: _Adrian_ on April 10, 2014, 04:10:59 PM

The Smooth Stepper is capable of driving at 400KHz the stepper motor drivers.
The Arduino Due is capable of driving its digital outs at 12MHz ( Ben Hack on Youtube tested the Arduino Mega which is slower than the DUE and was able to hit 8MHz ) which is twenty times faster, however with the TRE and you even run Embedded mode under Linux or Android which would take it to a whole new level of development.
Title: Re: G-Code streaming VIA USB
Post by: stirling on April 11, 2014, 08:44:39 AM
Also I'm talking about a DIY level here with smaller table top machines, not people that converted older CNC or Non-CNC machines over.

OK so we're most likely talking about steppers then because if we're talking servo we wouldn't be concerned with $200 for a SS.

The Smooth Stepper is capable of driving at 400KHz the stepper motor drivers.
The Arduino Due is capable of driving its digital outs at 12MHz ( Ben Hack on Youtube tested the Arduino Mega which is slower than the DUE and was able to hit 8MHz ) which is twenty times faster, however with the TRE and you even run Embedded mode under Linux or Android which would take it to a whole new level of development.

Not sure why you've latched onto the output switching speed as being of any particular importance to your point but as you have let's take a look...

Hmmmmm 12Mhz.... let's do the maths....

10 microsteps - so 2000 step/rev for your stepper motor (if you don't know why I've picked 10 then look it up)

12000000/2000 = 6000 revs/sec

multiply by 60 = 360000 - yes indeedy - that's a stepper doing THREE HUNDRED AND SIXTY THOUSAND rpm

Now that I'd like to see.

Let's take your figure for the SS

400000 / 2000 = 200

multiply by 60 = 12000 rpm

Now that I'd like to see

So let's come at it from the other way

I don't know what sort of definition you get with your repraps but would 100th of a mm be reasonable to discuss?

I pick that because it just happens to be the "theoretical" resolution of my router.

I have my rapids set to 10m/min - not unreasonable I'd have thought.

So at 10 microsteps that's 10000 * 100 = 1000000 steps/min or 16666 steps/sec i.e. ~16KHz. That's WELL within Mach's slowest kernel speed.

So please  ;D - make whatever points you like but let's have less of this nonesense about output switching speed.
Title: Re: G-Code streaming VIA USB
Post by: magicniner on April 11, 2014, 05:51:09 PM

All in all it becomes a bandwidth war...
Who can more more data and faster!


No it doesn't, Mach 3 can already run faster through a parallel port than most machines require.
Title: Re: G-Code streaming VIA USB
Post by: magicniner on April 11, 2014, 06:24:09 PM

In my head... a USB interface is easier to use then the bulky DB25 and also makes it easier to deploy almost any cheap laptop on the market.
The EPP ( Enhanced Parallel Port ) is the main drawback and with the prices of other "mach" specific hardware isn't so DIY friendly.


That's total rubbish and demonstrates a fundamental misunderstanding of why Mach3 uses the parallel port, what it does with it and what a USB device needs to do to replicate that function - timing between different axes is critical - parallel data transfer permits this.

USB data transfer is fast but it doesn't deal well with timing and any USB hardware on the other end has to deal with this, you'd have to write the software to do it and the toys you're referring to just don't have the processing power to deal with the required data and timing for even a decent size of desktop machine running at reasonable speeds.

The Smooth Stepper can do the job because it's dedicated hardware & firmware that can't be programmed to do a myriad of pointless entertaining things, some knowlege of the history of computing (including the Apollo navigational computers, Space Shuttle computers) would help comprehension of what dedicated systems can do with modest processing power.

I find this attitude typical of the bottom end of the current breed of "Hackers" and "Makers" who can't do things manually and have little enough knowlege of the way things work at the lowest level to think they can assemble their dream of a quick, easy fix if they only connect the right set of high level systems together.

Heads up,
It ain't so ;-)