Open MicroManipulator – A sub-micrometer 3D motion control plattform
오픈 마이크로매니퓰레이터 - 서브마이크로미터급 3D 모션 제어 플랫폼
저가 부품으로 직접 제작하는 XYZ 마이크로매니퓰레이터 프로젝트입니다. 자기식 엔코더의 측정 해상도를 높여 50nm 단위로 움직이도록 설계했지만, 절대 정확도는 해상도보다 낮다고 명시합니다. 펌웨어와 CAD, GUI, Python API를 공개하며 광학 정렬과 현미경 작업 등을 겨냥합니다.
- 주제
에디터 노트
50nm는 장치가 움직일 때 구분하는 최소 단위이지 위치의 절대 오차가 아닙니다. 원문도 절대 정확도가 그보다 상당히 낮다고 선을 긋고, 플라스틱 부품의 열 드리프트를 언급합니다. 댓글에서 나온 온도 조절 챔버와 진동 차단 테이블은 정밀 계측의 일반적인 조건에 관한 의견이며 이 장치가 갖춘 사양은 아닙니다. 따라서 이 프로젝트의 강점은 산업용 계측기 수준의 정확도를 보장하는 데 있지 않고, 저가 부품과 공개된 제작 자료로 폐루프 제어와 모션 플래닝을 직접 구현할 수 있다는 데 있습니다. 실제 성능을 판단하려면 보정과 온도 변화에 따른 오차를 별도로 확인해야 합니다.
AI 요약
Open MicroManipulator는 광학 정렬, 전자 부품 프로빙, 현미경 작업에 쓰도록 설계한 오픈소스 XYZ 모션 제어 장치입니다. 저렴하고 구하기 쉬운 부품을 사용하며, 기구와 전자회로를 직접 조립할 수 있도록 설계 파일과 펌웨어, 제작 안내를 공개합니다. 평행 기구 구조와 소형 볼 조인트로 강성과 넓은 이동 범위를 확보하고, 시중 스테퍼 모터를 30kHz 폐루프 제어기와 정밀 PWM 신호로 구동합니다.
구동과 제어
자기식 회전 엔코더의 해상도를 '자기 기어링' 방식으로 30배 높여 50nm 단위의 움직임을 구현합니다. 프로젝트는 이 수치가 해상도이며 절대 정확도는 상당히 낮다고 구분합니다. 플라스틱 부품은 모터 열로 온도가 오르면 열 드리프트가 생길 수 있다고도 언급합니다. 장치를 USB 시리얼로 연결하면 G-code로 제어할 수 있으며, 펌웨어에는 경로를 미리 살펴 움직임을 부드럽게 잇는 look-ahead 모션 플래너가 들어 있습니다. 3차원 위치 이동뿐 아니라 6자유도 자세 보간과 계획도 지원합니다.
펌웨어와 제작 자료
펌웨어는 C++로 작성했고, Visual Studio Code와 PlatformIO를 이용해 빌드하고 업로드합니다. 사용자는 자신의 구성에 맞게 hw_config.h를 수정한 뒤 축을 보정해야 합니다. G0와 G1 이동, G4 대기, G28 홈 이동, M3 도구 출력 등 일부 G-code 명령을 지원합니다. 명령을 보낸 뒤에는 이전 명령의 응답을 기다려야 합니다. 이를 지키지 않으면 동작이 정의되지 않습니다.
Python API는 시리얼 연결, 홈 이동, 보정, 위치 이동, 장치 정보 조회를 제공합니다. 별도의 GUI에서는 장치 이동과 카메라 영상 확인, G-code 실행, 마우스 실시간 제어를 할 수 있습니다. 펌웨어 업데이트에는 조인트 보정 결과를 플래시에 저장하는 기능과 병렬 홈 이동, 상태 조회 명령이 추가됐습니다. GPIO 도구 출력은 PWM을 지원하며, 모션 플래너에 포함돼 이동이나 대기 명령에 맞춰 실행됩니다.
기구 CAD 파일은 FreeCAD 형식이며 STL 파일도 제공합니다. 부품은 3축 CNC 밀링을 고려해 설계했고 3D 프린팅도 가능하지만, 플라스틱 부품은 열 드리프트에 영향을 받습니다. 전자회로는 KiCAD로 설계했으며 흔히 구할 수 있는 모터 드라이버와 MCU 보드를 사용합니다. 보드 조립에 SMD 납땜은 필요하지 않습니다. 다만 새 하드웨어 버전의 부품 목록은 아직 갱신되지 않았습니다. PCB v1.2에서는 다이오드 D1의 잘못 놓인 비아가 5V 전원과 접지를 단락시키므로 수정이 필요하며, v1.3에서 해당 문제가 해결됐습니다.
Hacker News 반응
- @option_greek — 이 사람은 전설입니다. 이 장치와 다른 것들을 만드는 유튜브 영상 시리즈 전체가 볼 만합니다. 누군가 유튜브에 서브마이크로미터 DIY 매니퓰레이터를 올리고 홍보도 없이 사라지는 게 놀랍습니다.
- @bahmboo — 여기서 보게 돼 놀랐습니다. 1년 전 처음 봤을 때보다 뭔가 업데이트됐는지 궁금했는데, 자세히 찾아보진 않았지만 그런 것 같진 않습니다. 정말 멋진 작업입니다. 이걸로 일자리를 얻었거나 생계를 꾸릴 만큼 바빠졌기를 바랍니다. 영상 링크를 덧붙입니다.
- @WillAdams — 온도 같은 요소를 어떻게 관리하는지 궁금합니다. 예전에 금속 활자에 주기도문을 새기는 작업을 했을 때 그런 요소가 눈에 띄는 영향을 줬습니다.
- @bahmboo — 전문가는 아니지만 영상이 아주 자세합니다. 상대적인 의미에서는 매우 정밀한 폐루프 제어를 합니다. 이 분야에서는 GPS 같은 게 없으니 모든 게 상대적이고 기준 좌표계와 국소성을 따릅니다. 영상 21분 47초쯤에서 모터가 플라스틱 부품을 데우면서 열 드리프트가 생긴다고 말합니다.
- @Joel_Mckay — 보통 플랫폼은 온도 조절이 되는 방풍 챔버와 진동 차단 테이블에 놓고, 좁은 작동 온도 범위인 ±0.5°C 안에서 변형이 적은 재료를 씁니다. 스테이지 자체보다 위치 센서가 주요 설계 제약이며 여전히 비용이 많이 듭니다. 어떤 시점에는 PI-USA 스테이지 가격이 오히려 합리적이었다는 걸 깨닫는 사람도 있습니다.
- @bahmboo — 말씀하신 내용을 찾아봤습니다. 취미 프로젝트 수준에서는 훌륭한 공학 설계지만, 실제로 이런 수준의 계측을 맡는다면 보정하고 해결할 부분이 여전히 많습니다. 보통 큰돈이 걸려 있고 실수할 수 없으니 업계에서 인정받는 제품 가격이 높은 거겠지요.
- @RobotToaster — RepRap Micron도 비슷한 일을 합니다.
- @WalterGR — 오늘 누군가 그 프로젝트를 올렸습니다.
- @RobotToaster — 그 댓글을 쓴 사람이 저입니다. 댓글을 단 뒤 게시물로 올리는 게 낫겠다고 생각했습니다.
- @ikidd — 델타봇과 비교하면 어떨지 궁금합니다. 델타봇은 미세한 해상도가 필요한 픽앤플레이스에 자주 쓰이니까요. 델타봇이 이 장치보다 작업 범위가 훨씬 넓을 것 같습니다.
- @alted — 비용은 더 들지만 압전 stick-slip 액추에이터도 DIY로 만들 수 있습니다. 잠재적으로 서브나노미터 해상도를 내며 비용은 약 1,000달러입니다.
- @groos — 모터가 없는 수동 버전도 있습니다. 저는 점회절 간섭계에 쓰려고 개조해 만드는 중입니다.
- @dubbie99 — 여기서 이걸 보게 되다니 신기합니다. 주말 내내 이 장치를 만들고 있었습니다.
원문: GitHub / 번역·요약: Trawling