সুচিপত্র:

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 আপগ্রেড
Thrustmaster Warthog Slew Sensor I2C আপগ্রেড

থ্রাস্টমাস্টার ওয়ারথগ থ্রটল স্লু সেন্সরে ব্যবহৃত I2C প্রোটোকলের সাথে ইন্টারফেস করার জন্য এটি একটি মোটামুটি গাইড। এটি মোটামুটি অকেজো স্ট্যান্ডার্ড মিনিস্ট্রিক থেকে আরও ভাল কিছুতে আপগ্রেড করার জন্য ব্যবহার করা যেতে পারে, কিন্তু তবুও থ্রটল ইউনিটে স্ট্যান্ডার্ড ইউএসবি কন্ট্রোলার ব্যবহার করে। এটি একটি মূল পোস্টের উপর ভিত্তি করে:

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

একটি মৌলিক বোঝা যদি I2C প্রোটোকল নিচের ধাপগুলির বেশিরভাগের জন্য ধরে নেওয়া হয়, একটি চমৎকার ব্যাখ্যার জন্য যান:

learn.sparkfun.com/tutorials/i2c

কোন নির্দিষ্ট প্রশ্ন, নির্দ্বিধায় আমাকে জিজ্ঞাসা করুন, এবং আমি ভবিষ্যতে আরো প্রাসঙ্গিক তথ্য সহ এই অবাধ্য যোগ করার চেষ্টা করব। এটি কোনওভাবেই সম্পূর্ণ নয়, তবে এটি একটি ভাল সূচনা হওয়া উচিত।

কিছু ডেমো Arduino কোড প্রদান করা হয় কিন্তু দয়া করে এটি শুধুমাত্র একটি রেফারেন্স হিসাবে নিন কারণ একটি স্বাভাবিক 5V Arduino পরিবর্তন ছাড়া ব্যবহার করা যাবে না।

ধাপ 1: বিদ্যমান সেন্সরের বিবরণ

বিদ্যমান সেন্সর বিবরণ
বিদ্যমান সেন্সর বিবরণ

থ্রাস্টমাস্টার ওয়াথগ থ্রোটল -এর সঙ্গে আসা মিনিস্ট্রিক স্লু সেন্সর অন্যথায় চমৎকার পণ্যের সবচেয়ে বড় দুর্বলতা হিসেবে পরিচিত। বছরের পর বছর ধরে এটিকে আরও ভাল কিছু দিয়ে প্রতিস্থাপন করার জন্য মানুষ অনেক চেষ্টা করেছে, কিন্তু বেশিরভাগই এটি দ্বারা ব্যবহৃত ডিজিটাল I2C প্রোটোকলের সাথে ইন্টারফেস করার অসুবিধার বিরুদ্ধে উঠে এসেছে।

ওয়ার্থগ থ্রোটলে ব্যবহৃত সঠিক সেন্সর হল N35P112 - EasyPoint, যা AMS দ্বারা তৈরি AS5013 হল ইফেক্ট সেন্সর আইসি ব্যবহার করে।

তথ্য তালিকা:

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

আকর্ষণীয়ভাবে ইউনিটটি একবার স্পার্কফুনের ব্রেকআউট মডিউল হিসাবে উপলব্ধ ছিল:

www.sparkfun.com/products/retired/10835

সেন্সরটি মোবাইল ফোনের মতো জিনিসগুলিতে নেভিগেশন অ্যাপ্লিকেশনগুলির জন্য বোঝানো হয়েছে এবং এটি অত্যন্ত সস্তা। আমার মতে প্রায় 500 ডলার খরচ করে এমন কিছুতে অগ্রহণযোগ্য।

ধাপ 2: পিনআউট

পিনআউট
পিনআউট

সেন্সরটি মাইক্রো 5 পিন কানেক্টরের মাধ্যমে ডান হাতের থ্রোটল ইউনিটে পিসিবির সাথে সংযোগ স্থাপন করে।

পিনআউট নিম্নরূপ:

  1. Vcc +3.3VDC (

    স্থানীয়ভাবে 5V থেকে বোর্ডের অন্য পাশে একটি রৈখিক নিয়ন্ত্রক দ্বারা নিয়ন্ত্রিত হয়, ঠিক সংযোগকারীর পিছনে, 20mA এর চারপাশে ভাল হওয়া উচিত, কিন্তু আমি কোনভাবেই এটি পরীক্ষা করিনি)

  2. I2C SDA
  3. I2C এসসিএল
  4. GND
  5. বোতাম 1 (সাধারণত উচ্চ, অভ্যন্তরীণ 5V পুলআপ)

ধাপ 3: প্রটোকল বর্ণনা

প্রটোকলের বর্ণনা
প্রটোকলের বর্ণনা

সেন্সরটি I2C ঠিকানায় 0x41 এ কাজ করে - এই ঠিকানা দিয়ে সব লেখা বা পড়া কমান্ড শুরু হয়।

যখন থ্রোটলটি কম্পিউটারের সাথে সংযুক্ত হয়, তখন 0x40 সম্বোধন করার জন্য I2C বাসে প্রায় 250ms এর একটি প্রস্তাবনা থাকে, আমি মনে করি এটি একটি ভিন্ন সেন্সর সংস্করণ বা অনুরূপ কিছু, কিন্তু এটি আমাদের জন্য প্রাসঙ্গিক নয়।

স্বাভাবিক ব্যবহারে I2C বাসে পাঠানো ডেটা নিচে দেওয়া আছে, থ্রোটলের সাথে কথা বলতে আমাদের মাইক্রোকন্ট্রোলার দ্বারা এটি অনুকরণ করা আবশ্যক।

সেটআপ - এই ডেটা একবার পাঠানো হয়, ইউএসবি সংযুক্ত হওয়ার প্রায় 500ms পরে, আসল সেন্সরটি ব্যবহারের জন্য সেট আপ করার জন্য।

মাস্টার লিখুন: 0x0F (কন্ট্রোল রেজিস্টার 1)

ডেটা: 0x02 0b0000 0010 (সফট রিসেট শুরু করে)

মাস্টার লিখুন: 0x0F (কন্ট্রোল রেজিস্টার 1)

মাস্টার রিড: 0xF1 0b1111 0001 (11110000 রিসেট, lsb 1 মানে বৈধ ডেটা পড়ার জন্য প্রস্তুত। বৈধ ক্রীতদাস হিসেবে স্বীকৃত হওয়ার জন্য আমাদের অবশ্যই এই কমান্ডের সঠিক উত্তর দিতে হবে)

মাস্টার লিখুন: 0x2E (কন্ট্রোল রেজিস্টার 2)

ডেটা: 0x 86 (এটি শুধু মূল সেন্সরে চুম্বকের অভিযোজন সেট করে)

মাস্টার লিখুন: 0x0F (কন্ট্রোল রেজিস্টার 1)

ডেটা: 0x 80 0b1000 0000 (নিষ্ক্রিয় মোডে ডিভাইস সেট করে (স্বয়ংক্রিয় পরিমাপ, কম পাওয়ার মোডে নয়))

লুপ: সেন্সর ডেটা পেতে এটি প্রায় 100Hz এ পুনরাবৃত্তি হয়।

মাস্টার লিখুন: 0x10 (এক্স রেজিস্টার)

মাস্টার পড়ুন: (ক্রীতদাস এক্স ডেটা পাঠায়, 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 কোড
Arduino কোড

সংযুক্ত Arduino কোড সেন্সর অনুকরণ করতে ব্যবহার করা যেতে পারে।

অনুগ্রহ করে মনে রাখবেন: বেশিরভাগ আর্ডুইনো বোর্ড 5V চালায়, এটি আপনার জয়স্টিকের ক্ষতি এড়াতে কাজ করার জন্য 3.3V সামঞ্জস্যপূর্ণ বা পরিবর্তিত বোর্ডের প্রয়োজন।

ধাপ 5: ক্রমাঙ্কন

ক্রমাঙ্কন
ক্রমাঙ্কন

একবার আপনার নতুন সেন্সর লাগানো হয়ে গেলে, থ্রোটলটির ক্যালিব্রেটিং প্রয়োজন হবে।

আপনার থ্রোটল ক্যালিব্রেট করার জন্য আপনি থ্রোটল ক্যালিব্রেশন টুল ব্যবহার করবেন। এটি বেশ কয়েকটি উত্স থেকে ডাউনলোড করা যেতে পারে যেমন:

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

উইন্ডোজ ক্রমাঙ্কন ব্যবহার করবেন না।

একটি মোড থেকে সর্বাধিক পেতে আপনাকে আপনার ক্রমাঙ্কন কনফিগারেশন ফাইলের কয়েকটি মান পরিবর্তন করতে হবে।

পরিবর্তন:

Standard_DZ_SX = 0x10;

মান_ DZ_SY = 0x10;

A10_calibration.txt এ লাইন:

Standard_DZ_SX = 0x01;

মান_ DZ_SY = 0x01;

এটি 10 থেকে 1 পর্যন্ত স্লু কন্ট্রোলে ডেড জোনে পরিবর্তিত হবে এবং আরও ভাল নিয়ন্ত্রণ দেবে। আপনি এই সেটিং দিয়ে খেলতে পারেন এবং তারপরে পুনরায় গণনা করতে পারেন এবং দেখতে পারেন যে আপনি সবচেয়ে বেশি পছন্দ করেন।

প্রস্তাবিত: