본문 바로가기

3D Printer Using homography and Continuous Manufacturing

  • 노건표
  • 인하대학교
  • 작품구분일반형
  • 공개여부비공개
  • 카테고리정보, 전자, 전기, 기계, 전자
  • 등록일2019-08-09
  • 팀원(공동개발자)남금성, 김재욱, 박재연, 송민국
  • 출품 경진대회제11회 인하종합설계경진대회

상세설명

 

종합설계 요약 보고서

팀명

blank

작품(과제)

3d printer using homography and continuous manufacturing

1. 개발동기 및 목적, 필요성

 

3D Printer로 프로토타입을 뽑으려면, 평균 6~8시간이 소요된다. 프린터로 프로토타입을 뽑을 경우 부위를 나누어 뽑는 경우가 많은데, 다시 뽑을 때마다, 뽑는 사람이 직접 가서 제거하고 다시 뽑아야하기에 시간적 소요가 많이 되고, 뽑힐 때마다 사람들이 계속 신경써줘야 한다. 또한 뽑는 도중 오류가 발생하면, 다시 그만큼의 시간을 기다려야한다. 이는 뽑는 사람에게 정신적 피로도가 쌓이게 되고 이는 일상생활에 영향을 주게 된다. 본 팀은 3D Printer의 새로운 오류 피드백 및 새로운 연속생산 방식인 ‘3D Printer Using Object Detection and Continuous Manufacturing’를 제안함으로써 실시간 피드백이 가능하고, 오류가 난 결과물을 자체 피드백 후 새롭게 피드백 한 결과물을 자동으로 뽑음으로써 사람이 중간에 신경 쓰지 않더라도, 보다 완벽한 결과물이 나오게 된다.

 

기존의 보급형 3D Printer은 결과물 품질, 사람이 지속적으로 봐주어야하는 불편성 등의 문제점이 존재한다. 본 아이템은 이러한 문제점을 영상처리 기술(object detection)과 독자적으로 개발한 연속생산 기술로 해결할 수 있다. 기존의 3d printer의 연속생산 방식은 conveyer belt로 마땅한 재질을 찾기 힘들 뿐만 아니라, 보급형으로 쓰기에는 단가가 비싸다는 단점이 존재한다. 이와 다르게 본 아이템은 FDM형식의 보급형 3D Printer는 단가가 기존의 장비와 비교하여 가격경쟁력이 좋으며, 자체 피드백시스템을 통해 보다 완벽한 결과물을 원활하게 결과물을 탈착시킬 수 있다.

2. 과제 해결 방안 및 과정

오류를 왜 났는지를 처음부터 인식하기에는 너무 많은 장벽이 존재했다. 오랜 시간 고민을 한 결과 우리는 오류가 왜 났는지와 오류가 났는지의 부분을 분리하여 개발하기로 했다. 처음에는 machine learning을 통해 오류가 발생 하였는가 와 왜 났는지 모두를 파악하려 하였지만, 이는 끝내 시간과 비용이 많이 들어갈 것이고, 정확한 값을 도출하지 못할 것이라는 판단을 하여, 우리는 시간이 걸리더라도 두 개를 분리하여 구하기로 하였다.

오류를 인식하기 위해 우리가 사용할 기술은 homography라는 기술을 사용할 것이다. homography를 구현하기 위해서는 cura에서 나온 g-code파일을 이미지로 바꿔주는 프로그램과 실제로 뽑은 사진 두 개가 필요하다. 이를 위해서 우리는 g-code를 이미지로 layer별로 parsing 해주는 프로그램과 layer별로 달라지는 사진을 찍을 수 있는 하드웨어적 구성이 우리가 제작하려는 3d printer에 필요하다.

또한 우리는 deep learning 알고리즘에 넣을 변수로 온도 값 3, 베드의 레벨링 값, 뽑히는 이미지 값 1, 엔코더 값 3개를 변수로 넣어주어 오류가 왜 났는지에 대해 파악하려한다.

3. 출품과제의 기술

 오류의 원인들을 찾기위해 노즐 온도, 베드 온도, 외부 온도와 각 모터들의 회전각을 데이터베이스에 저장한다. 외부 온도는 dht22온도 센서를 사용하고 노즐온도와 베드온도는 3d 프린터를 작동시키는 마린 펌웨어를 사용하여 센서값을 받아온다. 각 모터들의 회전각은 모터들에 엔코더를 결합하여 모터의 회전각을 계산한다.

이렇게 3d프린터의 오류가 될 수 있는 부분들을 mysql을 이용하여 데이터베이스 서버에 저장한다. 이렇게 저장된 값들은 deep-learning을 할 때 사용하여 오류의 원인을 찾아내는데 사용한다.

오류가 생겼는지 정확하게 확인하기 위해서 homography기술을 사용한다. 이 기술을 위해서는 실제모습을 촬영하고 이론상의 모습과 비교하여 오류 여부를 확인한다. 실제 모습을 촬영하기 위해 3d프린터기에 카메라를 설치한다. 실제 모습을 촬영하고 사진들을 아마존 웹 서버의 s3서버에 저장하고 데이터베이스서버에는 이미지 링크를 저장한다.

4. 개념설계 및 상세설계(계산)

<하드웨어 설계>

본 종합설계에서 제작하고자하는 것은 mendel FDM방식의 continuous manufacturing 3D printer이다. 따라서 해당 section에서는 만들고자하는 대상에 대해 간단히 설명하고 어떠한 방식으로 구동시킬 것인가에 대해 다루고자 한다.

 

mendel 3D printer는 구동축이 총 3개로 이루어져 있는데, x-axis, y-axis, z-axis로 분류할 수 있다.

 

[x-axis]

먼저 x축의 동력 전달은 스태핑 모터와 GT2벨트의 맞물림을 이용하며 주로 사용되는 20teeth 풀리를 모터와 체결한다. 주로 시중에 판매하는 FDM방식의 프린터는 x-axis guiding shaft로 가격대비 성능이 준수한 "SUS연마봉-Lm8uu베어링" 조합이나 "프로파일 - 롤러 모듈"조합을 많이 사용한다. 하지만 본 제작물에서는 수평 체결 안정성이나 마찰력 모든 면에서 성능이 뛰어난 LM guide를 사용한다.

 

[y-axis]

y축의 동력 전달은 x축과 같은 이유로 LM guide를 사용한다.

 

[z-axis]

z축의 동력 전달은 x축과 y축의 구동방식과 다르다. x축과 y축을 printing되는 상황에서 변위가 z축에 비해 크기 때문에 축의 이동이 상대적으로 빨라야 한다. 하지만 z축은 변위의 크기가 상대적으로 매우 작고 FDM printing의 특성과 x축의 무게를 항시 지탱해야하는 이유로 리드스크류, 볼스크류, 전산 볼트 등을 사용한다. 마찬가지로 보조축은 LM가이드를 사용할 예정이다.

 

[기타 브라켓 및 마운트]

printer 사이즈에 맞도록 3d tool inventor 2018을 통해 설계후 PLA로 출력하여 사용할 예정이다.

 

[BED 재질]

보통 3D printerMK3(Al) 히팅베트 위에 유리나 PEI소재를 고정 시켜 사용하는 것이 대중적인 방식이다. 히팅베드를 사용하는 이유는 베드와 재료(ex: PLA)사이의 열팽창 계수 차이를 보완하여 슬라이싱(G/M-code file)파일의 첫번째 layer가 베드에 잘 안착할 수 있도록 하기 위함이다.

하지만 출력물이 베드에 더 잘 안착될수록, 출력완료 후에 베드에서 출력물을 떼어내는데 어려움이 생긴다. 이에 착안하여 연속생산 모듈이 출력물을 밀어내는데 문제가 되지 않도록 실험을 통해 히팅베드의 사용유무와 build plating 온도 범위 그리고 베드 재질을 결정할 예정이다.

 

[출력물을 밀어내는 모듈]

보통 3D printing 출력 완료 후 끝이 날카롭고 납작한 도구를 이용해 출력물을 떼어낸다. 이번에 설계할 모듈 또한 밀어내는 장치를 위와 같이 제작할 예정이며, 동력 전달은 안정적이고 토크를 조절할 수 있는 스크류 종류, linear 모터, 랙 피니언 기어를 선택 사용할 예정이다.

5. 기타

우리가 구현하고자 하는 부분에서 딥러닝 부분은 많은 실험데이터가 필요하기에 지금 당장에는 구현하기가 불가능하지만, 그전까지 필요한 부분은 대부분 다 완성 가능할 것 이다.

6. 참고문헌

안 상준 지음, 3D 프린터 101, 한빛미디어, 2018.11.15, 212.pg ~ 482.pg

김 경현 지음, 3D 프린터 설계제작, 퍼플, 2015,11.03, 1.pg ~ 99.pg

관련자료, http://kimgyunghyun.com/

윤상배 지음.뇌를 자극하는 TCP/IP 소켓 프로그래밍, 2011.03.11. 202.pg~622.pg

 


소개 영상

소개 슬라이드

정보가 없습니다.

기타자료

댓글