제조공정
| 부품 | 수량 | 비고 |
|---|---|---|
| 아두이노 우노 | 1 | |
| 28BYJ-48 스테퍼 모터 + 드라이버 | 2 | 초저가 스테퍼, 5V 정격이지만 5-9V로 구동 가능 |
| TSOP 4838 IR 수신기 | 1 | 리모컨 제어용 |
| SPI 마이크로SD 카드 리더기 | 1 | 플로팅 파일 저장용 |
| SG90 마이크로 서보 모터 | 1 | 펜 업/다운용 |
1999년경 로봇/전자공학에 관심 있는 친구와 화이트보드 그리기 로봇을 꿈꿨지만 당시 취미용 마이크로컨트롤러 환경은 열악했습니다. 2002년 율그 레니와 울리 프란케의 헥토르(Hektor) 프로젝트를 보며 우리 아이디어가 현실화된 것을 보고 안도했습니다.
하지만 헥토르는 내가 원하던 완전 독립형(올인원)이 아니었습니다. 스테퍼 모터 무게 때문에 벽에 걸린 단일 유닛으로 만들기 어렵다고 판단했죠. 세월이 흘러 2014년, 아두이노와 RC 서보, 3D 프린팅 접근성이 좋아지고, 초저가 28BYJ-48 스테퍼 모터를 발견하며 "가장 저렴한 미니멀 벽면 플로터" 제작을 결심했습니다.
중국 직구 부품 5주 기다림 끝에 제작 시작. 아두이노 우노, 스테퍼, 서보, 배터리가 들어가는 콤팩트한 섀시를 오픈스캐드(OpenSCAD)로 설계했습니다. 핵심 깨달음: 실(스레드)이 교차해야 한다는 것.
교차 지오메트리는 벽면 위 위치 유지에 큰 이점이 있으나 수직축 회전 안정성이 떨어집니다. 케이블 타이로 모서리를 고정해 회전을 방지했습니다.
첫 버전은 아두이노에 설계 도면을 하드코딩했습니다. 양쪽 실 1미터씩 풀고 앵커 포인트 1미터 간격으로 고정하면 좌표계를 알고 바로 그리기 시작. 작동은 했지만 플래시 재작성 없이 도면 변경 불가, 1미터 고정 설정의 제약이 있었습니다.
배운 점:
이 문제들이 가감속 구현을 강제해 결과적으로 더 정밀한 제어 로직으로 이어졌습니다.
새 설정 프로세스: 리모컨으로 플로터 이동 → 위치 A 마크 → 위치 B 이동 → 마크. 좌우 실에 20cm 마커를 둬 수동 측정 불필요. 거리 m은 왼쪽 스테퍼 스텝 수로 계산. 최대 2.5m 폭 플로팅 성공.
하지만 스테퍼 드라이버 IC를 실드에 직접 실장하니 드라이버 보드의 블링크 LED가 사라져 시각적 피드백 손실, 아두이노 온보드 LED도 가려져 IR 수신 확인 어려움. 배터리 모니터링도 실사용에선 케이블 전원 주로 써서 불필요했음.
3D 프린터 없이 만들 수 있음을 증명하려 차고에 있는 재료로만 제작. 철근 결속용 타이와이어, 덕트 스트랩, 지퍼타이, 가프테이프 활용. 스풀은 우유병 뚜껑으로 해결! 3D 프린팅 시간보다 빠르게 프레임 완성, 성능도 거의 동일.
펜이 프레임에 고정되지 않아 플로팅 시 약간 흔들려 정밀도 저하. 하지만 디버깅 용이성은 비약적 향상. 스테퍼 스트레스 테스트로 토크 부족 시 스텝 미스 방지 위해 감속 필요함 확인, 위치별 실 장력 계산도 수행.
실제 설정 및 플로팅 과정을 실시간으로 보여주는 동영상 참조.
설정은 간단하고 빠릅니다. 주요 난제는 좋은 앵커 포인트 찾기. 화이트보드엔 작은 흡착 컵에 재봉실 고리 연결 후 종이클립으로 플로터 걸기. 실이 벽에 최대한 가깝게 닿도록 해야 펜 압력 확보.
팁: 넓은 그림의 높은 위치 플로팅 시 토크 부족으로 스텝 미스 발생 우려. 높이 걸고, 낮게 그리세요.
일반적인 아두이노 프로젝트와 유사합니다. 아두이노 우노, 부품들, 연결 케이블. 회로도에서 볼 수 있듯 거의 모든 디지털 핀 사용, 아날로그 핀도 배터리 모니터링 등에 활용 가능.
주의: 디지털 핀 0,1은 TX/RX 겸용. 프로그래밍 시 이 핀들에 연결된 것들 반드시 분리해야 아두이노 손상 방지. 그래서 최근 버전은 실드 형태로 떼어내기 쉽게 제작.
단계적 빌드 및 테스트 권장 순서:
전체 소프트웨어는 깃허브에 공개. 코드 상태가 지저분한 점 양해 바랍니다 (나눌 생각 없이 작성).
소프트웨어 주요 기능:
.svg 파일 내용 그리기아두이노 우노 프로그램 메모리 제약으로 많은 꼼수 사용. 특히 SD 카드 없던 1세대는 그래픽도 코드에 하드코딩. SVG 파싱은 매우 제한적: 직선 경로만 처리, 커브 미지원, 인크스케이프(Inkscape) 출력 특정 다이얼렉트만 지원.
SVG 파일은 SD 카드 루트에 1.svg, 2.svg...로 저장. 리모컨 숫자 버튼으로 파일 선택. 즐겨찾기 몇 개 넣어두고 화이트보드에 빠르게 그리기 좋음.
아두이노 IDE + IRRemote 라이브러리(shirriff)로 빌드.
플로터로 실제 그리기 전 반드시 시뮬레이터로 검증하세요. SVG 파싱이 허술해 오해석 확률 높음.
시뮬레이터는 플로터 코드를 OSX/리눅스용으로 컴파일해 digitalWrite 호출을 stdout 출력(타임스탬프, 핀, 상태)으로 치환하고, 이를 시각화 UI로 파이핑합니다.
2시간 그리기 95% 지점에서 버그로 망친 경험 후 제작. 원인은 SVG 내 소수점 자릿수 과다로 인한 float 파싱 버그. 시뮬레이터는 실시간보다 훨씬 빠르게 실행 가능해 개발에 큰 도움. 실제 소요 시간도 출력해줍니다. 시뮬레이터 코드 옆 README에 사용법 기재.
오래전 프로젝트지만 여전히 재미있고 개선 아이디어 많습니다. 시간 부족(가족, 일, 다른 프로젝트)으로 더는 못 하지만, 이 글을 보고 영감 얻거나 직접 플로터 만들어보는 분들이 계시길 바랍니다.
목표였던 $10 미만 달성은 못 했지만 부품가 하락으로 곧 가능할지도. 스파게티 코드 욕하지 마시고, 공유 자체에 의의를 두세요. 본 보야지!
- 프레드릭
제조공정
전기자전거나 전기차를 구매해보셨다면 구동 모터가 브러시 모터와 브러시리스 모터 두 가지라는 걸 아실 겁니다. 어느 쪽이 더 나을까요? 선택 기준은 무엇일까요? 이 글에서 브러시 모터와 브러시리스 모터의 차이점을 상세히 비교해 드립니다. 관련 제품 구매 시 도움이 되길 바랍니다. 작동 원리의 차이 구조 브러시 모터는 주로 고정자, 회전자, 브러시로 구성됩니다. 브러시리스 모터는 전형적인 메카트로닉스 제품으로, 모터 본체와 드라이버로 구성됩니다. 정류 방식 브러시 모터는 기계적 정류 방식: 자석(극)은 고정되고 코일이 회전합니다.
유압 모터는 농기계부터 자동차 제조까지 다양한 분야에서 사용됩니다. 작동 원리를 이해하는 것이 고장 진단과 수리의 핵심입니다. 이번 글에서는 유압 모터의 회전 방향을 반전시키는 방법을 자세히 알아봅니다. 유압 모터란? 유압 모터는 가압 유체를 이용해 엔진이나 기계 장치를 회전시킵니다. 유체 흐름 방향을 반대로 하면 기계가 반대 방향으로 움직입니다. 유압 모터를 반전시키려면 먼저 유체가 올바른 방향으로 흐르는지 확인해야 합니다. 모터 샤프트에 스위치를 부착하고 전원에 연결해 흐름 방향을 확인하세요. 올바른 방향이 확인되면 스위치를