상세 컨텐츠

본문 제목

[3D프린터] 소음 zero 프로젝트 - 2. MKS Gen v1.4 + TMC2208

・ 덕질 :: hobbies

by 덕만이형 2018. 12. 22. 19:02

본문

내가 사용하는 3D프린터는 Tevo Tornado라는 모델이다. 

기본적으로 Creality사의 직교형 프린터인 CR-10의 중국산 클론인데, 일부 기능은 개선되어 더 낫다는 평이 있어 구입했다.

출력 품질이나 만듦새등은 만족스러운데 소음이 상당히 거슬렸다.

물론 전에 사용하던 Prusa i3의 초기 모델에 비하면 양호한 편이지만 그래도 밤새 출력을 하기에는 고주파음이 상당히 거슬리는 편이다.

그래서 Trinamic사의 TMC2208 스테퍼 모터 드라이버로 교체하기로 했는데, Tevo Tornado는 스테퍼 모터 드라이버가 온보드 형태인 MKS Base v1.4 보드라 생각보다 일이 커졌다.

드라이버를 바꾸려면 보드도 바꿔야한다는...


[3D프린터] 소음 zero 프로젝트 - 1.스텝퍼 모터 드라이버란?



그래서 TMC2208 드라이버와 함께 MKS Gen v1.4도 주문했고 3주만에 도착했다.






우선 컨트롤 박스를 열고 메인보드를 분리했다. 각 커넥터는 그대로 새로운 보드에 연결해야하기 때문에 이름을 적어주었다.





새로 설치할 보드인 MKS Gen v1.4는 기존 MKS Base보다 크기때문에 컨드롤 박스의 볼트 구멍이 맞지 않았다.

새로 구멍을 뚫는거보다 기존 구멍에 연결할 프라켓을 디자인해서 출력했다.





컨트롤 박스에 브라켓을 설치했다. 혹시 볼트때문에 쇼트가 날 가능성이 있어 검정 절연테이프를 붙였다.





TMC2208모터 드라이버의 모습.

TMC2208은 설치에 3가지 옵션을 제공한다.

1. 레거시 모드

2. Standalone (OTP모드)

3. Dynamic모드 (UART)


레거시 모드는 그냥 보드에 껴우면 되는데 기본적으로 저소음 모드인 StealthChop2로  작동하게 된다. 

StealthChop2는 굉장히 조용하지만 발열이 심하고 모터의 토크가 낮아져서 고속 출력시 탈조가 발생한다.


두번째인 Standalone모드는 첫번째 보다는 소음이 있지만 토크가 보다 강력하다. 

다만 Standalone으로 설치시 모터 드라이버 칩의 실리콘 구조에 변화가 생겨 다른 모드로 변경이 불가능하다. 

그래서 OTP모드, 즉 One Time Programming 모드라고도 한다.



세번째는 Dynamic모드인데 위의 StealthChop2와 Standalone모드를 속도에 따라서 자동으로 변경한다.

보통 모터 드라이버의 가변저항을 돌려서 적정 전압값을 맞추곤 하는데, Dynamic 모드에서는 최대 허용 전압값(1.5v)로 설정해두고

나머지는 펌웨어에 설정된 출력 속도에 따라 자동으로 변경한다.


다만 Dynamic모드로 설치시 양방향 시리얼 통신이 가능하도록 약간의 작업이 필요하다.

이전 모델인 TMC2100은 SPI를 사용하는데 반해 TMC2208은 UART를 사용해서 보드와 통신한다.








다음과 같이 듀폰 커넥터에 1K옴의 저항을 연결해준다.





보드 상의 점퍼를 납땜에서 연결해주고






보드의 PDN핀에 만들어둔 듀폰 커넥터를 납땜해준다.










보통 소음이 많이 발생하는 X축과 Y축의 드라이버에 작업하는데, 나는 하는김에 전부 바꿔보았다.

어차피 드라이버가 하나 남아서 나중에 스킵이 발생하면 익스트루더 모터만 스텐드얼론 모드로 바꿀생각이다.




가변저항을 돌려서 최대 전압값을 맞춰주었다.




마린 펌웨어 1.1.9를 업로드하고 몇가지 설정값들을 변경해주고 작동을 해보니 생각처럼 움직이지 않았다.

모터움직임이나 엔드 스탑은 기존의 펌웨어 값을 적용해서 문제가 없었는데

핫엔드 온도가 전혀 올라가지 않았다.


몇일 삽질해서 알게 된 사실은 

MKS Base v1.4와 MKS Gen v1.4의 커넥터 배열이 살짝 다르다는 이유였다.

아.. 진짜 별거 아닌게 속을 썩였다...





위의 그림에서 파란색원 부분이 MKS Base v1.4는 반대다. 

다시말해. 기존의 보드는 히터 E0의 먼저고 E1 순서로 되어있는걸 모르고

펌웨어만 눈알이 빠져라 들여다 봤다.





기존 배선을 분리하기전에 순서대로 번호를 적어뒀는데,

MKS Gen v1.4에는 위의 그림의 1.2.3.4.... 순서가 아니라

3.4.1.2.5.6.7.8. 순으로 연결해야하니 혹시 나와 같은 사람이 있다면 주의하길 바란다.







보드를 바꾸니 브라켓과 방열핀 때문에 기존의 파워서플라이를 넣을 공간이 없어졌다.

아니 드라이버 발열을 잡아줄 쿨링팬을 설치할 자리가 없어서 파워를 그대로 밖으로 옮겼다.

최종적으로는 컨트롤 박스 아래쪽으로 고정할 생각이다.

덕분에 넓어진 자리에는 기존 40mm쿨링팬 대신 80mm쿨링팬으로 교체했다.

TMC모터 드라이버로 교체하면 모터 소음이 거의 없어져서 오히려 쿨러소리가 거슬린다.







80mm쿨링팬을 위해 컨트롤 박스를 드레멜로 잘라냈다.

안전을 위해 그릴을 출력해서 덮어줘야겠다.




이제 모든 작업이 끝나고 테스트 출력을 해보았다.

앞으로 몇몇 모형들을 뽑으며 스텝값 조정해야 하지만

일단 엄청나게 조용해진 조용해져서 새벽에 출력을 걸어두고 잘 수 있게 되었다.


어차피 난 50mm/s의 속도로 출력하니 StealthChop2모드로 작동하겠고

기존 출력 대비 10분의 1 수준의 소음이라 매우 만족스러웠다.

모터 진동이 없어져서 출력물의 표면 품질도 다소 나아진듯하다.


납땜등의 작업이 다소 성가시지만 기본 보드 또는  a4988등의 드라이버를 사용하는 사용자라면

충분히 가치가 있는 업그레이드라고 생각된다.












관련글 더보기