CNC

EMC2 설정하기

오만팔천 2010. 10. 4. 11:07

EMC 홈페이지(http://www.linuxcnc.org/)에 가서 ubuntu와 emc가 결합된 ISO (http://www.linuxcnc.org/hardy/ubuntu-8.04-desktop-emc2-aj13-i386.iso) 파일을 다운 받아 설치를 하고 나면 위와 같이 프로그램에 CNC메뉴가 있습니다.
이곳의 "EMC2 Stepconf Wizard"를 클릭하여 자신의 CNC에 맞게 설정합니다.
 
설정 초기 화면입니다. "앞으로"를 클릭합니다.
 
처음으로 설정을 하면 "Create ..."를 클릭하고 설정된 파일을 수정 할려면 "Modify ..."를 선택합니다.
 
자신의 CNC 이름을 정하고 "Machine unite"에 "Millimeter"로 바꿉니다.
 
Step Time : 모터 드라이브로 보내지는 펄스의 최소 시간값입니다. (SLA7062M의 제원을 보면 2,000nS입니다.)
Step Space : 모터 드라이브로 보내지는 펄스의 최소 간격값입니다. (SLA7062M의 제원을 보면 2,000nS입니다.)
Direction Hold : 모터의 회전 방향이 바뀔 때 대기 시간입니다. (모터의 회전 방향을 바꾸면 바로 모터가 동작하지 않기 때문에 이값을 줍니다. 값이 크면 정밀하겠지만 이 시간동안 모터는 멈춰있게 됩니다. 백래시와 관련이 있지만 기계적인 백래시는 아닙니다. SLA7062M의 제원을 보면 1,000nS입니다.)
Direction Setup : 모터 방향을 바꾸기 전의 대기시간입니다.(모터에 펄스를 보낸 때부터 모터가 원하는 위치에 올 때가지의 시간입니다. 값이 크면 정확하겠지만 이시간 동안 모터는 멈춰있습니다. 백래시와 관련이 있지만 기계적인 백래시는 아닙니다.)
 - 프린트 포터의 전송속도가 1.5M이면 펄스의 주기는 667ns가 되고 펄스의 길이는 333ns가 됩니다.
 
프린트 1번 포트 378이 기본으로 되어 있습니다. 2,3번도 설정 할 수 있습니다.
 
"Base Period Maximum jitter:"은 값이 작으면 신호를 빨리 내보 내서 CNC를 빠르게 움직일 수 있습니다.
자신의 컴퓨터가 어느정도 값을 할지는 "취소"버튼 위의 "Tesr Base Period jitter"을 클릭해 보면 됩니다.
너무 작은 값을 선택하면 CNC로 보내는 신호를 빼먹을 수 있습니다.
 
"Tesr Base Period jitter"를 클릭하면 나타나는 화면입니다.
"Reset Statistics"를 눌러 여러번 해보고 가장 큰 값을 넣습니다. 넉넉하게 큰 값을 줘야 안전합니다.(위 그림의 굵은 글씨 값을 보고 넣어야 됩니다.)
 
자신의 CNC에 맞게 핀번호를 넣습니다. Mach를 설정 해보았으면 쉽게 할 수 있을 것입니다.
마우스 버튼을 누른 상태에서 마우스를 위, 아래로 움직여 값을 바꿀 수 있습니다. 체크는 신호를 반전합니다.
 
"ESTOP Out"로 설정된 핀은 CNC작동 화면에서 비상정지(EMC2 화면의 좌측 상단에 있는 빨간색 버튼) 버튼을 클릭하면 이 핀으로 신호가 나옵니다.
"X Step"로 설정 된 핀은 X축 이동 신호가 나갑니다. 많은 신호가 나가면 많이 움직이고 빨리 내 보내면 빨리 움직입니다.
"X Direction"로 설정된 핀의 신호는 X축이 좌측으로 움직일지 우측으로 움직일지 결정 합니다. 축이 꺼꾸로 움직이면 우측의 "Invert"에 체크를 하면 됩니다.
 
"Spindle PWM"로 설정된 핀은 스핀들 PWM신호가 나갑니다.
"Spindle CW"로 설정된 핀은 스핀들을 정회전 할 때 신호가 나갑니다. G코드에서 M3에서 출력 되고 M5에서 끕니다.
"Spindle CCW"로 설정된 핀은 스핀들을 역회전 할 때 신호가 나갑니다. G코드에서 M4에서 출력 되고 M5에서 끕니다.
 
"Home X"로 설정 된 핀으로 X축의 홈 스위치 신호를 받습니다.
 
"Coolant Mist" 로 설정된 핀은 G코드에서 M7을 만나면 신호를 내보 내고 M9를 만나면 끕니다.
"Coolant Flood"로 설정된 핀은 G코드에서 M8을 만나면 신호가 나가고 M9를 만나면 끕니다.
 
X축 설정 화면 입니다.
 
"Motor steps per revolution:"는 모터 1회전당 스탭 값입니다. 보통 1.8각 스텝모터이며 값이 200입니다.
"Driver Microstepping:"는 모터 1스탭당 펄스 수입니다. Motor steps per revolution값과 Driver Microstepping값을 곱한 값 만큼 드라이브에 펄스를 주면 모터가 1회전 하게 됩니다.
"Pulley teeth"는 기어 비입니다. 보통은 기어 없이 모터와 스크류가 직결로 연결 되어 있습니다.
 
"Leadscrew Pitch:"는 모터 1회전당 이동 되는 거리입니다. 스크류의 피치입니다.
"Maximum Velocity:"는 초당 피드입니다. 분당 피드를 60으로 나누면 초당 피드가 됩니다. Basic machine information설정 부분의 jitter값이 작으면 이값을 높게 설정 할 수 있습니다. jitter값이 15,000이면 50mm/s까지 속도를 낼 수 있으며 이는 리드가 5mm 일 때 피드가 3,000이 됩니다.
"Maximum Acceleration:"는 가속도 값이며 값이 크면 정지에서 최대 속력까지 빠르게 올라 갑니다.
 
"Home location:"는 홈써치를 하면 홈을 찾은 뒤 이 지점으로 이동해서 멈추게 됩니다.
"Table travel:"는 축이 이동 할 수 있는 최저점과 최고점의 좌표를 입력합니다.
"Home Switch location:"는 홈 스위치가 있는 위치입니다. 0으로 하는 것이 계산이 편합니다.
"Home Search velocity:"는 홈을 찾을 때 축이 움직이는 속도입니다. 값이 작으면 아주 천천히 움직여 홈 위치를 정확히 찾을 것입니다. 하지만 많은 시간이 걸립니다.
 
우측 상단의 "Test this asis"를 눌러 설정 한 값이 잘 동작하는지 알아 볼 수 있고 여기서 값을 바꿔 가면서 최적의 값을 찾을 수 있습니다.
 
위는 "Test this asis"버튼을 누르면 나타나는 화면입니다.
값을 적당히 주고 "jog"부분의 화살표를 마우스로 눌러 축을 중앙에 위치 시키고 "Run"버튼을 누르면 왔다 갔다합니다.
"Test Area:"의 값을 작은 값과 큰 값에서 테스트를 해서 최적의 값을 찾으면 됩니다.
 
Y축도 X축과 같습니다.
 
Z축도 X축과 같습니다.
홈 써치시 Z축을 제일 먼저 합니다. Z축의 "Home location:"값을 한번 더 확인하세요. 가공물을 박지 않게...
 
자신의 스핀들이 PWM로 동작 한다면 위를 설정 하면 됩니다.
 
"PWM Rate" PWM 주파수를 설정합니다.
"Speed 1:" 에는 스핀들의 낮은 RPM을 입력합니다.
"PWM 1:" 에는 낮은 RPM 일 때 주파수 비율을 입력합니다.
"Speed 2:" 에는 스핀들의 높은 RPM을 입력합니다.
"PWM 2:" 에는 높은 RPM 일 때  주파수 비율을 입력합니다.
 
"Parallel Port Setup" 화면에서 스핀들 핀 설정을 하지 않으면 이 화면은 나타나지 않습니다.
 
"Include Halui user interface component"에 체크를 하고 "Include custom PyVCP GUI panel"에 체크를 하고 "Spindel speed/tool position display"에 점을 찍고 "Include connections to HAL"에 체크를 하면 EMC2 실행화면 우측에 스핀들의 속도를 그래프로 나타냅니다. 또한, 사용자 CNC의 설정 디랙토리 안에 있는 "custom_postgui.hal", "custompanel.xml"파일을 수정하며 사용자가 원하는 메뉴를 나타내게 할 수 있습니다.(설정하지 않아도 동작에는 문제가 없습니다.)
 
위 설정을 모두 마치면 바탕화면에 자신의 CNC아이콘이 생깁니다.
이 아이콘을 클릭하면 다음 화면이 나타납니다.
 
좌측 상단에 흰색 X에 빨간색 버튼은 비상정지 버튼이고 바로 우측에는 전원 버튼입니다.
즉, 비상정지 버튼은 눌러 지지 않게 하고 전원 버튼은 눌러진 상태에서 CNC가 동작합니다.
 
"Home All"버튼을 누르면 홈 서치를 합니다. 홈 서치를 하지 않으면 G코드 실행을 하지 않습니다.
"Axis"에 축을 선택하고 "Touch Off"를 클릭하면 설정된 축의 사용자 좌표 값을 바꿀 수 있습니다.
메뉴의 "File - Open"을 눌러 G코드를 불러 옵니다. 그리고 플레이(파란색 삼각형) 버튼을 누르면 가공을 시작합니다.
 
* EMC2에서 단축키 사용이 잘 안됩니다. 이는 한/영 변환 유틸리티인 scim프로그램 때문입니다.(우분투를 설치하면 기본으로 설치됩니다.)  nabi로 바꾸면 이런 문제가 사라집니다.