CNC 만들기 #6 - GRBL V1.1 설정
GRBL V1.1 설정
참고사이트 : https://github.com/gnea/grbl/wiki/Grbl-v1.1-Configuration
GRBL 바이너리를 올린 아두이노 보드에 터미널접속을 하면 아래 프롬프트가 나오게 된다.
Grbl 1.1f ['$' for help]
$를 입력하면 도움말이 나온다.[HLP:$$ $# $G $I $N $x=val $Nx=line $J=line $SLP $C $X $H ~ ! ? ctrl-x]
$로 시작하는 명령어($$ $# $G ...... $H)들은 GRBL 시스템 명령어들로 GRBL의 설정을 조정하거나 상태를 조회하거나 실행모드를 변경하는데 사용된다. $로 시작하지 않는 4개의 명령어(~ ! ? ctrl-x)는 실시간 명령어들로 GRBL이 어떤 일을 하든 상관없이 바로 명령어를 실행할 수 있다. 실시간 명령어는 GRBL의 동작을 즉시 변경하거나 현재의 위치와 같은 중요 데이터를 출력할 수 있다.GRBL 설정하기
설정값은 EEPROM에 지속적으로 저장되므로, 아두이노를 재 기동 시 설정한 값들을 불러오게 된다.- $$ : GRBL 설정 보기. 이전 버전에는 () 안에 해당 설정값의 설명이 들어 있었으나, v1.1에는 없음.
- $0 : Step pulse, microseconds. 스테퍼 드라이버는 최소 스텝 펄스 길이값을 가지고 있다. 스태퍼 드라이버의 데이터 시트를 확인하고, 조정하기 바란다. 당신은 스태퍼 드라이버가 인지할 수 있는 최소 펄스 길이를 원할거다. 만약 펄스가 너무 길면, 매우 높은 펄스속도로 시스템을 구동시킬 때 펄스끼리 오브랩되는 문제가 발생할 것이다. 우리는 대략 10 microseconds의 값을 추천한다.
- $1 : Step idle delay, milliseconds. 스텝 모터가 동작을 종료하고 멈출 때마다 GRBL은 이 값을 기준으로 전원 종료를 지연시킨다. 혹은 당신이 전 축을 지속적으로 전원을 인가하여 위치를 유지시키길 원한다면 $1=255로 설정하면 된다.
- $2 : Step port invert, mask.
- $3 : Direction port invert, mask.
- $5 : Limit pins invert, boolean.
- $6 : Probe pin invert, boolean.
- $10 : Status report, mask.
- $11 : Junction deviation, mm
- $12 : Arc tolerance, mm.
- $13 : Report inches, boolean
- $20 : Soft limits, boolean
- $21 : Hard limits, boolean
- $22 : Homing cycle, boolean
- $23 : Homing dir invert, mask
- $24 : Homing feed, mm/min.
- $25 : Homing seek, mm/min
- $26 : Homing debounce, milliseconds
- $27 : Homing pull-off, mm.
- $30 : Max spindle speed, RPM
- $31 : Min spindle speed, RPM
- $32 : Laser mode, boolean
- $100, $101 and $102 : X,Y,Z steps/mm. 각 step당 몇 mm를 움직이는지를 설정한다. 각 축마다 steps/mm를 계산하기 위해서는 다음 값들을 알아야 한다.
- 스텝모터의 분해능당 이동하는 이동거리로, 벨트 드라이버 기어 혹은 리드 스크류 피치에 따라 다르다.
- 스텝모터 분해능에 따른 full step (일반적으로 bipolar인 경우 1.8도의 분해능이고, full step은 200이다)
- 스텝모터 컨트롤러 드라이버의 스텝당 마이크로스텝 설정값(일반적으로 1, 1/2, 1/4, 1/8, 1/16으로 되어 있다). 일반적으로 낮은 설정값을 선택하는 경우 그만큼 토크도 감소한다.
- 계산식 steps/mm = (steps_per_resolution * microsteps) / mm_per_resolution
- $110, $111 and $112 : X,Y,Z 최대속도, mm/min.
- $120, $121 and $122 : X,Y,Z 가속도, mm/sec^2.
- $130, $131 and $132 : X,Y,Z 최대이동거리, mm.
- $32 : Laser mode, boolean
- $100, $101 and $102 : X,Y,Z steps/mm. 각 step당 몇 mm를 움직이는지를 설정한다. 각 축마다 steps/mm를 계산하기 위해서는 다음 값들을 알아야 한다.
- 스텝모터의 분해능당 이동하는 이동거리로, 벨트 드라이버 기어 혹은 리드 스크류 피치에 따라 다르다.
- 스텝모터 분해능에 따른 full step (일반적으로 bipolar인 경우 1.8도의 분해능이고, full step은 200이다)
- 스텝모터 컨트롤러 드라이버의 스텝당 마이크로스텝 설정값(일반적으로 1, 1/2, 1/4, 1/8, 1/16으로 되어 있다). 일반적으로 낮은 설정값을 선택하는 경우 그만큼 토크도 감소한다.
- 계산식 steps/mm = (steps_per_resolution * microsteps) / mm_per_resolution
- $110, $111 and $112 : X,Y,Z 최대속도, mm/min.
- $120, $121 and $122 : X,Y,Z 가속도, mm/sec^2.
- $130, $131 and $132 : X,Y,Z 최대이동거리, mm.
- 스텝모터와 스텝모터 드라이버, 아두이노의 전원 및 선 연결이 제조사 가이드라인에 맞추어 제대로 연결되었는지 확인한다.
처음 설정하기 위한 퀵 가이드
GRBL의 기본설정은 특별한 설정 변경 없이 사용할 수 있도록 되어 있다. 일반적으로 가장 먼저 확인하는 것은 CNC에 연결되지 않은 스텝모터를 구동해 보는 것이다. GRBL이 올라간 아두이노를 스텝모터 드라이버에 연결하고, 스텝모터도 드라이버에 연결한 뒤 시리얼통신을 이용하여 아두이노에 연결하여 G1, G0 명령어를 실행하면 스텝모터가 동작하는 것을 확인할 수 있을 것이다. 동작에 문제가 있다면 아래 사항을 확인하기 바란다.
G91 G0 X1 혹은 G91 G0 X-1은 X축으로 1mm 혹은 -1mm 움직이도록 하는 명령어다. 모든 축을 확인하여 정확하게 움직이는지 확인한다. 움직이는 방향이 반대라면 $3 설정값을 수정하기 바란다.
댓글
댓글 쓰기