GcodeCommunications: Difference between revisions
No edit summary |
Justinclift (talk | contribs) (Added CNCjs to the G-Code listing page. Both UGS and CNCjs work well for GRBL, TinyG, g2core.) |
||
(10 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
==Intro== | ==Intro== | ||
When using a [[CNC]] machine, there needs to be a program which sends the gcode created on a computer, to the motor controller which executes the gcode by moving around the motors. | When using a [[CNC]] machine, there needs to be a program which sends the gcode created on a computer, to the motor controller which executes the gcode by moving around the motors. | ||
== CNCjs == | |||
https://cnc.js.org | |||
An alternative G-Code Sender to UGS (below). Suitable for running on low spec gear (eg on Raspberry Pi3), as well as standard desktop/laptop usage. | |||
== Gctrl == | == Gctrl == | ||
Line 7: | Line 12: | ||
== Gcodesender == | == Gcodesender == | ||
[http://www.shapeoko.com/wiki/index.php/Assembly_step_15 gcodesender](Windows). | [http://www.shapeoko.com/wiki/index.php/Assembly_step_15 gcodesender](Windows). | ||
==Printrun== | |||
[http://reprap.org/wiki/Printrun Printrun] is a gcode sender that's supposed to have good support for RAMPS. | |||
In Oct 2013, Dan used it for manual control and entering gcodes, but couldn't get it to send a file. | |||
To get going, change baud rate to 250000 and click connect. | |||
== ReplicatorG == | |||
http://replicat.org/ | |||
Seems not to have support for marlin. | |||
== grbl-controller == | |||
http://zapmaker.org/projects/grbl-controller-3-0/ | |||
== Repetier == | |||
Beautiful, open source, versions for windows, linux, and mac. Very easy to configure. | |||
In Oct 2013, Dan couldn't get it to run gcode files although it's got some nice manual control features. | |||
== RepSnapper == | |||
https://github.com/timschmidt/repsnapper | |||
In Oct 2013, build of master on osx failed. | |||
== Universal G-code Sender == | == Universal G-code Sender == | ||
[https://github.com/winder/Universal-G-Code-Sender Universal G-Code Sender]. | [https://github.com/winder/Universal-G-Code-Sender Universal G-Code Sender]. | ||
This is recommended for grbl. As of Oct 2013, it's supposed to have imperfect support for Marlin. | |||
=== Universal G-code Sender on Raspberry Pi === | === Universal G-code Sender on Raspberry Pi === | ||
Line 52: | Line 86: | ||
[[File:GCodeSender tvres.png]] | [[File:GCodeSender tvres.png]] | ||
== Other == | == Other == | ||
Other options for gcode streaming [https://github.com/grbl/grbl/wiki/Using-Grbl here]. | Other options for gcode streaming [https://github.com/grbl/grbl/wiki/Using-Grbl here]. |
Latest revision as of 18:14, 20 July 2018
Intro
When using a CNC machine, there needs to be a program which sends the gcode created on a computer, to the motor controller which executes the gcode by moving around the motors.
CNCjs
An alternative G-Code Sender to UGS (below). Suitable for running on low spec gear (eg on Raspberry Pi3), as well as standard desktop/laptop usage.
Gctrl
Gctrl(cross-platform)
Gcodesender
gcodesender(Windows).
Printrun
Printrun is a gcode sender that's supposed to have good support for RAMPS.
In Oct 2013, Dan used it for manual control and entering gcodes, but couldn't get it to send a file.
To get going, change baud rate to 250000 and click connect.
ReplicatorG
Seems not to have support for marlin.
grbl-controller
http://zapmaker.org/projects/grbl-controller-3-0/
Repetier
Beautiful, open source, versions for windows, linux, and mac. Very easy to configure.
In Oct 2013, Dan couldn't get it to run gcode files although it's got some nice manual control features.
RepSnapper
https://github.com/timschmidt/repsnapper
In Oct 2013, build of master on osx failed.
Universal G-code Sender
This is recommended for grbl. As of Oct 2013, it's supposed to have imperfect support for Marlin.
Universal G-code Sender on Raspberry Pi
RaspberryPi is a very small, low-cost, single-board open-source computer. Although Universal G-code Sender is distributed as a self-contained "One-jar" package that handles its own dependencies, it needs a little help on the arm-linux platform. I believe it misidentifies arm-linux as intel-linux and tries to use an x86 communications driver. Therefore we need to provide our own version of the communications library and manually unpack Universal G-code Sender.
These instructions were developed on a Raspbian Wheezy installation downloaded from [1]. Here is the OS identification:
pi@raspberrypi ~ $ uname -a Linux raspberrypi 3.2.27+ #250 PREEMPT Thu Oct 18 19:03:02 BST 2012 armv6l GNU/Linux
Install java and comms driver prerequisites
sudo apt-get install openjdk-7-jre sudo apt-get install librxtx-java
Note I installed openjdk-7-jdk, but I don't think it's necessary; the jre should be adequate.
download UniversalGcodeSender-v1.0.5-all32.zip from https://github.com/winder/Universal-G-Code-Sender/tree/master/releases
unzip UniversalGcodeSender-v1.0.5-all32.zip jar -xf UniversalGcodeSender-all32.jar cd lib jar -xf swing-layout-1.0.4.jar cd ../main export CLASSPATH=$CLASSPATH:.:/usr/share/java/RXTXcomm.jar:../lib export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/lib/jni
To make the Arduino Uno comm port (ttyACM0) visible, you need to start the application with a command-line parameter
java -Dgnu.io.rxtx.SerialPorts=/dev/ttyACM0:/dev/ttyUSB0:/dev/ttyAMA0 com.willwinder.universalgcodesender.MainWindow
Be patient, it takes about 20 seconds to start the application.
For minimum-cost implementation of CNC, it would be nice if the g-code sender interface could run from the composite TV-out of the Raspberry Pi (assuming an old TV may be cheaper than an HDMI/DVI monitor). Unfortunately, however, the UI doesn't fit:
Other
Other options for gcode streaming here.