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 라우터에 달아서 새로 만드는 3D프린터의 작은부품 등을 출력해볼 생각입니다. 


제어기를 아두이노 기반의 2560보드를 사용하지 않고 현재 사용하고 있는 LinuxCnc(구 EMC2) 를 사용할 생각인데 온도 제어 부분이 필요하군요 온도 검출 소자로 써미스터를 사용하니까 아날로그 디지털 컨버터 입력이 필요 하겠네요 .


마침 예전에 실험용으로 쓰던 atmega128 보드가 눈에 보여서 일단 요넘을 이용해서 입력받은 써미스터 값을 온도로 변환해서 LCD에 출력하는 부분까지 해보았습니다.


노즐과 익스트루더를 조립한 모습입니다.

노즐과 베드의 온도제어를 하려 써미스터 펌웨어를 코딩후 atmega128 보드에 퓨징했습니다.

위의 값은 ADC 값이고 아래값은 온도 값입니다. 현재 온도가 28도였군요 어쩐지 덥다했는데 어어콘 켜야겠네여 ㅋ


우선 데이터 시트의 B정수값과 환산표값을 이용해서 데이터를 산출했는데 온도 수치가 잘 맞는것 같네요 온도 제어 부분 코딩후에 스위칭 소자 연결하고  작은 MCU 하나 구매한다음 코드 퓨징해서 사용해야 겠네요 ^^


- 2013.07.11 나무의날에 프미케 -

주말에 시간이 생겨서 3D 프린터의 노즐 부를 조립해 보았습니다.


부품함을 뒤져보니 이전에 네이버 윌리봇 카페의 운영자이신 윌리님께서 선물해주신 노즐 부품이 보여서 이것을 사용하기로 했습니다.


노즐부분의 크기를 줄이려 코일 히터를 구성하려 하다가 온도 센서위치를 잡지못해 우선 위에 있는 카트리지 히터를 사용하기로 했습니다. 카트리지히타를 잡아주는 히트블럭을 만들어야 겠군요

알루미늄 각재를 쇠톱으로 자른후에 카트리지히터를 넣을수 있도록 측면에 홀을 가공했습니다. 드릴 프레스가 있으면 좋겠지만 집에는 없어서 걍 전동드릴 들고 바닥에 놓으면 진동소음 생길까봐 저렇게 손으로 들고 뚫었습니다.


이제 노즐이 들어갈 부분의 홀도 걍 들구 뚫었습니다. 요건 안두꺼워서 작업이 수훨하네요


홀 가공한다음 줄을 이용해서 모서리도 저렇게 살짝 갈아 줬습니다.


손에 들구 홀작업해서 긁히구한자국이 생겨서 금속 샤틴할때 쓰이는 공업용 수세미에 문질러서 마감작업을 했습니다.


노즐 홀과 카트리지히터 홀가공을 완료한 히팅블럭입니다.


카트리지 히터를 고정해줄 볼트를 넣을 부분도 뚫어줬습니다. 탭공구가 없는관계로 걍 원형 줄로 뚫고 볼트넣구 힘껏 돌려 나사탭을 만들었습니다.


작업이 완료된 히트블럭에 노즐을 조립했습니다. 서미스터 주문해서 치수에 맞게 써미스터 들어갈 홀 가공후 설치하면 되겠군요 


그냥 드릴가지고 수가공해서 잘 나올까 했었는데 만들고 보니 잘나와서 다행입니다. ^^v


- 2013.06.09 달의날에 프미케 -


3d 프린터 + cnc 라우터 겸용기기 제작에 필요한 부품을 안정적으로 제작하기위해 cnc 라우터 y축 보강교체를 위한 리니어 이송부분 제작

'CNC+3D프린터 만들기 > 진행내역/일지' 카테고리의 다른 글

부품 주문 오류로 인한 작업연기  (0) 2013.05.11
베어링 부품 구매  (0) 2013.05.10
이송 스크류 준비  (2) 2013.05.04
연마봉 재단  (0) 2013.05.04
cnc y축 보강 교체용 가이드 제작  (0) 2013.05.04

그간 귀차니즘으로 인해 자작한 취미용 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 프미케 -

+ Recent posts