محاسبات مورد نياز ژيروسكوپ ها در كوادكوپتر {جلسه بیست و پنجم}

مقدمه

در اين جلسه محاسبات مربوط به ژيروسكوپ را به صورت خط به خط مورد بحث قرار مي دهيم و جایگذاری این داده ها و ترکیب آنها با فیلترهای کالمن و … را در جلسات آینده بررسي مي كنيم.

یک جایروسکوپ سه محوره چرخش را در سه جهت اندازه گیری می کند. و با استفاده از اندازه گیری نرخ این چرخش ها سرعت زاویه ای را اندازه گیری می کند.

فرض کنید یک ژيروسكوپ دو محوره داریم و با استفاده از این ژيروسكوپ نیروها را تحلیل می کنیم.

زاويه هاي چرخش ژيروسكوپ

معادلات حركتي در ژيروسكوپ

Rxz: تصویر بردار R روی صفحه xz

Ryz: تصویر بردار R روی صفحه yz

همچنین با توجه به شکل دوتا زاويه نشان داده شده را به صورت زير نامگذاري مي كنيم:

Axz: زاویه بین Rxz و محور z

Ayz: زاویه بین Ryz و محور z

با تعریف دوتا زاویه بالا نتیجه می گیریم که ژيروسكوپ نرخ تغییرات این دوتا زاویه را اندازه میگیرد. از معادلات و عبارات بالا متوجه می شویم که ژيروسكوپ جایروسکوپ چگونه عمل می کند.

به عبارت دیگر مقدار خروجی جایروسکوپ به صورت خطی به نرخ تغییرات زاویه های فوق وابسته است.

برای توضیح شفاف تر فرض کنید که ما یک چرخش حول محور Z داریم. که طیق شکل بالا با چرخش حول محور Y زاویه Axz بوجود می آید. که این زاویه اولیه در زمان t0 است و اسم آن را Axz0 می گذاریم و در زمان بعدی یعنی t1 اسم آن را Axz1 می گذاریم. خب حالا تغییرات این دو زاویه به صورت زیر است:

RateAxz = (Axz1 – Axz0) / (t1 – t0)

زاویه صورت کسر فوق که به صورت درجه است و مخرج کسر هم که معرف زمان است و برحسب زمان سنجیده می شود پس این نرخ تغییرات بر حسب درجه بر ثانیه یا deg/s سنجیده می شود و این چیزی است که جایروسکوپ اندازه گیری می کند.

در عمل جایروسکوپ مقدار deg/s را به ما تحویل نمی دهد(بجز جایروسکوپ های دیجیتال) و باید با استفاده از یک واحد ADC مقادیر خروجی از آن را تبدیل کنیم. در اينجا ADC ما 10بيتي است. داده هاي خروجي از جايروسكوپ دومحوره را با AdcGyroXZ(چرخش حول محور Y) و  AdcGyroYZ(چرخش حول محور X) نشان مي دهيم. كه با تبديلاتي كه در جلسه شتاب سنج گفتيم داريم:

RateAxz = (AdcGyroXZ * Vref / 1023 – VzeroRate) / Sensitivity
RateAyz = (AdcGyroYZ * Vref / 1023 – VzeroRate) / Sensitivity

Vref: ولتاژ مرجع واحد ADC كه در اينجا براي ما 3.3 ولت است.

VzeroRate: نرخ ولتاژ صفر، ولتاژي است كه جايروسكوپ در حالت سكون و بدون هيچگونه چرخشي به ما نشان مي دهد. اين مقدار را در ديتاشيت مربوط به هر جايروسكوپ مي توانيد پيدا كنيد. براي جايروسكوپ مورد استفاده ما در اينجا 1.23 ولت است.

Sensitivity: حساسيت جايروسكوپ برحسب mV / (deg / s) بيان مي شود كه غالبا به صورت mV/deg/s  نوشته مي شود و بدين معني است كه در هر ثانيه ميزان ميلي ولت خروجي از جايروسكوپ چقدر است. جايروسكوپ مورد استفاده ما در اينجا داراي حساسيت 2mV/deg/s يا 0.002V/deg/s است.

حالا فرض كنيد جايروسكوپ ما مقادير زير را نشان مي دهد:

AdcGyroXZ = 571
AdcGyroXZ = 323

با جايگذاري مقادير فوق و استفاده از فرمول بالا دو مقدار زير بدست مي آيد.

RateAxz = (571 * 3.3V / 1023 – 1.23V) / ( 0.002V/deg/s) =~ 306 deg/s
RateAyz = (323 * 3.3V / 1023 – 1.23V) / ( 0.002V/deg/s) =~ -94 deg/s

 طبق محاسبات بالا چرخش حول محور Y مقدار 306 درجه است و چرخش حول محور X مقدار 94- است. علامت منفي بدين معني است كه چرخش در جهت عكس بوده است كه در شكل زير نشان داده ايم.

تشخيص جهت مثبت در ژيروسكوپ

ژيروسكوپ

 

معمولا يك جايروسكوپ خوب جهت مثبت را در ديتاشيت خود نشان داده است در غير اين صورت بايد به صورت تجربي افزايش ميزان ولتاژ خروجي از پين آن را هنگام چرخاندن جايروسكوپ اندازه گيري كنيم. براي راحتي كار مي توانيد در كدنويسي مربوط به جايروسكوپ ابتدا يك ثابت مربوط به تعداد بيت هاي واحد ADC تعريف كنيد تا در صورت تغيير تعداد بيت ها فقط ثابت مربوطه را تغيير دهيد. نكته ديگه هم اينكه فقط فرمول هايي نهايي را وارد مي كنيد كه در بالا بيان شده است.

چرخش ژيروسكوپ

استفاده از اسيلوسكوپ و ولت متر براي تشخيص جهت مثبت و منفي جايروسكوپ

بهترين راه تشخيص جهت مثبت و منفي چرخش استفاده از اسيلوسكوپ است زيرا هنگامي كه ژيروسكوپ ساكن است نرخ ولتاژ صفر يا همان VzeroRate را به ما نشان مي دهد. براي استفاده از مولتي متر هم ابتدا جايروسكوپ را در يك جهت مي چرخانيم و سپس چند ثانيه صبر مي كنيم و در صورتي كه مقدار بدست آمده بزرگتر از VzeroRate باشد آن جهت مثبت است و جهت ديگر منفي است. دقت كنيد كه VzeroRate در ديتاشيت ژيروسكوپ وجود دارد.

برای دریافت آخرین مطالب سایت  و همچنین مطالب منحصر به فرد دیگر که در سایت منتشر نمی شوند میتوانید در کانال تلگرام ما عضو شوید و یا در اینستاگرام ما را فالوو کنید:

 

4 نظر

  • حمیدرضا نوریان

    سلام
    خیلی خیلی ممنون بابت سایت عالیتون
    لطفا اگه امکان داره منبعتون رو هم معرفی کنید

    • قاسم قاسمی

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

  • احسان

    مرسی بابت مطالبتون….اگه میشه لطف کنید توضیح کامل و ساده ای در مورد فیلتر کالمن توسعه یافته (EKF) و فیلتر نمونه بردار(UKF) و همچنین فرمول های بدست آوردن آنها بدین …چون متاسفانه توی اینترنت مطالب جامع و کاملی در این مورد این موضوع اصلا پیدا نمیشه..

    • قاسم قاسمی

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

  • نوشتن نظر

    نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

    Optionally add an image (JPEG only)