E3NC Pendant - Tay cầm điều khiển không dây cho máy CNC Klipper

Tay cầm điều khiển không dây E3NC cho máy CNC chạy Klipper. Tích hợp màn hình OLED, hỗ trợ hiển thị tọa độ thời gian thực, nút bấm vật lý cho các chức năng khẩn cấp và cấu hình dễ dàng qua giao diện web nội bộ.

👁️
16
Lượt Xem
❤️
2
Lượt Thích
📥
0
Lượt Tải
Cập Nhật Jun 09, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

Mô tả

LƯU Ý: Mình vẫn cần bổ sung thêm các chức năng di chuyển!

Tay cầm điều khiển CNC không dây đa năng!

Thiết bị cầm tay này đóng vai trò như một bộ điều khiển vật lý chuyên dụng, kết nối thời gian thực với giao diện web Klipper trên máy của bạn.

Các tính năng nổi bật:

  • Đồng bộ vị trí thời gian thực: Tự động truy xuất và cập nhật vị trí chính xác của các trục X, Y, Z trên máy nhiều lần mỗi giây.

  • Cổng cấu hình web tương tác: Tích hợp giao diện web nội bộ (captive portal). Bạn có thể quản lý mạng WiFi trực tiếp từ điện thoại hoặc máy tính.

  • Điều hướng menu bằng núm xoay: Duyệt menu mượt mà nhờ encoder xoay kèm logic tăng tốc độ xoay.

  • Nút chức năng khẩn cấp chuyên dụng: Các nút bấm vật lý được gán trực tiếp vào những chức năng quan trọng: Home (G28), Tạm dừng (Pause), Tiếp tục (Resume), và Dừng khẩn cấp (E-Stop / M112).

  • Màn hình OLED sắc nét: Sử dụng thư viện U8g2 cho bố cục rõ ràng, độ tương phản cao ngay cả trong điều kiện ánh sáng nhà xưởng.

  • Hai cổng Type-C: Một cổng ở cạnh bên dành cho ESP32 nếu bạn muốn vọc vạch thêm, và một cổng ở đáy để sạc pin.

Cách thức hoạt động:

  1. Kết nối mạng thông minh: Khi khởi động lần đầu, nếu chưa có WiFi, ESP32 sẽ tự tạo một điểm truy cập riêng. Bạn chỉ cần kết nối điện thoại vào và trang cấu hình sẽ tự động hiện ra.

  2. Động cơ giao tiếp thích ứng: Tay cầm giao tiếp trực tiếp với Moonraker API qua cổng 7125, sử dụng cơ chế truy vấn JSON tối ưu để lấy tọa độ (gcode_move, toolhead) mà không gây nặng máy Raspberry Pi của bạn. Các lệnh di chuyển được gửi đi tức thì qua HTTP POST G-code.

  3. Kiến trúc bất đồng bộ: Việc làm tươi màn hình và xử lý trạng thái nút bấm diễn ra độc lập với quá trình gọi mạng, đảm bảo giao diện luôn mượt mà và không bị giật lag khi truyền dữ liệu.

📦 Danh sách linh kiện (BOM)

Để thực hiện dự án này, bạn cần chuẩn bị các linh kiện điện tử sau:

  • Vi điều khiển: ESP32 Devkit v1 Type-C (loại 30-pin).
  • Màn hình: OLED 128x128 (ví dụ: Pimoroni SH1107 hoặc màn I2C SSD1306/SH1107 tương đương).
  • Điều hướng: Núm xoay EC11 (loại B 20mm).
  • Nút bấm: 8x MX switches (loại dùng cho bàn phím cơ).
  • Ốc vít: M3x6 để lắp vỏ.
  • 6x Heat inserts M3 (M3xL4xOD 4.2).
  • 2x Nam châm 10x4mm để cố định tay cầm vào đế.
  • 1x Mạch sạc TP4056.
  • 2x Điện trở 10k ohms (nếu dùng 2 pin song song).
  • 1 hoặc 2 viên pin 18650.
  • 1x Công tắc KCD11.
  • 1x Núm nhôm 22mm (hoặc có thể in 3D).

Đối với phần pin, mình dùng khung pin của jonnieZG. Bạn chỉ cần lắp khung vào pin và trượt vào các khe trên nắp vỏ như trong hình.

💻 Hướng dẫn phần mềm & Nạp code

  1. Mở thư mục code trong Arduino IDE.
  2. Cài đặt các thư viện cần thiết: U8g2, ArduinoJson, ESPAsyncWebServer, AsyncTCP, AiEsp32RotaryEncoder, Adafruit_NeoPixel.
  3. Chọn đúng board ESP32, chỉnh sửa cấu hình pin trong pendant.ino rồi nhấn Upload.

🔧 Cấu hình lần đầu

  1. Bật nguồn, màn hình sẽ hiển thị "Config Portal Active".
  2. Kết nối WiFi điện thoại vào mạng tên "Pendant-CNC".
  3. Truy cập http://192.168.4.1 để chọn mạng WiFi, nhập mật khẩu và địa chỉ IP của máy CNC.

Nếu bạn thấy code hoặc thiết kế có vấn đề gì, hãy góp ý cho mình nhé. Mình có đính kèm file STEP nếu ai muốn chỉnh sửa. Lưu ý nhỏ là tiếng mẹ đẻ của mình là tiếng Tây Ban Nha nên trong code có thể còn một vài từ tiếng Tây Ban Nha.

Với vỏ case, mình dùng 0 lớp đáy, 5 lớp mặt trên và 30% infill kiểu Hilbert Curve để tạo vẻ thẩm mỹ, bạn có thể tùy chỉnh thêm nếu muốn.

Chúc các bạn thành công!

Giấy phép

Tác phẩm này được cấp phép theo

Creative Commons — Attribution — Share Alike

CC-BY-SA

Yêu cầu ghi công
Remix & phái sinh Được phép
Sử dụng thương mại Được phép

File mô hình

TẤT CẢ FILE MÔ HÌNH (6 Tập tin)
Đang tải files, vui lòng chờ...
Vui lòng đăng nhập để bình luận.

Chưa có bình luận nào. Hãy là người đầu tiên!

Vui lòng đăng nhập để khoe bản in của bạn.

Chưa có bản in nào được khoe. Hãy là người đầu tiên!

Remix (0)