Điều khiển không dây động cơ Lego bằng Bộ điều khiển hơi nước

Điều khiển không dây động cơ Lego bằng Bộ điều khiển hơi nước

Khi tôi còn trẻ, tôi luôn muốn có những kỹ thuật viên Lego để chế tạo những thứ hay ho. Xe tăng tự động với tháp pháo quay có thể bắn các viên gạch Lego. Nhưng sau đó tôi đã không có một bộ như vậy.

Và thậm chí còn không có những viên gạch Lego thông thường. Tôi chỉ có một người bạn có anh trai có tất cả những món đồ chơi đắt tiền này.

Và bây giờ tôi có một đứa con trai ở độ tuổi đó. Và anh ta chế tạo những chiếc xe tăng ... ngu ngốc tiến về phía trước cho đến khi chúng đâm sầm vào tường 🙂

Và bây giờ là lúc dành cho ESP32 và sự kỳ diệu của mỏ hàn - hãy lắp ráp chiếc điều khiển từ xa phù hợp cho chúng!

Không, tất nhiên là tôi biết về sự tồn tại của những chiếc điều khiển từ xa như vậy. Nhưng không ai trong số họ phù hợp với tôi một cách hoàn hảo. Chúng là tia hồng ngoại, với công nghệ của thập niên 80 hoặc quá lớn. Hoặc những thứ đắt tiền. Và quan trọng nhất, tôi sẽ không thể kể cho con trai mình nghe về bất kỳ điều gì trong số đó: “Mẹ đã làm điều đó đặc biệt cho con!”

Vì vậy, hãy tạo ra một chiếc điều khiển từ xa mới, cải tiến để thống trị mọi người!

Điều khiển không dây động cơ Lego bằng Bộ điều khiển hơi nước

Thành phần:

  • ESP32-WROOM-32D | WiFi, BLE và bộ xử lý có I/O - đủ để điều khiển hai động cơ и DẪN ĐẾN.
  • DRV8833 | cầu H đôi có đủ công suất cho động cơ.
  • TPS62162 | giảm điện áp xuống 17V, cũng để giải trí khi hàn vỏ WSON-8 2x2mm
  • CP2104 | để lập trình ESP32
  • Kết nối để kết nối động cơ và điốt. Cắt dây và hàn chúng ở phía dưới, đồng thời dán đầu nối Lego lên trên.

Tất cả điều này sẽ được đặt trên một bảng khá nhỏ - đây là sự xuất hiện của nó trong trình chỉnh sửa EasyEDA:

Điều khiển không dây động cơ Lego bằng Bộ điều khiển hơi nước

Dây có thể nhìn thấy trong ảnh tiêu đề không phải để sửa một số lỗi mà để cấp nguồn từ USB. Nó có thể không đủ cho động cơ, nhưng thật không may, các liên hệ từ Trung Quốc vẫn chưa đến với tôi. Vì vậy, trước tiên tôi kiểm tra hoạt động của đèn LED. Để bức ảnh đẹp hơn, tôi chỉ cần đặt đầu nối từ động cơ lên ​​bảng.

Phiên bản 1.1 của bo mạch của tôi (không giống như phiên bản 1.2 đã có trên EasyEDA) không có đèn LED, vì vậy tôi đã hàn hai điốt chống song song vào đầu ra để có thể biết điều gì đang xảy ra. Nếu bạn nhìn kỹ, video sẽ hiển thị quá trình bật luân phiên của một cặp điốt 0603, biểu thị chuyển động tiến / lùi.

Về phần điều khiển từ xa, lúc đầu tôi chỉ muốn lắp ráp một bảng bổ sung có các nút bấm và một chiếc ESP32 khác - một chiếc điều khiển từ xa cổ điển.

Tuy nhiên, sau đó tôi nhớ rằng Bộ điều khiển hơi nước có chế độ hoạt động Bluetooth Low Energy (BLE). Tôi quyết định giải quyết vấn đề này và sau vài giờ tôi đã học được cách nhận gói từ bộ điều khiển.

Để làm điều này, bạn chỉ cần tìm một thiết bị HID tự gọi mình là SteamController và kết nối với nó. Và sau đó sử dụng dịch vụ không có giấy tờ từ Valve và một số dịch vụ khác lệnh không có giấy tờ, cho phép truyền gói tin.

Điều khiển không dây động cơ Lego bằng Bộ điều khiển hơi nước

Tôi cũng gặp phải một định dạng báo cáo không có giấy tờ mà tôi đã phân tích cú pháp theo cách thủ công.

Điều khiển không dây động cơ Lego bằng Bộ điều khiển hơi nước

Sau khoảng một giờ, ý nghĩa của các cờ và giá trị đã trở nên rõ ràng đối với tôi và tôi đã cố gắng nháy đèn LED bằng bộ điều khiển Steam và ESP32. ¯_(ツ)_/¯

Tập tin

v1.0: "phương pháp thử nghiệm"
- tùy chọn đầu tiên mà tôi đã chọn sai bộ điều chỉnh điện áp. TPS62291 chỉ lấy điện áp lên đến 6V, tôi đang phát triển song song một số dự án và tôi quên mất rằng thiết bị cần hoạt động với 9V.

v1.1: "đủ tốt"
- tùy chọn này hiển thị trong video và mọi thứ đều hoạt động

v1.2: "cuối cùng"
- thêm đèn LED chỉ báo vào đầu ra và tối ưu hóa kích thước cũng như bố cục của bảng

Đoạn video ngắn sau đây hiển thị giai đoạn kết nối (1-3 giây sau khi bật nguồn) và điều khiển đầu ra động cơ. Đầu nối từ Lego chưa được kết nối. Nó sẽ đi đến khoảng trống bên cạnh các đầu nối khác, được đánh dấu bằng hình chữ nhật màu trắng.

Con trai tôi bây giờ thường xuyên sử dụng bộ điều khiển này để điều khiển những chiếc máy mà nó đã lắp ráp.

Trong quá trình stress test, tôi chỉ gặp một vấn đề: Tôi tưởng rằng chế độ “fastphân rã” [fastphân rã] của trình điều khiển động cơ sẽ hoạt động tốt nhất, nhưng vì nó mà sau vài giây hoạt động, tốc độ động cơ giảm đi rất nhiều . Vì vậy, tôi đã thay đổi mã để nó sử dụng "phân rã chậm" [phân rã chậm].

Điều khiển không dây động cơ Lego bằng Bộ điều khiển hơi nước

Mặc dù tôi không chắc DRV hoạt động như thế nào và tại sao lúc đầu động cơ quay nhanh, sau 10 giây nó bắt đầu chậm dần. Có lẽ MOSFET đang nóng lên và điện trở của chúng tăng quá nhiều.

Tôi hy vọng ví dụ về cách sử dụng Arduino này sẽ truyền cảm hứng dễ dàng cho người khác và cho phép họ giới thiệu cho con cái mình về thiết bị điện tử.

Nguồn: www.habr.com

Thêm một lời nhận xét