GRBL学习
config.h文件
从文件的开头可以得知,这个文件是用来针对不同机器进行配置的。对GRBL来说,如果进行主板的更换,使用2560或128P这些芯片的话,直接忽略这个文件的配置。但我用的并不是这个、、
EEOROM重置后时后使用默认配置
#define DEFAULTS_GENERIC
波特率
#define BAUD_RATE 115200
使用的Arduino芯片
#define CPU_MAP_ATMEGA328P // Arduino Uno CPU
针对GRBL的命令解析字符
#define CMD_STATUS_REPORT '?'
#define CMD_FEED_HOLD '!'
#define CMD_CYCLE_START '~'
#define CMD_RESET 0x18 // ctrl-x.
#define CMD_SAFETY_DOOR '@'
上电时电机上锁;这个功能看似很奇怪,其实这个是GRBL针对激光雕刻的一个保护功能,正常使用GRBL的时候,在开机之后,是不能直接控制XY移动的,此时GRBL会在串口中发送一句提示,让你解锁,而你需要发送一 X 的 指 令 给 G R B L , 解 锁 后 才 能 正 常 操 作 电 机 。 过 程 中 遇 到 警 报 , 也 会 产 生 上 锁 状 态 , 同 样 是 使 用 X的指令给GRBL,解锁后才能正常操作电机。过程中遇到警报,也会产生上锁状态,同样是使用 X的指令给GRBL,解锁后才能正常操作电机。过程中遇到警报,也会产生上锁状态,同样是使用X这个指令才能正常使用。毕竟激光头的功率不是开玩笑的。。。
#define HOMING_INIT_LOCK
这里就是控制引脚,针对CNC才有的
#define HOMING_CYCLE_0 (1<<Z_AXIS)
#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS))
回零时碰到限位的次数
#define N_HOMING_LOCATE_CYCLE 1
GRBL针对CNC的浮点类型显示(实时上这个是针对8位单片机的浮点运算处理,如果换成32位带浮点运算的,则可以优化此处)
#define N_DECIMAL_COORDVALUE_INCH 4
#define N_DECIMAL_COORDVALUE_MM 3
#define N_DECIMAL_RATEVALUE_INCH 1
#define N_DECIMAL_RATEVALUE_MM 0
#define N_DECIMAL_SETTINGVALUE 3
坐标信息反馈,禁用后只能获得最后一组坐标信息(这个应该是配合上位机一起用的)
#define MESSAGE_PROBE_COORDINATES
安全开关切换后的安全延时时间
#define SAFETY_DOOR_SPINDLE_DELAY 4000
#define SAFETY_DOOR_COOLANT_DELAY 1000
Offset设置使能
#define TOOL_LENGTH_OFFSET_AXIS Z_AXIS
可变主轴使能
#define VARIABLE_SPINDLE
带S的命令,S后面值得范围,如M3 S255
#define SPINDLE_MAX_RPM 1000.0
#define SPINDLE_MIN_RPM 0.0
最小交叉速度设置
#define MINIMUM_JUNCTION_SPEED 0.0 // (mm/min)
最小打印速度
#define MINIMUM_FEED_RATE 1.0 // (mm/min)
弧度矫正值(这里值的设置跟GRBL的打印有关,GRBL打印圆弧的算法)
#define N_ARC_CORRECTION 12