
Mục lục:
2025 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2025-01-23 15:15

Đây là hướng dẫn sơ bộ về cách giao tiếp với giao thức I2C được sử dụng trên cảm biến quay bướm ga ThrustmasterWarthog. Điều này có thể được sử dụng để nâng cấp từ ministick tiêu chuẩn khá vô dụng lên một thứ gì đó tốt hơn, Nhưng vẫn sử dụng bộ điều khiển USB tiêu chuẩn trong bộ điều tiết. Điều này dựa trên một bài đăng gốc về:
forums.eagle.ru/showthread.php?t=200198
Hiểu cơ bản nếu giao thức I2C được giả định cho hầu hết các bước sau đây, để có lời giải thích tuyệt vời, hãy tham khảo:
learn.sparkfun.com/tutorials/i2c
Bất kỳ câu hỏi cụ thể nào, hãy hỏi tôi, và tôi sẽ cố gắng bổ sung thêm thông tin có liên quan vào điều khó hiểu này trong tương lai. Điều này không có nghĩa là hoàn thành, nhưng phải là một điểm khởi đầu tốt.
Một số mã Arduino demo được cung cấp nhưng vui lòng chỉ lấy đây làm tài liệu tham khảo vì Arduino 5V bình thường không thể được sử dụng mà không cần sửa đổi.
Bước 1: Chi tiết cảm biến hiện có

Cảm biến xoay ministick đi kèm với van tiết lưu Thrustmaster Wathog nổi tiếng là một trong những điểm yếu lớn nhất với một sản phẩm xuất sắc khác. Đã có một số nỗ lực của mọi người để thay thế nó bằng một thứ gì đó tốt hơn trong những năm qua, nhưng hầu hết đều vấp phải những khó khăn khi giao tiếp với giao thức I2C kỹ thuật số được sử dụng bởi nó.
Cảm biến chính xác được sử dụng trong van tiết lưu Warthog là N35P112 - EasyPoint, sử dụng IC cảm biến hiệu ứng hội trường AS5013 do AMS sản xuất.
Bảng dữliệu:
ams.com/eng/Products/Magnetic-Position-Sens…
Điều thú vị là đơn vị đã từng được Sparkfun cung cấp dưới dạng mô-đun đột phá:
www.sparkfun.com/products/retired/10835
Cảm biến được dùng cho các ứng dụng điều hướng trong những thứ như điện thoại di động và cực kỳ rẻ. Theo ý kiến của tôi, không thể chấp nhận được trong một cái gì đó có giá gần 500 đô la.
Bước 2: Sơ đồ chân

Cảm biến kết nối với PCB trong bộ điều tiết bên phải thông qua đầu nối micro 5 chân.
Sơ đồ chân như sau:
-
Vcc + 3.3VDC (
Được điều chỉnh cục bộ từ 5V bởi một bộ điều chỉnh tuyến tính ở phía bên kia của bảng, ngay sau đầu nối, nên tốt để quay vòng 20mA, nhưng tôi không có cách nào kiểm tra điều này)
- I2C SDA
- I2C SCL
- GND
- Nút 1 (Thường cao, kéo lên 5V bên trong)
Bước 3: Mô tả giao thức

Cảm biến hoạt động trên địa chỉ I2C 0x41 - tất cả các lệnh ghi hoặc đọc đều bắt đầu bằng địa chỉ này.
Khi bướm ga được kết nối với máy tính, có một đoạn mở đầu khoảng 250ms trên bus I2C đến địa chỉ 0x40, tôi cho rằng đây là phiên bản cảm biến khác hoặc thứ gì đó tương tự, nhưng nó không liên quan đến chúng tôi.
Dữ liệu được gửi trên bus I2C trong sử dụng bình thường ở bên dưới, điều này phải được bộ vi điều khiển của chúng tôi mô phỏng để nói chuyện với van tiết lưu.
Thiết lập - Dữ liệu này được gửi một lần, khoảng 500ms sau khi kết nối USB, để thiết lập cảm biến gốc để sử dụng.
Ghi chính: 0x0F (Thanh ghi điều khiển 1)
Dữ liệu: 0x02 0b0000 0010 (bắt đầu thiết lập lại mềm)
Ghi chính: 0x0F (Thanh ghi điều khiển 1)
Đọc chính: 0xF1 0b1111 0001 (đặt lại thành 11110000, lsb 1 cho biết dữ liệu hợp lệ đã sẵn sàng để đọc. Chúng tôi phải trả lời chính xác lệnh này để được công nhận là thiết bị phụ hợp lệ)
Ghi chính: 0x2E (Thanh ghi điều khiển 2)
Dữ liệu: 0x 86 (điều này chỉ đặt hướng của nam châm trong cảm biến ban đầu)
Ghi chính: 0x0F (Thanh ghi điều khiển 1)
Dữ liệu: 0x 80 0b1000 0000 (Đặt thiết bị ở chế độ không tải (đo tự động, không ở chế độ năng lượng thấp))
Vòng lặp: Điều này được lặp lại ở khoảng 100Hz để lấy dữ liệu cảm biến.
Viết chính: 0x10 (thanh ghi X)
Master Read: (slave gửi dữ liệu X, giá trị 8 bit bổ sung của 2)
Viết chính: 0x11 (thanh ghi Y)
Master Read: (slave gửi dữ liệu Y, giá trị 8 bit bổ sung của 2)
Phần liên quan của kết xuất giao thức từ trình phân tích logic:
Thiết lập Ghi vào [0x82] + ACK
0x0F + ACK
0x02 + ACK
Thiết lập Ghi vào [0x82] + ACK
0x0F + ACK
Thiết lập Đọc tới [0x83] + ACK
0xF1 + NAK
Thiết lập Ghi vào [0x82] + ACK
0x2E + ACK
0x86 + ACK
Thiết lập Ghi vào [0x82] + ACK
0x0F + ACK
0x80 + ACK
Thiết lập Ghi vào [0x82] + ACK
0x10 + ACK
Thiết lập Đọc tới [0x83] + ACK 0xFC + NAK
Thiết lập Ghi vào [0x82] + ACK 0x11 + ACK
Thiết lập Đọc tới [0x83] + ACK 0xFF + NAK
Bước 4: Mã Arduino

Mã Arduino đính kèm có thể được sử dụng để mô phỏng cảm biến.
Xin lưu ý: Hầu hết các bảng Arduino chạy 5V, điều này cần một bảng tương thích hoặc sửa đổi 3.3V để hoạt động để tránh làm hỏng phím điều khiển của bạn.
Bước 5: Hiệu chỉnh

Khi cảm biến mới của bạn đã được trang bị, cần hiệu chỉnh van tiết lưu.
Để hiệu chỉnh bướm ga của bạn, bạn sẽ sử dụng công cụ hiệu chỉnh bướm ga. Bạn có thể tải xuống phần mềm này từ một số nguồn như:
forums.eagle.ru/showthread.php?t=65901
Không sử dụng hiệu chuẩn cửa sổ.
Để tận dụng tối đa bản mod, bạn cần thay đổi một vài giá trị trong tệp cấu hình hiệu chỉnh của mình.
Thay đổi:
Standard_DZ_SX = 0x10;
Chuẩn_DZ_SY = 0x10;
Các dòng trong A10_calibration.txt tới:
Standard_DZ_SX = 0x01;
Standard_DZ_SY = 0x01;
Điều này sẽ thay đổi thành vùng chết trên điều khiển xoay vòng từ 10 thành 1 và cho phép kiểm soát tốt hơn nhiều. Bạn có thể chơi với cài đặt này, sau đó hiệu chỉnh lại và xem những gì bạn thích nhất.
Đề xuất:
Cảm biến cửa và khóa được cung cấp năng lượng bằng pin, năng lượng mặt trời, ESP8266, ESP-Now, MQTT: 4 bước (có hình ảnh)

Cảm biến cửa & khóa chạy bằng pin, năng lượng mặt trời, ESP8266, ESP-Now, MQTT: Trong tài liệu hướng dẫn này, tôi chỉ cho bạn cách tôi tạo cảm biến chạy bằng pin để theo dõi tình trạng cửa và khóa của nhà kho xe đạp từ xa của tôi. Tôi không có nguồn điện chính, vì vậy tôi có nguồn điện bằng pin. Pin được sạc bằng một tấm pin mặt trời nhỏ. Mô-đun là d
Nâng cấp ánh sáng khu vườn năng lượng mặt trời lên RBG: 7 bước (có hình ảnh)

Up Cycling a Solar Garden Light to a RBG: Có rất nhiều video trên Youtube về sửa chữa đèn sân vườn năng lượng mặt trời; kéo dài tuổi thọ pin của đèn sân vườn năng lượng mặt trời để chúng chạy lâu hơn vào ban đêm và vô số các thủ thuật khác
Nâng cấp DSO mini DIY thành một máy hiện sóng thực với các tính năng tuyệt vời: 10 bước (có hình ảnh)

Nâng cấp DSO Mini Tự làm thành Máy hiện sóng thực với các tính năng tuyệt vời: Lần trước tôi đã chia sẻ cách tạo Mini DSO với MCU. Để biết cách xây dựng từng bước, vui lòng tham khảo tài liệu hướng dẫn trước đây của tôi: https://www.instructables. com / id / Make-Your-Own-Osc … Vì có nhiều người quan tâm đến dự án này, tôi đã dành một ít
HX1-DM - Máy đánh trống tự làm dùng năng lượng Arduino DUE nâng cấp (được sản xuất bằng Maschine MK2 đã chết): 4 bước

HX1-DM - Máy đánh trống tự làm dùng năng lượng Arduino DUE nâng cấp (được làm bằng Maschine MK2 đã chết): Thông số kỹ thuật. Bộ điều khiển / trống máy lai Midi: Hỗ trợ Arduino DUE! 16 miếng đệm cảm biến vận tốc với độ trễ rất thấp 1 > ms 8 nút người dùng có thể gán cho bất kỳ lệnh Midi #CC nào 16ch Bộ tuần tự tích hợp (không cần máy tính !!) MIDI vào / ra / thông qua chức năng
Thrustmaster Warthog Joystick Addon: 5 bước (có hình ảnh)

Thrustmaster Warthog Joystick Addon: xin chào, hãy nhẹ tay với tôi .. đây là hướng dẫn đầu tiên của tôi. Tôi cần thêm một vài nút và trục trên " warthog " cần điều khiển, để chơi nguy hiểm ưu tú. Không có gì thú vị khi hoán đổi giữa cần điều khiển và bàn phím bằng một " rạn nứt " về anh ấy của bạn