جدول المحتويات:
- الخطوة 1: تفاصيل جهاز الاستشعار الحالي
- الخطوة 2: Pinout
- الخطوة 3: وصف البروتوكول
- الخطوة 4: كود اردوينو
- الخطوة 5: المعايرة
فيديو: ترقية Thrustmaster Warthog Slew Sensor I2C: 5 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:39
هذا دليل تقريبي حول كيفية التفاعل مع بروتوكول I2C المستخدم في مستشعر ThrustmasterWarthog Throttle slew. يمكن استخدام هذا للترقية من ministick القياسي عديم الفائدة إلى حد ما إلى شيء أفضل ، ولكن لا يزال يستخدم وحدة تحكم USB القياسية في وحدة الخانق. هذا مبني على منشور أصلي على:
forums.eagle.ru/showthread.php؟t=200198
الفهم الأساسي إذا تم افتراض بروتوكول I2C لمعظم الخطوات التالية ، للحصول على شرح ممتاز ، انتقل إلى:
learn.sparkfun.com/tutorials/i2c
أي أسئلة محددة ، لا تتردد في طرحها ، وسأحاول أن أضيف إلى هذا المستعصي في المستقبل بمزيد من المعلومات ذات الصلة. هذا ليس مكتملًا بأي حال من الأحوال ، ولكن يجب أن يكون نقطة انطلاق جيدة.
يتم توفير بعض كود Arduino التجريبي ولكن يرجى أخذ هذا كمرجع فقط حيث لا يمكن استخدام Arduino 5V العادي دون تعديل.
الخطوة 1: تفاصيل جهاز الاستشعار الحالي
من المعروف جيدًا أن مستشعر الفتحة الصغيرة الذي يأتي مع Thrustmaster Wathog throttle هو أحد أكبر نقاط الضعف مع منتج ممتاز. كان هناك عدد من المحاولات من قبل الأشخاص لاستبدالها بشيء أفضل على مر السنين ، لكن معظمهم واجهوا صعوبات في التعامل مع بروتوكول I2C الرقمي الذي يستخدمه.
المستشعر الدقيق المستخدم في خنق Warthog هو N35P112 - EasyPoint ، والذي يستخدم مستشعر تأثير القاعة AS5013 IC المصنوع من AMS.
ورقة البيانات:
ams.com/eng/Products/Magnetic-Position-Sens…
من المثير للاهتمام أن الوحدة كانت متاحة مرة واحدة كوحدة اندلاع بواسطة Sparkfun:
www.sparkfun.com/products/retired/10835
المستشعر مخصص لتطبيقات الملاحة في أشياء مثل الهواتف المحمولة ، وهو رخيص للغاية. في رأيي غير مقبول في شيء يكلف ما يقرب من 500 دولار.
الخطوة 2: Pinout
يتصل المستشعر بـ PCB في وحدة الخانق اليمنى عبر موصل micro 5 pin.
Pinout على النحو التالي:
-
Vcc + 3.3VDC (
منظم محليًا من 5 فولت بواسطة منظم خطي على الجانب الآخر من اللوحة ، خلف الموصل مباشرةً ، يجب أن يكون جيدًا حتى 20 مللي أمبير ، لكنني لم أختبر هذا بأي حال من الأحوال)
- I2C SDA
- I2C SCL
- GND
- الزر 1 (مرتفع عادةً ، سحب داخلي 5 فولت)
الخطوة 3: وصف البروتوكول
يعمل المستشعر على عنوان I2C 0x41 - تبدأ جميع أوامر الكتابة أو القراءة بهذا العنوان.
عندما يكون الخانق متصلاً بالكمبيوتر ، هناك تمهيد بحوالي 250 مللي ثانية على ناقل I2C لعنوان 0x40 ، أفترض أن هذا إصدار مستشعر مختلف أو شيء مشابه ، لكنه ليس مناسبًا لنا.
البيانات المرسلة على ناقل I2C في الاستخدام العادي أدناه ، يجب محاكاة ذلك بواسطة وحدة التحكم الدقيقة الخاصة بنا للتحدث إلى دواسة الوقود.
الإعداد - يتم إرسال هذه البيانات مرة واحدة ، حوالي 500 مللي ثانية بعد توصيل USB ، لتعيين المستشعر الأصلي للاستخدام.
كتابة رئيسية: 0x0F (سجل التحكم 1)
البيانات: 0x02 0b0000 0010 (يبدأ إعادة تعيين ضعيف)
كتابة رئيسية: 0x0F (سجل التحكم 1)
قراءة رئيسية: 0xF1 0b1111 0001 (إعادة التعيين إلى 11110000 ، يشير lsb 1 إلى أن البيانات الصالحة جاهزة للقراءة. يجب أن نرد على هذا الأمر بشكل صحيح ليتم التعرف عليه كجهاز تابع صالح)
كتابة رئيسية: 0x2E (سجل التحكم 2)
البيانات: 0x 86 (هذا فقط يحدد اتجاه المغناطيس في المستشعر الأصلي)
كتابة رئيسية: 0x0F (سجل التحكم 1)
البيانات: 0x 80 0b1000 0000 (ضبط الجهاز على وضع الخمول (القياس التلقائي ، ليس في وضع الطاقة المنخفضة))
التكرار التكراري: يتكرر هذا عند حوالي 100 هرتز للحصول على بيانات المستشعر.
كتابة رئيسية: 0x10 (تسجيل X)
قراءة رئيسية: (يرسل التابع بيانات X ، قيمة 2 مكملة 8 بت)
كتابة رئيسية: 0x11 (تسجيل Y)
قراءة رئيسية: (يرسل التابع بيانات Y ، قيمة 2 المكونة من 8 بت)
الجزء ذو الصلة من تفريغ البروتوكول من محلل المنطق:
إعداد الكتابة إلى [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: كود اردوينو
يمكن استخدام كود Arduino المرفق لمحاكاة المستشعر.
يرجى ملاحظة: تعمل معظم لوحات Arduino بجهد 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 ، ويعطي تحكمًا أفضل بكثير. يمكنك اللعب بهذا الإعداد ثم إعادة معايرته ورؤية ما يعجبك أكثر.
موصى به:
ترقية المثقاب اللاسلكي الرخيص: 4 خطوات
ترقية المثقاب اللاسلكي الرخيص: هذه المرة ، سأشارك كيفية ترقية بطارية المثقاب اللاسلكي الرخيصة ، الشيء الوحيد الذي سنقوم بترقيته هو البطارية نفسها فقط ، نظرًا لأن المثقاب الرخيص له سعة بطارية صغيرة ، سنضيف بعض الوظائف إلى البطارية ! الميزات المضافة: شحن ب
ترقية Arduino Ultrasonic Scanning SoNAR: 5 خطوات
Arduino Ultrasonic Scanning SoNAR: أنا أقوم بترقية مشروع سونار للمسح بالموجات فوق الصوتية. أرغب في إضافة بعض الأزرار على شاشة المعالجة التي ستغير السمت والتحمل والمدى والسرعة والميل لمضاعفة ثانية. لقد بدأت بمشروع Lucky Larry. أعتقد أنه الأصل
ترقية روبوت هيثكيت هيرو جونيور بأجهزة حديثة: 4 خطوات
قم بترقية روبوت Heathkit Hero Jr باستخدام الأجهزة الحديثة: هذا عمل قيد التنفيذ أكثر من كونه مشروعًا منتهيًا ، يرجى وضع ذلك في الاعتبار عند القراءة. شكرا جزيلا عن هذا الروبوت ، من أين حصلت عليه ، وخططي له. (صورة من مشروع Star Wars Day لعام 2015) ربما كان ذلك في وقت ما في عام 20
ترقية بطارية Logitech G930: 5 خطوات
ترقية بطارية Logitech G930: دليل قصير لترقية بطارية سماعة رأس لاسلكية Logitech G930
ملحق جويستيك Thrustmaster Warthog: 5 خطوات (مع صور)
ملحق Thrustmaster Warthog Joystick: مرحبًا من فضلك كن لطيفًا معي .. هذا هو أول تدريب لي. كنت بحاجة إلى بعض الأزرار والمحاور الأخرى على & quot؛ الخنزير & quot؛ عصا التحكم للعب النخبة الخطرة. ليس من الممتع التبديل بين عصا التحكم ولوحة المفاتيح مع & quot؛ الصدع & quot؛ عليك