GitHub - Fra589 - grbl-Mega-5X - 5 - 6 Axis Version of GRBL, The Open Source, Arduino Mega2560
GitHub - Fra589 - grbl-Mega-5X - 5 - 6 Axis Version of GRBL, The Open Source, Arduino Mega2560
5/6 Axis version of Grbl, the open source, embedded, high performance g-code-parser and CNC
milling controller written in optimized C that will run on an Arduino Mega2560
github.com/fra589/grbl-mega-5x/wiki
View license
239
stars
2.7k
forks
Star Notifications
edge
Go to file
fra589
Update Wiki link … 3 days ago
742
View code
README.md
The controller is written in highly optimized C utilizing every clever feature of the AVR-
chips to achieve precise timing and asynchronous operation. It is able to maintain up to
30kHz of stable, jitter free control pulses.
It accepts standards-compliant g-code and has been tested with the output of several
CAM tools with no problems. Arcs, circles and helical motion are fully supported, as well as,
all other primary g-code commands. Macro functions, variables, and most canned cycles
are not supported, but we think GUIs can do a much better job at translating them into
straight g-code anyhow.
Grbl includes full acceleration management with look ahead. That means the controller will
look up to 24 motions into the future and plan its velocities ahead to deliver smooth
acceleration and jerk-free cornering.
For more information and help, check out our Wiki pages! If you find that the
information is out-dated, please to help us keep it updated by editing it or notifying
our community! Thanks!
Built on the wonderful Grbl v1.1f (2017) firmware originally written by Simen Svale
Skogsrud (Norway) and maintained by Sungeun "Sonny" Jeon, Ph.D. (USA) aka
@chamnit
IMPORTANT: Your EEPROM will be wiped and restored with new settings. This is due
to the addition of two new spindle speed '$' settings.
Real-time Overrides : Alters the machine running state immediately with feed, rapid,
spindle speed, spindle stop, and coolant toggle controls. This awesome new feature is
common only on industrial machines, often used to optimize speeds and feeds while a
job is running. Most hobby CNC's try to mimic this behavior, but usually have large
amounts of lag. Grbl executes overrides in realtime and within tens of milliseconds.
Jogging Mode : The new jogging commands are independent of the g-code parser, so
that the parser state doesn't get altered and cause a potential crash if not restored
properly. Documentation is included on how this works and how it can be used to
control your machine via a joystick or rotary dial with a low-latency, satisfying
response.
Laser Mode : The new "laser" mode will cause Grbl to move continuously through
consecutive G1, G2, and G3 commands with spindle speed changes. When "laser"
mode is disabled, Grbl will instead come to a stop to ensure a spindle comes up to
speed properly. Spindle speed overrides also work with laser mode so you can tweak
the laser power, if you need to during the job. Switch between "laser" mode and
"normal" mode via a $ setting.
Dynamic Laser Power Scaling with Speed : If your machine has low accelerations,
Grbl will automagically scale the laser power based on how fast Grbl is traveling,
so you won't have burnt corners when your CNC has to make a turn! Enabled by
the M4 spindle CCW command when laser mode is enabled!
Sleep Mode : Grbl may now be put to "sleep" via a $SLP command. This will disable
everything, including the stepper drivers. Nice to have when you are leaving your
machine unattended and want to power down everything automatically. Only a reset
exits the sleep state.
New Status Reports: To account for the additional override data, status reports
have been tweaked to cram more data into it, while still being smaller than
before. Documentation is included, outlining how it has been changed.
Improved Error/Alarm Feedback : All Grbl error and alarm messages have been
changed to providing a code. Each code is associated with a specific problem, so
users will know exactly what is wrong without having to guess. Documentation
and an easy to parse CSV is included in the repo.
Extended-ASCII realtime commands : All overrides and future real-time
commands are defined in the extended-ASCII character space. Unfortunately not
easily type-able on a keyboard, but helps prevent accidental commands from a g-
code file having these characters and gives lots of space for future expansion.
Message Prefixes : Every message type from Grbl has a unique prefix to help GUIs
immediately determine what the message is and parse it accordingly without
having to know context. The prior interface had several instances of GUIs having
to figure out the meaning of a message, which made everything more
complicated than it needed to be.
New OEM specific features, such as safety door parking, single configuration file build
option, EEPROM restrictions and restoring controls, and storing product data
information.
New safety door parking motion as a compile-option. Grbl will retract, disable the
spindle/coolant, and park near Z max. When resumed, it will perform these task in
reverse order and continue the program. Highly configurable, even to add more than
one parking motion. See config.h for details.
New '$' Grbl settings for max and min spindle rpm. Allows for tweaking the PWM
output to more closely match true spindle rpm. When max rpm is set to zero or less
than min rpm, the PWM pin D11 will act like a simple enable on/off output.
Updated G28 and G30 behavior from NIST to LinuxCNC g-code description. In short, if
a intermediate motion is specified, only the axes specified will move to the stored
coordinates, not all axes as before.
Lots of minor bug fixes and refactoring to make the code more efficient and flexible.
- Non-Modal Commands: G4, G10L2, G10L20, G28, G30, G28.1, G30.1, G53, G92,
G92.1
- Motion Modes: G0, G1, G2, G3, G38.2, G38.3, G38.4, G38.5, G80
liberapay.com/Gauthier
Languages
C 99.1%
Other 0.9%