گیاهی ترین گیاهی ترین AnzanDigital فروشگاه
خانه / آردوینو / راهندازی سنسور MPU6050
invensense-mpu6050

راهندازی سنسور MPU6050

معرفی:

سنسور InvenSense Mpu-6050 شامل شتاب سنج و جایرو MEMS در یک چیپ است،که دقت بسیار بالایی دارد،همچنین مجهز به مبدل 16-بیتی برای هر کانال است،بنابرین همزمان قادر به گرفتن اطلاعات سه کانال x,y,z است،رابط ارتباطی این سنسور i2c بوده و قادر به ارتباط با میکرو کنترلر ها،برد های توسعه ی ARM و همچنین سری آردوینو است.همچنین دربردارنده ی پردازنده ی حرکتی دیجیتال (DMP) بر روی چیپ می باشد که پردازش با الگوریتم حرکت های ترکیبی(MotionFusion) در 6-محور را امکان پذیر می کند.این سنسور قابلیت اتصال به سنسور خارجی از طریق رابط ثانویه ی خود را امکان پذیر می سازد،در این باس I2C سنسور به عنوان Master از طریق AUX به سنسور بعدی که قطب نما فرض شده است متصل می شود.

6000-6050-diagram

قظعه # محدوده و مقیاس های جایرو  دقت جایرو محدوده و مقیاس بندی شتابسنج دقت شتابسنج خروجی دیجیتال ولتاژ منطقی ولتاژ کاری اندازه بسته بندی
UNITS: (°/sec) (LSB/°/sec) (g) (LSB/g) (V) (V +/-5%) (mm)
MPU-6000 ±250
±500
±1000
±2000
131
65.5
32.8
16.4
±2
±4
±8
±16
16384
8192
4096
2048
I²C or SPI VDD 2.375V–3.46V 4x4x0.9
MPU-6050 ±250
±500
±1000
±2000
131
65.5
32.8
16.4
±2
±4
±8
±16
16384
8192
4096
2048
I²C 1.8V±5% or VDD 2.375V–3.46V 4x4x0.9

 

راه اندازی :

invensense-mpu6050

راهندازی این سنسور با توجه به پیچیده بودن و تعداد زیاد ریجیستر ها به صورت مستقیم و بدون استفاده از کتابخانه ای خاص،سخت و وقت گیر است.ولی خود شرکت سازنده هم بر ان نبوده که کاربران را به اجبار ملزوم به فراگیری تمامی ریجیستر ها کند،بنابرین با معرفی نقشه ای ریجیستر ها به معرفی مختصری بسنده کرده و سراغ ارائه کتابخانه ای کامل رفته است،این کتابخانه ها اگر چه برنامه ای مستقل از سخت افزار به اصلاح Cross-platform دارند،ولی ابتدا بر روی برد های آردوینو می توانید به تست آنها بپردازید.

* همواره دیدی مختصر از عملکرد و ساختار درونی چیپ داشته باشید،کتابچه های قرار داده شده در جدول بالا را مطالعه و به قسمت شماره پین ها و همچنین جهت های استاندارد x,y,z توجه کافی داشته باشید.

MPU6050_轴向定位

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

Cross-platform

ابتدا کد های زیر را دانلود کنید،برای تست این کد ها کافیست یکی از برد های آردوینو را تهیه کنید و یا نسبت تبدیل میکروکنترل های فعلی خود به آردوینو اقدام کنید،راه حل اول توصیه می شود!

 

I2CDevLib کتابخانه ی توسعه یافته ی I2C :

این کتابخانه شامل برنامه های آماده برای انواع سنسور ها می باشد،همچنین کتابخانه ی i2cDev که خود کتابخانه ای جامع برای مدیریت ارتباط i2c است.

برای راهندازی توسط آردوینو کافیست در پوشه آردوینو پوشه MPU6050 و I2CDEV را کپی کنید.

* کامپایلر آردوینو کد ها و کتابخانه های را به صورت مستقیم از Document سیستم شما شناسایی می کند.به یاد داشته باشید :

C:\Users\YourSystemName\Documents\Arduino\libraries

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

از منوی فایل – به قسمت مثال های آردوینو رفته و به دنبال شاخه ی MPU-6050 بگردید.

در این شاخه دو مد مختلف برای نمایش وجود دارد،مد داده خام raw و مد استفاده از DMP،در حالت DMP می توانید زوایای خوانده شده را مشاهده نمایید.در مد raw  تنها قادر به مشاهده ی اطلاعات شتاب و جایرو سه محور x,y,z خواهید بود.

 

MPU6050
MPU6050
MPU6050-RAW
MPU6050-RAW

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

منبع :: بیر رباتیک | i2cdevlib

کانال تلگرام بیر رباتیک

درباره Ahrovani Hadi

مشاهده بیشتر

-sgURvz6

اکتیو پایتون

اکتیو پایتون: در اکتیو پایتون محبوب ترین بسته های پایتون برای علم داده(Data Science)، یادگیری ماشین، …