Đồng Hồ Số Cơ Non-Split Flap Digital Clock
Mẫu Non-Split Flap Digital Clock dùng cơ cấu flip xoay mới để tránh đường tách của split-flap, cho mặt hiển thị lớn và nghiêng 15°. Motor nằm gọn trong bánh xe, tự canh mỗi phút, dễ chỉnh giờ, in được bằng máy 180×180mm và không cần support.
Mô tả
Mình đã phát triển một cơ cấu đồng hồ mới để khắc phục các vấn đề hay gặp ở những mẫu đồng hồ cơ hiện có. Các split-flap display nổi tiếng thường bị lộ đường “tách” ngay trên chữ/số, và bề mặt hiển thị của chúng không thể nghiêng vì phụ thuộc vào trọng lực. Đồng hồ kiểu Numechron thì vùng hiển thị khá nhỏ so với kích thước thân, do phải chứa bánh xe lớn bên trong. Mẫu “Non-Split Flap Digital Clock” này có nhiều ưu điểm, gồm:
- Cơ cấu flip xoay giúp giảm số lượng flaps, từ đó có thể thu nhỏ kích thước bánh xe mà vẫn đảm bảo vùng hiển thị đủ lớn so với thân máy.
- Bề mặt hiển thị được nghiêng 15 độ để nhìn rõ hơn.
- Motor được lắp bên trong bánh xe của hàng chục phút, nên hai bên và phía sau không có phần nào bị lồi ra.
- Cơ cấu móc một chiều (ratchet) cho phép tự canh thẳng hàng đơn vị phút. Việc canh này được thực hiện mỗi phút.
- Chỉnh giờ rất dễ bằng cách xoay thủ công các bánh xe. Cả bánh xe giờ và bánh xe 10 phút đều có thể xoay được theo cả hai chiều.
- Tất cả các chi tiết chính đều có thể in bằng máy in 3D cỡ nhỏ (180x180mm). Hoàn toàn không cần support. Đổi filament trong lúc in sẽ giúp tạo nhiều màu cho các flap.
Mar 17, 2024 : Hiện đã có thêm các chi tiết tuỳ chọn cho phiên bản skeleton. Hai khung hông skeleton được chỉnh sửa, và thêm khung mặt trước có màu. Các chi tiết khác giống hệt bản có vỏ.
Video
Supplies


Vật liệu
- Motor bước giảm tốc 28BYJ-48 kèm board driver. Bạn có thể tìm trên Amazon, AliExpress
- Bộ vít tự ren 2mm (tapping screws) nhiều loại. Bạn có thể tìm trên Amazon, AliExpress
- Bất kỳ microcontroller nào (Raspberry Pi Pico, Arduino nano, ESP32, v.v.). Tất cả các board minh hoạ ở trên đều có thể lập trình bằng Arduino IDE, và code tương thích ngoại trừ phần nối port.
- Chất bôi trơn (silicone grease)
Dụng cụ
- Tua vít
- Mỏ hàn (nếu dùng microcontroller không có pin headers)
- Dao / scraper / giũa để gỡ bavia / làm mịn bề mặt / vát mép (chamfer) các góc của chi tiết in
- Bộ mũi khoan. Mình dùng mũi đường kính 1.5, 2.0 và 3.5mm cho dự án này
In flaps




Đổi filament trong lúc in để tạo màu khác cho các con số.
- Độ dày flaps là 3mm, và độ sâu của số là 1mm. Vì vậy, bạn nên đổi vật liệu trước mốc 1mm và sau mốc 2mm. Mình đặt pause ở 0.8mm và 2.2mm tính từ mặt bàn in.
- Nếu bạn dùng Cura Slicer, bạn nên dùng chức năng “Pause at height” theo thứ tự giảm dần.
- Trước tiên hãy kiểm tra setting có chạy ổn với máy in của bạn không, bằng file “single-flap-for-test.stl”.
- Với “10min-flaps.stl”, bạn không cần đổi filament 2 lần vì các chi tiết này chỉ có một mặt.
Hoàn thiện

- Kiểm tra và vệ sinh trục (axes) của flaps ở cả hai bên. Đây là phần rất quan trọng để flap xoay mượt.
- Vát mép (chamfer) cạnh trên ở hai bên của flaps. Cạnh này chạm vào phần guide của flaps để định vị tư thế flap (khung hai bên) và giúp chuyển động xoay của rotor giờ và rotor 1 phút mượt hơn.
In và hoàn thiện các chi tiết thiết yếu
In
- In tất cả chi tiết theo đúng tư thế (posture) được cung cấp.
- Không cần support.
- Chiều dài “main-axis.stl” vượt 180mm (nhưng vẫn trong 200mm). Vì vậy, nếu dùng máy nhỏ thì đặt chéo trên bàn in.

Hoàn thiện
- Gỡ sạch bavia và cục nhựa dư (blobs), nhất là quanh trục, lỗ và bề mặt trượt.
- Đặc biệt, bề mặt bên trong của ray dẫn flap (flap guide rails) của “left-frame.stl” và “right-frame.stl” cần thật mịn để tránh đồng hồ bị kẹt ngoài ý muốn.
- Làm sạch lỗ bằng mũi khoan. Dùng mũi 1.5mm cho lỗ bắt vít tự ren. Dùng mũi 2.0mm cho lỗ xuyên (through holes) của vít.
- Lỗ cho trục của flaps có thể làm sạch bằng mũi 3.5mm. Vui lòng cẩn thận để không làm gãy chi tiết.
Lắp ráp cụm (Subaassembly)


Lắp 3 rotor. Mỗi rotor gồm hai phần.
- Flaps có thể gắn sau khi lắp rotor nhờ độ đàn hồi của khung rotor. Nhớ đảm bảo flaps xoay thật mượt. Xem video đính kèm.
- Lắp “10min-flaps” (thực ra không phải flaps) vào “10min-rotor”. Nếu bị tuột ra thì dùng keo.
Lắp các khung trung gian (1 và 2).
- Lắp trước các khung trung gian như hình phía trên.
- Giấu và cố định dây motor bằng “cable-cover.stl”. Nếu cover dài quá thì cắt bớt.
- Kiểm tra độ mượt của tất cả bộ phận.
Ghép Tất Cả Các Phần Lại Với Nhau
Xem video hướng dẫn lắp ráp (7 phút).
- Cơ bản là lắp từ trái (giờ) sang phải (1 phút).
- Các flap xoay có thể gắn sau nhờ độ linh hoạt của phần giữ flap (rotor).
- Phần lớn chi tiết đối xứng quay 60 độ nên bạn không cần quá để ý hướng, ngoại trừ rotor 1 phút vì nó có dạng ngũ giác. Nó có ký hiệu “0” ở bên trái.
- Đặt các bánh răng của cơ cấu carryover về trạng thái “ngay sau khi carryover”. Khi bánh răng ở vị trí này, có thể lắp rotor sao cho “0” quay ra phía trước.
Căn chỉnh
- Để chỉnh độ cao của chữ số, chỉnh góc của các adjusters ở phía sau đồng hồ. Tác lực mạnh hơn sẽ làm chữ số hạ xuống thấp hơn.
Microcontroller
Mạch (Circuitry)
- Bạn có thể dùng bất kỳ microcontroller nào. Mình dùng Arduino nano và Waveshare RP2040-Zero. Xem cách nối ở hình phía trên. Mạch này cũng là dạng mạch mình hay dùng cho các dự án đồng hồ khác, như “Triaxial Numechron Clock” hoặc “Digital Geneva Clock”.
- Độ chính xác của đồng hồ phụ thuộc vào loại oscillator trên microcontroller. RP2040-Zero chính xác hơn Arduino nano vì có crystal oscillator. (Arduino nano dùng ceralock oscillator rẻ hơn nhưng kém chính xác).
- Vỏ cho Arduino nano và board driver có thể tìm tại https://www.thingiverse.com/thing:5145523.
- Vỏ cho Waveshare RP2040-Zero và board driver có thể tìm tại https://www.thingiverse.com/thing:6619200.
- Mình đã làm bản case chỉnh sửa để gắn lên mặt sau của đồng hồ này (xem Bước 6).
Code
- “stepper-test.ino” chạy motor liên tục. Dùng để kiểm tra motor đã nối đúng chưa.
- “forward-back.ino” chạy đồng hồ nhanh. Chuyển động gần giống chạy thật, chỉ là nhanh hơn.
- “clock.ino” là code dùng thực tế.
Nếu motor quay ngược chiều, đổi source code từ
int port[4] = {4, 5, 6, 7};
to
int port[4] = {7, 6, 5, 4};
Nếu bạn dùng board Waveshare RP2040-Zero và nối như hình trên, hãy đổi source code thành
int port[4] = {5, 4, 3, 2};
Vận hành (Operation)
- Nhấn nút reset thì nó sẽ quay ngược để canh chỉnh (alignment). Nếu rotor 1 phút đang ở vị trí không đúng, hãy nhấn reset vài lần.
- Sau khi reset, nó sẽ lập tức chạy tới thêm 1 phút. Vì vậy có thể dùng nút reset để chỉnh giờ (tăng 1 phút).
Chi tiết tuỳ chọn
Nắp (Cover)
- Nắp đáy được cố định bằng một con vít ở giữa.
- Nắp trên chỉ đặt lên đồng hồ. Rất tiện khi cần chỉnh giờ.
- Các chi tiết này vượt 180x180mm (nhưng vẫn trong 200x200mm).
Phiên bản skeleton
- Dùng hai khung hông đã chỉnh sửa: “skeleton-left.frame.stl” và “skeleton-right-frame.stl”.
- In và dán “skeleton-front-frame.stl” bằng băng keo hai mặt.
Case để gắn mạch (circuitry)
Có sẵn case cho phần mạch. Case này về cơ bản giống các mẫu dưới đây, chỉ khác phần nối dài và lỗ vít để bắt vào đồng hồ.
- “Hide-away unit case for Arduino nano and 28BYJ-48 stepper motor”
- “Hide-away unit case for Waveshare RP2040-Zero and 28BYJ-48 stepper motor”
Category: Gadgets
Giấy phép
Tác phẩm này được cấp phép theo
Creative Commons — Attribution — Noncommercial — Share AlikeCC-BY-NC-SA
File mô hình
Chưa có bản in nào được khoe. Hãy là người đầu tiên!
Chưa có bình luận nào. Hãy là người đầu tiên!