تئوری محاسبه زاویه با شتاب سنج

مقدمه

با سلام. در این جلسه قصد داریم به صورت کامل در مورد نحوه محاسبه زاویه شیب (tilt angle) به کمک شتاب سنج توضیحات نسبتا جامعی را ارایه دهیم و در جلسات آینده به کمک MPU9150 این موارد را پیاده سازی کرده و زوایا را بدست بیاوریم. در این جلسه نحوه بدست آوردن زاویه را به کمک شتاب سنج های تک محوره  و سه محوره بررسی میکنیم. برای فهم بهتر بدست آوردن زوایای با یک شتاب سنج سه محوره ، نحوه بدست آوردن زاویه با شتاب سنج تک محوره بسیار مهم است. در صورتی که با سنسور شتاب سنج آشنایی ندارید پیشنهاد می شود برای درک بهتر ابتدا جلسه زیر را مطالعه کنید : 

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

زاویه شیب

قبل از هر چیز بد نیست با یک اصطلاح آشنا شویم که در ادامه بسیار زیاد با آن برخورد خواهیم داشت. این اصطلاح زاویه شیب (به انگلیسی tilt angle)  می باشد و منظور از آن زاویه ای است که یک خط راست با خطی دیگر (که شیب متفاوتی دارد)، می سازد. شکل زیر این مفهوم را به وضوح نشان می دهد : 

[post_shop]

برای مثال اگر قصد داریم بام خانه خود را شیب دار بسازیم ، tilt angle زاویه شیب سقف است. یعنی شیب را با چه زاویه ای بسازیم. این همان زاویه شیب هست. 

تئوری بدست آوردن زاویه شیب با شتاب سنج تک محوره

فرض کنید که یک شتاب سنج تک محوره داریم. میخواهیم زاویه شیب را به کمک این شتاب سنج بدست آوریم. ابتدا شکل زیر را در نظر بگیرید: 

محاسبه زاویه با شتاب سنج

در شکل بالا شتاب سنج را در جهت A قرار داده ایم. به عبارت دقیق تر  محوری که میتواند شتاب را بدست آورد در جهت A قرار  داده شده است. ما میدانیم که یک شتاب جاذبه g داریم. شتاب سنج در اینجا در واقع شتاب g را اندازه گیری نمی کند و صرفا تصویری از شتاب g که بر روی محور A می افتد را اندازه می گیرد. همان طور که میدانیم زاویه شیب در اینجا زاویه بین محور شتاب سنج و شتاب g می باشد که در اینجا اسم این زاویه را آلفا گذاشته ایم. مقداری که شتاب سنج ما اندازه می گیرد بستگی به این زاویه دارد. به سادگی و از مثلثات میدانیم که : 

واضح است که زاویه شیب را میتوانیم به کمک رابطه بالا به صورت زیر بدست آوریم : 

توجه داشته باشید که این رابطه صرفا دامنه شیب را به ما می دهد و علامت شیب را نشان نمی دهد. 

در فرمول های بالا ، مقدار A ، مقداری است که توسط شتاب سنج اندازه گیری شده است و g هم بردار شتاب جاذبه می باشد. در دو شکل زیر همین شتاب سنج تک محوره را 360 درجه چرخانده ایم و مقادیر مختلف در زوایای متفاوت را نشان داده ایم . به این دو شکل دقت کنید: 

 

محاسبه زاویه با شتاب سنج

بدست آوردن زوایای شیب با شتاب سنج سه محوره

ابتدا شکل زیر را ببینید:

محاسبه زاویه با شتاب سنج

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

 

در روابط بالا مقادیر Ax1 و Ay1 مقادیر بدست آمده از شتاب سنج پس از اعمال کالیبراسیون بر روی داده های خام (Ax و Ay ) می باشد. 

راه دوم نیز استفاده از شتاب های موجود برای هر سه محور است. فرمول های مربوط به بدست آوردن زوایا با این روش در زیر آورده شده است : 

[/ihc-hide-content]

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

توجه داشته باشید که زوایای بدست آمده از روابط بالا بر حسب رادیان هستند و برای تبدیل آنها به درجه باید در 180 ضرب و بر پی تقسیم شوند. 

نکته آخر نیز که باید به آن توجه کنیم این است که ما به کمک یک شتاب سنج صرفا میتوانیم زوایای roll و pitch را اندازه گیری کنیم و نمیتوانیم زاویه Yaw را بیابیم. علت این موضوع این است که زوایه Yaw در واقع در یک صفحه حرکت می کند و مقادیر خوانده شده برای X و Y برای بدست آوردن زاویه Yaw به ما کمکی نمی کند. علاوه بر آن بردار شتاب در جهت Z نیز عمود بر این حرکت می باشد و از آن نیز نمیتوانیم کمک بگیریم. برای بدست آوردن زاویه Yaw نیازمند استفاده از قطب نما و ژیروسکوپ هستیم. 

ایرادات محاسبه زاویه با شتاب سنج

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

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

[/post_shop]

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

نویز مربوط به داده های شتاب سنج

ما شتاب سنج را در یک سطح افقی قرار داده ایم و زاویه محور X را به کمک فرمول های بالا محاسبه کرده ایم. همانطرو که میبینید ، بدون تغییر زاویه ، زاویه تغییر می کند. این همان موضوع نویز پذیری شتاب سنج است. 

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

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

8 دیدگاه

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

  • سلام استاد قاسمی
    تشکر از مطالب خوب و روان سایت
    در مورد تخمین پارامتر و استفاده از فیلتر کالمن هم اگر منبعی میشناسید یا مطلبی دارید لطفا اطلاع رسانی بفرمایید
    متشکرم

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

  • بله. بازم امتحان کردم این مطلب رو نمیتونم ببینم. چند تا مطلب VIP رو تونستم باز کنم به جز این مورد.

    • یک تغییر دوباره اعمال شد. لطفا بار دیگر تست کنید.
      در صورت مشکل لطفا ایمیل خود را بفرمایید تا مطلب مورد نظر به صورت PDF برای شما ارسال گردد.
      با تشکر.

  • چرا این مطالب برای من باز نمیشن؟ بنده ثبت نام کردم اما هر چی میزنم باز نمیشه. لطفا رسیدگی کنید.ممنون

    • با سلام.
      شما تنها همین یک مطلب را نمیتوانید ببینید یا هیچکدام از مطالب VIP را نمیبینید ؟
      لطفا بار دیگر چک بفرمایید ببینید آیا همچنان مشکل دارید یا خیر

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