GRBL-Advanced/README.md

135 wiersze
4.6 KiB
Markdown

![GitHub Logo](https://github.com/Schildkroet/GRBL-Advanced/blob/software/doc/en.nucleo-F4.jpg?raw=true)
2019-01-27 17:49:43 +00:00
2021-02-02 12:18:34 +00:00
***
[![Build](https://github.com/Schildkroet/GRBL-Advanced/workflows/Build%20Binary/badge.svg)](https://github.com/Schildkroet/GRBL-Advanced/actions)
2017-05-30 22:12:10 +00:00
***
Grbl-Advanced is a no-compromise, high performance, low cost alternative for CNC milling. This version of Grbl-Advanced runs on a STM32F411 Nucleo Board.
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-Advanced includes full acceleration management with look ahead. That means the controller will look up to 16 motions into the future and plan its velocities ahead to deliver smooth acceleration and jerk-free cornering.
* Built on the wonderful Grbl v1.1 (2017) firmware written by Sungeun "Sonny" Jeon, Ph.D. (USA).
***
2019-02-04 19:43:16 +00:00
### Extras:
#### Backlash Compensation:
Backlash compensation enabled by default.
2018-10-23 21:42:23 +00:00
Edit defaults.h to your needs.
2018-10-25 21:24:58 +00:00
* $140=(X Backlash [mm])
* $141=(Y Backlash [mm])
* $142=(Z Backlash [mm])
2019-01-03 14:44:49 +00:00
#### Canned Drill Cycles (G81-G83):
2020-01-28 19:16:46 +00:00
Added Canned Drill Cycles G81-G83 as additional features.
#### 5-Axis support
2020-12-06 00:38:34 +00:00
Added experimental support for rotary axis (5-axis). They are roughly tested and may contain still errors. Use at own risk!
2019-01-03 14:44:49 +00:00
2021-02-07 13:10:25 +00:00
#### Lathe mode
G33 / G76 (Requires rotary encoder)
2019-02-04 19:43:16 +00:00
#### Hard Reset
0x19 (CTRL-Y): Perform a hard reset.
#### Tools
* $14=(tool change mode): 0 = Ignore M6; 1 = Manual Tool Change; 2 = Manual Tool Change + TLS; 3 = Tool Table
2019-04-04 20:09:23 +00:00
* $P: Save TLS position
* $T: Confirm tool change
* $Tx: Print parameters of Tool Nr x (Supports Tool Nr 0-19)
* $Tx=[0.0:0.0:0.0:0.0] (Save new parameters of Tool x: X, Y, Z, Reserved)
* $RST=T: Reset all tool tables saved in EEPROM
2019-04-04 20:09:23 +00:00
Uses Dynamic TLO when $14 = (2 or 3)
2019-04-04 20:09:23 +00:00
2019-04-29 17:24:34 +00:00
#### I2C EEPROM
Added support for external 1Kb EEPROM (e.g. ST M24C08). Enable 'USE_EXT_EEPROM' in Config.h.
![EEPROM](https://github.com/Schildkroet/GRBL-Advanced/blob/software/doc/eeprom.png?raw=true)
2019-04-29 17:24:34 +00:00
#### ETHERNET Support
GRBL-Advanced can be controlled with USB or ETHERNET. For ETHERNET an additional W5500 Module is required. Then enable USE_ETH_IF in Config.h. The default IP Address is 192.168.1.20 : 30501.
Use [Candle 2](https://github.com/Schildkroet/Candle2) as control interface.
![W5500](https://github.com/Schildkroet/GRBL-Advanced/blob/software/doc/w5500.png?raw=true)
2019-04-04 20:09:23 +00:00
#### Attention
By default, settings are stored in internal flash memory in last sector. First startup takes about 5-10sec to write all settings.
2019-02-04 19:43:16 +00:00
***
2019-01-03 14:44:49 +00:00
2018-05-15 19:14:04 +00:00
### Build Environment:
2017-05-30 22:12:10 +00:00
[EmBitz 1.11](https://www.embitz.org/)
2018-05-15 19:14:04 +00:00
### Hardware:
2017-05-30 22:12:10 +00:00
* [STM32 Nucleo F411RE](http://www.st.com/en/evaluation-tools/nucleo-f411re.html)
2020-05-19 14:08:14 +00:00
* STM32F411RE in LQFP64 package
2018-05-15 19:10:54 +00:00
* ARM®32-bit Cortex®-M4 CPU with FPU
2019-01-03 14:48:55 +00:00
* 96 MHz CPU frequency
2017-05-30 22:12:10 +00:00
* 512 KB Flash
* 128 KB SRAM
2020-05-19 14:08:14 +00:00
* [STM32 Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html)
* STM32F446RE in LQFP64 package
* ARM®32-bit Cortex®-M4 CPU with FPU
* 168 MHz CPU frequency
* 512 KB Flash
* 128 KB SRAM
2018-05-15 19:10:54 +00:00
***
2018-05-15 19:14:04 +00:00
### Install:
2018-05-15 19:10:54 +00:00
2018-05-15 19:14:04 +00:00
#### Windows
2018-05-15 19:10:54 +00:00
* Download and install EmBitz
* Open .ebp Project File with EmBitz
* Select 'Release' Target
* Hit Compile
* Flash HEX created in bin/Release
2018-05-15 19:14:04 +00:00
#### Linux
2020-12-06 00:38:34 +00:00
* Download [GNU ARM Embedded Toolchain](https://developer.arm.com/open-source/gnu-toolchain/gnu-rm) and unpack it to /opt. In makefile update path to toolchain.
* Run following commands:
```
sudo apt install build-essential stlink-tools
```
* Clone repository and run following commands:
```
make clean
# Choose a target
make target=F446
make target=F411
make flash
```
2018-05-15 19:10:54 +00:00
2017-05-30 22:12:10 +00:00
***
```
2017-06-01 19:22:26 +00:00
List of Supported G-Codes in Grbl-Advanced:
2017-05-30 22:12:10 +00:00
- Non-Modal Commands: G4, G10L2, G10L20, G28, G30, G28.1, G30.1, G53, G92, G92.1
2022-02-13 21:21:47 +00:00
- Motion Modes: G0, G1, G2, G3, G33, G38.2, G38.3, G38.4, G38.5, G80
2023-08-21 19:42:53 +00:00
- Canned Cycles: G73, G76, G81, G82, G83
2017-05-30 22:12:10 +00:00
- Feed Rate Modes: G93, G94
- Unit Modes: G20, G21
- Distance Modes: G90, G91
- Retract Modes: G98, G99
2017-05-30 22:12:10 +00:00
- Arc IJK Distance Modes: G91.1
- Plane Select Modes: G17, G18, G19
- Tool Length Offset Modes: G43, G43.1, G49
2017-05-30 22:12:10 +00:00
- Cutter Compensation Modes: G40
- Coordinate System Modes: G54, G55, G56, G57, G58, G59
- Control Modes: G61
- Lathe Modes: G7, G8
- Spindle Speed Mode: G96, G97
2017-05-30 22:12:10 +00:00
- Program Flow: M0, M1, M2, M30*
- Coolant Control: M7*, M8, M9
- Spindle Control: M3, M4, M5
2022-02-13 21:21:47 +00:00
- Tool Control: M6, M61
- Input/output control: M62, M63, M64, M65
- Valid Non-Command Words: A, B, D, E, F, H, I, J, K, L, N, P, Q, R, S, T, X, Y, Z
2018-05-15 19:10:54 +00:00
```