ژیروسکوپ چیست و چگونه کار می کند؟

مقدمه

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

ژیروسکوپ چیست؟

ژیروسکوپ ها قطعاتی هستند که سرعت زاویه ای را اندازه گیری میکنند و نوع MEMS آن قیمت پایینی هم دارد. واحد اندازه گیری سرعت زاویه ای، درجه بر ثانیه ( s/° ) یا دور بر ثانیه (RPS) است. سرعت زاویه ای هم همانطور که از نامش مشخص است برای سرعتی است که یک جسم دور خودش میچرخد. مثلا اگر یک جسم در هر یک ثانیه 360 درجه دور خودش بچرخد، سرعت زاویه ای آن جسم، 360 درجه بر ثانیه می شود. 

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

[post_shop]

 

وقتی یک جسم حول یک محور ( x یا y یا z) ، شروع به چرخش میکنه، پارامتر به نام سرعت زاویه ای تعریف می شود. همانطور که گفته شد، واحد سرعت زاویه ای درجه بر ثانیه ( s/° ) یا دور بر ثانیه (RPS) است. در شکل زیر چرخ حول محور z شروع به چرخش کرده است. 

در شکل زیر چرخش های حول سه محور مختصات در یک ژیروسکوپ نشان داده شده است:

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

ما در ابتدای این جلسه گفتیم که اگر یک چرخ در یک ثانیه  یک دور بچرخه، سرعت زاویه ای اون چرخ برابر 360 درجه بر ثانیه میشه ولی توجه کنید که جهت چرخش هم مهم هست. این که چرخ در جهت عقربه های ساعت چرخیده و یا در خلاف جهت عقربه های ساعت. 

ژیروسکوپ های MEMS سه محوره میتوانند، سرعت زاویه ای را حول سه محور x و y و z اندازه گیری کنند. البته ژِیروسکوپ هایی هم وجود دارند که یک محوره و یا دو محوره هستند. اما ژیروسکوپ های سه محوره معمول ارزان تر، کوچک تر و معروف تر هستند. 

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

 

اندازه یک سنسور جایرو MEMS بسیار کوچک است.( بین 1 تا 100 میکرومتر. به اندازه قطر موی انسان ) . وقتی که جایرو می چرخد، یک جسم بسیار کوچک متناسب با تغییرات سرعت زاویه ای، جا به جا می شود و این تغییرات به صورت یک سیگنال الکتریکی ظاهر می شود و این سیگنال تقویت شده و سپس  به وسیله میکروکنترلر سرعت زاویه ای اندازه گیری می شود. 

ارتباط یک ژیروسکوپ و میکروکنترلر

برای ارتباط یک میکروکنترلر و ژیروسکوپ باید پایه های تغذیه و پایه های مربوط به پروتکل های ارتباطی را در نظر بگیریم. برای اطلاعات دقیق در این دو مورد حتما به دیتایشت سنسور مربوطه مراجعه کنید. البته ما در ادامه یک سری نکات کلی رو در این مورد ارایه می دهیم:

راه های ارتباطی با ژیروسکوپ ها:

ژیروسکوپ ها در دو نوع دیجیتال و آنالوگ در بازار یافت می شوند:

ژیروسکوپ های دیجیتال معمولا از پروتکل های I2C و SPI برای ارتباط با میکروکنترلر استفاده می کنند. با استفاده از این پروتکل ها میتوانیم خیلی راحت و بدون هیچ مشکلی به میکروکنترلر میزبان متصل شویم. یکی از محدودیت های ارتباط های دیجیتال، ماکزیمم نرخ نمونه برداری است. ماکزیمم نرخ نمونه برداری در پروتکل I2C برابر 400 هرتز است. اگر چه SPI نرخ نمونه برداری بالاتری دارد. 

ژیروسکوپ های دیجیتال، سرعت زاویه ای رو در قالب ولتاژهای مختلف به ما ارایه می دهند. با استفاده از واحد ADC در میکروکنترلر میتوانیم این ولتاژها را بخوانیم و سرعت زاویه ای را بدست آوریم. ژیروسکوپ های آنالوگ معمولا ارزان تر و دارای دقت بالاتری هستند. ( البته این موضوع بستگی به نوع خواندن اطلاعت هم دارد.)

تغذیه:

ژیروسکوپ های MEMS ، معمولا توان مصرفی پایینی دارند. جریان مصرفی این ژیروسکوپ ها معمولا در رنج میلی آمپر و گاهی میکروآمپر است. ولتاژ اعمالی به آن ها هم اغلب 5 ولت و یا کمتر است.  نکته مهم این است که خطوط 5 ولت را حتما به 5 ولت و خطوطی که با 3.3 ولت کار میکنند را حتما به 3.3 ولت وصل کنید. ژیروسکوپ های دیجتال معمولا دارای مدهایی برای Sleep هستند که باعث می شوند جریان مصرفی آنها کاهش پیدا کند. از این مدها در پروژه هایی که باتری به عنوان منبع تغذیه است، میتوان استفاده کرد. 

پارامترهای مهم در هنگام انتخاب یک ژیروسکوپ

برای انتخاب یک ژیروسکوپ پارامترهای متفاوتی وجود دارد که ما در اینجا برخی از مهمترین پارامترها را بررسی کرده ایم. 

رنج اندازه گیری: رنج اندازه گیری یک پارامتر مهم است. با استفاده از این پارامتر ما میفهمیم که ژیروسکوپ حداکثر تا چه سرعت زاویه ای رو میتونه اندازه گیری کنه. در شکل زیر، نرخ اندازه گیری مربوط به ماژول mpu6050 آورده شده است:

حساسیت (Sensitivity) :

حساسیت یک ژیروسکوپ بر حسب میلی ولت بر درجه بر ثانیه (mV/°/s) بیان می شود. البته این واحد شاید یه خورده ظاهر عجیب و غریبی داشته باشه. حساسیت بیان میکند که به ازای سرعت زاویه ای، خروجی چند میلی ولت تغییر می کند. به عنوان مثال اگه یک ژیروسکوپ با حساسیت 30mv/°/s داشته باشیم و خروجی ژیروسکوپ 300 میلی ولت باشه ، در این صورت سرعت زاویه ای برابر  10 درجه بر ثانیه است. 

یک قانون مهم رو همیشه به یاد داشته باشید: وقتی حساسیت افزایش پیدا کند، رنج اندازه گیری کم می شود. به عنوان مثال، به دیتاشیت LPY503 که نگاه کنیم میتوانیم جدول زیر رو مشاهده کنیم:

همونطور که در این جدول هم میبینید، با افزایش رنج اندازه گیری، حساسیت کاهش پیدا کرده است. 

[/post_shop]

خطا

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

خوب دوستان برای این جلسه هم کافی است. مثل همیشه میتوانید ما را در تلگرام و یا اینستاگرام دنبال کنید:

اشتراک گذاری:
مطالب زیر را حتما بخوانید

9 دیدگاه

به گفتگوی ما بپیوندید و دیدگاه خود را با ما در میان بگذارید.

  • سلام.بسیار عالی بود و با زبان ساده توضیح داده بودید.سپاس از شما.
    یک سوال داشتم:
    یک حرکت ورزشی رو در نظر بگیرید مثلا پرش، با استفاده از جایروسکوپ می خواهیم سرعت زاویه ای رو به دست بیاریم، داده های خام به دست آمده رو چه جوری باید تجزیه و تحلیل کرد؟؟آیا نرم افزاری برای تجزیه داده ها وجود دارد؟

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

دیدگاهتان را بنویسید