CNC Shield v4 錯誤修正
市面上販售的CNC控制板裡面,CNC Shield系列算是相當物美價廉的選擇,但是在v4版本的控制板上卻有著常見的問題存在,若不先修正這些錯誤,一旦通電測試有可能馬上將硬體燒壞,其中主要有以下幾個部分
1. 控制板上的GND線路與VCC串聯
2. GRBL韌體上對於通信IO腳位的定義錯誤
GRBL釋出的1.1版韌體對於控制步進馬達的腳位是錯誤的,必須將 cpu_map.h 在39行開始的這一段程式碼中的2與5對調、3與6對調、4與7對調,否則是不會動作的
原始碼為
#define X_STEP_BIT 2 // Uno Digital Pin 2
#define Y_STEP_BIT 3 // Uno Digital Pin 3
#define Z_STEP_BIT 4 // Uno Digital Pin 4
#define X_DIRECTION_BIT 5 // Uno Digital Pin 5
#define Y_DIRECTION_BIT 6 // Uno Digital Pin 6
#define Z_DIRECTION_BIT 7 // Uno Digital Pin 7
需要改為
#define X_STEP_BIT 5 // Uno Digital Pin 2
#define Y_STEP_BIT 6 // Uno Digital Pin 3
#define Z_STEP_BIT 7 // Uno Digital Pin 4
#define X_DIRECTION_BIT 2 // Uno Digital Pin 5
#define Y_DIRECTION_BIT 3 // Uno Digital Pin 6
#define Z_DIRECTION_BIT 4 // Uno Digital Pin 7
Homing
另外,在機器執行歸位的時候,預設的方式是先將Z軸抬高到MAX的位置避免干涉,接下來在同時將XY兩軸向限位開關移動,如果是使用雷射雕刻切割而非CNC切削的場合,因為不使用Z軸的部分,所以在歸位(Homing)的時候機器會等不到Z軸的動作而宣告動作失敗,必須修改 config.h 中的第105行這段程式碼,原來的程式是這樣的
#define HOMING_CYCLE_0 (1<<Z_AXIS) // REQUIRED: First move Z to clear workspace.
#define HOMING_CYCLE_1 ((1<<X_AXIS)|(1<<Y_AXIS)) // OPTIONAL: Then move X,Y at the same time.