Joystick Hall Effect cho Space Mouse
Nâng cấp Space Mouse bằng joystick Hall Effect (PS5) để loại bỏ dead zone và tránh mòn rãnh carbon như potentiometer. Có PCB drop-in thay thế, hướng dẫn mua module/PCB, mẹo hàn và chỉnh firmware DEADZONE.
Mô tả
Mình thấy đây là một bước nâng cấp lớn cho Space Mouse mã nguồn mở.
Các joystick kiểu potentiometer đang dùng hiện tại có 2 vấn đề chính:
- Chúng hoạt động bằng cách quẹt một tiếp điểm kim loại lên một rãnh carbon – rãnh carbon này rồi cũng sẽ bị mòn theo thời gian.
- Có một vùng chết (dead zone) quanh vị trí trung tâm của joystick, nơi mà dịch chuyển nhỏ sẽ không tạo ra thay đổi ở tín hiệu đầu ra.
Các module Hall Effect thì không bị những vấn đề này. Việc không có dead zone đã cải thiện Space Mouse của mình rõ rệt.
Trước đây: dịch chuyển joystick nhẹ không có tác dụng, phải đẩy thêm chút nữa thì nó mới “nhảy” vào hoạt động với mức dịch chuyển nhiều hơn mình mong muốn.
Bây giờ: dịch chuyển joystick nhỏ là đã ăn ngay, cho ra chuyển động nhỏ, mượt khi bạn đang thao tác model trên màn hình.
Mình dùng module joystick Hall Effect của PS5. Để dùng được trong các phiên bản Space Mouse khác nhau ở đây, chúng cần được gắn lên một PCB.
Mình đã thiết kế một PCB như vậy và đặt sản xuất một lô (cho những bạn không muốn tự đặt qua nhà sản xuất PCB và cũng muốn nhận nhanh hơn).
PCB này thay thế trực tiếp (drop-in replacement) cho joystick potentiometer hiện tại. Kết nối tới Arduino giữ nguyên, khoảng cách lỗ bắt vít cũng giống joystick hiện tại (chỉ khác nhẹ là PCB mình thiết kế đặt joystick đúng chính giữa giữa các lỗ bắt).
Ngoài module joystick Hall Effect, bạn sẽ cần thêm header PCB – tìm “2.54 mm Right Angle Single Row Pin Header Male 90 degrees” trên Ali Express, eBay, Amazon…

(Bạn không nhất thiết phải dùng pin header nếu bạn muốn hàn dây trực tiếp lên board)
Lấy PCB của bạn
Có 2 lựa chọn:
- Tự đặt từ nhà sản xuất PCB bạn chọn, dùng file Gerber “Gerber Files Hall-Effect Joystick PCB.zip”
- Mua trên eBay – mình có đăng bán theo bộ 4 PCB (mình để giá thấp, gần như chỉ đủ bù chi phí. Mình không có ý định kiếm lời từ bạn). Tìm listing eBay 326171361770
https://www.ebay.co.uk/itm/326171361770
https://www.ebay.com/itm/326171361770
Mua module joystick Hall Effect.
Có thể mua trên Ali Express, Amazon, eBay… (mình mua trên Ali Express thấy kết quả khá ổn).
Tìm “PS5 Hall Effect joystick module” – bạn đang cần đúng bản PS5 (bản này cho mình kết quả tốt).
Lưu ý: không phải cứ người bán ghi là PS5 Hall Effect module thì nó đúng là vậy! Hình bên dưới là hướng dẫn nên chọn cái nào và tránh cái nào.

Một vài mẹo hàn
Mình không hướng dẫn bạn cách hàn 😀 nhưng đây là vài cách mình thấy giúp thao tác dễ hơn.
Kẹp binder clip rất hữu ích để giữ pin header đúng vị trí khi hàn.

File “Soldering Stand.stl” rất tiện để giữ joystick khi hàn PCB lên chúng.

Thay đổi phần mềm.
Do joystick này không có dead zone, mình thấy cần đặt “int DEADZONE” thành giá trị 20.
Mình chạy routine calibration để lấy giá trị max/min – không có vấn đề gì.
Mình vẫn chưa thay đổi các giá trị sensitivity. Có hiện tượng là đôi khi joystick không quay về đúng vị trí trung tâm và model trên màn hình vẫn còn đang di chuyển (dù rất chậm). Có vẻ là vấn đề cơ khí, vì chỉ cần chạm/đẩy rất nhẹ joystick là nó dừng chuyển động nhỏ này.
(Cập nhật: xịt một ít “Dry PTFE” lên các viên bi và ổ bi của chúng có vẻ đã xử lý được 😁 Ngoài ra, mình đã đặt “int modFunc = 3; ” – bạn sẽ có khả năng điều khiển rất mịn cho mọi chuyển động)
Firmware hiện tại (cảm ơn Andun_HH@Andun_HH).
https://github.com/AndunHH/spacemouse
Một lời nhờ cộng đồng
Các module joystick Hall Effect đưa Space Mouse lên một tầm mới. Mình nghĩ vẫn còn nhiều cải tiến nữa ở cả phần cơ khí lẫn phần mềm.
Bạn thử mấy joystick này xem sao; có ý tưởng cải tiến nào không? – Đăng lên đây nha 👍
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!