DIY cnc 및 3프린터에 라즈베리아 같은 open hw 보드를 이용해 제어 보드로 사용할수 있지 않을까? 해서 이전에 icbanq(http://www.icbanq.com) 에서 진행한 마스보드 무상체험 이벤트에 응모해 선정 되었었습니다. 


이번엔 두번째 미션인 신청시에 진행 하려 했던 사항에 대하여 포스팅을 하겠습니다. 진행해보려 했던 사항인 마스 보드를 제어 보드로 사용하여 컨트롤 보드에 통합 가능성 대해서 확인해 보았습니다.


일단 마스보드의 크기 에서는 아래 사진에서 볼 수 있는것같이 컨트롤 패널에통합 하는 것은 무리가 없어 보입니다.


현재 취미용으로 사용하고 있는 필자의 DIY cnc 라우터입니다. 3d프린터 헤드까지 부착해 놓아서 선들이 복잡하네요.


뒤쪽 컨트롤 패널에 마스보드의 크기를 가늠해 보았습니다. 마스보드의 크기가 크지 않아 통합하는 것에는 무리가 없어 보입니다. 


둘째로 신호의 입출력을 포트입니다. 마스보드에는 usb, sata, lan, hdmi, 확장 포트를 확인할수 있었습니다. diy 시에많이 쓰이는 컨트롤 프로그램인 mach3 나 emc2 의 경우에는 LTP 포트를  기본으로 사용합니다. 마스 보드의 경우 옆에 확장핀을 gpio로 설정해서 사용할수 있어보입니다.


세번째로 마스보드는 리눅스가 지원되는 보드이므로 emc2 가 포팅되는지 여부입니다. 이부분의 자료 조사를 위해 구글신 님께 여쭤보니 라즈베이 파이와 비글 보드에서xenomai 기반으로 포팅을 하여 gpio 출력으로사용하고있는 자료를 검색할수 있었습니다. 이런 내용으로 종합해보면 xenomai를 마스보드에 올리면 마스보드에서도 포팅이 가능할 것으로 생각됩니다.


일단 마스보드를 확인해 보기위해부팅을 해보았습니다. 기본적으로 마스보드의 nand에는 안드로이드가 탑재되어있었습니다. 

사용해야하는 os는 리눅스 이므로 nand는 사용하지 않고 sd 를 사용해 리눅스를 올려보았지만 그상태에서는 xenomai framework 를 올릴수 있는 방법이 없었습니다. 인터넷 검색을 통하여 커널컴파일을 하여 올릴수 있는것을 알 수 있었습니다. 마스 보드에 사용된 A10 SoC에 적용된 xenomai 는 찾을수가 없었지만 Allwinner사 제품군인 a13에 적용한 자료를 찾을수 있었습니다. 이를 토대로하여 a10에 적용할수 있도록 직접 커널의 아키텍쳐 소스를 수정하여 컴파일 해보기로 했습니다.


VirtualBox에 LINUX 12.04LTS 를 설치한후 크로스 컴파일 환경을 만들어 커널을 컴파일 하였습니다.


부팅 메시지 확인을 하기위해 케이블,브레드 보드,usb2usart,마스보드,멀티메타 등을 준비하였습니다.


커널소스를 수정하고 컴파일을 진행해보았습니다. 처음 소스를 수정하였을땐 아키텍쳐 부근 컴파일시 에러를 내면 진행이 되지 않았는데. 그간 배워둔 곤충학을 토대로하여 디버깅후 다시수행하니 컴파일 진행이 되는군요 역시 컴파일 시간은 상당히 오랜시간이 걸렸습니다.


부팅메시지를 확인하기위해 마스보드 사이트에서 제공해주는 회로도를 토대로 uart 핀을 확인 하였습니다. usb2uart 를 이용하여 하이퍼터미널 연결로 부팅 메시지를 할수 있습니다.


마스보드의 확장핀에 uart 를 연결 한 사진입니다. 납땜하고 남은 부품의 다리와 전선을 연결후 수축튜브를 이용해 점퍼를 만들었습니다. 0.8 파이 정도 되는것을 사용하니 안정적으로 확장핀에 임시로 꼽아 볼수 있었습니다.


컴파일된 커널 이미지와 루트파일시스템을 sd 카드에 넣어주고 부팅을 해보았습니다. 커널 로딩 메시지가 보이네요 커널에 Xenomai가 적재된것을 확인할수 있습니다.


이번 커널 컴파일에서는 짧은 시간동안 커널 소스를 수정한 관계로 wmac 드라이버 부근에서 멈춰버리는 현상이 보이네요 일단 에러 로그를 출력해주지 않았으니 관련 소스전체를 해석해서 수정을 해야 겠군요 안정화 시키려면 상당히 많은 시행착오와 시간을 요하기 때문에  이번포스트에서는 xenomai의 커널 적재까지 확인해보았습니다.


마스보드에서도 xenomai 가 올라간 안정적인 커널이미지가 있으면 라즈베리 파이에 emc2 포팅이 되었던 자료를 토대로 하여 마스보드에도 G코드 해석기를 올려 제어보드로 사용이 가능할것 같습니다.


필자가 인터넷을 검색한 내용에서는 아직 마스 보드와 큐비보드 hackberry 등 a10 을 SoC를 사용하는 개발 보드 유져 그룹에는 아직 emc2나 xemomai framework 포팅한 내용의 공식 진행사항이나 관련 사항은 찾아 볼수 없었습니다.


하지만 질문 답변 내용을을 살펴보니 몇몇 분들이 진행을 하고 계시는것 같습니다.마스보드의 경우 A10 SoC 를 사용하고 있으므로 이것을 사용하는 보드들의 라이브러리를 이용할수 있기때문에 시간의 지남에 따라 유저 개발그룹으로 부터 많은 라이브러리가 생성되어 더욱더 많은것을 손쉽게 할수 있을것 같습니다.


다음번에는 세번째 미션인 마스보드 사용후기 포스트로 만나뵙도록 하겠습니다. 사용후기에서는 개발보드로서의 마스보드에 대해 이야기 해보도록 하겠습니다.


또 체험단 미션을 마친후 필자가 마스보드를 활용한 사항들은 필자가 운영하고 있는 블로그인 프미케의 낙서장(http://pmice.tistory.com)에 게시할 예정이오니 많은 관심 부탁드립니다.


끝까지 읽어 주셔서 감사합니다.


- 2013.08.22 나무의날에 프미케 -


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

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

저번 작업에 컨트롤 부분의 보드들을 판때기에 붙여 컨트롤 보드형태로 정비 하여 부착을 하였습니다. 사용이 편하고 신호도 정확히 잘 출력되고 하여 사용이 한결 편해졌습니다.


이번에 작업을 계획한 탁상용 3d프린터 + cnc 겸용기기를 제작하려면 프레임 및 부품들을  수가공을 좀 줄이고 만들어 놓은 취미용 cnc 라우터를 이용하여 제작할 생각이여서 사용량이 좀 늘어 날것 같네요 컨트롤은 잘 되지만 컴퓨터랑 연결해서 사용하는것이니 만큼 컴퓨터쪽 포트를 보호 할 목적으로 GND 분리와 포트 절연을 위해서 포토커플러부품을 사용해야 겠다는 생각이 들었습니다.


포토커플러를 모듈보드 형태로 만들어서 중간에 연결해 놓으면 될것 같아서 이번 주말에 작업을 해보았습니다.



부품함에 요전번에 구매했던 pc817과 기존에 가지고 있던 저항과 커넥터를 활용했습니다.



설치를 했습니다. 보드가 하나 더 늘었네요 ^^


이상없이 동작을 잘하네요 포트 절연까지 다했으니 이제 새로 만들 탁상요 3d프린터 + cnc 라우터 겸용기기 부품을 틈틈히 설계해 봐야겠습니다.


- 2013.04.08 달의날에 프미케 -



포스트가 유용하셨다면 아래 추천 한번만 부탁드려요~ 굽신~굽신~

그간 귀차니즘으로 인해 자작한 취미용 cnc 라우터의 배선정리 포트 커넥터 적용등을 하지 않고 그냥 사용 하고 있었습니다. 가끔 잠깐 잠깐 사용시에는 크게 불편함이 없어서 사용했지만 이것을 이용해서 두번째로 만들어볼 탁상용 cnc + 3d프린터 겸용기기의 부품을 가공해야 해서 컨트롤 부분을 보드형태로 정비하기로 했습니다.


우선 패러럴 포트를 이용해서 인터페이스 보드를 만든후에 드라이버들을 분해 했습니다. (우선 미리 테스트용으로 만든 바이폴라드라이버도 하나더 보이네요)



보드 형태로 만든후 판때기로 결합해 놓으면 갠츈하겠다 싶어 판때기를 찾아보니 없네요 이곳저곳 뒤지다가 판때기 대용으로 사용할만한 두꺼운 종이를 발견했습니다. 이것을 잘라서 구멍 뚫고 모터 드라이버와 인터페이스 보드를 배치했습니다. 이전에 비해 좀 깔끔해 졌네요



취미용 cnc제작때 만들었던 스텝 모터 드라이버가 처음 만들어 보는것인지라 최대한 회로를 간단하게 하려고 enable 회로를 생략하고 만들어서 항상 enable 되는 바람에 가공이 끝나더라도 모터에 항상 전류가 인가되는 상태였습니다. 이번 작업때 요것도 어케 해결해볼까 생각했습니다. 어플리케이션 회로에는 enable 부분은 mosfet 를 사용해서 스위칭 해주게 되어있군요 부품함을 뒤적뒤적 해보니 조그만 tr 들이 있어 요넘을 사용하기로 했습니다. 



처음에 atx 파워를 쓴터에 로직 전압과 모터전압이 들어가는 부분을 따로 되있어서 5v 선 중간에 tr을배치 했습니다. (tr 다리에 땜질해서 선붙이구 하나하나 절연테이프로 감고 그위에 또 절연테이프 감고 수축튜브로 감쌌습니다.)


휴~ enable 신호 출력해주니까 모터에 홀딩 토크가 생기네요 성공입니다. 


이제 포트랑 절연해줘야 하니까 포터커플러 모듈 하나 더 만들어서 붙여주면 컨트롤보드 부분이 다 만들어지겠네요


작업을 한김에 우선 동작테스트를 위해 만들었던 바이폴라 모터드라이버에 케이블도 한번 작업을 했습니다. 선은 파워서플라이부품이 하나 탄거가 있어서 거기서 재활용 하구 수축튜브로 피복했네요 이전에도 이렇게 했으면 좋았을텐데 그땐 수축튜브가 없어서 그냥 배관용 테프론 테이프 넓게펴서 감아서 사용했습니다.



케이블 클림프 찍을때 압착기 있으면 좋을텐데...  비싸서 그냥 롱노우즈 들고 납먹여가면서 찍으니까 시간이 좀 걸리네요 ^^


일단 여기 까지 작업하구 다음번엔 포토커플러 모듈을 만들어서 붙여야겠네요


포스트 끝까지 읽어주셔서 감사합니다.~ 꾸벅~

- 2013.04.05 나무의날에 프미케 -


ps. 금(金)요일 이지만 식목일이니까 오늘은 나무의 날이네요 ^^




포스트가 유용하셨다면 아래 추천 한번만 부탁드려요~ 굽신~굽신~

요전번에 만들은 취미용 CNC 라우터와 컴퓨터를  아래처럼 그냥 포트에 선을 넣구 글루건으로 고정해서 연결 해놓았습니다. 한번 뺏다가 다시 넣으려고 하면 꽤 불편하네요 선정리랑 컨트롤 박스를 제작하려면 시간이 많이 걸리는 관계로 그냥 사용 하고 있었습니다.


연결설 잘못건드리면 신호가 제대로 전달이 안되거나 하는 문제가 발생해서 인터페이스 보드를 만들어야 하는데 귀차니즘으로 인하여 차일 피일 미루고 있었네요


이번에 계획한 3d 프린터 + CNC 겸용기기에는 좀 쾌적하게 쓰기위해 인터페이스 보드 모듈 부터 만들어 보았습니다.


핀헤더로 할까하다가 푸쉬 버튼타입 큰맘 먹구 비싼 dinkle 터미널 블럭중에 푸쉬버튼 타입을 적용하였습니다. 일단 브레이크아웃 보드가 만들어졌으니 좀 사용이 편해질것 같네요 부품처럼 이곳저곳 써먹으려구 그냥 기본 브레이크 아웃 보드만 만들었습니다. 


포토커플러나 상태버퍼도 모듈 보드 형태로 만들여서 사용해야겠네요.


- 2013.03.28 프미케 -

그동안 스핀들 모터에 다이오드 넣구 전원과 직결해서 쓰고 있었습니다. 그런데 간혹 속도를 제어해서 동작을 시키면 좀더 낳지 않을까 하는 생각이 들어서 모터 드라이버를 제작했습니다. 전 돈이 많지 않아서 ㅠㅠ 저가 cnc 제작에 걸맞게 스핀들도 dc 모터를 이용해서 제작을 했었습니다. 그래서 모터 드라이버도 dc 모터 드라이버를 제작 했습니다. 부품 함을 보니 L298 IC가 마침 하나 있었네요 이넘은 h-bridge 회로가 2개 내장되어있는 넘이네여  그러면 DC 모터를 두개 제어할수 있겠네요 스핀들은 하나지만 안쓰면 아까우니 입출력 핀은 모터 2개 제어하도록 제작했네여 ^^



요렇게 제작이 됬네여 부품함에 커넥터가 몇개 없어서 전원입력이랑 모터 출력 커넥터를 같은 넘을 썼네 방열판은 옛날꺼 부두2카드에 있던거 띠었더니 접착제가 달라 IC에 붙길래 걍 재활용 했네여 아~ 만들고 보니 전해콘덴서가 방열판이랑 넘 친하게 있네여 -_- 귀찮으니 그냥 쓰다가 혹시 부풀면 콘덴서 갈때 에폭시 접착제로 딴데다 붙여야 겠네여 ~ ㅋㅋ


뒷면입니다. 깎기전에 고정을 대충했더니 살짝 흔들려서 연결패턴이 좀더 가늘개 나온넘이 보이네여 그래도 신호 전달엔 문제가 없으니 그냥 쓰기로 했습니다. 일단 동판면에는 절연 코팅제 한번 뿌려놨습니다.




스핀들로 사용한  DC 모터 pwm 으로  속도 제어 영상입니다.  저속, 고속, 정지 이렇게 테스트 해보았습니다. 잘되는군요~ 성공입니다. ^^v


* 2013.02.16 포스트의 회로도 및 보드의 캐드파일은 아래 링크의 포스트에 공개 되었습니다. 필요하신 분께서는 링크의 포스트에서 다운받으실수 있습니다.

포스트링크 - http://pmice.tistroy.com/206


● PCB 제작 관련포스트 

-프미케의 초저가 CNC라우터 만들기 v2 - 취미용 CNC 라우터가 진화 하였습니다. (진화부터 pcb 제작 까지.. )


- 2013.02.07 나무의날에 프미케 -


포스트가 유용하셨다면 아래 추천 한번만 부탁드려요~ 굽신~굽신~


이전에 취미용 cnc 라우터가 있으면 이것 저것 해볼수 있겠다 해서 인터넷에서 자료를 찾아서 드릴과 톱을 이용해서 CNC 라우터의 형태를 만들어 보았습니다.  제작후 pcb 패턴을 조각해 보았지만 저렴한 재료와 최소한의 공구로 만들다 보니 흔들림이라던지 축의 정렬이 부정확한 이유때문에 pcb 조각시에 패턴을 파먹어 버리는 문제점이 발생했었습니다. 


시간이 생겨 흔들림과 축의정렬의 수정을 위해 보강을 해보기로 했습니다 어떻게 하면 좋을까 생각 하다 위의 조각기를 이용해서 부품을 만들어서 진행해보면 조금더 견고하고 정확성도 높아질것 같아 부품 만들기에 착수 했습니다. 용돈으로 진행해야하기때문에 재료는 비교적 저렴한 MDF를 그대로 유지하였습니다. 우선 레일 위의 내구성이 약한 스핀들을 보강하기위해 스핀들 하우징을 제작하였습니다.


Z축 부품도 제작하였습니다. 리니어 슬라이더 형태로 제작을 하였습니다. 모터와 스크류의 연결은 역시 축 커플링을 사용하는 것이 좋겠다 생각하여 축 커플링도 추가하였습니다. ( 디스크 커플링으로 선택해서 한개에 만원이 넘네요 ㄷㄷㄷ )


Z축으로 사용할 리니어 슬라이더 형태로 조립한 사진입니다.


스핀들 입니다. 내부 부붐은 그대로 활용하였지만 하우징을 씌워조립하니  놓으니 이젠 좀 안정적으로 동작할 것 같아보입니다.


휴~ 공사가 점점 커지네요.... 우선 나머지 부품을 가공하였습니다. 그리고 전 돈이 많지 않으니 ㅠㅠ 요전에 사용 한 CNC 조각기를 분해하여 프레임을 다시 재활용 하기로 하였습니다.


이번에 가공한 부품과 분해한 재료를 다시 조립하였습니다.  


조립 해놓구 보니 이전보단 좀 낳아 보여서 다행히네요~ ^^v


베드에 가공 재료를 고정해야하니 크램프를 설치할수 있도록 홀을 가공하였습니다.


요렇게 해서 고정시키면 되겠져? >_<


컨트롤을 해야하니 전자 제어부분과 파워도 설치하였습니다. 우선은 이렇게 쓰다가 시간나면 박스짜서 안에 다 집어넣어 설치하면 깨끗하겠네요 언제 할질.... 슬슬 귀차니즘이 밀려오는군요 ㅋㅋ


자 이제 진화후 업그레이드된 성능을 확인해봐야 하니 PCB 조각에 도전해보았습니다. (회로 nc 코드는 이글 캐드의 pcb-gcode로 작성하였습니다.)


붓으로 위의 잔해물을 슥삭~슥삿~ 한곳으로 몰아보니 패턴이 나타나네요~ 듀근듀근~


오... 선 파먹은거 없이 pcb 패턴이 파먹지 않고 제대로 나왔네요 홀두 제위치에 뚫려있구여~ 성공입니다. >_< 

이상으로 프미케의 취미용 CNC 라우터 진화기였습니다. 읽어 주셔서 감사합니다. 꾸벅~


- 2013.01.24 나무의날에 프미케 -


itistory-photo-1


MDF 자투리가 보여서 부품 가공 테스트를 해보았습니다. cam은 g-simple 을 사용했습니다. 사용이 좀 까다롭긴 하지만 무료 cam으로 간단한 부품의 가공이 가능하다는 것을 확인할수 있었습니다.

-2012.05.04 프미케 -


iPhone 에서 작성된 글입니다.


itistory-photo-1


테스트를 해볼겸 해서 그림 파일을 편집후 변환해서 2.5D 조각을 해봤습니다. 45도 조각 날을 사용했습니다. 더 작은 각도날을 사용하면 더 세밀한것도 표현이 가능하겠네요

- 2012.04.27 프미케 -

iPhone 에서 작성된 글입니다.



itistory-photo-1


스텝모터 드라이버를 1축씩 제작해 뒷면에 3축 스텝모터 드라이버를 글루건으로 부착해 설치했습니다. 파워는 12v를 사용하도록 해서 atx 파워를 사용했습니다. breakout 보드도 만들까 하다가 그냥 패러럴 포트연결 케이블에 선구겨넣고 글루건으로 붙였습니다. EMC2로 동작해보니 잘 동작하네여 ^^

- 2012.04.17 프미케 -

iPhone 에서 작성된 글입니다.


itistory-photo-1



itistory-photo-2



스텝모터 드라이버를 만들기위해 이전에 레이져프린터로 인쇄한것을 다리미와 네임 펜으로 동판에 새긴후 에칭을 했습니다.


itistory-photo-3



에칭이 완료된 기판에 홀작업도 했습니다. (수동으로 했더니 눈아프네여......)


itistory-photo-4



홀가공과 재단이 완료 된 pcb 기판입니다. (크기는 500원짜리 4개 정도 면적이 되는군요. 재단은 쇠톱으로 자른후 줄로 측면을 다듬었습니다.)


itistory-photo-5



가지고 있는 부품을 이용해 조립하고 납땜 했습니다. 커넥터 한종류만 더 있으면 되겠네요

이렇게 SLA7078 을 이용해서 스텝모터 드라이버를 만들어 보았습니다.

-2012.04.01 프미케-


iPhone 에서 작성된 글입니다.


itistory-photo-1


스텝모터 드라이버 보드를 만들어 보려고 레이져프린터로 출력한것을 다리미로 동판에 입혀봤습니다. 뒷면은으로 역상으로 인쇄해야 되는데 그냥 해버렸네여 제 프린터는 드럼 교체 해달라는 메시지 뜨는바람에 낼 뒷면을 다시 인쇄해와서 계속 진행해야 할것 같네여

-2012.03.30 프미케 -


iPhone 에서 작성된 글입니다.



itistory-photo-1


기판을 조각을 시도해 봤습니다. 사진에있는 다이아몬드 조각비트는 동판에 들어가지 않는군요 초경 각도날을 구매해서 해봐야 겠네여......

-2012.03.27 프미케 -

iPhone 에서 작성된 글입니다.



조립을하고 작업베드 수평을 맞추기 위해 평탄화(평연마)를 해야 할것 같아 자투리 조각 하나로 테스트를 해보았습니다.


일단  잘깍이는 것을 확인할수 있었습니다.

앞으로 나가는 y축 전진거리를 조금더 작게해서 진행시키면 면이 더 고르게 나오겠군요

- 2012.02.26 프미케 -



xyz 스텝 드라이버와 장비부분을 조립후에 연결했습니다. DC 모터드라이버는 아직 제작이 안되서 직결해 놓은 상태입니다. 이전에 쓰던 파워서플라이의 12V 출력 부분의 출력 전류가 부족해서 퓨즈가 터지는 바람에 넉넉한 용량의 파워서플라이로 교체했더니 안정적으로 동작을 합니다. 모터드라이브 칩에 쿨링팬으로 usb 선풍기를 배치해놓았더니 딱이네요 pcb 로 제작시에 케이스에 쿨링팬도 하나 설치해야 겠군요 일단 조립을 완성했습니다. ^^v 

- 2012.02.24 프미케 -



x y 축 작업후에 원그리기 테스트를 해보았습니다.  사용한 코드는 G03J[수치] 와 G03I[수치]입니다. 펜을 고정해주는 블루텍(임시고정 접착제)가 처음에 흔들려서 시작점이 약간 틀어졌는데 다시 고정시켜주니 원이 다그려지면 펜의 위치가 출발한 시작점으로 이어지는 원이 그려집니다. ^^v

- 2012.02.23 프미케 -





초저가 CNC를 제작하기 위해서 MDF를 활용하여 프레임을 제작했습니다. 이번엔 스테핑 모터를 드라이브 하기 위해 스텝 모터 드라이버를 브레드보드와 드라이버칩 기타 소자들을 활용하여 제작해 테스트하였습니다. 컨트롤러는 AVR 보드를 활용하였으며 컴퓨터와 시리얼  통신으로 좌표값을 받게 하여 테스트해보니 동작이 잘됩니다. 모터드라이버로는 SLA7078mpr 을 사용하였습니다. 이전에 L297과 SLA7024를 사용했을때 고주파 잡음이 발생했던 문제점이 해소된것 같습니다. 

- 2012.01.18 프미케 -


저가 CNC DIY 에 꽂혀서 만들어 보려 진행 해봤더니 부품 선정하구... 부품목록 작성하고... 캐드질하고... 재료구매도 하고 재료 가공도 하고 조립도 하고 해야하구 에고 뭐이리 해야되는게 많냐 -_- 이제 캐드질을  조금만 더하면 다하겠군.  재료가 왤케 비싼것인지 용돈의 출혈을 예상하노라면 안습 ㅠㅠ 컨트롤부는 걍 가지고 있는 atmega128 보드로 테스트 했는데 명령값대로 모터가 동작 해주셔서 다행~

- 2012.12.22 프미케 - 


+ Recent posts