', { cookie_domain: 'auto', cookie_flags: 'max-age=0;domain=.tistory.com', cookie_expires: 7 * 24 * 60 * 60 // 7 days, in seconds }); 'Stopped' 카테고리의 글 목록 (2 Page) :: MakerLee's Workspace
728x90

지난번에 주문한 PCB는 설계 오류가 있었습니다.

터미널 위치와 작동 스위치 등이 상당히 비 인체공학적이더군요. 

그래도 아예 새로 할 생각까지는 없었는데 구글링하다가 마음에 드는 프로젝트를 발견했습니다. 

 

 

 

출처 : http://www.zeva.com.au/Projects/SpotWelderV2/

 

알루미늄 12mm 각재로 부스바를 가공해서 사용하더군요

뒤쪽의 NOALOX 라는 제품은 전자회로용 알루미늄 컴파운드제입니다.  

아마도 PCB 에 그대로 연결하면 갈바닉 부식 등이 일어날 수 있으니 코팅용으로 사용하는게 아닐까 싶습니다. 

 

 

 

 

이와 같이 연장이 편리하고 접점이 확실합니다. 

또 부품 손상시 유지보수도 편리하겠더군요. 

상단의 3핀 커넥터를 연결시켜 병렬로 쭉 연결하면 신호선이 계속 연장됩니다. 

모듈화가 되어 있어 신호선 컨트롤을 555타이머를 이용하던 아두이노를 이용하던 상관없이 사용 가능하고요.

 

정말 아이디어가 좋고 제가 원하던 것이라 이대로 재 제작하기로 마음먹었습니다. 

 

 

 

원작자가 사용한 47000uF 캐패시터는 너무 비싸서 타오바오에서 비슷한 용량을 골랐습니다. 

성능이 좀 떨어지면 병렬로 늘리면 되지 않을까 합니다. 

 

 

 

 

 

 

MOSFET도 같이 구매했습니다. 

 

 

 

 

 

 

 

받아보니 원작자의 캐패시터와는 사이즈가 달라 라이브러리를 수정하고 주문한 PCB입니다. 

 

 

 

 

 

 

 

잘 맞는군요.. 

어서 조립해서 테스트해봐야겠습니다. 

728x90
728x90

작년 가을쯤에 충동적으로 구매한 초음파 트랜스듀서입니다. 

사실 받고나서도 좀 후회되는 마음이 있어서 계속 서랍에 처박혀 있었네요

 

 

 

 

 

그래도 구매한 이상 써야 하지 않겠나 싶어서 케이스를 설계합니다. 

 

 

 

 

 

 

전체 크기가 좀 큽니다. 

프린터 베드에서 한번에 출력이 안되기 때문에 2파트로 나누어 출력하도록 만들었습니다. 

 

 

 

 

 

 

하단 왼쪽에 초음파 펄스 발생 회로가 들어가고

오른쪽에는 12V 파워 서플라이와 아두이노 보드와 SSR 2채널 보드가 들어갑니다. 

12V 파워는 냉각팬과 아두이노 전원용입니다. 

SSR이 2채널인 이유는 남은 PTC 히터를 붙여서 가열을 겸할 생각이기 때문입니다. 

 

 

 

 

 

한번 출력하는데 24시간이 걸리는 물건이라 시간도 오래 걸리고 필라멘트도 많이 먹고.. 

이 고생할거면 그냥 3~4만원에 적당한 크기로 하나 살것을 후회하고 있습니다. 

 

 

 아두이노 끼울 컨트롤 보드는 다음주에나 올테니 최종 조립하고 스케치 짜야겠네요

728x90

'Stopped > 초음파 세척기' 카테고리의 다른 글

초음파 세척기 프로그램 작성중.  (0) 2019.06.13
728x90

https://blog.naver.com/kikch/221435954972 에서 참조한 회로로 만들었습니다. 

 

슈퍼 캐패시터를 사용하도록 참조해서 수정했고요. 

100% 맘에 들진 않는데 이 사이즈의 기판은 주문할때마다 가격이 꽤나 비쌉니다.
이미 한번 수정한지라 그냥 쓰려고 합니다. 

 

 

 

 

 

 

 

코드는 비교적 간단한 편입니다. 

소스가 공개되어 있지만 참조만 하려고 프린팅했습니다. 

 

 

 

 

 

 

 

1.3" OLED를 사용할 계획인데 가방에 넣어다니다 보면  깨지는 경우가 있어 임시로 보호대를 만들어줬습니다. 

요즘 약한 번아웃 상태라 진행이 좀 느리네요

728x90
728x90

배터리 자작하시는 분들은 스폿 용접기 많이들 자작해 쓰시더군요.

저도 예전에 간단하게 만들어 본 적이 있긴 한데 당시엔 쓸 일이 없었습니다. 

그리고 대충 한번 만들어 본 것이라 여기저기 많이 어설펐죠.

언젠가 제대로 만들어 두는게 좋을 것 같아 분해해서 부품만 챙겨두었습니다. 

그리고는 잊은채로 한참 지났네요. 







스폿 용접기가 정말 쓸일이 많지는 않은데 필요한 일이 생기면 엄청 아쉽습니다. 

최근에는 집에서 쓰는 진공 청소기의 배터리 수명이 다 되어 또 생각이 나더군요.









파워 소스는 여러가지가 있지만 최종적으로는 고전류의 DC 전기가 필요합니다. 

AC 트랜스를 사용하는 방법은 저같이 몇년에 한번 필요한 사람에게는 좀 문제가 있습니다. 

덩치도 크고 무거운 물건을 몇년에 하루이틀 쓰자고 계속 보관하기는 어렵습니다. 

DC 파워를 쓰는 경우 RC용 고방전 리튬 폴리머 배터리를 사용하기도 합니다. 

이경우 리튬폴리머 가격이 비싸고 마찬가지로 몇년에 한두번 쓰자고 비싼 배터리 수명 낭비해가며 구매하기 애매합니다. 

그러던 와중에 '김원규의 만물상' 사이트에서 슈퍼 캐패시터를 저렴하게 팔길래 구매해뒀습니다. 








타오바오에서 사진만 보고 구매했더니 생각보다 너무 큰 용접봉이 왔군요.

가느다란 것보다는 차라리 이게 낫긴 합니다. 









며칠간 스타벅스에서 커피와 함께 작업했습니다. 

전에 만들었던 555타이머 컨트롤러는 발열과 전류 문제가 있는 듯 하여 도선넓이를 여유있게 잡았습니다. 

저걸로도 부족하고 FET에는 추가로 부스바를 달아서 용접할 예정입니다. 

캐패시터는 8직렬이라 좀 과해 보이긴 합니다. 

만충시 20V가 넘어버리게 되죠. 

테스트삼아 납땜해서 전압 측정을 해봤더니 전압이 높아질수록 충전속도가 극악하게 낮아집니다. 

그래서 전압을 좀 여유있게 두고 충전을 적당한 레벨에서 멈추면서 쓰는게 편할 것 같습니다. 

일단 여기까지 해 두고 회로 제작은 CNC 정비가 끝나는 대로 할 예정입니다. 







제어의 핵심은 IRFP3703을 사용한 스위칭 회로입니다. 

컨트롤러로 아주 짧은 시간(0.5ms~1.5ms 전후) 동안 ON/OFF를 해서 100A 도 넘는 고전류를 흘려줍니다. 

그러면 접촉면이 녹게 되고 그때 용접이 되는 원리입니다. 

실제로는 0.몇초 사이에 용접이 되므로 사람이 느끼기에는 뜨거워지지도 않고 별로 위험하지도 않습니다. 









아두이노는 이런 짧은 시간의 ON/OFF 스위칭 신호를 발생시켜 주기도 하고

전압 체크나 온도 체크등의 역할을 하게 됩니다. 

스위칭 신호만 발생시켜도 용접하는 데는 무리가 없기 때문에 555 타이머를 이용한 회로도 있습니다. 





https://blog.naver.com/kikch/221435954972

회로는 많은 곳에서 참조했지만 아두이노와 연결해서 사용하는 개념은 위 블로그를 많이 참조했습니다. 



728x90
728x90

처음에는 아두이노를 리셋하면 시간이 다시 처음부터 시작하는 문제가 있었습니다. 

DS1307에 코인전지가 끼워져 있는데도요.









그러더니 아예 시간이 전부 리셋되는군요.







여러모로 다시 테스트해보니 다시 시간이 정상적으로 표시되었으나......










잘 되던채로 책상위에 놔두고 저녁을 먹고오니 아예 RTC가 먹통이 됩니다;;;;








혹시나 하고 I2C를 체크해보니 이쪽은 이상이 없고요.










예제를 수정않고 그대로 업로드해봐도 여전히 RTC 연결이 안되네요.

4개 있는 RTC 모두 같은 증상이라서 아두이노도 교체해봤는데 똑같고요;;


728x90

'Stopped > 식물용 LED 컨트롤러' 카테고리의 다른 글

식물용 LED 컨트롤러 시작.  (0) 2018.09.22
728x90

타오바오에서 굉장히 싼 식물용 LED(인 것 같은 물건)을 발견. 

판매자는 전자부품 중고상으로 식물용 LED인 것 같긴 한데 확실하진 않다고 하더군요. 

20개 1위안이라는 매우 저렴한 가격이라 적당히 사봤습니다. 







색깔을 보면 일단 식물용 같기는 합니다. 







PCB를 주문했습니다. 

JLCPCB 최저가에 맞추기 위해 10*10 안에 들어가도록 조정하고 최대한 밀집해서 넣었습니다. 

알루미늄 PCB 라면 더 좋겠지만 혼자서 쓸 물건이라 적당히 하기로 했습니다. 







.....힘들더군요

테스트해보니 밝기는 적절한데 아무래도 열이 좀 납니다. 

뒷면에 팬 하나씩 붙이면 그럭저럭 적당한 온도에서 유지가 되는 것 같습니다. 








일단 시간별로 ON/OFF 할거라서 LCD 와 RTC를 붙였습니다. 

둘다 I2C 라서 채널 확인을 해야 합니다. 







I2c 스캔용 스케치를 넣어서 돌려보니 이렇게 나오는군요

0x27은 LCD고

0x50 / 0x68 은 RTC입니다. 


핀이 남을 것 같기도 해서 LCD는 그냥 I2C 없이 써도 될것 같긴 하네요




728x90

'Stopped > 식물용 LED 컨트롤러' 카테고리의 다른 글

RTC DS1307 사용하기 힘드네요  (0) 2018.10.19
728x90



일단 배치는 끝났습니다. 


위치가 맞게 배치된건지 100% 확신할 수가 없어서 


원래 주옥션 보드에 맞춰보기로 합니다. 







그냥 출력하면 A4용지에 맞게 자동으로 축소되기 때문에 그대로는 쓸 수가 없습니다. 


이글캐드의 print 메뉴에서 Print to File (PDF) 를 선택하면 PDF 파일로 변환이 이뤄집니다. 








이 파일을 포토샵에서 불러들여 잘 보이도록 Brightness/Contrast 조정을 하고









출력시에 크기를 100% 로 한 후 드래그해서 출력될 부분을 조정할 수 있습니다. 












OHP에 출력해서 보드 위에 얹으면 육안으로 쉽게 확인할 수 있습니다. 



CapsLock, Tab,LShift 가 모두 잘 배치된게 확인되고요.








Space 키와 스태빌라이저 구멍도 제자리에 맞습니다. 







우측 엔터키는 라이브러리 따로 작성하는게 귀찮아서 1*2 키를 그대로 쓴거라


키는 90도 회전되어 있습니다. 센터는 모두 잘 맞는군요.



추가작업

1. NumLock LED 

2. USB 충전회로와 커넥터 위치 잡기

3. 매트릭스 재점검





728x90

'Stopped > 무선 기계식 키보드' 카테고리의 다른 글

키보드 그리는 중.. 2  (6) 2015.09.24
키보드 그리는 중.  (0) 2015.08.29
728x90

열심히 측정해서 수정하다가 이게 아닌 것 같아 구글링했더니


역시나 자료들이 있었습니다. 






https://geekhack.org/index.php?topic=47744.0 에 관련자료들이 쫙 올라와 있어서 많은 도움이 되었습니다. 





같은 Cherry 키보드라고 해도 키캡 사이즈가 버전별로 제각각이더군요


위의 자료를 참고로 하니



제가 갖고있는 주옥션의 경우 위의 그림에서


Space = 6


R-Sshift = 2.75U


L-Shift = 2.25U


OFF Center CapsLock =1.75


Num0(INS) = Num Enter = [+ -]  = 2


TAB = 1.5


과 사이즈가 같습니다. 나머지 일반 키는 1 사이즈입니다. 



http://www.otd.kr/bbs/board.php?bo_table=TT&wr_id=348 이쪽도 참조


자료를 찾아보니 사이즈 1 = 3/4inch = 19.05mm 입니다. 


측정할 때마다 미묘하게 안맞는다 했더니 인치단위였네요. 


처음에는 스위치 모듈과 키캡의 사이즈를 전부 계산해서 맞춰야 하는가 했는데


키캡의 사이즈는 18mm 정도이고 스위치 모듈(19.05mm)를 정위치로 배열하면 키캡간의 틈은


1mm 정도로 조정되기 때문에 신경 쓸 필요가 없습니다. 





도면에서 키 사이즈와 별도로 보강판의 가공 모양이 여러가지로 있길래 무슨 차이가 있는건가


좀 고민을 했는데 도면상으로는 이해가 안가네요.




도면을 약간 정리해서 1.5T 아크릴을 깎아봅니다. 








의외로 별 차이 없네요. 그냥 형태만 다를 뿐입니다. 


사진상에는 보강판을 위에 끼워봤는데 보강판이 아래로 들어갑니다. 










일단 키를 배치시켜 봅니다. Enter 키는 자료가 없어서 비워뒀지만 나머지는 대충 다 맞는군요.


역시 레퍼런스가 있으니 편합니다. 









위의 CAD 데이타는 보강판 제작과 키 위치잡는데 쓰이고,


저는 PCB 보드도 새로 만들어야 하기 때문에 이 자료도 참조해서 같이 겹쳐써야 합니다. 


여러모로 할일이 많군요



728x90

'Stopped > 무선 기계식 키보드' 카테고리의 다른 글

키보드 그리는 중.. 3  (0) 2015.09.27
키보드 그리는 중.  (0) 2015.08.29
728x90



전에 주옥션(참고) 라는 별명의 구형 갈축 기계식 키보드를 구입해 둔 적이 있습니다. 



이전에 만든 무선 키보드 개조(링크) 처럼 무선 컨트롤러를 이식해 키보드를 만들려 하는 의도였지요.




이것 때문에 로지텍 K270도 하나 구매해서 분해를 해 두었습니다.


키보드마다 특수키가 조금씩 다르기도 한데 이 키보드는 주옥션이랑 키 매칭도 거의 같아서 편할 것 같았죠.




이걸로 기계식 키보드를 하나 조립해 보려고 이글캐드에서 보드를 그리다가 포기하고 그냥 둔 게


작년의 일입니다. 





그러다가 며칠전 이런 물건을 보게 됐네요


(링크)


무선/유선 모두 가능한 106키 기계식 키보드입니다. 


이걸 보고 갖고 싶어서 고민을 하다가 전에 창고에 박아둔 주옥션이 생각나서 다시 꺼내들고 회로를 열었습니다.






몇시간 해보니 


예전에 왜 포기하고 묵혀뒀는지 기억이 났습니다. 






일단 106키 를 일일이 배선 입력하고 name 하고 위치를 조정하려다 보니 


키당 수십번 정도는 클릭해서 변경해야 할 필요가 있는데


곱하기 106이 되다 보니 기본 배선및 조정같은 단순 노가다에 클릭 수천번... 







추가로 키 위치 잡기가 무지 번거로워요. 


새 키를 만들어 조합하는게 아니라 기존 키를 측정해 그대로 복사해야 하는 일인데


측정오류가 겹치며 이상한 물건이 나올 가능성이 높으니 측정을 "아주 잘" 해야 하는데 그게 쉽지 않습니다.









기본 키는 도면이 있고 정사각형이라서 큰 문제가 없지만


CTRL, TAB, ENTER, SPACE 등 키의 위치를 정확히 잡는게 매우 힘들더군요.


며칠간 노가다 끝에 어느정도 위치를 잡았습니다.










더이상 진행을 해야할지 좀 고민이긴 합니다. 일단 키캡 분리나 하고 있어야 할듯..




728x90

'Stopped > 무선 기계식 키보드' 카테고리의 다른 글

키보드 그리는 중.. 3  (0) 2015.09.27
키보드 그리는 중.. 2  (6) 2015.09.24
728x90


DLP 프로젝터의 광원을 UV(자외선)으로 바꾸기 위해서는 램프를 자외선 LED로 바꾸고,


램프의 작동 신호가 DLP의 컨트롤러에 들어가는 부분을 LED에서도 작동하도록 만든 후, 


LED의 반사경을 만들어 원래 램프의 촛점이 맺히는 부분의 라이트 터널에 집광이 되도록 만들어야 합니다. 



참조 링크 http://projectsinterestsandetcetera.com/lurching-forward-3d-printer/






우리가 쓰는 일반 거울은 유리의 뒷면에 은도금을 한 뒤 보호용 페인트를 바른 것으로,


전면에서 볼 때 유리의 표면에서 한번 반사가 일어난 후, 다시 유리의 뒤 은도금 면에서 반사가 일어납니다. 


일반적인 용도에서는 큰 문제가 없지만 광학계에 사용시에는 잔상이 남는 문제로


은도금을 한 면을 앞에 두고 사용하는 '전반사 거울' 을 씁니다. 




위 링크의 제작자는 CNC 라우터로 거울을 가공했다고 하며 전반사 거울을 만들기 위해


일반 거울의 뒷면 페인트를 솔벤트로 제거 했다고 합니다. 





갖고 있던 거울의 뒷면을 아세톤으로 지워 봤더니 과연 은도금면이 드러나긴 했습니다만,


도금면이 얇은지 미세하게 뒤쪽이 비쳐 보이는 것을 발견했기에 


일반 거울을 그대로 쓰는 것은 제대로 된 전반사 거울만큼 반사효율이 높지는 않을 것으로 보입니다. 




하여간 일단 CNC로 거울을 가공하려면 난관이 많을 듯 하여


싸구려 거울로 가공조건을 테스트해보기로 했습니다. 





다이소에서 산 2천원짜리 거울입니다. 분해가 쉬워 보여서 샀더니 간단한 플라스틱 프레임 뿐이군요. 


한번 떨어뜨렸다간 박살이 날듯.. 









유리의 두께.









조각날은 종로 세공상가에서 파는 세공용 다이아바입니다. 샹크가 2.5mm 라서 콜렛도 추가로 알리에서 구매했습니다. 







절삭유를 많이 부어줘야 하고 가공속도는 엄청 느리게 해야 합니다. 


깎는 게 아니라 갈아내는 거라서 시간이 오래 걸리고 재료가 유리이다 보니 아차하면 깨지죠.


천천히 했는데도 시작하자 마자 유리는 금가고 다이아바는 하나 태워먹었습니다. 









일부 조정하며 조금씩 깎아나가고 있는 모습입니다. 절삭유(물입니다)를 따라 나오는 하얀 가루가 유리가루죠.


대충 가공조건은 4000rpm 정도에

Z축 플런지는 분당 1.5mm 

feed는 분당 10mm 정도입니다. 


이런 느린 가공에서도 모서리는 깔끔하게 안 나오고 살짝 깨지더군요. 



사각뿔 모양으로 만들 거라서 거울은 총 4장이 필요합니다


사다리꼴의 거울 아랫면 길이가 40mm 정도 되는 작은 거울인데, 한장 깎을때 30분 정도 걸립니다;;







세번째 거울을 가공하던 중 다이아바가 부러졌네요;;;


2천원짜리로 세공용이다 보니 좀 부실한 면이 있었습니다. 회전시킬 때 중심축이 안맞더군요. 


그래도 그렇지 가공중에 내구도가 다할 줄은 몰랐네요.



석조용 CNC 다이아바가 알리에서 1만원 정도 하던데, 다음엔 그걸 구해서 테스트해봐야겠습니다. 



728x90
728x90

레진 VAT을 만들다가 진도가 잘 안 나가고 있던 참에 


하향식으로 가는 건 어떨까 하는 생각이 들었습니다. 





상향식은 프로젝터가 밑에 위치하고 프린팅 베이스가 위로 상승하는 구조입니다. 


VAT의 하단에서 경화가 이루어지죠. 


이 방식의 장점은 VAT 에 레진을 소량만 투입해도 되기 때문에 초기비용이 적게 들고,


같은 설계에서 Z축 길이만 늘이면 프린팅 크기를 무한히 늘릴 수 있어 업그레이드가 비교적 쉽습니다. 





다만 이렇게 제작할 때에는 VAT 바닥면에서 경화가 이루어 지는데


이때 프로젝터 광원이 VAT 바닥을 통과해야 하기 때문에 자외선 감소가 적은 특수 유리를 사용해야 하고


또한 경화된 레진이 바닥에 잘 달라붙지 않게 sylgard184 같은 특수 실리콘을 사용해서 


레진이 바닥에 잘 달라붙지 않게 하고 있습니다. 



문제는 이 재료들이 둘다 비싸고, 특히 sylgard184 같은 실리콘 재료는 무한히 쓸 수 있는 것이 아니라


내구성이 떨어지면 다시 작업해서 VAT 바닥을 새로 깔아야 합니다. 




실제로 제작해 보면 또한 프로젝터 촛점 맞추기가 어렵다던가, 출력물이 상승하면서 레진을 뭍혀 올라가기 때문에 


출력물을 떼어낼 때 레진이 여기저기 묻기 쉽다던가 하는 잡다한 단점들도 있더군요.











3D 프린터의 붐을 타고 개발된 많은 소형 SLA 프린터들도 거의 상향식입니다. 




한편으로 하향식은 어떨까요?


기존 대형 SLA 프린터들은 하향식인 경우도 많습니다. 


생각해 보면 VAT의 구조를 복잡하게 하면투과형에 자외선 투과형으로 만들지 않아도 되고


소모품인 바닥용 실리콘 sylgard184 등의 추가비용이 들지 않습니다. 


또한 상향식처럼 프린팅시 layer끼리 잘 붙지 않아 출력물의 불량이 날 가능성도 줄어들 것 같습니다. 




단점으로는 출력물의 구조에 따라 레진이 출력물에 담겨 나온다거나(컵 같은 형태의 경우)


출력물의 크기만큼 VAT 크기를 키워야 하고 레진을 많이 부어야 한다는 것.. 정도가 생각이 나네요.




애초에 제가 하향식은 엄두에도 넣지 못한 이유 중에 하나가


레진이 많이 들어간다는 것이었습니다.


아주 작은 크기로 VAT을 만들어도 레진 2리터는 일단 붓고 시작해야 하기 때문이었죠. 



하지만 하향식을 생각하다 보니 peachy printer의 아이디어가 떠오르더군요.






성능상으로 엄청난건 아니지만 최초의 100$ 대의 SLA방식 3D 프린터로 뉴스를 강타한 피치 프린터는


뛰어난 아이디어들이 많이 녹아있는데 그중 하나가 Z축이 없이 레진에 물을 부어서 


레진을 띄우는 방식을 사용하는 것이었죠.




레진이 뜬다면... VAT이 깊어도 다 레진으로 채울 필요는 없잖아?


하는 생각이 들었습니다. 





레진이 물과 안 섞이는지, 레진이 물에 뜨는지 테스트부터 해보자! 하고 물을 붓고









레진을 부었습니다. 레진이 밑바닥에 쫙 가라앉는군요.....?????












아주 잘 가라앉아있습니다.... 당황해 하다가


peachy printer 에서는 소금물을 썼다고 했던 것 같은 기억이 살짝..











역시 그랬군요.













이미 물은 부어놨고 그냥 소금을 넣어봤습니다만;;













소금 20g 에 물 40g 정도를 부었습니다. 전자렌지에 돌려 끓이고 저어봤는데 소금이 다 녹지는 않네요.


일단 녹은 소금물만 따로 부어봤습니다








결과는 저렇게


레진이 위에 잘 뜨고 있습니다. 


물이 식으면 소금결정이 생길 것 같기는 한데 일단 어느정도 소금물에는 레진이 뜨고, 섞이지도 않는군요.






밖에 나가 태양빛에 경화시켜봤습니다. 











프린터를 뒤집어 놓고 구상중.. Z축 위치를 좀 옮기고 VAT등 일부 부품을 다시 만들면 가능할 것 같습니다. 




728x90

'Stopped > 3D DLP Printer' 카테고리의 다른 글

CNC로 유리가공 테스트.  (0) 2014.07.29
도깨비님 컨트롤 보드 세팅 정리 #1  (1) 2014.03.13
VAT의 실리콘 패킹 제작.  (0) 2014.01.23
VAT 구조도  (0) 2014.01.21
DLP 3D 프린터 현재.  (0) 2014.01.04
728x90

CNC를 가동하면서 드디어 알루미늄 가공에 도전해 보았습니다. 


최근 다시 찔끔찔끔 손대기 시작한 타임랩스 돌리의 재설계 버전의 부품을 가공해 보기로 합니다. 



생각보다 가공소음이 엄청납니다. 안좋은 느낌이...






다 가공해놓고 막판에 조작미스로 한번 쓴 엔드밀 날려먹음;;







배드 평탄화가 별로 안좋아요. 바닥이 일단 허접한 나무 테이블이기도 하고. 









포켓 가공은 첫가공임을 감안하면 비교적 나쁘지 않아 보입니다만










프로파일 가공이 끝장나게 안좋습니다. 


포켓 가공은 칩 배출의 여유가 있지만 프로파일 가공은 칩 배출이 힘들다 보니 천천히 조금씩 진행해도 문제가 좀 있군요.


황삭-정삭 과정을 거쳐야 할 것 같습니다. 



728x90
728x90

ramps 1.4 보드, Mega2560보드, A4988 보드 이 3가지로 프린터 드라이빙이 가능해야 하나..


이상하게 잘 안되길래 이리저리 테스트 해보던 중 A4988 날려먹고, 이어서 Mega2560도 날려먹고;;

(Mega2560은 전원부만 나간 듯 하여 수리는 가능할듯 하지만)


이래저래 딥빡침을 겪던 와중 도깨비님(http://http://blog.naver.com/jinydoggebi/ ) 


이 드라이버를 제작하여 공제를 하신다고 해서 잽싸게 신청했다. 




중간 이사를 겪고 방정리를 하는 와중 도착한 보드, 


또 날려먹을까 걱정되어 다리부터 세워주고..



1607 SMD로 작업되어 회로가 참 작다.


그런데 잘 보면 전부 손땜이다;;;; 소량이니 당연한 거겠지만 처음에 워낙 깔끔하게 잘 되어 있어서 몰랐는데


부품 하나 하나가 전부 각이 잡혀있다. 






일단 내 윈7에서는 USB만 꽂으면 자동으로 드라이버가 잡히고 인식되며





원문 : http://blog.naver.com/jinydoggebi/120209283919





 

default.zip

 





일단 여기까지 하고.. 스텝 드라이버는 전에 CNC에 사용했던 TB6560 을 사용하기로 했다.


A4988은 또 잘못 연결해서 날릴까봐 걱정되고 영 불안하다





알리에서 검색해보니 2개에 18.4달러다. 전에 한개에 17달러에 샀던 것 같은데...;;


일단 주문해 놓고, CNC에 붙어있던 것을 떼서 임시로 사용하기로. 





잠시 생각해 보니 리드 설정이나 스텝 회전방향 등 설정을 어떻게 하는지 알 수 없어 문의글을 올렸더니


금방 답글이 달렸다. 




CoolTerm_1.4.3-Build-203.zip

 



이 CoolTerm이란 프로그램을 사용하며 조정이 가능하다고 한다. 


이것저것 찾아 읽다보니 터미널 프로그램임. 다른 터미널 프로그램 쓰시는 분들은 그냥 쓰셔도 될 듯. 







설정에서 Baudrate를 115200으로 변경하고, 


Flow Control 의 XON을 반드시 체크해둔다. 




그리고 연결하면... 





이런 화면이 뜬다.. 계속 같은 텍스트가 무한 반복되어 고장난 보드를 받은 줄 알았으나


문의결과 상태보고를 50밀리초마다 하는 것이라 저렇게 나온다고. 



해결방법은 status report의 타이밍을 늘리거나, 필터링하거나 하는 것. 


간단하게 저 상태에서 status report를 disable 하거나, 시간 간격을 늘리면 되는데


$sv=1 을 입력하면 filtered report 상태가 되므로 변화가 있을 때만 report 된다(그런 것 같다..)




화면에 report 가 50ms 마다 반복되므로 50ms 사이에 $sv=1 + Enter 입력을 해야 하는데


복사해서 Ctrl-V + Enter 를 빠르게 두어번 입력하다 보면 금방 입력이 되고 report 화면이 멈추는 것을 볼 수 있다. 





-----------------------------------------------------------------------------------------------------------




참고로 보드의 명령어는 다음과 같다. 


# Configuration

The settings on this page are for firmware version 0.96. If you have an earlier version see here. You can find out the firmware version by entering $fv or by looking at the console output when you hit reset.

This page describes how configuration works in text mode from the Command Line. All configs on this page are also accessible in JSON mode. Well almost. Those few commands that apply to only one mode or the other are noted.

Summary / Cheat Sheet

Connect to the Controller Board USB at 115,200 baud. To see a value enter $cmd. To set a value enter $cmd=value. Most commands are self explanatory. See the sections following the cheat sheet for those that require further explanation.

Motor Groups

Settings specific to a given motor. There are 4 motor groups, numbered 1,2,3,4 as labeled on the Controller board.

Setting Description Notes
$1ma Motor mapping to axis Typically: $1ma=0, $2ma=1, $3ma=2, $4ma=3 to map motors 1-4 to X,Y,Z,A, respectively
$1sa Step angle Typical setting is $1s1=1.8 for 1.8 degrees per step (200 steps per revolution)
$1tr Travel per revolution How far the mapped axis moves per motor revolution. E.g 2.54mm for a 10 TPI screw axis
$1mi Microsteps Controller Board uses 1,2,4 and 8. Other values are accepted but warned
$1po Polarity 0=clockwise rotation, 1=counterclockwise - although these are dependent on your motor wiring.
$1pm Power management mode 0=axis remains powered when idle, 1=power shuts off when axis is not moving

Axis Groups

Settings specific to a given axis. There are 6 axis groups, one for each of X,Y,Z,A,B,C. Not all axes have all parameters.

Setting Description Notes
$xam Axis mode See details for setting. Normally this is =1 "normal"
$xvm Velocity maximum Max velocity for axis, aka "traverse rate" or "seek"
$xfr Feed rate maximum Sets maximum feed rate for that axis. Does NOT set the F word
$xtm Travel maximum Used by homing to know when to give up
$xjm Jerk maximum main parameter for acceleration management (Note: takes the place of a max acceleration value)
$xjh Jerk homing jerk used during homing operations. On axes XYZA only
$xjd Junction deviation For cornering control
$ara Radius setting Rotational axes only (ABC only)
$xsn Minimum switch mode 0=disabled, 1=homing-only, 2=limit-only, 3=homing-and-limit (XYZA only)
$xsx Maximum switch mode 0=disabled, 1=homing-only, 2=limit-only, 3=homing-and-limit (XYZA only)
$xsv Search velocity Homing speed during search phase (drive to switch) (XYZA only)
$xlv Latch velocity Homing speed during latch phase (drive off switch) (XYZA only)
$xzb Zero backoff offset from switch for zero in absolute coordinate system (XYZA only)

PWM Group (Pulse Width Modulation)

There is currently only one PWM channel (p1), but the configs are structured for multiple PWM groups. The PWM channel is set up to act as a remote control Electronic Speed Controller (ESC), but can be used for other PWM functions using these settings.

Setting Description Notes
$p1frq Frequency in Hz, e.g. 100
$p1csl Clockwise speed low In RPM - arbitrary units unless you calibrate it, e.g. 1000
$p1csh Clockwise speed high In RPM
$p1cpl Clockwise phase low 0 to 1, e.g. 0.125 for 12.5% phase angle
$p1cph Clockwise phase high 0 to 1
$p1wsl Counter clockwise speed low In RPM
$p1wsh Counter clockwise speed high In RPM
$p1wpl Counter clockwise phase low 0 to 1
$p1wph Counter clockwise phase high 0 to 1
$p1pof Phase off 0 to 1

System Group

The system group contains the following global machine and communication settings. The system group can be listed by requesting$sys or {"sys":""} in JSON mode

Identification Settings These are reported on the startup strings and should be included in any support discussions.

Setting Description Notes
$fb Firmware build Read-only value, e.g. 380.05
$fv Firmware version Read-only value, e.g. 0.96
$hv Hardware version Read-write value, set this to to 6 for v6 and earlier boards, 8 for v7 and later boards. Defaults to 8
$id Unique ID Each board has a read-only unique ID

Global System Settings

Setting Description Notes
$ja Junction acceleration Global cornering acceleration value
$ct Chordal tolerance Sets precision of arc drawing. Trades off precision for max arc draw rate
$st Switch type 0=NO, 1=NC
$mt Motor disable timeout Number of seconds before motor power is automatically released. Maximum value is 40 million.

Communications Settings Set communications speeds and modes.

Setting Description Notes
$ej Enable JSON mode 0=text mode, 1=JSON mode
$jv JSON verbosity 0=silent ... 5=verbose (see details)
$tv Text mode verbosity 0=silent, 1=verbose
$qv Queue report verbosity 0=off, 1=filtered, 2=verbose
$sv Status report verbosity 0=off, 1=filtered, 2=verbose
$si Status report interval in milliseconds (50 ms minimum interval)
$ic Ignore CR / LF on RX 0=accept CR or LF as line terminator, 1=ignore CRs, 2=ignore LFs
$ec Enable CR on TX 0=send LF line termination on TX, 1= send both LF and CR termination
$ee Enable character echo 0=off, 1=enabled
$ex Enable flow control 0=off, 1=XON/XOFF enabled, 2=RTS/CTS enabled
$baud Baud rate 1=9600, 2=19200, 3=38400, 4=57600, 5=115200, 6=230400 -- 115200 is default

Gcode Initialization Defaults Gcode settings loaded on power up, abort/reset and Program End (M2 or M30). Changing these does NOT change the current Gcode mode, only the initialization settings.

Setting Description Notes
$gpl Default plane selection 0=XY plane (G17), 1=XZ plane (G18), 2=YZ plane (G19)
$gun Default units mode 0=inches mode (G20), 1=mm mode (G21)
$gco Default coordinate system 1=G54, 2=G55, 3=G56, 4=G57, 5=G58, 6=G59
$gpa Default path control mode 0=Exact path mode (G61), 1=Exact stop mode (G61.1), 2=Continuous mode (G64)
$gdi Default distance mode 0=Absolute mode (G90), 1=Incremental mode (G91)

Commands and Reports

These $configs invoke reports and functions

Command Description Notes
$sr Request status report SR also sets status report format in JSON mode
$qr Request queue report
$qf Flush planner queue Used with '!' feedhold for jogging, probes and other sequences. Usage: {"qf":1}
$md Disable motors Unpower all motors
$me Energize motors Energize all motors with power management mode set to 0 (e.g. $1pm=0)
$test Invoke self tests $test=n for test number; $test returns help screen in text mode
$defa Reset to factory defaults $defa=1 to reset
$boot Enter boot loader $boot=1 enters boot loader
$help Show help screen Show system help screen; $h also works

Note: Status report parameters is settable in JSON only - see JSON mode for details

Hidden System Settings

The following settings are accessible but do not appear in the system group listings. This is because they really should not be messed with.

Setting Description Notes
$ml Minimum line length
$ma Arc segment length
$ms Segment timing
$qrh Queue report hi water mark set between 0 and 24; default is 20
$qrl Queue report low water mark set between 0 and 24; default is 2


 

Settings Details

Settings are case insensitive - they are shown in upper case for emphasis only. The leading '1' can be any motor, 1-4, and the leading 'x' can be any axis (with some restrictions as noted).

Motor Settings

$1MA - MAp motor to axis

Axes must be input as numbers, with X=0, Y=1, Z=2, A=3, B=4 and C=5. As you might expect, mapping motor 1 to X will cause X movement to drive motor 1. The example below is a way to run a dual-Y gantry such as a 4 motor Shapeoko setup. Movement in Y will drive both motor2 and motor4.

 $1ma=0     Maps motor 1 to the X axis
 $2ma=1     Maps motor 2 to the Y axis
 $3ma=2     Maps motor 3 to the Z axis
 $4ma=1     Maps motor 4 to the Y axis

$1SA - Step Angle for the motor

This is a decimal number which is often 1.8 degrees per step, but should reflect the motor in use. You might also find 0.9, 3.6, 7.5 or other values. You can usually read this off the motor label. If a motor is indicated in steps per revolution just divide 360 by that number. A 200 step-per-rev motor is 1.8 degrees, a 400 step-per-rev motor has 0.9 degrees per step.

 $1sa=1.8   This is a typical value for many motors 

$1TR - Travel per Revolution

TR needs to be set to the distance the mapped axis will move for one revolution of the motor. - e.g. if motor 1 is mapped to the X axis, then $1tr applies to the Xaxis. If the machine is in mm mode (G21) the TR value for XYZ axes should be entered in mm. If in inches mode (G20) XYZ should be entered in inches. ABC axes are always entered in degrees. See examples below.

For XYZ the travel-per-revolution value is usually the result of the lead screw pitch or pulley circumference.

  • A 10 thread-per-inch (TPI) leadscrew moves 0.100" per revolution. TR in inches would be 0.100, or 2.54 in mm mode.
  • A 0.500" diameter pulley will travel 3.14159" per revolution, absent any other gearing. A typical value for a Shapeoko or Reprap belt driven machine is on the order of 36.540 mm per revolution. Don't take this as exact - you will need to do your own calibration on your machine to get this setting exact.

For ABC the travel-per-revolution value is entered in degrees. This value will be 360 degrees for an axis that is not geared down - one revolution = 360 degrees. The value for a geared rotary axis is 360 divided by the gear ratio. For example, a motor-driven rotary table with 4 degrees of table movement per handle rotation has a gear ratio of 90:1. The Travel per Revolution value should be set to 4.

Note that the travel-per-revolution is independent of the radius setting in the rotary axis settings. Set TR first to reflect the gearing, then set any Radius values if that is needed.

Note that Travel per Revolution is a motor parameter, not an axis parameter as one might think. Consider the case of a dual Y gantry with lead screws of different pitch (how weird). The travel per revolution would be different for each motor.

$1tr=2.54          Sets motor 1 to a 10 TPI travel from millimeters (2.54 mm per revolution)

$1MI - MIcrosteps

Controller Board microsteps are set in firmware, not as hardware jumpers as on some other systems. The following microstep values are supported:

  • 1 = no microsteps (whole steps)
  • 2 = half stepping
  • 4 = quarter stepping
  • 8 = eighth stepping

It is a misconception that higher microstep values are better - beyond a certain point they are a detriment to performance. In a typical setup the total power delivered to the motor (and hence torque) will go down as you increase the microsteps, especially at higher speeds. Also, using microsteps to set the finest machine resolution is source of error as the shaft angle isn't necessarily going to be at the theoretical point. Don't just assume that 1/8 microstepping is the right setting for your application. Try out different settings to balance smoothness and power.

$3mi=8          Set 1/8 microsteps for motor 3 

Note: Values other than 1,2,4 and 8 are accepted. This is to support some people that have crazily wired Controller Board to other drivers like these crazy 1.3 Kw servos Saci's wired up and like some of the common commercial stepper driver running 10x or 16x steps. If you are using the drivers on Controller Board this will cause them to malfunction, so please don't do this unless you are one of those hacker types that soldered up your Controller Board .

$1PO - POlarity

Set to one of the following:

  • 0 = Normal motor polarity
  • 1 = Invert motor polarity

Polarity sets which direction the motor will turn when presented with positive and negative Gcode coordinates. It's affected by how you wired the motors and by mechanical factors. Set polarity so the indicated axis travels in the correct orientation for your machine.

Travel in X and Y is dependent on the conventions for your particular machine and CAD setup. Typically X is left/right movement, and Y is towards and away from you, but people often set up the machine to agree with the visualization their CAD program provides, and can depend on where you stand when operating the machine. Typically X+ moves to the right, X- to the left, Y+ away from you, and Y- towards you. Z is by convention the cutting axis, which is the vertical axis on a typical milling machine. Z+ should move up, and Z- should move down, into the work.

$3po=0        Set polarity to normal

$1PM - Power Management mode

Set to one of the following:

  • 0 = Leave motor powered on when stopped
  • 1 = Turn motor power off when stopped

Stepper motors actually consume maximum power when idle. They hold torque and get hot. If you shut off power the motor has (almost) no holding torque. Some machine configurations are OK if you shut off the power on idle (like most leadscrew machines), others are not (some belt/pulley configs and some non-cartesian robots)

$4pm=1         Set low-power idle for motor 4

New behaviors as of build 378.04 and later

Power management now operates as follows. Setting $1pm=0 sets "powered" mode (as before), but it works differently:

  • A motor set to $1pm=0 will become powered and will remain powered for N seconds specified in the $mt variable (e.g. 60 seconds, which would be {"mt":60} ). The elapsed time is measured from the last "event', such as the end of the move, or from when the enable was turned on.
  • Power mode changes take effect immediately - for changed to '0' or to '1'
  • All '0' motors are powered on startup and from reset
  • All '0' motors can be enabled by issuing a $me command ( also {"me":""} )
  • All motors are disabled by issuing a $md command ( also {"md":""} )

Axis Settings

$xAM - Axis Mode

Sets the function of the axis.

  • 0 = Disable. All input to that axis will be ignored and the axis will not move.
  • 1 = Standard. Linear axes move in length units. Rotary axes move in degrees.
  • 2 = Inhibited. Axis values are taken into account when planning moves, but the axis will not move. Use this to perform a Z kill or to do a compute-only run.
  • 3 = Radius mode. (Rotary axes only) In radius mode gcode values are interpreted as linear units; either inches or mm depending on the prevailing G20/G21 setting. The conversion of linear units to degrees is accomplished using the radius setting for that axis. See $aRA for details.
$zam=2       Inhibit the Z axis; $zam1 will restore standard operation

$xVM - Velocity Maximum

(aka traverse rate or seek rate). Sets the maximum velocity the axis will move during a G0 move (traverse). This is set in length units per minute for linear axes, degrees per minute for rotary axes.

Note that the max velocity is per-axis. Diagonal / multi-axis traverses will actually occur at the fastest speed the combined set of axes and the geometry will allow, and may be faster than the individual axis max velocities. For example, max velocity for X and Y are set to 1000 mm/min. For a 45 degree traverse in X and Y the toolhead would travel at 1414.21 mm/min.

$xvm=1200        sets X maximum velocity (G0) to 1200 mm/min - assuming G21 is active (i.e. the machine is in MM mode)
$zvm=30.0        sets Z to 30 inches per minute - assuming G20 is active (i.e. inches mode)
$avm=36000       sets A to 100 revolutions per minute (360 * 100)

$xFR - Feed Rate maximum

Sets the maximum velocity the axis will move during a feed in a G1, G2, or G3 move. This works similarly to maximum velocity, but instead of actually setting the speed, it only serves to establish a "do not exceed" for Gcode F words. Put another way, the maximum feed rate setting is NOT used to set the Gcode's F value; it is only a maximum that may be used to limit the F value provided in a gcode file.

Axis feed rates should be equal to or less than the maximum velocity. See Controller Board Tuning for more details.

$xfr=1000       sets X max feed rate to 1000 mm/min - assuming G21 is active (i.e. the machine is in MM mode)

$xTM - Travel Maximum

Defines the maximum extent of travel in that axis. This is used during homing. See Homing for more details on how this is used.

$xJM - Jerk Maximum

Sets the maximum jerk value for that axis. Jerk is settable independently for each axis to support machines with different dynamics per axis - such as Shapeoko with belts for X and Y, screws for Z, Probotix with 5 pitch X and Y screws and 12 pitch Z screws, and any machine with both linear and rotary axes.

Jerk is in units per minutes^3, so the numbers are quite large. Some common values are shown in millimeters in the examples below

$xjm=50,000,000          Set X jerk to 50 million MM per min^3. This is a good value for a moderate speed machine
$zjm=25,000,000          A reasonable setting for a slower Z axis
$xjm=5,000,000,000       X jerk for Shapeoko. Yes, that's 5 billion

The jerk term in mm is measured in mm/min^3. In inches mode it's units are inches/min^3. So the conversion from mm to inches is 1/(25.4). The same values as above are shown in inches are:

50,000,000 mm/min^3      is 1,968,504 in/min^3 2,000,000 would suffice
25,000,000 mm/min^3      is 984,251 in/min^3 1,000,000 would suffice
5,000,000,000 mm/min^3   is 196,850,400 in/min^3 200,000,000 would suffice

$xJH - Jerk Homing

Sets the jerk value used for homing to stop movement when switches are hit or released. In most cases the same value as $xJM is OK. However, if your $xJM is very low you may need a higher value for homing in order to prevent damage to the switches.

$xJD - Junction Deviation

This one is somewhat complicated. Junction deviation - in combination with Junction Acceleration ($JA) from the system group - sets the velocity reduction used during cornering through the junction of two lines. The reduction is based on controlling the centripetal acceleration through the junction to the value set in JA with the junction deviation being the "tightness" of the controlling cornering circle. An explanation of what's happening here can be found on Sonny Jeon's blog: Improving grbl cornering algorithm.

It's important to realize that the tool head does not actually follow the controlling circle - the circle is just used to set the speed of the tool through the defined path. In other words, the tool does go through the sharp corner, just not as fast. This is a Gcode G61 - Exact Path Mode operation, not a Gcode G64 - Continuous Path Mode (aka corner rounding, or splining) operation.

While JA is set globally and applies to all axes, JD is set per axis and can vary depending on the characteristics of the axis. An axis that moves more slowly should have a JD that is less than an axis that can move more quickly, as the larger the JD the faster the machine will move through the junction (i.e. a bigger controlling circle). The following example has some representative values for a Probotix Fireball V90 machine. The V90 has 5 TPI X and Y screws, and 12 TPI Z. All values in MM.

 $xJD 0.05     Units are mm
 $yJD 0.05
 $zJD 0.02     Setting Z to a smaller value means that moves with a change in the Z component will move proportionately slower depending on the contribution in Z. 
 $JA 200,000   Units are mm/min^2. As before, commas are ignored and are provided only for clarity

$aRA - Radius value

The radius value is used by rotational axes only (A, B and C) to convert linear units to degrees when in radius mode.

For example; if the A radius is set to 10 mm it means that a value of 6.28318531 mm will make the A axis travel one full revolution - as 62.383... is the circumference of the circle of radius R ( 2*PI*R, or 10 * 2 * 3.14159...) (Assuming $nTR = 360 -- see note below). Receiving the gcode block "G0 A62.83" will turn the A axis one full revolution (360 degrees) from a starting position of 0. All internal computations and settings are still in degrees - it's just that gcode units received for the axis are converted to degrees using the specified radius.

Note that the Travel per Revolution value ($1TR) is used but unaffected in radius mode. The degrees per revolution still applies, it's just that the degrees were computed based on the radius and the Gcode axis values. See Travel per Revolution (See $1TR) in the motor group.

Homing Settings

Please see Controller Board Homing for details and more help on homing settings:

  • $xSN - Minimum switch mode
  • $xSX - Maximum switch mode
  • $xSV - Homing Search Velocity
  • $xLV - Homing Latch Velocity
  • $xLB - Homing Latch Backoff
  • $xZB - Homing Zero Backoff

By way of example, my Shapeoko is set up this way:

Setting Description Example
$ST Switch Type 1=NC
$XJH X Homing Jerk 10000000000 (10 billion)
$XSN X Minimum Switch Mode 3=limit-and-homing
$XSX X Maximum Switch Mode 2=limit-only
$XTM X Travel Maximum 180 mm
$XSV X Homing Search Velocity 3000 mm/min
$XLV X Homing Latch Velocity 100 mm/min
$XLB X Homing Latch Backoff 20 mm
$XZB X Homing Zero Backoff 3 mm
$YJH Y Homing Jerk 10000000000 (10 billion)
$YSN Y Minimum Switch Mode 3=limit-and-homing
$YSX Y Maximum Switch Mode 2=limit-only
$YTM Y Travel Maximum 180 mm
$YSV Y Homing Search Velocity 3000 mm/min
$YLV Y Homing Latch Velocity 100 mm/min
$YLB Y Homing Latch Backoff 20 mm
$YZB Y Homing Zero Backoff 3 mm
$ZJH X Homing Jerk 100000000 (100 million)
$ZSN Z Minimum Switch Mode 0=disabled (with NC switches it's important all unused switches are disabled)
$ZSX Z Maximum Switch Mode 3=limit-and-homing
$ZTM Z Travel Maximum 100 mm
$ZSV Z Homing Search Velocity 1000 mm/min
$ZLV Z Homing Latch Velocity 100 mm/min
$ZLB Z Homing Latch Backoff 10 mm
$ZZB Z Homing Zero Backoff 5 mm
$ASN A Minimum Switch Mode 0=disabled
$ASX A Maximum Switch Mode 0=disabled


 

System Group Settings

These are general system-wide parameters and are part of the "sys" group.  

Identification Settings

$FB - Firmware Build number

Read-only value. Can be queried. Currently this is something above 370.02.

$FV - Firmware Version

Read-only value. Can be queried.

$HV - Hardware Version

Read-write value. Set to 6 for version 6 or earlier board, Set to 7 for version 7 board. Used to configure switch and output ports which are somewhat different between revs. This is set to v7 by default.

$ID - Unique Board Identifier

Read-only value. Can be queried.

 

Global System Settings

$JA - Junction Acceleration

In conjunction with the global $jd setting sets the cornering speed. See $jd for explanation

$ja=50000   - 50,000 mm/min^2 - a reasonable value for a modest performance machine
$ja=200000  - 200,000 mm/min^2 - a reasonable value for a higher performance machine

$CT - Chordal Tolerance

Arcs are generated as sets of very short straight lines that approximate a curve. Each line is a "chord" that spans the endpoints of that segment of the arc. Chordal tolerance sets the maximum allowable deviation between the true arc and straight line that approximates it - which will be in the middle of the line / arc.

Setting chordal tolerance high will make curves "rougher", but they can execute faster. Setting them smaller will make for smoother arcs that may take longer to execute. The lower-limit of $ct is set by the minimum arc segment length, which really should not be changed (See hidden parameters).

Sonny Jeon of the grbl project pointed this one out.

$ST - Switch Type

Sets the type of switch used for homing and/or limits. All switches must be of the same type (mixes are not supported).

$st=0   - Normally Open switches (NO)
$st=1   - Normally Closed switches (NC)

$MT - Motor Power Timeout

Sets the number of seconds motors will remain powered after the last 'event'. E.g. set to 60 to keep motors powered for 1 minute after a move completes. Only applies to motors with power menagement set to 0 - e.g. $1pm=0. (build 378.04 and later)

$mt=60       - Keep motors energized for 60 seconds after last movement command
$mt=1000000  - Keep motors energized for 1 million seconds after last movement command (11.57 days)

 

Communications Settings

$EJ - Enable JSON Mode on Power Up

This sets the startup mode. JSON mode can be invoked at any time by sending a line starting with an open curly '{'. JSON mode is exited any time by sending a line starting with '$', '?' or 'h'

Please note: The two startup lines on reset will always be in JSON format regardless of setting in order to allow UIs to sync with an unknown board.

$ej=0      - Disable JSON mode on power-up and reset (e - Set Baud Ratenables text mode)
$ej=1      - Enable JSON mode on power-up and reset

$JV - Set JSON verbosity

If you are using JSON mode with high-speed files (many short lines at high feed rates) you probably want setting 3 or 4. You may also want to change the baud rate to 230400.

$jv=0      - Silent   - No response is provided for any command
$jv=1      - Footer   - Returns footer only - no command echo, gcode blocks or messages
$jv=2      - Messages - Returns footers, exception messages and gcode comment messages
$jv=3      - Configs  - Returns footer, messages, config command body
$jv=4      - Linenum  - Returns footer, messages, config command body, and gcode line numbers if present
$jv=5      - Verbose  - Returns footer, messages, config command body, and gcode blocks

$TV - Set Text mode verbosity

We recommend using Verbose, except for very special cases.

$tv=0      - Silent - no response is provided
$tv=1      - Verbose - returns OK and error responses

$QV - Queue Report Verbosity

Queue reports return the number of available buffers in the planner queue. The planner queue has 24 buffers and therefore can have as many as 24 Gcode blocks queued for execution. An empty queue will report 24 available buffers. A full one will report 0.

Using the planner queue depth as a way to manage flow control when sending a Gcode file is actually a much better way than managing the serial input buffer. If you keep the planner full to about 2 blocks available it will run really smoothly. You also want to make sure the queue doesn't starve, say - more than 20 blocks available.

Verbosity settings are:

$qv=0      - Silent   - queue reports are off
$qv=1      - Filtered - returns reports when depth changes and is above hi water mark or below low water mark
$qv=2      - Verbose  - returns queue reports for every block queued to the planner buffer

You can also get a manual queue report by sending $qr

$QVH - Queue Report High Water Mark

Set high-water mark for reporting. Set to 20 by default. This is a hidden setting and will not show up in $sys listings.

$QVL - Queue Report Low Water Mark

Set low-water mark for reporting. Set to 2 by default. This is a hidden setting and will not show up in $sys listings.

$SV - Status Report Verbosity

Please see Status Reports for a discussion of $sv and $si status report settings.

$sv=0      - Silent   - status reports are off
$sv=1      - Filtered - returns only changed values in status reports
$sv=2      - Verbose  - returns all values in status reports

$SI - Status Interval

The minimum is 50 ms. Trying to set a value below the minimum will set the minimum value.

$si=100    - Status interval in milliseconds

$IC - Ignore CR or LF on RX

$ic=0      - Don't ignore CR or LF in received data
$ic=1      - Ignore CR in received data
$ic=2      - Ignore LF in received data

$EC - Expand LF to CRLF on TX data

$ec=0      - off
$ec=1      - on

$EE - Enable Character Echo

This should be disabled for JSON mode. In text mode it's optional either way.

$ee=0      - Disable character echo
$ee=1      - Enable character echo

$EX - Enable Flow Control

$ex=0      - Disable flow control 
$ex=1      - Enable XON/XOFF flow control protocol 
$ex=2      - Enable RTS/CTS flow control protocol 

$BAUD - Set USB Baud Rate

The default baud rate for the USB port is 115,200 baud. The following additional baud rates may be set. The sequence for changing the baud rate is: (1) Issue the $baud command, (2) wait for a response verifying the command, (3) change to the new baud rate.

$baud=0     - Illegal baud rate setting. Returns an error
$baud=1     - 9600
$baud=2     - 19200
$baud=3     - 38400
$baud=4     - 57600
$baud=5     - 115200
$baud=6     - 230400

Gcode Default Parameters

These parameters set the values for the Gcode model on power-up or reset. They do not affect the current gcode dynamic model. For example, entering $gun=0 will not change the system to inches mode, but it will cause it to initialize in inches mode during reset or power-up.

These are also part of the "sys" group.

$GPL - Gcode Default Plane Selection

$gpl=0      - G17 (XY plane)
$gpl=1      - G18 (XZ plane)
$gpl=2      - G19 (YZ plane)

$GUN - Gcode Default Units

$gun=0      - G20 (inches)
$gun=1      - G21 (millimeters)

$GCO - Gcode Default Coordinate System

$gco=1      - G54 (coordinate system 1)
$gco=2      - G55 (coordinate system 2)
$gco=3      - G56 (coordinate system 3)
$gco=4      - G57 (coordinate system 4)
$gco=5      - G58 (coordinate system 5)
$gco=6      - G59 (coordinate system 6)

$GPA - Gcode Default Path Control

$gpa=0      - G61 (exact stop mode)
$gpa=1      - G61.1 (exact path mode)
$gpa=2      - G64 (continuous mode)

$GDI - Gcode Distance Mode

$gdi=0      - G90 (absolute mode)
$gdi=1      - G91 (incremental mode)

Coordinate System and Origin Offsets

$g54x - $g59c

Coordinate system offsets are the values used by G54, G55, G56, G57, G58 and G59 commands to define the offsets from the machine (absolute) coordinate system for X,Y,Z,A,B and C. G54-G59 correspond to the Gcode coordinate systems 1-6, respectively.

By convention G54 is set to no offsets (all zeroes) so it is the same as the machine's absolute coordinate system. This is true because the G53 command "move in absolute coordinates" is only in effect for the current Gcode block. After that the dynamic model reverts to the coordinate system previously in effect. So if you want to say in absolute coordinates you need a persistent machine coordinate system, by convention G54.

Another convention is to set G55 to your common coordinate system, we set this to be 0,0 in the middle of the table. So once you have zeroed issuing g55 g28 will set to this system and position the head in the middle of the table. (Note: this can be done on one line of gcode - it does not need to be 2 separate commands).

G54-G59 offsets can be set per the following example:

$g54x=0         Set G54 to be the same as the machine coordinate system
$g54y=0
$g54z=0
$g54a=0
$g54b=0
$g54c=0

$g55x=90.0      Set G55 to be in the middle of the table
$g55y=90.0
$g55z=0
$g55a=0
$g55b=0
$g55c=0

In JSON mode you can set a coordiante system in a single command. Only those axes specified are changed.

{"g55"":{"x":90,"y":90,"z":"0"}}

Displaying Offsets

Offsets can be displayed individually

$g54x - returns a single value

...or as a group: $g54 - returns all 6 values in the G54 group $g92 - returns all 6 values of the origin offset group

...or all together: $o - returns all offsets in the system (not available in JSON)

Note: the G54-G59 settings are persistent settings that are preserved between resets (i.e. in EEPROM), unlike the G92 origin offset settings which are just in the volatile Gcode model and are thus not preserved.

G10 Operation

Gcode provides the G10 L2 command to perform this same function. Coordinate offsets can be set from Gcode using the G10 command, e.g. G10 P2 L2 X20.000 - the P word is the coordinate system numbered 1-6, the L word =2 is according to standard, but is ignored by Controller Board (for now)

Controller Board does not persist G10 settings, however. This is not in accordance with the Gcode spec. Any G10 settings that are provided will be used until reset, power cycle, or they are overwritten by a $g5xx command or another G10 command.

Commands

These commands cause various actions, and are not technically "settings".

$SR - Status Report

Returns a status report or set the contents of a status report (JSON only). Identical to ? command. See Status Reports for details.

$QR - Queue Report

Manually request a queue report. See $QV for details.

$QF - Queue Flush

Removes all Gcode blocks remaining in the planner queue. This is useful to clear the buffer after a feedhold to create homing, jogging, probes and other cycles.

$MD - Disable Motors

Unpower all motors

$ME - Energize Motors

Power all motors that have power management mode set to zero (e.g. $1pm=0)

$TEST - Run Self Test

Execute $test to get a listing of available tests. Run $test=N, where N is the test number.

$DEFA - Reset default profile settings

Controller Board comes with a set of defaults pre-programmed to a specific machine profile. The default profile is set for a relatively slow screw machine such as the Zen Toolworks 7x12. Other default profles are settable at compile time by including the right .h file. If you are having trouble with your settings and want to revert to the default settings enter: $defa=1 This will revert all settings to defaults. Do a screencap of the $$ dump if you want to refer back to the current settings

Hidden Parameters

These parameters are not part of any group and generally should not be changed. Serious malfunction can occur if these are not set correctly

$ML- Minimum Line Segment

Don't change this unless you are seriously tweaking Controller Board for your application. It can cause many things to break. This value does not appear in system group listings ($sys)

$ml=0.08    - Do not change this value

$MA - Minimum Arc Segment

Don't change this unless you are seriously tweaking Controller Board for your application. It can cause many things to break. This value does not appear in system group listings ($sys)

$ma=0.10    - Do not change this value

$MS - Minimum Segment time in microseconds - Refers to S-curve interpolation segments

Don't change this unless you are seriously tweaking Controller Board for your application. It can cause many things to break. This value does not appear in system group listings ($sys)

$ms=5000  - Do not change this value

 


텍스트가 잘리는데 원본은 http://blog.naver.com/jinydoggebi/120209338527 에서 보면 됨




중간에 



$SV - Status Report Verbosity

Please see Status Reports for a discussion of $sv and $si status report settings.

$sv=0      - Silent   - status reports are off
$sv=1      - Filtered - returns only changed values in status reports
$sv=2      - Verbose  - returns all values in status reports

이런 부분이 있는데 현재는 $sv=2 상태로 모든 값을 리턴하는 상태인 것. 그것도 50ms마다.


그러니 $sv=1 을 50ms 사이에 입력하면 되는데 타이핑으로는 힘드므로 Ctrl-C를 이용해서 복사한 후


CoolTerm 창에 잽싸게 Ctrl-V 와 엔터를 빠르게 누르면 된다.




그러면 위와 같이 상태보고를 토해내던 것을 멈추게 된다. 







728x90

'Stopped > 3D DLP Printer' 카테고리의 다른 글

CNC로 유리가공 테스트.  (0) 2014.07.29
3D 프린팅의 구조 - 상향식 / 하향식에 대한 고민.  (0) 2014.07.16
VAT의 실리콘 패킹 제작.  (0) 2014.01.23
VAT 구조도  (0) 2014.01.21
DLP 3D 프린터 현재.  (0) 2014.01.04
728x90

 

일부 부품의 도면을 잘못 넘기는 바람에 그 부품들은 다시 도면을 넘기고,

일단 도착한 부품들만 조립해봤습니다.

잘 조립한 후 밀폐성을 위해 밑면을 사포질해 줍니다.

아크릴 판과 판이 접착된 모서리 부분을 손톱으로 긁어서 걸리는 느낌이 있으면

사포질과 퍼티질을 병행해서 완벽하게 매끈하게 만들어 줍니다.






실리콘 판입니다.

 




 

볼펜으로 잘 그려줍니다.

 
 




 

칼로 잘라줍니다. 실리콘은 칼이 미끄러져서 잘 안 잘리는 편이라

되도록 새 칼날을 쓰는 게 좋습니다.

 



 
 
 

그럭저럭 맞는 듯. 아주 칼같이 맞지 않아도 실리콘은 탄성이 있어서 맞춰 넣을 수 있으니

아주 정확하게 맞지 않아도 됩니다.






손으로 살짝 누른 채로 물을 부어봤습니다.

물은 전혀 새지 않는데, 표면장력이 약한 액체는 어떨지 모르겠네요.
 

 

 


728x90
728x90

뭔가 모양이 호화찬란(?) 하게 됐는데 VAT 하단 유리를 별도 부품으로

교체가 가능하도록 만들 생각에 이렇게 됐습니다.

miicraft의 제품이 유리 교체가 가능한 물건인데, 저렴한 제작비로 구조를 따라하려니 처음에는 꽤나 골치가 아프더군요.

기존에 있는 부품들과 아크릴 가공을 전제로 설계한 형태입니다.

 
짱구너트라 불리는 목공용 너트와 나비볼트를 사용. 나머지는 죄다 아크릴입니다.

구조가 은근 복잡한 편이라 설계가 귀찮은 부분이 좀 많았습니다.

이럴때 3D 프린터로 찍어내면 참 좋겠다 생각이 들더군요.

아크릴 3T, 5T, 6T, 8T 가 골고루 다 쓰였네요.

 
 

절단면입니다. 위의 파란색 라인이 한덩어리로 접착되고

아래 검은색 라인이 한덩어리로 접착되죠. 가운데 빨간 부품이 실리콘 판이고

그 밑에 유리가 있는데 위아래를 볼트가 조여줘서 밀착하는 구조입니다.

간단하게 말하면 락앤락 뒤집어 놓은것과 비슷합니다.


뒷 부분이 볼스크류 구조물 때문에 약간 볼트 위치가 편항되긴 했는데

고압이 가해지는 것은 아니니 그럭저럭 레진을 담아둘 정도는 되지 않을까 생각됩니다.

 

728x90
728x90
프로파일 조립은 지난달에 했는데 진행이 더디네요.
 
매일 바쁘다 바쁘다 하는 것 같은데.. 바쁩니다.
 
잠깐씩 시간이 나도 뭔가 집중하기엔 짧은 시간들인 경우가 많네요.
 
하여간 지금은 VAT을 설계하는 중입니다.
 
 
 
공간 낭비가 좀 심해 보이는데.. 심합니다.
 
전기부품류나 여분의 레진 등을 배치하려고 생각 중입니다.
 
 
 
 

 

프로젝터 윗부분은 엄청 남게 되는데 사실 프로파일을 꼭 세우지 않아도 되는 부분이지만

 

프로파일을 세우지 않는다고 해도 어차피 못 쓰게 될 부분이라

 

차라리 적극적으로 사용하고자 프로파일을 세워서 공간을 만들었습니다.

 

UV LED를 배치해서 후경화 하는 공간으로 만들 생각이었는데 그래도 너무 공간이 크네요.

 

 

VAT은 좀 특별한 구조로 만들어 보느라 이리 그렸다 저리 그렸다 하면서 시간을 많이 잡아먹네요.


VAT 설계완료하고 제작하면 또 포스팅하겠습니다.

 

728x90
728x90

원래는 렌즈 앞에 돋보기를 더해 상 크기를 줄이고 해상력을 높이려 했지만,

 

렌즈를 앞으로 빼면 된다는 조언을 해 주신 분이 있어 순간 이것이 떠올랐습니다.

 

 

 

매크로 어댑터 라는 물건인데 DSLR 등에서 일반 렌즈에 매크로 효과를 더해주는 물건입니다.

 

 

간단하게 알루미늄 링을 만들어 그냥 렌즈를 약간 앞으로 빼서 위치할 뿐인 물건입니다.

(그런데 급하게 찾아서 바로 올렸더니 위 사진은 다른 방식으로 쓰는 물건이네요...;;)

 

http://navercast.naver.com/magazine_contents.nhn?rid=1108&attrId=&contents_id=53631&leafId=1108 <- 링크 참조하세요. 같은 원리의 제품입니다.

 

 

아 그렇게 쉬운 방법이? 하고 감사 인사를 드렸지만 왜인지 그분이 바로 리플을 지우셔서..

 

닉넴은 언급하지 않겠습니다.

 

 

 

램프 테스트해보느라 커버 열어놓은 김에 아예 다 해보자 하고 진행합니다.

 

 

 

렌즈는 120도의 각도를 이루는 3개의 볼트로 고정되어 있는데, 맨 아래 볼트를 풀려면 광학계를 또 들어내야 하므로

 

귀찮아서 그냥 뚫어버렸습니다....

 

 

 

 

 

 

 

 

 

 

 

기본상태.

 

 

 

 

사진으로는 잘 안보이므로 포토샵 편집했습니다.

 

촛점 초단거리에서 영상의 크기는 가로 175mm 정도입니다.

 

 

 

 

 

 

 

 

이런 식으로 살짝 앞으로 빼서 다시 촛점을 맞춰봅니다.

 

 

 

 

 

 

 

가로크기가 85mm 정도로 줄었습니다.

 

물론 렌즈를 더 빼면 더 줄일수도 있습니다.

 

 

몇밀리만 빼도 효과가 좋네요.

 

1mm 흑색 아크릴 깎아서 장착하면 딱 좋을듯 합니다.

 

 

 

728x90

'Stopped > 3D DLP Printer' 카테고리의 다른 글

VAT 구조도  (0) 2014.01.21
DLP 3D 프린터 현재.  (0) 2014.01.04
DLP 프로젝터 램프 분석.  (0) 2013.10.23
각 재료의 자외선 투과성 실험.  (2) 2013.10.17
DLP 프로젝터 앞에 돋보기를 더했을 때의 차이.  (0) 2013.10.16
728x90

 

 

카페에 DLP 프로젝터의 램프 관련해서 살짝 고민이라는 글을 올렸더니 저렇게 정보를 찾아주시고

 

힌트를 주신 분이 있어서 다시 한번 재도전해봤습니다.

 

 

 

 

 

 

 

 

 

램프를 제거하고 작동시 1분정도 후에 저렇게 경고 LED가 켜집니다.

 

 

 

 

 

 

아무래도 일단 램프로 들어가는 회로를 봐야 할 것 같아서 기판을 분해중입니다. 

 

혹시나 잘못될까봐 왠만하면 분해하고 싶진 않았지요...

 

아무리 말짱한 물건이라고 해도 테스트해본다 연구해본다 이것저것 하느라 뜯었다 조립했다 반복하다 보면 고장이 잘 나거든요.

 

 

 

 

 

 

 

맨 아래 전원보드가 드러났습니다.

 

왼쪽이 메인 전원 보드이고, 오른쪽이 램프용 안정기인듯 합니다.

 

사진상에는 잘 안보이는데 기판이 분리되어 있고 커넥터로 2선이 연결되어 있습니다.

 

 

보드에는 작은 컨트롤러 칩 쪽보드가 또 붙어 있고

 

이 보드에서 5선 커넥터가 상면의 메인보드로 연결되도록 되어 있더군요.

 

 

==========================

 

보드를 들어내서 확인해 본 결과, 4선중 2선은 GND 이며 핀과 전선이 따로 램프와 연결되긴 하지만

 

보드에서 바로 패턴이 붙어 있는 상황이더군요.

 

1선은 트랜스에서 연결되는 것으로 램프의 필라멘트(?)쪽으로 연결되는 것을 확인했고

 

나머지 1선은 구조적으로 램프 내부의 필라멘트 같은 유리구조물을 뱅뱅 감고 있어

 

카페에서 브라운님이 조언한 대로 열전자 가속용이거나 기타 등등 보조역할용인 것으로 생각되었습니다.

 

 

그래서 4선의 역할이 모두 밝혀졌는데... 그러므로 결론은

 

램프 체크용 센서선은 없더라는 -_-

 

 

 

 

 

 

결국 다시 조립해 보고(다행히 손상은 없더군요)

 

점등상태에서 테스터로 이것저것 찍어보니

 

열전자 가속용인지 뭔지 하는 선은 램프 연결시 GND와 연결됩니다....;

 

램프에 연결된 1선은 100V DC 가 나오고 나머지 3선은 전부 GND

 

 

램프가 미점등시에는 보드 자체에서 전류센서 등으로 체크하는 것 같은데

 

이부분을 해킹하기엔 좀 무리가 있을듯 하고요...

 

 

어차피 DC 100V 가 나오는 상황이니 그냥 전압변환해서 UV LED를 붙일 수 있지 않을까? 하고 생각중입니다.

 

 

이쪽은 우선순위는 아니고 일단은 제작하고 진행해도 될 것 같으니 나중에 다시 고민해 봐야겠습니다.

 

 

 

====================================추가===========================================

 

일단 안전을 위해서 적습니다. 램프용 전원을 그대로 사용하시면 안됩니다. DC100V가 처음부터 계속 유지되는게 아니라 점등시 수KV가 들어가고 점등되면 DC100V가 유지되는 구조입니다.(형광등에 안정기를 쓰는것과 유사합니다.) 열전자가속용이라고 말씀드린것은 측정결과를 보니 히터겸 램프감지용배선으로 판단됩니다. 이 라인을 임시로 그라운드와 1옴정도의 저항으로 연결하면 램프가 끼워진것으로 인식할 가능성이 높습니다.(가장 흔한 설계방법) 아니라면 램프의 전원콘트롤 IC에 출력상태(과전압,과전류등...)를 감지하는 핀이 있는것입니다. 이 경우에는 회로를 분석하고 부품의 데이타시트를 보아야 합니다. 기타 상용제품의 경우에는 2,3중의 안전장치를 하므로 아직 발견하지 못한 광센서등이 존재할수도 있습니다. 램프의 주전원은 고압이 들어가므로 측정시 매우 주의하시기 바랍니다.

 

===================================================================================

 

라는 조언을 받았습니다. 혹 이 글을 보고 따라하실 때는 꼭 참조하시기 바랍니다.

 

728x90
728x90

 

 

 

테스트를 해보기 위해 프로젝터를 세팅해놨습니다.

 

프로젝터의 최단 촛점거리에 책을 쌓아 높이를 맞추고 흰색 그림을 투사합니다. 

 

 

 

 

 

레진과 주사기와 돋보기.

 

그리고 석영유리와 일반유리, PC판(모두 2T)을 준비했습니다.

 

아크릴 판도 있었지만 두께가 5T 짜리라 비교가 안될 것 같아 제외했고요.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

주사기를 잘못 놀려 많이 쏟아졌는데 그 김에 한번 프로젝터를 개조하지 않은 상태에서도 굳어지는가 체크해봤습니다. 


시간이 좀 걸리긴 하지만 굳어지긴 하네요. 대략 2분 가까이 걸린 후 저정도로 굳어집니다.


 

 

 

 


이제 칼라 휠을 제거합니다. 


3관식의 경우 빛의 3원색을 각각 투사하여 최종적으로 합쳐지게 해서 칼라 영상을 만듭니다만


일관식은 저렇게 색유리를 회전시켜 각각의 색이 돌아가는 타이밍에 맞춰 정확하게 DMD칩을 조작하면서


영상을 만들게 되어 있습니다. 


그 과정이 매우 빨라 인간의 눈으로는 그냥 칼라 영상으로 보입니다. 


어쨋건 우리가 필요한 자외선의 적(?) 이므로 제거해야 합니다. 




 



모터를 아예 제거하고 테스트해봤는데 역시나 안됩니다. 모터 옆에는 홀 센서가 붙어있고


홀 센서가 회전을 감지하며 각 색유리의 위치에 따라 맞는 영상을 출력하는 구조라 


모터가 회전하지 않으면 아예 영상 자체가 나오질 않더군요.



유리를 깨야 하고 걱정했는데 다행히 볼트가 풀어집니다. 








뚜껑덮기 전 테스트. 흑백으로 잘 나옵니다. 




 

 



 



주사기로 한방울씩 떨어뜨려가며 경화시간을 체크해봤습니다. 

돈많으면수백만원짜리측정기로착착재봤겠지만돈이없으니가내수공측정


참고로 경화가 갑자기 이루어지는 게 아니고 바닥면에서부터 약간씩 경화가 이루어지다가 

 

천천히 위까지 올라오기 때문에 시간적인 오차는 있습니다. 




1. 칼라휠 제거 전에 2분 이상 걸렸던 경화시간이 칼라휠 제거 후 4~50초 만에 경화.(기본상태)

-칼라휠의 자외선 차단율이 매우 높은 듯.


2.돋보기(2배)를 렌즈 전면에 대고 테스트하면 30초 만에 경화

-상이 2배 커지는 돋보기의 경우 면적으로는 4배 차이. 광속도 4배 증가한다고 볼 수 있다.

돋보기에서 자외선이 차단되기도 하겠지만 광속이 증가함으로서 이뤄지는 경화속도의 이점이 더 크다. 

**광속(光束, 광선속)은 단위 면적 당 비취는 빛의 양을 말한다. 단위는 루멘(lm).


3.일반 유리(2T)를 렌즈 전면에 대고 테스트하면 1분 10초 만에 경화

-경화시간이 상당히 증가함. 거의 2배 가량. 


4.투명 PC(폴리카보네이트)2T를 렌즈 전면에 대고 테스트하면

1분 20초 경부터 경화가 시작. 1:40초 경에 어느정도 경화가 진행됨.

-경화시간이 거의 2.5배 증가함. 


5.석영유리(2T)를 렌즈 전면에 대고 테스트하면 45초 경부터 경화가 시작, 1분경 경화 완료.

-경화시간이 약간 증가하긴 했으나 큰 차이 없음


결과적으로 석영유리 승.


판유리나 기타 투명재료도 불가능하진 않으나 프린팅 시간 더블은 각오해야 할 듯. 


어느 정도의 오차를 감안하더라도 확실히 석영유리가 경화시간 감소의 영향이 제일 적습니다. 


그러니 다들 비싼 석영유리 사세요 사실 PC나 일반유리랑 차이 별로 안났으면 울었을지도






기타

*레진을 경화시키고 난 뒤 약간 끈끈한 경화되지 않는 성분이 남습니다. 

프린트물을 알콜로 씻어서 처리하는 이유인듯.

**레진 경화시 열이 발생한다고 하는데 렌즈 앞에 바싹 대고 경화시켜봤더니 

10초만에 경화하면서 열 때문인지 살짝 증기가 올라오는게 보이더군요.

***저같은 실험하실 분 계시면 선팅 짙은 선글라스 준비하세요. 두어시간 하면 눈이 무지 아픕니다. 

728x90
728x90

사실 좋은 프로젝터는 짧은 거리에서 최대한 큰 화면을 내도록 되어 있습니다.

 

그래야 좁은 실내에서도 큰 화면을 볼 수 있기 때문이죠.

 

그렇지만 크기보다는 오히려 정밀도가 중요하다고 할 수도 있는 3D 프린터에서는 이런 광각이 오히려 단점이 되기도 하는데요.

 

제가 갖고 있는 프린터의 경우 최소 촛점거리는 대략 300mm 정도이고 이때 화면크기가 185mm*140mm 정도가 됩니다.

 

이 프로젝터의 해상도는 1024*768 이고요.

 

 

이 경우

 

 

185mm 폭에 1024pixel이 있으므로

 

1024 / 185 = 5.54 로 1mm 안에 5.54개의 픽셀이 있고,

 

역으로 185 / 1024 = 0.18 로 1픽셀의 크기는 대략 0.18mm 입니다.

 

 

 

수직해상도를 계산해 보자면

 

제가 갖고 있는 볼스크류의 1회전 리드는 5mm 입니다.

 

또한 스텝모터는 1회전 360도를 1.8도의 분해능으로 회전하므로 200step = 1 회전 = 5mm 가 됩니다.

 

1스텝은 5 / 200 = 0.025mm 가 되겠죠.

 

다만 마이크로스텝 기능이 있는 스텝 드라이버를 사용시 1/16 배가 가능하므로

 

0.025 / 16 = 0.0015625 mm

 

즉 1.5um 까지도 가능합니다.

 

 

볼스크류를 리드 1mm 로 바꾸면 여기서 또 1/5가 가능하지만 이건 논외로 하고,

 

수직해상도에 비해 평면해상도가 좀 많이 높죠.

 

그리고 SLA 프린터는 아무래도 작은 크기의 고해상도 프린터물에 목표를 두는 경우가 많은데

 

최대 185*140mm 의 크기는 그렇다 쳐도 평면 해상도가 0.18mm는 좀 아쉬운 부분이 있습니다.

 

대략 0.2mm정도밖에 안된다는 이야기니까요

 

 

**외국 모 회사는 수직해상도 높다고 제원에 자랑하던데

위와 같이 수직해상도 높이는건 무지 쉽습니다. 

상용부품만 갖다쓰고도 0.1um까지는 그냥 나옴

 

 

 

 

 

http://sedgwick3d.com/  의 오픈소스 DLP 프린터입니다.

 

프로젝터 앞에 동그란 무언가가 있는 것이 보일텐데요

 

돋보기 입니다.

 

 

 

 

하여간 저도 테스트해보자 싶어 다이소에서 천원짜리 돋보기를 테스트용으로 사왔습니다.

 

(그대로 쓸순 없습니다. 가장자리가 왜곡되거든요. 비구면 렌즈같은걸 써야함)

 

 

 

원래 크기

 

 

 

 

싸구려 돋보기라서 화면이 배부른듯 왜곡됩니다.

 

2배 돋보기를 사용했더니 크기가 1/2로 줄었습니다! 

 

그런데 문제는 촛점거리도 1/2로 줄었습니다!!;;;;;;;;

 

설계를 그대로 두고 돋보기만 추가하면서 해상도 변경이 가능하지 않을까 했는데 말짱 황이었습니다!!

 

 

 

 

 

 

 

대략 이정도의 차이가 나겠군요..

 

굳이 변신형(?)으로 만들려면 구조물은 그대로 두고

 

반사거울 대형으로 쓰면서 프로젝터를 뒤로 뺄 수 있게 만들어야 할듯..

 

하지만 그렇게까지 해야하나 하는 생각도 들고 좀 고민을 해봐야겠네요

 

 

728x90
728x90



200*200*2T


가격이 부가세 빼고 13만원 OTL


3T는 15만원이래서 고민했는데 그냥 2T 샀네요. 깨지지 않게 신주단지 모시듯 해야할듯


중국제는 이정도 면적이면 대략 80$선 인것 같으니 배송비 등등 따지면 비싼것도 아닌데 


한방에 타격이 크군요.. 이제 Sylgard 184 도 구매해야 하는데 이것도 10만원돈..


 

 

 

====================================================================================

 

10/29 추가

 

설계하다보니 결국 투사면적을 1/4로 줄여야 할듯 하고 석영유리는 100*100 으로 충분할 것으로 예상됨;;

 

이경우 중국제는 훨씬 싸군요;;

 

http://www.aliexpress.com/category/100000319/quartz-plate.html

728x90
728x90

 

 

원래 하향식으로 그리고 있었는데....

 

 

 

 

 

이제보니 상향식도 몇가지 단점만 빼면 참 괜찮을것 같다는 생각이 무럭무럭;;

 

 

아 이걸 어찌할까요..

 

 

 

728x90
728x90

 

 

최대한 단순구조로 가려고 직사 하향식을 선택해서 그려보았으나... 이경우 Z 높이는 대략 80cm..에서 1m 까지..

 

땅덩어리 넓고 개러지 있는 미쿡이면 몰라도 ㅡ,.ㅡ 한국 평균 가내면적상 이런 물건은 좀 두기 힘들지요..

 

 

 

 

 

 

 

 

 

 

 

 

줄여봤습니다. 대략 각변이 40cm 정도.. 이것저것 붙이다 보면 10cm 정도 변동은 있을 것 같습니다.

 

딱히 의욕이 있는게 아니라 심심해서 시간이 남으면 찔끔찔끔 진행하는거라 느리네요.

 

그래도 이제 슬슬 레진을 구매해야 할지 결정해야 할듯.

 

 

 

728x90
728x90

얼마전 DLP 프로젝터가 하나 생겼는데요.


프로젝션을 할 일은 없겠지만 이참에 3D 프린터를 하나 만들어볼수 있지 않을까 해서 자료를 검색하고 공부를 하다 보니


정리할 필요를 느껴 조금씩 써보고자 합니다. 



일단 요즘 유행하는 3D 프린터는 대부분 FDM 방식입니다. 가소성 플라스틱을 열로 녹여 뽑아내면서 


모양을 만들어내는 방식으로 대중화된 개인용 프로젝터는 대부분 이 방식을 따르고 있죠. 


사용자가 많고, 자료가 많이 공개되어 있어 시장은 지금도 계속 커지고 있으며 국내에서도 여러 생산자가 프린터를 만들어 내고 있습니다. 



한편으로는 광경화 방식 프린터도 조금씩 만들어지고 있는데 빛을 쬐면 굳어지는 성질이 있는 특수한 수지를 이용해 


프린팅을 하는 방식입니다. Stereolithography 방식이라고 하는데 줄여서 SLA 로 부릅니다. 


빛을 쬐면 굳어지는 특수 수지는 종류에 따라 자외선, 적외선, 가시광선 모두 가능합니다만 프린팅에는 주로 자외선 경화수지를 사용하죠.




어쨋건 이 수지를 이용해서 프린팅을 하려면 자외선 광원이 필요합니다. 


광원의 종류는 보통 UV(자외선) 레이저나 DLP 프로젝터를 사용하는데요.


자외선 레이저는 가격이 싸고 광원의 제어가 쉽지만 레이저이다 보니 점광원이 되고, 


프린팅을 위해선 이를 면광원으로 조사해야 합니다. 이를 위한 기구부가 따로 필요하게 되죠.


 

 

 

 


 

레이저 조사방식 프린터 중 유명한 FORM 1 입니다. 특허 문제로 판매가 되니 마니 말이 많았는데


아직은 중지되진 않은듯.. 레이저를 이용하면 큰 렌즈나 반사경이 필요하지 않기 때문에 위와 같이 작은 크기로 만들 수 있습니다. 


 

 


 

 

 

 

 


 

http://b9creator.com/ <-속도가 느립니다만 접속됩니다.

 

킥스타터에서 유명해진 DLP 프로젝터.

 

오픈소스라 모든 도면 및 자료가 공개되어 있긴 한데, 재료가 모두 판금재료 절국이라 개인이 따라하기에는 조금 애매한듯.

 

 


 

 

이 2가지 방식 중에서 개인적으로는 레이저 방식이 더 좋지 않을까 하는 마음이 있습니다만

 

현재로서는 자작할만큼 자료가 공개되지 않았고, 3축 구조에 레이저 다이오드를 붙여 FDM 머신과 같은 구조로 만드는 케이스도 있었습니다만

 

속도가 정확도 면에서 별로 추천할 만하지 않은 듯 하네요.

 

 

 

DLP 프로젝터 방식은 빠르고 정확하지만 단점이라면 다소 용적이 크다는 것으로 프로젝터가 들어가는 만큼 프로젝터가 차지하는 공간과


레이저와 달리 프로젝터의 화면이 촛점을 맞추기 위한 최소거리가 있어 출력면과의 최소거리를 확보해야 합니다.


이 때문에 실제 출력사이즈에 비해 프린터 자체의 크기가 커지는 문제가 있습니다. 



또한 당연히 기본적으로 프로젝터가 필요한데 프로젝터는 아직도 가격이 매우 비싼 기기로 어느정도 성능이 괜찮은 신품의 경우에는 


프로젝터 하나 살 가격이면 FDM 방식의 프린터를 하나 살 수 있죠.


 

 

 

 

 

 

그리고 신품 프로젝터를 그냥 사용하면 안되고 내부의 칼라 휠을 제거해야 하는데 


부품을 단순히 제거하면 프로젝터의 내부 점검 회로가 에러를 감지하므로 칼라 유리를 깨서 제거하던가 해야 합니다. 


그러면 다시 원래 프로젝터로 돌리기가 힘들고 새 부품을 구매해야 한다는 문제도 있죠.


 

 



대신 장점이라면 기구부가 단순해져 제작정밀도가 올라가고, 면광원이기에 레이저로는 수백번을 좌우로 왔다갔다 해야 할 영상을


한번 쫙 뿌려주는 것으로 끝나므로 출력속도가 다소 빠른 편이라는 것입니다.





**개인적으로는 프로젝터 램프도 비싸고 발열도 상당해서 


자외선 LED로 개조하는 게 가능하지 않을까 했는데


램프부의 배선이 4선이라 이해할 수가 없더군요. 어떤 선이 전원이고 무슨 역할을 하는지 파악이 안됩니다...


뜯어낸 채로 잠시 테스터 찍고 작업해 봤는데 점등시에만 잠깐 전압이 변동하는 부분도 있고


뚜껑을 뜯어낸 채로 어느정도 작업하니 눈에 매우 안 좋은 느낌이 들어(자외선+고휘도)


전원을 끄고 보니 눈이 한동안 침침하더군요.,, 그래서 당장 중요한 부분은 아니니 패스...

 

 

2부는 쓸지 안쓸지 모름.








728x90
728x90

 

 

달리 모듈이 잘 미끄러지지는 않지만, 강한 힘을 주면 약간씩이나마 미끄러지긴 해서 가게 창고에 있던 3M 미끄럼방지 테이프를 들고왔습니다.

 

 

 

 

 

 

레일면에 맞는 크기로 자르고...

 

 

 

 

 

 

붙이면 끝. 전혀 안미끄러집니다.

 

모터를 구동시키면서 손으로 강제로 막아보면 토크가 모자라 멈추긴 할지언정 절대로 미끄러지진 않네요.

 

지금 쓰는 모터의 토크가 15kg/cm 인데 약간 모자란 느낌이 있습니다.. 바퀴구동식이라 바퀴의 크기+마찰 등으로

 

토크전달력이 좀 떨어지는 것도 있겠죠. 넉넉하게 쓰려면 토크를 두배 이상 써야할듯.

 

 

 

 

 

 

 

 

 

외장형 배터리는 아무래도 많이 비싸서 집에 있는 배터리를 재활용할 생각으로 간단하게 그렸습니다. 크기는 64*132*30

 

배터리와 커넥터와 포맥스는 있는걸 사용하고 볼트미터 + BMS 를 16800원에 구입.

 

 

 

 

 

 

 

 

도면을 1:1출력해서 풀로 붙이고 자르면 조금이나마 편합니다. 간만에 칼질을 좀 했더니 손가락에 물집이 잡힐락 말락..

 

요철을 이용해서 조립은 편하지만 손재단으로 하는지라 일은 두배.. 그냥 일직선으로 만들걸 그랬어요.

 

레이저 커터가 있는것도 아닌데 무슨짓을 한건지..

 

 

 

 

 

 

 

배터리는 4550mA * 3 개 직렬

 

전압컨트롤 관련 회로는 없습니다. 그냥 배터리 3개 직렬전압 바로 나와요. 아두이노는 어차피 직접 정류해서 쓸 테고

 

단점이라면 전압이 높아지거나 낮아졌을 때 모터 출력이 좀 변하겠죠.

 

당장 급한대로 쓸 물건을 목적으로 했기 때문에 패스..

 

 

제대로 만들려면 충전회로, 전압관련회로, 여유로 5V usb 출력변환이라던가 넣어주면 좋을 것 같네요..

(그러느니 그냥 제품을 사는 게 나을지도 모르겠고요)

 

 

 

 

 

 

전압출력기능.

 

 

다 만들고 나니 갖고는 DC 잭 규격이 암/수가 다르네요.. 헐거워서 접촉불량이 생깁니다. 새로 구매해야 할듯. -_-;

 

 

이제 인치볼트/너트만 있으면 카메라를 달 수 있습니다. 삼각대 고정은 부품을 가공해야하나 말아야하나 고민이네요.

 

인치탭을 하나 살까 싶기도 하고..

 

 

 

2013/6/5 추가

- 임시로 CCTV카메라 헤드를 달고 DSLR과 플래쉬까지 달고 보니 상승과 하강의 속도차가 커서

보다 토크가 높은 모터로 교체 후 추가작업은 보류했습니다.

애초에 타임랩스 달리 자체가 목적이라기 보다는 구현방식 쪽에 흥미가 있어서 시작한 일이었는데

마찰을 이용한 레일 이동의 가능성을 확인하고 나니 흥미가 급속히 식더군요. 애초에 사진은 취미가 아니기도 하고..

레일용 바퀴의 위치 등을 섬세하게 조절할 필요는 있지만 큰 구조는 완성되었다고 봐도 될 것 같습니다.

현재로도 잘 조정해서 조립하면 일단 사용은 가능하지만 케이싱이나 배터리 구조물 등의 고정이 불안해서

들고다니면서 사용하기엔 불편하고, 즉 양산 전 1차 샘플 완성 단계에서 중지했습니다.

추가로 2차 샘플 단계를 진행할 계획을 완전 포기하지는 않았지만, 현재로서는 추가 작업계획을 잡고 있지는 않습니다.

항상 그렇듯 불현듯 만들고 싶어질 때 또 하게 되겠죠.

 

남는 MX2 달리 보드와 아두이노 우노 보드 필요하신 분은 연락주세요. 판매 가능합니다.

pashiran@gmail.com

728x90
728x90

DSLR이니 타입랩스니 출사니 하는 것에 사실 큰 관심이 없습니다.

 

카메라 하나 구입하려 할 때도 이틀밤을 새다가 결재를 했다가 취소했다가 다시 결재했다가 다시 취소했다가 

 

새벽 세시에 다시 결재하는 촌극을 겪었고

 

처음 몇 컷을 찍어 확인해 보고는 이걸로 십년은 쓸 수 있겠다 생각했으며

 

렌즈도 기본 줌렌즈 말고는 단렌즈 하나 구입한 게 전부죠.

 

단지 카메라는 작업과정을 찍기 위한 도구일뿐;; 

 

 

그러던 제가 갑자기 타입랩스 달리라는 물건을 손대게 된 것은 타입랩스를 찍는다거나 출사를 나간다거나 할 계획이 있어서가 아니라

 

의뢰삼아 하게 된 타입랩스 달리의 CAD 작업 중 의문이 생겼기 때문입니다.

  

 

 

 

 

 

 

각양 각색의 전동 달리지만 모두 벨트 드라이브.

 

전용 레일이 있는 경우도 있고, 확장성이 뛰어난 알루미늄 프로파일을 쓰는 경우도 있고,

 

벨트 대신 로프를 쓰는 경우도 있지만 다들 확장성을 노리면서도 벨트던 로프던 끈 같은 것을 당기면서 이동합니다.

 

 

 

없어도 될 것 같아.. 라는 생각이 들더군요.

 

중간중간의 긴 검색과 고민에 대한 언급은 넘어가고,

 

무엇보다 싼 가격을 만족시키기 위한 노력과 시간들이 좀 있었습니다만 최종적으로

 

 

 

 

 

요런 형태를 그렸습니다.  (뒷쪽 바퀴는 허공에 떠있는게 아니라 앞쪽처럼 상판에 연결되는 것입니다)

 

 

 

 

 


http://kr.misumi-ec.com/asia/ItemDetail/10300423530.html

 

모터에 연결되는 고무바퀴는 한국미스미 표준품으로 널(knurl)이 새겨진 우레탄 롤러입니다.

 

요건 더 싼 대체품을 찾았지만, 추가적으로 선반가공을 해야 하는데 손톱만한 부품 하나 가공하려고 보니 가공비가 더 나와서

 

일단 베타테스트용으로 미스미 제품을 구매했습니다.

 

 

원래 사용하려고 했던 물건 : http://www.casternara.com/shop/shop.htm?type=shopdetail&brandcode=00400900000000000001

 

 

 

 

 

 

 

정면샷

 

 

 

 

 

 

 

레일 측면의 둥근 바퀴는 원래 베어링 압입한 우레탄 수지를 사용할 계획을 세웠습니다만

 

가공견적 알아보고 포기... 다시 한번 말하지만 전 카메라엔 그닥 관심이 없어서 비용을 들이기가 싫더군요..

 

 

 

 

 

 

 

정말 힘들게 찾아낸 대체품...

 

1500\/ea

 

....베어링 값밖에 안됩니다.

 

축이 리벳으로 박혀있어서 그라인더로 갈아내고 뽑아내서 분리했습니다.

 

 

 

 

 

 

 

세트.  고정 플레이트도 저렴하게 5T 아크릴 레이저 가공으로.

 

아크릴 가공처에서 인치탭을 못 낸다고 하여 그냥 mm 탭을 냈습니다. 나중에 그냥 인치볼트를 박던가 해야할듯.

 

 

 

 

 

 

 

왼쪽은 모터의 우레탄 롤러가 눌러주는 힘이 있어서 바퀴 하나가 살짝 뜨네요. 레일에서 벗어나지는 않습니다.

 

어져스트가 가능하도록 도면을 수정해야 할듯.

 

 

 

 

 

 

 

 

 

작동 테스트 영상입니다.

 

 

여기까지 오기 전엔 저도 확신이 없었는데, 생각보다 참 잘 굴러가네요

 

레일 측면에 미끄럼방지 3M 테이프를 붙여서 마찰력을 극대화할 생각이었는데

 

그냥 저 상태로도 상당히 강력하게 밀어줍니다.

 

 

테스트해보니 몇군데 다듬어야 할 것 같지만 일단 핵심적인 부분은 잘 되니 좋네요.

 

장기적인 테스트나 실제 카메라 테스트나 외부환경 테스트도 해 봐야 겠습니다만... 일단은 뭐.

 

 

 

MX2 달리엔진 기판을 10개 주문해서 1개는 남겨두고 9개를 제작했는데,

 

처분이 고민됩니다...

 

몇개는 나눠주고 몇개는 팔아버릴까 하는데 어찌됐든 남에게 넘기려면 케이스 작업을 해야할 것 같고.. 하자니 귀찮고 돈들고

 

 

 

 

외장배터리 사야하고 MX2 케이싱하려면 또 돈들테니 시간이 좀 걸리겠네요. 일단 요즘은 CNC 업글에 집중하고 있는터라서요.

 

 

 

728x90
728x90

 

 

MX2 달리엔진 메뉴얼은 신통치 않고 유튜브에 동영상으로 올라와 있고 하네요.

 

저도 확실히 알 겸 정리좀 해보는 중입니다.

 

 

 

MX2 엔진의 기능키는 위와 같습니다.

 

 

 

엔진을 처음 켜면 바로 타임랩스 동작 화면으로 넘어가며 Enter키를 누르면 메뉴가 나옵니다.

 

메뉴에 들어가는 것은 Left/Right로 하면 되고, 수치변경 등 조작은 Up/Down으로 하면 됩니다.

 

마인드맵 프로그램인 알마인드로 작업했습니다. 

 

 

 

 

 

 

 

메뉴얼 따로 필요없고 그대로 써도 될 듯. 시간나면 조금씩 작업해야겠네요

728x90
728x90

타임랩스 달리의 컨트롤러는 여러 가지가 있지만, 그중 유명한 것 중 하나가

 

http://dynamicperception.com/ 의 MX2 Engine입니다.

 

 

 

 

 

 

보드 자체는 L293 DC 모터 드라이버과 77HC00, 스위치 등이 들어간 간단한 것이지만

 

핵심은 하단에 결합하게 되어 있는 아두이노 보드 에 있습니다.

 

 

어쨋든 이 보드는 오픈소스로 모든 자료들이 공개되어 있어 Maker들이 직접 만들어 쓰고 개선할 수 있도록 되어 있습니다.

 

http://openmoco.org/arduino/dollyshield-arduino-shield-timelapse-motion-control

 

 

 

 

EagleCAD 자료는 여기서 받을 수 있습니다.

 

 

 Eagle_OMDSV1-01.zip

 

 

그리고 위 CAD 로 제작한 보드와 328P 이상의 컨트롤러를 사용한 아두이노 보드에

 

 

 

openmoco-0.91.tar.gz

 

 

이 DollyShield 파일 안의 스케치 파일들을 업로드하면 됩니다.

 

특정 라이브러리 파일이 필요하기 때문에

 

아두이노의 libraries 폴더 안에 위 파일 안의 라이브러리 폴더 안의 파일들을 아두이노의 라이브러리 폴더에 복사해 넣으면 되고요.

 

 

 

 

 

 

 

 

 

 

저는 여러 생각 끝에 가격적으로도 저렴하고 부품 수급도 유용하도록 보드를 수정해서 직접 PCB를 주문제작했고

 

그 과정은 해외에서 PCB 샘플 주문하기 에 정리되어 있습니다.

 

 

제가 수정한 eagleCAD의 최종 버전 파일입니다.

 

 

pashiran-Timelapse Dolly-ds1032.zip

 

 

 

 

BOM 리스트.

 

 

부품

부품명

사진

링크 필요개수

EXT

이어폰잭

http://www.devicemart.co.kr/goods/view.php?seq=2672

3

CON

핀헤더

http://devicemart.co.kr/goods/view.php?seq=2825

2

TR

트랜지스터

http://devicemart.co.kr/goods/view.php?seq=3247 2

TLP-521-2

포토커플러

http://devicemart.co.kr/goods/view.php?seq=10893 1

L293B

모터 드라이버

http://devicemart.co.kr/goods/view.php?seq=9377 1
74HC00

로직 IC

http://devicemart.co.kr/goods/view.php?seq=136 1

POWER JACK

파워잭

http://devicemart.co.kr/goods/view.php?seq=2676 2

TACT SW

택트스위치 15mm

http://devicemart.co.kr/goods/view.php?seq=34567 5

TRIM RESISTOR

가변저항 10K

http://devicemart.co.kr/goods/view.php?seq=20274 1

LCD

캐릭터 LCD

http://devicemart.co.kr/goods/view.php?seq=26911 1
C

캐패시터 100uF

http://devicemart.co.kr/goods/view.php?seq=29522 2

세라믹 캐패시터 104

http://devicemart.co.kr/goods/view.php?seq=1343 4

R

저항

5K http://devicemart.co.kr/goods/view.php?seq=863 1
510(500) http://devicemart.co.kr/goods/view.php?seq=882 5
120 http://devicemart.co.kr/goods/view.php?seq=894 1
39(41.5) http://devicemart.co.kr/goods/view.php?seq=904 1
62(62.5) http://devicemart.co.kr/goods/view.php?seq=900 1

6.8(6.2)

http://devicemart.co.kr/goods/view.php?seq=917 1
100K http://devicemart.co.kr/goods/view.php?seq=835 4
2.6K(2.7K) http://devicemart.co.kr/goods/view.php?seq=869 1

파워 플러그

(모터/전원용)

 

http://www.devicemart.co.kr/goods/view.php?seq=4580

3

 

**저항에서 () 안의 수치는 원 Dynamic Perception의 파일에서 지정한 수치이고 왼쪽은 제가 사용한 수치입니다.

 

 

 

 

 

 

 

오랫만에 DIP형 부품들을 사용하려니 일일이 다리 잘라서 납땜하는게 영 귀찮더군요. 역시 SMD가 편해요

 

 

 

 

 

 

 

 

초반 부팅은 이상없었으나 셔터가 움직이지 않더군요.

 

 

 

 

 

 

 

확인해 보니 회로를 수정하면서 실수가 하나 있었습니다;

 

위아래가 바뀐 포토커플러를 핀을 휘어서 수정해 주었습니다.

 

(위에 올린 eagleCAD 버전은 위 문제를 해결해 두었습니다만 보드를 제작해서 테스트해보지는 않았으므로 사용자의 주의가 필요합니다)

 

 

 

 

잘 작동하고 있습니다.

 

 

 

%%모터 작동도 잘 되네요 :)

 

 

 

 

 

 

 

 

------------------------------------------------ 2013. 6. 9 추가분 -----------------------------------------------------------------

아두이노 프로그래밍 부분 추가 설명합니다.

 

아두이노 프로그램을 http://arduino.cc/en/Main/Software 에서 다운받습니다.

 

최신 버전을 받아도 되지만 문제가 생기는 경우도 있습니다. 중간쯤에 Arduino 0023 버전을 다운받습니다.

 

윈도우즈, 맥OS, 리눅스 버전 등이 있으니 운영체제에 따라 클릭하면 파일이 다운됩니다.

 

 

 

 

 

 

 

 

그리고 다운받은 파일의 압축을 풉니다. 설치는 필요 없습니다.

 

이 포스팅 위쪽의 openmoco-0.91.tar.gz 파일도 받아서 압축을 풉니다.

 

이 파일의 압축을 풀면 Dollyshield 와 Libraries 두개의 폴더가 있습니다.

 

 

 

 

 

 

 

 

 

 

Libraries 폴더 안으로 들어갑니다.

 

 

 

 

 

 

 

 

MsTimer2, TimerOne, externals 등 모든 폴더와 파일을 복사합니다.

 

 

 

 

 

 

 

 

 

Arduino 폴더로 이동해보면 Libraries 폴더가 있습니다.

 

 

 

 

 

 

 

 

 

폴더로 들어가서 조금 전 복사한 폴더와 파일을 붙여넣기 합니다.

 

이제 아두이노 보드에 USB 케이블을 꽂습니다.

 

 

 

 

 

 

 

 

 

 

제어판의 장치 관리자를 보면 Arduino UNO 보드가 COM5 포트에 연결된 것이 보입니다.

 

COM 포트의 숫자는 개인마다 다를 수 있습니다.

 

 

 

 

 

 

 

 

 

 

이제 Arduino 프로그램을 엽니다. arduino.exe를 더블클릭합니다.

 

 

 

 

 

 

 

 

 

 

이런 창이 열리게 됩니다.

 

 

 

 

 

 

 

 

 

 

File-Open을 누르고 라이브러리를 복사했던 OpenMoco-0.91 폴더의 DollyShield 폴더로 들어가서 DollyShield.pde 파일을 엽니다.

 

 

 

 

 

 

 

 

 

 

 

그러면 위와 같이 파일들이 열리게 됩니다. 화면에 보면 DollyShield 말고도 ds_alt_io, ds_camera 등의 파일도 같이

 

새 탭으로 열리는 것을 볼 수 있습니다. DollyShield 파일만 열리면 안되고 위와 같이 다른 파일들도 열려야 합니다.

 

 

 

 

 

 

 

 

 

 

 

Tools - Board 에서 자기가 갖고 있는보드인지 확인합니다.

 

 

 

 

 

 

 

 

 

 

 

Serial port도 한번 확인합니다. 아까 제어판에서 Arduino 보드가 COM5 포트에 연결되었으므로

 

COM5 포트로 연결해야 합니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

업로드 버튼을 누릅니다.

 

 

 

 

 

 

 

 

 

 

 

업로드중이라는 메세지가 나오고 Arduino 보드의 TX, RX LED가 깜박거립니다.

 

 

 

 

 

 

 

 

 

 

 

 

업로드가 완료되면 끝입니다.

 

 

 

 

-----------------------------------------------------------------------------------------------------------

 

2013/6/5 추가

- 임시로 CCTV카메라 헤드를 달고 DSLR과 플래쉬까지 달고 보니 상승과 하강의 속도차가 커서

보다 토크가 높은 모터로 교체 후 추가작업은 보류했습니다.

애초에 타임랩스 달리 자체가 목적이라기 보다는 구현방식 쪽에 흥미가 있어서 시작한 일이었는데

마찰을 이용한 레일 이동의 가능성을 확인하고 나니 흥미가 급속히 식더군요. 애초에 사진은 취미가 아니기도 하고..

레일용 바퀴의 위치 등을 섬세하게 조절할 필요는 있지만 큰 구조는 완성되었다고 봐도 될 것 같습니다.

현재로도 잘 조정해서 조립하면 일단 사용은 가능하지만 케이싱이나 배터리 구조물 등의 고정이 불안해서

들고다니면서 사용하기엔 불편하고, 즉 양산 전 1차 샘플 완성 단계에서 중지했습니다.

추가로 2차 샘플 단계를 진행할 계획을 완전 포기하지는 않았지만, 현재로서는 추가 작업계획을 잡고 있지는 않습니다.

항상 그렇듯 불현듯 만들고 싶어질 때 또 하게 되겠죠.

 

728x90
728x90

만드는 것을 좋아하다 못해 쓰지도 않을 것 같은 물건을 만드는 짓도 서슴지 않는 저입니다만,

 

최근에는 타임랩스 달리(Timelapse Dolly) 라는 물건을 건들고 있습니다.

 

 

Dynamic Perception Timelapse Dolly Stage Zero from MILapse on Vimeo.

 

 

수백~수천장의 사진을 찍은 후 이어붙여 동영상을 만들어서 심도와 디테일을 극도로 살린 동영상을 만드는 장치입니다.

 

 

 

 

 

 

뭐 혼자서 진행하는게 아니다 보니 개인적인 설계 아이디어를 반영하기 힘들어 기구 하드웨어는 그냥저냥 진행되고 있습니다만..

 

이 부분은 나중에 따로 자세히 올리도록 하고요.

 

 

발주자가 사다주셔야 할 물건이 있어 며칠 기다리던 차에 컨트롤러 관련자료를 찾다 보니

 

아두이노에 LCD디스플레이 / DC 모터 쉴드를 기반으로 수정한 보드를 장착한 것이더군요.

 

거기다 오픈소스입니다. 저같은 취미maker에게 오픈소스란 얼마나 감사한 것인지.

 

 

 

 

 

 

http://dynamicperception.com 에서 하드웨어를 구매할 수도 있지만, 가격을 보고 입이 떡 벌어집니다.

 

 

 

다운받은 EagleCAD 스키메틱과 보드 파일로 단면기판 에칭을 떠서 제작해볼까 하고 한 이틀 작업을 해봤습니다.... 만

 

 

이정도쯤 되니 그냥 관두는게 낫겠다 싶은 생각이 들더군요.

 

SMD로 최대한 바꿨더니 보드 레이아웃을 전부 새로 짜야했고 그 고생을 하고도

 

점퍼도 무지 많은데다가 아두이노나 LCD를 꽂을 커넥터들은 천상 Bottom 면에 납땜을 해야 하는데,

 

그러자면 저 부품들도 전부 Bottom으로 뒤집어서 새로 작업을 해야 하기 때문에 헛짓을 했더군요 ㅡㅜ

 

 

아 그냥 보드를 주문해버릴까 하고 슬슬 스팀이 올라오기 시작;;

 

SLR 클럽에 위 물건을 제작하신 분이 계신데,

 

http://www.slrclub.com/bbs/vx2.php?id=user_review&no=36515

 

 

 

 

이분도 보아하니 보드를 주문제작하고 부품은 MOUSER 에서 주분해서 조립을 하셨더군요.

 

 

 

 

하지만 이곳은 기본배송료 2만원..

 

FEDEX를 이용한다곤 하지만 국내 쇼핑몰에서 2500원에 총알배송해주는 물건들인데 약간 다르다고 저기서 주문하기엔 매우 배아팠습니다.

 

 

 

 

 

 

 

스키메틱을 보아하니 TR 과 optocoupler 와 가변저항만 제외하면 나머지는 디바이스마트에서 구할 수 있겠길래

 

EagleCAD에서 해당 부품을 디바이스마트에서 판매하는 부품으로 대치하고 다시 연결했습니다.

 

저항값이 41.5 라거나 62.5 같은 특이한 녀석을이 있는데 그건 그냥 비슷한 값으로 넣어보고 안되면 수정해보기로 하고..

 

 

 

수아파파님의 블로그

http://web.suapapa.net:8080/wordpress/?p=466 를 참조해서 거버 파일을 생성했습니다. 

 

거버 뷰어로 확인해 보니 대충 맞는듯... 하여 (확신을 못하겠네요;)

 

어디다 주문을 하느냐 하는 문제만 남았는데

 

 

샘플PCB 제작으로 유명한 한샘 디지텍은 좋은만큼 가격이 비싸고

 

예전에 눈여겨 봐두었던 http://www.mypcb.co.kr/ 는 2013년까지 임시 중단이네요..

 

2013년이 되어도 몇월달에 가능할지는 안써있고;

 

 

여기저기 검색하다 김성수님 블로그 에서 외국에서 주문가능한 저렴한 PCB 업체들을 발견했습니다만..

 

이곳도 태반이 닫아서 batchpcb.com 한곳만 남아있더군요.

 

여기서 주문을 해야하나 말아야하나 망설이다가....

 

우연히 포럼을 클릭했는데 뭔가 안된다고 징징대는 글에 Seeed Studio 에서도 PCB 주문을 받는다는 글이 딱!!

 

 

광속으로 배송 넣었는데 파일에 이상이 없었는지 생산중이라는 표시가 떴네요.

 

10cm*10cm 보드 사이즈 10장은 24.9$ 고 배송료 6.72$ 붙어 31.62$ 입니다. 50$ 이상은 무료배송이고요.

 

 

 

크리스마스다 신년이다 겹쳐서 언제 도착할런지는 모르겠지만, 도착하면 또 포스팅하겠습니다.

 

그저 보드에 에러가 없기만 바랄뿐...

 

 

 

728x90
728x90

다음카페 '여유가 있는 모형'의 에 올라온 나이트 엘프입니다.

 

 

원작자는 이충식(원형제작) 님이시고
마스터 페인터는 김용규 님이십니다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

안녕하세요 야크트 미라지 입니다.

요번에 제가 도색한 이 제품은 저희 회사에서

샘플로 만든 제품입니다..

외국회사인 블리자드를 염두에 두고 만들었기 때문에

원형은 일본식 미인이 아닌, 서양식 미인으로 만들었습니다.

여러분이 보시기엔 어떤지 모르지만..

다른 분들은 잘 봐주셔서..

(정작 블리자드와의 협력은 추후로 미루어졌고..)

정작 다른 구체관절인형의 원형이나..연예인 캐릭터.. 그리고 게임회사

등에서 컨택이 들어와서 그런쪽들과 일을 진행 했습니다..


 


 









여러 원형과 관련된 일을 하지만.. 그래도 순수히 우리나라 캐릭터의 레진키트화

를 진행해 보고 싶은것은 어찌할수 없더군요..

그래서 조만간 국내코믹 "유레카"의 캐릭터도 보여드리겠습니다~~ ^^*

이런 나이트 엘프같은 멋진 캐릭터들이 국내에서도 많이 많이 나오길 바라며~


 


원래 이미지는 올리지 않기로 햇는데 그런 규제가 없어졌습니다..

어차피 샘플 이니까요..

그리고 한도규님께 예전에 올려드리기로 했는데..

이제야 올려서 죄송합니다 도규님~~ ^^*







그리고 몇달간 저희를 괴롭혔던 넘~!!!

저희 원형을 칠해주신 분이 장난스럽게 찍으신건데

이 프로젝트 땜시 맘고생한것을 생각하면 이런 장난 저도 하고 싶었습니다.

 

 
 
 
 
 
 
 
 
 
 
정말정말 갖고 싶네요.. 레진으로 나오면 3개는 구입할 것 같은;;
 
하나는 소장용, 하나는 제작용, 하나는 포즈 개조용;;
 
728x90

+ Recent posts