Skip to main content

라즈베리파이에 옥토프린트를 설치해서 3D 프린터(Ender-3) 제어하기


3D 프린터는 출력 시간이 길기 때문에 중간에 외출을 하게 될 수도 있습니다.
밖에서는 출력물이 제대로 출력되고 있는지 알 수 없고, 오류가 났다면 정지를 시켜야 필라멘트 낭비를 줄일 수 있습니다.

또한 프린팅을 진행할때마다 SD카드를 뺏다 꼈다 하는 번거로움이 있는데, octoprint 이용한다면 원격으로 3d 프린터를 제어할 수 있고, 타임랩스 기능도 제공이 되어 유용합니다.



1. 준비물

라즈베리파이3

라즈베리파이3 이상을 사용하는 것을 권장합니다. 그 이하에서는 출력물에 영향을 줄 수 있습니다.

SD 카드

평균적인 속도가 10mb/s 이상으로 나와주면 안정적으로 사용 가능합니다.

3D 프린터

데이터 케이블로 제어가 가능한 3d 프린터가 필요합니다.

데이터 케이블

라즈베리파이와 3d 프린터를 연결하기 위해 사용됩니다. (Ender3는 Mini-B 5pin을 사용합니다)

카메라

출력물의 상태를 확인하거나 타임랩스로 저장 할 수 있습니다. 라즈베리파이 전용 카메라 뿐만 아니라 USB 웹캠도 연결 가능합니다.



2. octopi 설치하기

raspberry pi imager를 다운 받고 설치 후, 실행합니다.


  1. 라즈베리파이 모델을 선택 합니다.
  2. Other Specific Purpose OS -> 3D printing -> OctoPi (stable)을 선택합니다.
  3. SD카드를 선택해줍니다.
  4. ctrl+shift+x를 누르면 세부 설정이 가능합니다. 여기서 사용자 아이디 비밀번호, 와이파이 아이디 비밀번호, 그리고 시간대를 설정해줍니다.
  5. Next를 누르면 이미지를 굽기 시작합니다.


3. 라즈베리파이에 3D 프린터에 연결하기

SD카드를 라즈베리파이에 장착한뒤 Ender-3에 연결시켜주고, 라즈베리파이와 같은 네트워크에 연결된 컴퓨터에서 http://octopi.local 주소로 접속하면 됩니다.

만약 위의 주소로 접속이 불가능하다면 라즈베리파이에 직접 연결하여 로컬 IP주소를 가져와 주소창에 입력 후 접속하면 됩니다.



4. 옥토프린트 초기 설정

이후 초기 설정을 하는 단계가 나오는데, 아래를 참고하여 자신의 상황에 맞게 설정하면 됩니다.

Access Control
유저네임과 패스워드를 입력하는 창이 나오는데 해킹 방지를 위해 설정해주는게 좋습니다.
Anonymous Usage Tracking
소프트웨어 발전을 위해 자신의 옥토프린트 로그들을 익명으로 보내주기를 원한다면 Enable, 싫다면 Disable을 선택합니다.
Online connectivity check
인터넷이 연결되어있는지 주기적으로 확인하는 기능입니다. Enable을 권장합니다.
Plugin blacklist
악성 플러그인 자동 차단 기능입니다. Enable을 권장합니다.
Default Printer Profile
기본적으로 General 탭에서 Name과 Model을 설정해주고, 나머지 설정은 자신의 3D 프린터 설정에 맞게 변경하면 됩니다. (Ender-3는 X, Y, Z 축 길이만 각각 235mm, 235mm, 250mm로 설정)


5. 3D 프린터 연결

설정이 끝난뒤, 페이지에서 설정값 저장시작시 서버에 자동연결체크해준 뒤 연결을 클릭합니다.

image



여기까지 완료되었으면, 왼쪽 메뉴에서 gcode 파일을 원격으로 업로드 하고, 프린트원격으로 진행할 수 있습니다.

오른쪽 메뉴에서는 히팅베드, 노즐온도 확인 및 제어, 스테퍼 모터 제어와 카메라 스트리밍, 타임랩스 설정 등이 가능합니다.

alt text


6. 포트포워딩

포트포워딩을 하면 외부에서 공유기를 통해 octoprint에 접속할 수 있습니다. 내부 포트번호80으로 설정하면 됩니다. (참고 : 라즈베리파이, 포트포워딩하기)



7. 고정 IP 설정하기

공유기 설정에서 고정IP 설정이 가능합니다. IP가 주기적으로 변경되면 외부에서 접속이 불가능하기 때문에 고정 아이피로 설정하는 것을 권장합니다.



8. 카메라

OctoPrint Settings -> Classic Webcam 메뉴에서 Flip webcam horizontally, Flip webcam vertically 옵션을 통해 카메라를 대칭시킬 수 있으며, Rotate webcam 90 degrees counter clockwise 옵션을 통해 회전시킬 수도 있습니다.


또한 Camera Settings 플러그인을 설치하여 비디오 비트레이트를 올려줄 수 있습니다.



9. 카메라 해상도 높이기

macOS에서 terminal을 실행한 뒤, ssh를 통해 octopi에 접속합니다.

ssh octopi.local

octopi.txt 파일을 수정합니다.

sudo /boot/nano octopi.txt
octopi.txt
camera_raspi_options="-r 1920x1080 -f 10"

재부팅 후 적용됩니다.

sudo reboot

재부팅 후 적용됩니다.


info

기본값인 640x480 해상도가 1920x1080보다 더 넓은 화각을 가지고 있습니다. (4K를 크롭해서 사용하기 때문) (참고)



10. 영상 워터마크 제거

config.yaml파일을 열어 webcam 하위 항목에 watermark: false를 추가해줍니다.

sudo nano ~/.octoprint/config.yaml
config.yaml
webcam:
ffmpeg: /usr/bin/avconf
watermark: false


11. 타임랩스

Timelapse 탭으로 들어가면 옥토프린트의 내장 타임랩스 기능을 설정할 수 있습니다.

Timelapse ModeOn Z Change로 설정하면, 레이어 1층이 쌓일때마다 1장의 스냅샷을 찍을 수 있습니다.
이외에 Frame rate 또는 필요한 설정을 확인해서 진행하면 됩니다.


내장 타임랩스 기능 말고도, octolapse 익스텐션을 설치하여 타임랩스를 찍을 수도 있습니다.

내장 타임랩스는 사진을 위한 일시정지가 없기 때문에 출력 시간이 동일하지만 출력물과 출력 헤더 부분이 같이 찍혀 깔끔하지 않습니다.
반면에 octolapse는 사진을 찍을때마다 xyz 축들이 정렬된 상태에서 찍기 때문에 깔끔한 영상을 얻을 수 있지만, 출력 시간이 오래 소요됩니다.


내장 타임랩스로 찍은 결과물입니다.

output



참고자료