Máy nhả thức ăn cho mèo (Cat food dispenser) in 3D

Máy nhả thức ăn cho mèo tự động dùng linh kiện máy in 3D cũ (NEMA17, mainboard Melzi/MKS/SKR) và in các chi tiết. Kết nối HomeAssistant qua ESPHome, có cảnh báo khi thùng trống, thùng chứa khoảng 1.2kg.

👁️
732
Lượt Xem
❤️
17
Lượt Thích
📥
45
Lượt Tải
Cập Nhật May 02, 2026
Chi tiết
Tải xuống
Bình Luận
Khoe bản in
Remix

Mô tả

Đây là một máy nhả thức ăn cho mèo đơn giản.
Mình lấy cảm hứng từ PEDRO của Manuel Maeder với bộ nhả được in 3D hoàn toàn.
Bộ kit để build một PERDO (à mà) có thể tìm tại đây.

Mình rất thích ý tưởng dùng stepper NEMA17, vì nó có torque lớn và điều khiển dễ bằng mainboard máy in 3D.

Mục tiêu của mình là chỉ dùng những món sẵn có. Và mình muốn link thiết bị với Home Assistant (không cho mèo bấm nút).
Mình chỉ dùng các linh kiện mình có sẵn từ mấy máy in 3D cũ.

------------------------------------

Mình khuyến khích in bằng PETG, dù PLA có thể nhìn đẹp hơn.
Và trục vít nhả (dispensing screw) nên in PETG vì thiết kế tận dụng độ dẻo để tránh nghiền nát hạt.
Nó là kiểu press-fit vào motor. Nếu bị lỏng thì có thể chấm chút superglue cho dính. Hoặc in lại bằng cách chỉnh kích thước. Giảm 1% hoặc 2% cũng không ảnh hưởng việc nhả.

Mình có cung cấp 2 kiểu chân đế. Mình chỉ test 1 kiểu. Phần nối dài thùng (tank extension) mình cũng chưa test.
Thùng chính chứa khoảng 1.2kg hạt nên mình không thấy cần mở rộng.
File nên in được mà không cần support.

Tính năng chính:

  • Chủ yếu dùng linh kiện máy in 3D cũ
  • Tốn khoảng 600g filament
  • Kết nối HomeAssistant thông qua EspHome
  • Gửi thông báo khi thùng hết thức ăn
  • Dùng được NEMA17 mọi kích cỡ
  • Tăng kích thước thùng bằng các đoạn nối dài “vô hạn” (mặc định chứa khoảng 1.2kg thức ăn)
  • Hỗ trợ nhiều loại mainboard:
    • Melzi v2.0 motherboard (mình lấy từ Tronxy X1 cũ)
    • MKS genL
    • SKR 1.3, 1.4, 1.4 turbo, v.v.
    • Mọi board có khoảng cách lỗ bắt “chuẩn” 102mm x 76mm

Linh kiện cần có:

  • 4x insert ren M3 (M3 treaded inserts)
  • 6x ốc M3 x 6mm cho chân đế và bắt mainboard
  • 2x ốc M3 x 8mm để bắt stepper motor
  • 1x mainboard máy in 3D cũ tương thích
  • 1x NEMA17
  • 1x cảm biến IR (để phát hiện thùng trống). Nếu không dùng thì có thể bịt lỗ lại.
  • 1x jack nguồn DC 12V dạng barrel để nhận điện,
  • 1x nguồn 12V
  • 1x ESP32 hoặc ESP8266 (mình dùng ESP8266, vậy là đủ)

Ghi chú về thùng chính (main tank)

  • Có 2 file. Một file là object đơn giản. File có modifier cho phép import vào PrusaSlicer và dùng phần bên ngoài làm modifier để tạo fuzzy skin như mình làm trong hình.

HomeAssistant (ESPHome)

Cấu hình rất đơn giản. Thiết bị sẽ xuất ra:

  • Button để nhả thức ăn. Nên dùng trong automation.
  • Input number, thời lượng nhả 1–20 giây.
  • Trạng thái cảnh báo khi thùng trống.

File nằm ở mục “other files”. Làm theo khá dễ.
ESP chỉ giao tiếp với mainboard bằng GCode, không tối ưu lắm nhưng dùng cho feeder thì chạy rất ổn. Nó không cần chuyển động tốc độ cao.

GCode dùng rất đơn giản. Tùy mainboard của bạn mà bạn sẽ muốn dùng cách gán pin khác nhau. Bạn nên sửa file YAML để dùng motor/endstop X-Y-Z.
Nếu muốn dùng extruder motor thì có vài hướng dẫn ở cuối file.

Chuẩn bị mainboard

Có thể bạn sẽ cần flash Marlin bản mới để khởi động mainboard với thermal protection disabled. Vì mình sẽ không gắn thermocouple.

UART nên đặt 38400bauds hoặc thấp hơn. ESP8266 dùng softSerial nên không chịu được baud rate cao hơn.

Ngoài ra tùy mainboard, bạn cần định nghĩa uart trên các chân có thể truy cập. Mặc định trên Melzi, uart thường bị màn hình dùng mất. Có nhiều tài liệu về flash Marlin, làm cũng khá dễ.

Đây là các dòng chính cần đổi trong Configuration.h của Marlin 2.0

#define BAUDRATE 38400
#define SERIAL_PORT_2 1 // Enable secondary uart
#define TEMP_SENSOR_0 998 // Dummy Table that ALWAYS reads 25°C.

Lắp ráp

  1. Ép/nung chảy insert ren vào đáy thùng.
  2. Gắn trục vít nhả vào motor
  3. Đặt nắp che motor
  4. Đặt motor vào và bắt ốc qua lỗ phía trước bằng lục giác (Allen Key) dài
  5. Đặt đầu thu IR và dán bằng keo nến (mình chưa tìm ra cách hay hơn). Bạn có thể dán sau, vì tùy màu nhựa có thể phải chỉnh vị trí một chút.
  6. Đặt mainboard
  7. Đi dây toàn bộ:
    1. ESP nối vào một UART và 5V
    2. Cảm biến IR: dây signal và ground nối vào Z endstop (có thể dùng endstop khác, chỉ cần sửa code trong YAML). Dây 5V nối vào bất kỳ chân 5V nào trên mainboard
    3. Motor mặc định là X nhưng bạn có thể đổi trong YAML.
    4. Cắm jack 12V vào ngõ vào nguồn của mainboard
  8. Flash ESP và test phần điện
  9. Trượt nắp lưng vào
  10. Bật nguồn toàn bộ và chỉnh ốc trên cảm biến IR để nó trigger khi có vật đi ngang trước nó.
  11. Bắt chân đế
  12. Xong, vậy là dùng được

Giấy phép

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

Creative Commons — Public Domain

CC0

Không 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 (12 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)