Robotics

[Ball Balancing] 2. 인벤터 도면으로 3D 프린터 (3DP-110F) 출력하기

로보고니 2024. 11. 23. 22:21

서론

이전 글에서 우리는 Ball Blancing을 위한 프레임을 모두 설계하고 모델링했다. 그리고 시뮬레이션을 통해서 해당 기구 설계가 동작하는데 문제가 없다는 것을 확인했다. 그렇다면 이제 우리는 3D 프린터를 가지고 원하는 모델을 출력할 수 있다.

 

만약 3D 프린터가 없었다면, 우리는 이렇게 모델링한 것을 업체에 보내서 가공을 해달라고 해야 한다. 그렇게 주문 제작을 할 경우에는 꽤나 비싼 비용이 필요하다. 만약 우리가 이것을 가공을 통해서 직접 제작을 한다면, 전문가가 아니기에 여러 오차가 발생할 수밖에 없다. 하지만 이제 우리에겐 3D 프린터가 있다. 학교의 동아리나 과방 등에 3D 프린터가 한 대쯤은 있을 것이다. 그것을 활용해서 우리가 만들고자 하는 기구를 직접 설계하고 제작할 수 있다.


Cubicreator4

Cubicreator4

내가 사용하는 3D 프린터는 3DP-110F 모델이다. 이 프린터로 출력을 하기 위해서는 Cubicreator4라는 프로그램이 필요하다.

 

우리가 인벤터를 가지고 모델링을 한다면 기본 확장자는 .ipt이다. 그리고 이 .ipt 파일들을 어셈블리하면 .iam 확장자가 된다. 우리는 인벤터에서 각 .ipt 파일들을 3D 인쇄 서비스로 보내기를 통해서 .stl 파일로 저장할 것이다. .stl 파일은 국제적으로 약속한 확장자로 3D 프린터로 인쇄할 때 많이 사용한다.

 

.stl 파일로 저장을 했다면, Cubicreator4 프로그램에서 해당 파일을 드래그해서 열면 된다.

3D 프린터 G-code

큐비크리에이터 프로그램에서 각 부품들을 적당하게 배치한다. 이때, 하나의 팁을 주자면, 구멍은 하늘을 향하는 것이 좋다. 3D 프린터가 출력을 하는 과정을 생각해 보면 바닥에서부터 출력한다. 따라서 구멍이 하늘을 바라봐야 서포터가 생기지 않고 깔끔하게 출력할 수 있다. 물론 대충 배치해도 서포터가 생기면서 출력을 할 수는 있다. 하지만 나중에 출력물에서 서포터를 제거할 때 매우 귀찮거나 잘 떨어지지 않고, 간혹 부품이 부러질 수도 있다.

 

이렇게 배치가 끝났다면 G-code로 변환하면 된다. G-code는 3D 프린터가 출력하는 과정과 순서 정보를 담고 있다. G-code로 변환하면 위의 사진과 같이 보이게 되는데, G-code 저장하기를 눌러 .hvs 파일로 저장하면 된다. 이 확장자는 3D 프린터마다 다르기 때문에 자신의 모델에 맞는 확장자로 저장하는 것이 중요하다.


바닥 보조물

3D 프린터를 사용하다 보면 바닥 보조물이라는 설정이 있다. 그리고 그 종류는 다음과 같다.

  1. Skirt (스커트)
  2. Brim (브림)
  3. Raft (래프트)

Skirt - 스커트

Skirt (스커트)

3D 프린터의 바닥 보조물 설정 중 Skirt(스커트)는 물체의 주변에 테두리를 그리는 것이다. 하지만 이 테두리는 물체와 닿지 않게 멀리 떨어져 있다. 이렇게 테두리를 그리는 이유는 물체를 출력하기 전에 필라멘트를 조금 소모함으로써 노즐에 있는 이물질을 제거하고 안정적으로 필라멘트를 출력하기 위함이다.

 

하지만 스커트의 경우에는 출력이 빠르다는 장점이 있지만, 필라멘트가 바닥에 붙지 않거나, 혹은 바닥면에서 수축이 일어나 모양이 틀어질 수 있다는 단점이 있다.

 

Brim - 브림

Brim (브림)

Brim(브림)은 스커트와 비슷하다. 하지만 스커트와의 차이점은 물체에 붙어있다는 점이다. 3D 프린트에서 물체는 히팅배드에 출력된다. 이때, 히팅배드의 온도가 충분히 높지 않다면, 필라멘트가 잘 붙어 있지 않고 떨어지게 된다. 그럴 경우 3D 프린팅이 되지 않고, 완전히 망해버린다.

 

이러한 점을 막기 위해서 브림을 사용한다. 한 층의 얇은 레이어를 히팅베드에 넓게 출력함으로써 물체가 바닥에 더 잘 붙어있도록 유지해 준다. 또한, 필라멘트가 바닥면에서 수축하는 것을 막아준다.

 

Raft - 래프트

 

Raft (래프트)

Raft(래프트)는 영어 뜻인 뗏목처럼 물체를 바닥면에서 띄우는 역할을 한다. 브림의 경우에는 아무래도 바닥면에 닿아있기 때문에 필라멘트가 수축하는 경향이 있다. 하지만 래프트의 경우에는 필라멘트의 수축이 거의 없어 출력의 정확도가 높아진다. 또한, 필라멘트가 바닥에 잘 붙어 있기도 한다.

 

이렇게 정확도를 높여준다는 장점이 있지만, 치명적인 단점이 있다. 바로 출력 시간이 현저히 길어진다는 것이다. 실제로 10시간짜리 물체를 출력한다고 할 때, 래프트를 사용하면 12시간 30분으로 2시간 30분이 바닥면을 그릴 때 사용된다.

 

그래도 아주 중요하고 정밀하게 출력해야 하는 물체가 있다면 래프트를 사용하는 것을 추천한다.


Ball Balancing 프레임 출력물

3D 프린터 출력물

이것이 내가 3D 프린터를 사용해서 출력한 프레임이다. 다행히도 문제없이 잘 출력된 것을 확인할 수 있다. 이제 서포트를 제거하고 각 부품들을 잘 조립하면 된다.

 

사실 출력이 끝나고 서포터를 모두 제거한 뒤 조립을 해보았다. 볼 링크를 끼우는 것과 볼 조인트를 끼울 때는 아무 문제가 없었다. 볼 링크가 조금 뻑뻑했지만 그래도 원하는 움직임이 잘 구현되었다.

 

하지만 큰 문제가 하나 생겼다. 꽤나 큰 문제이기에 설계를 다시 해야 한다. 이 과정은 다음 글에서 계속 하겠다. 그래도 다행인점은 이 글의 주제인 3D 프린팅에 관해서는 문제가 없었다. 그저 나의 기구 설계에서 문제가 있었을 뿐이다.


마무리

이제 Ball Balancing 프로젝트를 위한 설계와 제작이 끝났다. 앞으로 아두이노와 가속도 센서, 서보모터를 위한 회로를 구성하고 납뗌을 해야 한다. 그리고 센서값이 잘 나오는지 확인하고 서보모터가 잘 작동되는지 확인해야 한다. 또한, 완성된 회로를 가지고 PID 제어를 통해 공 균형을 잡는 제어 시스템을 구성하면 된다.

 

처음 계획한 Workflow에서 첫 단계가 끝이 났다. 앞으로 남은 세 단계를 위해서 계속해서 열심히 나아가야겠다.