Chế tạo mount kính thiên văn bằng gear harmonic wave tùy chỉnh và ESP32
(svendewaerhert.com)- Tác giả đã chế tạo một mount kính thiên văn tùy chỉnh bằng gear harmonic wave (harmonic drive) và vi điều khiển ESP32
- Do mount tracking thương mại có giá rất cao, tác giả đã chọn tự thiết kế và chế tạo theo hướng DIY
- Bài viết mô tả chi tiết toàn bộ quá trình thiết kế, gồm thiết kế và chế tạo PCB, dựng mô hình 3D bằng FreeCAD, lựa chọn linh kiện cấu thành, v.v.
- Tổng chi phí chế tạo vào khoảng 1.700 euro, và nếu tính theo đơn giá cho 1 bộ thì đạt năng lực cạnh tranh so với sản phẩm thương mại
- Tác giả chia sẻ hiệu năng chụp thiên văn thực tế và kinh nghiệm cải tiến thông qua việc tích hợp mount tự chế với firmware OnStepX
Điểm khởi đầu mới
Vài năm trước, tác giả được truyền cảm hứng từ một kênh YouTube về chụp ảnh thiên văn và bắt đầu quan tâm đến astrophotography. Tác giả thử chụp tinh vân Orion bằng cách chụp hàng trăm ảnh phơi sáng ngắn trên tripod rồi ghép lại bằng phần mềm Siril. Tuy nhiên, sau khi nhận ra sự cần thiết của thiết bị tracking, tác giả đã mua tracker Move Shoot Move, nhưng vì khó tìm thiên thể mục tiêu, khó căn cực và kết quả chưa như mong đợi, nên dần quan tâm đến việc tự chế một mount kính thiên văn bài bản hơn.
Mở rộng kinh nghiệm làm PCB
Năm 2024, tác giả tình cờ xem được video YouTube về thiết kế PCB tùy chỉnh, từ đó học cách sử dụng PCB sản xuất thực tế gọn gàng và rẻ hơn thay cho breadboard tạm bợ trước đây. Dự án đầu tiên là một bộ điều nhiệt thông minh dùng ESP32, màn hình e-paper và cảm biến BME680. Dựa trên kinh nghiệm đó, tác giả quyết định áp dụng trực tiếp kỹ thuật thiết kế và sản xuất PCB vào mount kính thiên văn của mình.
Nghiên cứu nghiêm túc và tận dụng tài nguyên cộng đồng
Thiết kế được xây dựng xoay quanh việc chọn harmonic drive. Tác giả đã dành nhiều thời gian nghiên cứu chọn linh kiện và cấu trúc cơ khí, tham khảo AliExpress cùng mã nguồn mở từ nhiều cộng đồng DIY khác nhau như HEMY, HrEM, DHEM, DIY EQ Mount V2. Đồng thời cũng khảo sát nhiều triển khai mã nguồn mở và thông tin cộng đồng liên quan đến động cơ stepper/servo, điều khiển FOC, SimpleFOC, v.v.
Quyết định thiết kế và cấu trúc
- Trục RA (xích kinh/đích xích đạo): servo 42AIM15 + harmonic drive Type 17 (tỉ số truyền 100:1)
- Trục DEC (xích vĩ): stepper MKS Servo042D + harmonic drive Type 14 (tỉ số truyền 100:1)
- Mount và housing: dùng plate Arca Swiss, tương thích với wedge Move Shoot Move
- Chế độ vận hành: GEM (xích đạo) hoặc ALTAZ (ngang-dọc)
- Vi điều khiển: ESP32-S3
- Nguồn điện: USB-C PD tối đa 24V/4A
- Điều khiển động cơ: step/dir/en, ULN2003 + MODBUS, CANBUS
- Khả năng mở rộng: đưa các chân GPIO còn lại ra ngoài
Nhờ các đặc tính microstep và điều khiển servo theo từng động cơ, thiết kế được đơn giản hóa đồng thời cải thiện độ chính xác tracking. Việc thay đổi microstep động qua CANBUS giúp hiện thực sự cân bằng giữa slew tốc độ cao (di chuyển vị trí nhanh) và tracking chính xác.
Thiết kế PCB và vượt qua sự cố
- Thiết kế PCB hình bán nguyệt bằng KiCad để khớp chính xác với case
- Dùng module ESP32-S3 không anten để tăng độ tự do khi bố trí, đồng thời áp dụng mạch nguồn vào USB-C (tối đa 24V)
- Sử dụng mạch mã nguồn mở PicoPD và IC AP33772. Chọn đầu nối JST PH series để có kết nối nhỏ gọn nhưng tải tốt
- Trong quá trình thay IC ban đầu, tác giả từng gặp lỗi đấu dây I2C và hoạt động sai, sau đó giải quyết ở phiên bản thứ hai bằng cách tăng cường kiểm chứng và bổ sung nhiều test point
Tích hợp firmware OnStepX
Áp dụng firmware mã nguồn mở OnStepX để hỗ trợ điều khiển kính thiên văn và giao tiếp WiFi. Ban đầu, khi slew (di chuyển điểm ngắm nhanh), ESP32 gặp vấn đề ổn định do quá tải; điều này được khắc phục bằng giảm tốc độ slew và chuyển sang chế độ WiFi client. Tác giả chỉ cần thêm file pin layout phù hợp với OnStepX cùng đoạn mã điều khiển microstep động là đã tích hợp thành công mà hầu như không cần sửa đổi gì thêm.
Quy trình sản xuất và lắp ráp
Cả PCB lẫn gia công kim loại CNC đều được thực hiện tại JLCPCB. Tác giả đã đưa ra một lựa chọn khá táo bạo là đặt CNC chỉ dựa trên bản vẽ CAD mà không in thử 3D trước, và vẫn nhận được độ chính xác linh kiện rất đáng hài lòng. Tuy vậy, vẫn có lỗi thiết kế ở nắp trục xích đạo, nhưng được xử lý đơn giản bằng spacer. Tất cả linh kiện đều có thể lắp ráp chỉ với ren taro M3/M4 và bắt vít. Việc tự taro thủ công cũng giúp giảm chi phí sản xuất.
Kinh nghiệm vận hành thực tế
Tác giả đã tích lũy kinh nghiệm thực chiến sau rất nhiều lần thử-sai với căn cực, thiết lập phần cứng và cấu hình phần mềm (INDI, KStars, Ekos, PHD2). Trong những lần vận hành đầu tiên, việc chụp thất bại xảy ra thường xuyên do nhiều vấn đề lớn nhỏ, nhưng sau quá trình ổn định, hệ thống đạt độ chính xác 1–2 arcsecond, đủ để chụp phơi sáng 30 giây với ống kính 600mm. Tác giả dùng Siril để ghép ảnh và đang tiếp tục hướng tới các mục tiêu khác như ghép ảnh multi-night.
Chi phí chế tạo và tính kinh tế
Tổng chi phí vào khoảng 1.700 euro (= bao gồm dụng cụ, phần cứng và linh kiện dự phòng cho nghiên cứu ban đầu). Nếu quy đổi theo giá thành cho 1 bộ thì vào khoảng 800 euro. So với mount GOTO thương mại (1.200–4.000 euro), giải pháp này cho thấy hiệu quả kinh tế cao, nhưng tác giả nhấn mạnh rằng trải nghiệm tự tay làm ra còn ý nghĩa hơn nhiều.
Đơn giá chi tiết theo từng hạng mục (tóm tắt các mục chính)
- Harmonic drive (2 cái): 144 euro
- MKS và servo motor (mỗi loại 2 cái): 73~216 euro
- Linh kiện CNC: 215 euro
- PCB, đầu nối, ốc vít, dụng cụ và các hạng mục khác
Kết luận và cảm nghĩ
Tác giả nhấn mạnh rằng trải nghiệm tự tay làm và quá trình giải quyết vấn đề, cùng toàn bộ vòng lặp thiết kế-sản xuất-kiểm chứng, mang lại ý nghĩa lớn hơn cả việc mua sản phẩm thương mại. Thất bại của PCB Version 1 cũng giúp rút ra bài học về tầm quan trọng của việc kiểm chứng cẩn thận. Tác giả học được nhiều điều trong quá trình nâng cao kỹ năng với FreeCAD, KiCad, tận dụng mã nguồn mở và phát triển phần cứng từ đầu đến cuối. Nhờ firmware OnStepX và tài nguyên cộng đồng, dự án mount kính thiên văn DIY được chứng minh là điều người bình thường cũng có thể thực hiện.
Tự tay làm ra và hiểu hoàn toàn chiếc mount theo dõi các vì sao của riêng mình — cảm giác thành tựu đó thực sự vô cùng đáng giá.
1 bình luận
Ý kiến trên Hacker News
Giải thích rằng sợi cáp đi ra từ bộ cấp nguồn USB-C sẽ đóng vai trò như một cuộn cảm, tức tạo thành cấu trúc bộ lọc LC và hoạt động như một bộ lọc thông thấp, vì vậy cần có tụ điện on-board; khi động cơ đột ngột tiêu thụ dòng lớn, do đặc tính của cuộn cảm nên dòng điện không thể tăng ngay lập tức, nên tụ điện sẽ cấp dòng thay thế trước, sau đó cuộn cảm mới dần dần truyền dòng
Đây thực sự là một dự án và phần giải thích rất tuyệt, lại còn đúng thời điểm; từ năm 13 tuổi tôi đã mê thiên văn học nghiệp dư, từng sở hữu nhiều kính thiên văn và đã dành rất nhiều thời gian ngắm bầu trời đêm cùng gia đình; gần đây tôi lôi chiếc SCT 10 inch và Newtonian 4 inch ra để cho cậu con trai 7 tuổi xem Mặt Trăng và Sao Thổ, bố mẹ tôi cũng có thể xem cùng nên điều đó rất ý nghĩa; chiếc SCT 10 inch đang đặt trên một fork mount đời cũ không có chức năng GOTO; tôi cũng từng tìm hiểu lợi ích của GOTO, nhưng vì vẫn thích thú với niềm vui tự mình tìm sao nên chưa đi đến quyết định mua; tôi thì đã mua camera làm mát chuyên dụng ZWO 585MC; mặt khác, tôi cũng đã nhiều lần mất rất nhiều thời gian chỉ để tìm sao; Telrad thôi là chưa đủ, nên tôi cũng từng nghĩ đến việc tự làm một mount bên thứ ba bằng máy in 3D và kiến thức điện tử của mình; tôi cũng từng cân nhắc thay động cơ sang stepper NEMA 17; trong quá trình tìm hiểu thì tôi biết đến dự án PiFinder, có vẻ như đây là sự cân bằng hoàn hảo giữa tự động hóa và dẫn hướng thủ công https://www.pifinder.io/, và tôi cảm thấy chắc chắn rằng nhờ sự phát triển của công nghệ in 3D và sản xuất PCB, rất nhiều vấn đề sẽ sớm được giải quyết
Nhân nói một điều về trace mạch trong dự án tuyệt vời này: tác giả nói đã làm trace quá rộng để hỗ trợ 24V, nhưng thực ra điện áp càng cao thì dòng điện càng thấp, nên ngược lại có thể để hẹp hơn cũng được; bề rộng trace được quyết định theo dòng điện, còn khoảng cách giữa các trace mới là phần cần chú ý theo điện áp
Trích từ blog: "khi di chuyển kính thiên văn tới mục tiêu, số lượng xung gửi tới động cơ tăng lên và gây quá tải cho ESP32 nhỏ bé"; tôi cũng làm công việc điều khiển stepper motor chính xác ở tốc độ cao, và không thể chấp nhận dù chỉ một chút mất xung hay glitch nào; lõi MCU có giới hạn nên tôi điều khiển bằng timer + DMA; cuối cùng tôi tận dụng tính năng ACT (Advanced Control Timer) của MCU STM32G4; với chỉ DMA thì việc tạo dạng sóng tùy ý rất dễ, nên dù lõi có quá tải hay vào sleep mode thì timer cũng không bị ảnh hưởng; dạo này tôi cũng đang cân nhắc PIO của RP2350; ESP32 có MCPWM, nhưng để triển khai profile tăng tốc/giảm tốc phức tạp theo kiểu 100% không phụ thuộc lõi thì phải dùng timer kiểu phân tầng hoặc dùng interrupt, mà như vậy lại phụ thuộc vào lõi và có khả năng xuất hiện glitch; ACT của ST là timer độc lập cho từng động cơ nên cách triển khai đơn giản, chỉ cần đọc kỹ datasheet; dùng IC driver chuyên dụng (như Trimanic) cũng là một cách, nhưng độ phức tạp phần mềm lại còn cao hơn cách của tôi
Tôi đã dùng freeCAD được 3 năm, và nhìn kết quả tạo ra trong dự án này tôi thật sự rất khâm phục; tôi thích freeCAD, nhưng cũng hiếm có trải nghiệm nào dai dẳng bất tiện và bực bội đến thế
Tôi rất quan tâm đến các dự án dùng chính telescope mount để thực hiện đo đạc chính xác, chẳng hạn như tự làm astrometry hành tinh; cảm giác việc tự mình giải được quỹ đạo hành tinh chỉ từ đo đạc giống như đang đi lại con đường mà các nhà thiên văn xưa như Kepler từng đi
Dự án thực sự rất tuyệt, nhưng khi thiết kế PCB có vẻ như tác giả chưa đưa vào các tụ điện, điện trở v.v. đúng chuẩn nên độ ổn định của vi điều khiển bị giảm; tôi tò mò mọi người thường xác định các linh kiện cần thiết như thế nào, chẳng hạn tụ decoupling; có phải chỉ cần đọc datasheet rồi thêm mọi thứ theo đó không
Điều khiến tôi đặc biệt ấn tượng là việc đặt làm các chi tiết kim loại CNC; tôi cũng là người mới học thiết kế CAD và muốn học theo
Dự án thật sự rất tuyệt; tôi tò mò chi phí làm PCB có chủ yếu do khâu assembly không, vì nếu theo JLCPCB thì bo 2 lớp, dưới 100mm, hoàn thiện HASL và các tùy chọn cơ bản vốn rất rẻ; không biết khe slot cho plate gắn đầu nối USB có phát sinh chi phí không, một lần anh đặt lắp ráp mấy bo, tỷ lệ chọn linh kiện từ thư viện tiêu chuẩn/mở rộng là bao nhiêu, nếu chỉ tự hàn riêng các đầu nối thì chi phí sẽ khác thế nào, và có đúng là chỉ cần có dù một linh kiện từ thư viện mở rộng thì toàn bộ linh kiện đều bị tăng chi phí picking riêng lẻ, nên chìa khóa tiết kiệm là giảm tối đa số chủng loại linh kiện không
Dự án thật sự rất ấn tượng; tôi cũng từng muốn mua một harmonic drive mount cỡ lớn cho scope của mình, nhưng rào cản giá quá cao; tôi cũng gặp nhiều lần mò khi dùng các công cụ EKOS/Kstars/INDI, và nếu cần điều khiển thiết bị indi từ Python thì tôi có đoạn mã tự viết này https://github.com/dahlend/contindi