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 설정값을 수정하기 바란다.










댓글

이 블로그의 인기 게시물

CNC 용어정리 #7 - 포토커플러/옵토커플러 (Photocoupler/Optocoupler)