فهرست مطالب:

Thrustmaster Warthog Slew Sensor I2C ارتقا: 5 مرحله
Thrustmaster Warthog Slew Sensor I2C ارتقا: 5 مرحله

تصویری: Thrustmaster Warthog Slew Sensor I2C ارتقا: 5 مرحله

تصویری: Thrustmaster Warthog Slew Sensor I2C ارتقا: 5 مرحله
تصویری: Hardware Review: Delta Sim Electronics Thumbstick Upgrade für Thrustmaster HOTAS Warthog 2024, سپتامبر
Anonim
Thrustmaster Warthog Slew Sensor I2C Upgrade
Thrustmaster Warthog Slew Sensor I2C Upgrade

این یک راهنمای تقریبی در مورد نحوه ارتباط با پروتکل I2C مورد استفاده در سنسور ضربات دریچه گاز ThrustmasterWarthog است. این می تواند برای ارتقاء از استاندارد معمولی بی فایده به چیزی بهتر استفاده شود ، اما همچنان از کنترلر USB استاندارد در واحد دریچه گاز استفاده می شود. این بر اساس یک پست اصلی در:

forums.eagle.ru/showthread.php؟t=200198

در صورتی که پروتکل I2C در بیشتر مراحل زیر فرض شود ، برای توضیح عالی به موارد زیر مراجعه کنید:

learn.sparkfun.com/tutorials/i2c

هر گونه س specificال خاص ، با خیال راحت از من بپرسید ، و من سعی خواهم کرد در آینده با اطلاعات مربوطه به این مشکل اضافه کنم. این به هیچ وجه کامل نیست ، اما باید نقطه شروع خوبی باشد.

برخی از نسخه های نمایشی آردوینو ارائه شده است ، اما لطفاً این را فقط به عنوان مرجع در نظر بگیرید زیرا از یک آردوینو معمولی 5 ولت بدون تغییر استفاده نمی شود.

مرحله 1: جزئیات سنسور موجود

جزئیات سنسور موجود
جزئیات سنسور موجود

سنسور چرخشی وزارتخانه که مجهز به دریچه گاز Thrustmaster Wathog است به خوبی شناخته می شود که یکی از بزرگترین نقاط ضعف محصول فوق العاده است. طی سالها تلاشهای زیادی برای جایگزینی آن با چیزی بهتر انجام شده است ، اما اکثر آنها با مشکلاتی در ارتباط با پروتکل I2C دیجیتالی استفاده شده توسط آن روبرو شده اند.

سنسور دقیق مورد استفاده در دریچه گاز Warthog N35P112 - EasyPoint است که از IC سنسور جلوه AS5013 IC ساخته شده توسط AMS استفاده می کند.

برگه داده:

ams.com/arm/Products/Magnetic-Position-Sens…

جالب است که این واحد زمانی به عنوان ماژول شکست توسط Sparkfun در دسترس بود:

www.sparkfun.com/products/retired/10835

این حسگر برای برنامه های ناوبری در مواردی مانند تلفن های همراه طراحی شده است و بسیار ارزان است. به نظر من در چیزی که تقریباً 500 دلار هزینه دارد ، غیرقابل قبول است.

مرحله 2: Pinout

Pinout
Pinout

این سنسور از طریق رابط میکرو 5 پین به واحد گاز دریچه گاز سمت راست متصل می شود.

Pinout به شرح زیر است:

  1. Vcc +3.3VDC (

    به طور محلی از 5V توسط یک تنظیم کننده خطی در طرف دیگر برد ، درست در پشت کانکتور تنظیم می شود ، باید خوب باشد تا حدود 20 میلی آمپر باشد ، اما من به هیچ وجه این را آزمایش نکرده ام)

  2. I2C SDA
  3. I2C SCL
  4. GND
  5. دکمه 1 (به طور معمول بالا ، کشش داخلی 5V)

مرحله 3: شرح پروتکل

شرح پروتکل
شرح پروتکل

سنسور روی آدرس I2C 0x41 کار می کند - همه دستورات نوشتن یا خواندن با این آدرس شروع می شود.

وقتی دریچه گاز به رایانه متصل می شود ، مقدمه ای در حدود 250 میلی ثانیه در گذرگاه I2C برای آدرس 0x40 وجود دارد ، من فرض می کنم که این نسخه برای سنسورهای مختلف یا موارد مشابه باشد ، اما به ما مربوط نمی شود.

داده های ارسال شده در گذرگاه I2C در حالت عادی در زیر آمده است ، این مورد باید توسط میکروکنترلر ما شبیه سازی شود تا با گاز دریچه گاز صحبت کند.

راه اندازی - این داده ها یکبار ، حدود 500 میلی ثانیه پس از اتصال USB ، ارسال می شود تا سنسور اصلی برای استفاده تنظیم شود.

Master Write: 0x0F (Control Register 1)

داده ها: 0x02 0b0000 0010 (شروع به تنظیم مجدد نرم افزار)

Master Write: 0x0F (Control Register 1)

Master Read: 0xF1 0b1111 0001 (بازنشانی به 11110000 ، lsb 1 نشان می دهد که داده های معتبر آماده خواندن هستند. ما باید به این دستور به درستی پاسخ دهیم تا به عنوان یک دستگاه برده معتبر شناخته شویم)

Master Write: 0x2E (Control Register 2)

داده ها: 0x 86 (این فقط جهت آهنربا را در سنسور اصلی تنظیم می کند)

Master Write: 0x0F (Control Register 1)

داده ها: 0x 80 0b1000 0000 (دستگاه را در حالت آماده به کار تنظیم می کند (اندازه گیری خودکار ، در حالت کم مصرف))

حلقه: این کار در حدود 100 هرتز برای بدست آوردن داده های حسگر تکرار می شود.

استاد بنویسید: 0x10 (X ثبت نام)

Master Read: (برده داده X را ارسال می کند ، مکمل 8 مقدار 8 بیتی)

استاد بنویسید: 0x11 (ثبت Y)

Master Read: (برده داده Y را ارسال می کند ، مقدار مکمل 8 بیتی 2)

بخش مربوط به تخلیه پروتکل از تجزیه و تحلیل منطقی:

راه اندازی نوشتن روی [0x82] + ACK

0x0F + ACK

0x02 + ACK

راه اندازی نوشتن روی [0x82] + ACK

0x0F + ACK

تنظیم را برای [0x83] + ACK خوانده کنید

0xF1 + NAK

راه اندازی نوشتن روی [0x82] + ACK

0x2E + ACK

0x86 + ACK

راه اندازی نوشتن روی [0x82] + ACK

0x0F + ACK

0x80 + ACK

راه اندازی نوشتن روی [0x82] + ACK

0x10 + ACK

تنظیم را برای [0x83] + ACK 0xFC + NAK بخوانید

راه اندازی نوشتن روی [0x82] + ACK 0x11 + ACK

تنظیم را برای [0x83] + ACK 0xFF + NAK بخوانید

مرحله 4: کد آردوینو

کد آردوینو
کد آردوینو

از کد آردوینو متصل می توان برای شبیه سازی سنسور استفاده کرد.

لطفاً توجه داشته باشید: اکثر برد های آردوینو 5 ولت کار می کنند ، این دستگاه برای کارکردن نیاز به یک برد سازگار با 3.3 ولت دارد تا از آسیب به جوی استیک جلوگیری کند.

مرحله 5: کالیبراسیون

تنظیم
تنظیم

هنگامی که سنسور جدید شما نصب شد ، دریچه گاز نیاز به کالیبراسیون دارد.

برای کالیبره کردن دریچه گاز خود ، از ابزار کالیبراسیون دریچه گاز استفاده کنید. این را می توان از چندین منبع مانند:

forums.eagle.ru/showthread.php؟t=65901

از کالیبراسیون ویندوز استفاده نکنید.

برای استفاده بیشتر از یک مد ، باید چند مقدار را در فایل پیکربندی کالیبراسیون خود تغییر دهید.

تغییر دادن:

Standard_DZ_SX = 0x10 ؛

Standard_DZ_SY = 0x10 ؛

خطوط در A10_calibration.txt به:

Standard_DZ_SX = 0x01 ؛

Standard_DZ_SY = 0x01 ؛

این حالت در کنترل حرکت از 10 به 1 به منطقه مرده تبدیل می شود و کنترل بسیار بهتری را ارائه می دهد. می توانید با این تنظیمات بازی کنید و سپس دوباره تنظیم کنید و ببینید چه چیزی را بیشتر دوست دارید.

توصیه شده: