필자는 소형  CNC 조각기 한대를 직접 제작하여 사용하고 있습니다. 현재는 컴퓨터를 제어기로 사용하기 때문에 제어전용 컴퓨터를 놓고 사용하고 있습니다. 얼마전 ICbanQ에서 저가형 소형 ARM 보드인 비글본블랙(Beaglebone Black) 체험단 모집을 했었습니다. 소형 ARM 보드를 활용하여 현재사용하고 있는 제어전용 컴퓨터를 대체해볼 생각으로  응모하여 선정 되었습니다. 이 내용을 주제로 체험단 활동기간인 한달동안 아래 4회차의 연재로 구성하여 진행해 보도록 하겠습니다.




3회. 비글본블랙(BeagleBone Black)과 CNC 조각기로 제작해본 PCB 기판.


지난 2회. 비글본블랙(BeagkeBone Black)으로 움직여보는 스텝모터. 에서는 비글본블랙의 GPIO출력을 활용하여 스텝모터를 구동해 보았습니다. 이번 3회에서는 필자가 이번 연재에서 목적으로 하였던 CNC조각기를 실제로 제어하여 PCB 기판을 조각을 해보도록 하겠습니다. 



3-1. 통역.


제어기가 모터를 움직이도록 신호를 발생해주기 위해서는 어떠한 명령이 담긴 코드가 필요합니다. 지난 2회에서 비글본블랙에 기본으로 지원되는 BoneScript 코드로 명령 내려 스텝모터를 구동해 보았습니다. CNC(Computerized Numerical Control) 기기에서 명령을내려주기 위해서는 G코드 및 M코드와 같은 NC코드가 사용됩니다. CNC제어기는 이것을 해석해 동작에 필요한 제어신호를 만들어주게 됩니다. 이것을 위해서 비글본블랙에 G코드 인터프리터가 내장된 CNC컨트롤러 프로그램을 설치해 보았습니다.


비글보드 홈페이지에서 CNC관련 프로젝트를 검색해보았습니다.


CNC컨트롤 프로그램을 설치한후 부팅상태를 USB2UART를 이용해 확인해 보았습니다.


설치후 부팅하여 확인해보았습니다. xenomai 와 linuxcnc가 보입니다.


CNC컨트롤러 프로그램은 리눅스기반인 Linuxcnc(구 Emc2)를 설치하였습니다. 또 리얼타임환경을 만들어주어야 하므로 Xenomai 커널도 포팅이 되어야합니다. 이것들을 직접 컴파일해서 포팅하려면 꽤많은 시간과 시행착오를 요구하는 작업입니다. 다행히도 비글보드 사이트의 진행 프로젝트를 검색해보았더니 이미 진행되는 프로젝트가 있어서 이미 포팅이 되어 있었습니다. 필자는 MachineKit 프로젝트의 소스를 이용하여 설치를 하였습니다. 설치후 UART로 확인해보니 정상적으로 설치된것을 확인할수 있었습니다.


 

3-2. CNC조각기와의 만남


필자가 DIY로 제작한 CNC조각기는 X,Y,Z 3개의 축을 사용하는 기기입니다. 이런 이유에서 구동에필요한 3개의 모터와 각각 모터드라이버를 사용하고 있습니다. 필자가 제작한 모터드라이버는 PWM과 DIR 입력을 입력 받도록 제작 되었습니다. 그렇기 때문에 제어보드에서 구동에 필요한 IO 핀은 6개가 됩니다. 그리고 스핀들에 2개를 사용해야 하므로 비글본블랙의 IO핀중 기본구동에 필요한 8개를 필자의 CNC 조각기와 연결을 하였습니다.


필자의 CNC 머신입니다. 이전 3d 프린터 헤드를 장착했다가 현재는 제거한상태입니다.


글루건으로 파워서플라이에 비글본블랙을 고정시킨 후에 CNC조각기와 연결해주었습니다.


기존에 연결했던 리미트 스위치및 기타센서도 있지만 여기서는 사용을 하지 않고 우선 구동에 필요한 핀 연결만으로 PCB 조각을 수행해 보았습니다.



3-3. PCB 조각을 해보자!


CNC조각기를 이용해서 무엇인가를 만들기 위해서는 데이터가 필요합니다. 여기에서는 PCB조각을 해볼것이기 때문에 PCB 패턴 정보를 담을 NC코드 데이터가 필요합니다. 필자가 이전에 작성해 두었던 PCB 패턴을 이글캐드의 pcb-gcode플러그인을 사용하여 NC코드로 출력해 PCB 패턴조각을 수행해보았습니다.



이글캐드의 pcb-gcode 플러그인을 사용하여 nc 코드를 출력하였습니다.



PCB 패턴 조각 영상 클립입니다. 


패턴조각이 완료된 모습입니다.


비글본블랙에 설치된 LINUXCNC(구 EMC2)의 설정파일을 필자의 CNC조각기에 맞게 설정후 준비된 데이터로 PCB패턴을 조각해 보았습니다.



마치며...


비글본블랙은 많은수의 확장핀을 제공해주고있어서 필자의 CNC조각기와 연결할때 기존에 제작한것외로 별로의 부품 추가 없이 연결이 가능했습니다. CNC컨트롤러 소프트웨어 역시 비글본을 타켓보드로 하여 진행되는 프로젝트 덕분에 다른 ARM 보드를 이용해서 수행했을때보다는 훨씬 수훨했을 뿐만아니라 꽤 만족스러운 수준의 결과물도 얻을수 있었습니다.  이번 연재를 진행하며 확인한 내용들로 미루어볼떄 비글본블랙은 제어하드웨어로도 상당히 최적화된 보드라고 생각된다는 것을 말씀드리며 이번 3회를 마치겠습니다.


다음 4회에는 '제어보로 사용해본 비글본블랙'이라는 주제로 그간 진행하였던 내용을 토대로 종합하여 이야기하며 연재를 마무리 하도록 하겠습니다.. 


많은관심 부탁드리며 끝까지 읽어주셔서 감사합니다.


- 2013.10.30 물의날에 프미케 -



* 본 포스트는 필자가 운영중인 블로그(티스토리, 네이버) 에 전체 포스트를 동시게시합니다.

   - 티스토리 : 프미케의 낙서장(http://pmice.tistory.com)

   - 네이버블로그 : http://blog.naver.com/pmice


* 본 제품은 ICbanQ에서 후원하고 ICbanQ 무상 체험단 10기 활동의 일환으로 체험 제품을 제공받아 작성되었습니다.


+ Recent posts