راه اندازی AHRS با ماژول 9 محوره ICM20948 و آردوینو

راه اندازی AHRS با ماژول 9 محوره ICM20948 و آردوینو
36 بازدید
۱۴۰۴-۰۷-۲۶
9 دقیقه
  • نویسنده: امبددتک
  • درباره نویسنده: طراحی و تولید محصولات الکترونیک | embeddedtech.ir | چاپ PCB

یک سیستم مرجع وضعیت و جهت (AHRS) از یک واحد اندازه‌گیری اینرسی (IMU) استفاده می‌کند که شامل حسگرهای اینرسی سیستم میکروالکترومکانیکی (MEMS) است تا نرخ زاویه‌ای، شتاب و میدان مغناطیسی زمین را اندازه‌گیری کند. این اندازه‌گیری‌ها سپس می‌توانند برای برآورد وضعیت جسم استفاده شوند. یک سیستم مرجع وضعیت و جهت (AHRS) معمولاً شامل یک ژیروسکوپ ۳ محوره، یک شتاب‌سنج ۳ محوره و یک مغناطیس‌سنج ۳ محوره است تا برآوردی از جهت‌گیری سیستم را تعیین کند. هر یک از این حسگرها اندازه‌گیری‌های مختلفی را به سیستم ترکیب‌شده ارائه می‌دهند و هرکدام محدودیت‌های خاص خود را دارند.

اجزاء AHRS

ژیروسکوپ

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

شتاب سنج

یک شتاب‌سنج به سیستم مرجع وضعیت و جهت (AHRS) اندازه‌گیری شتاب سیستم را ارائه می‌دهد و فرض بر این است که تنها گرانش را اندازه‌گیری می‌کند. این فرض به شتاب‌سنج اجازه می‌دهد تا زاویه‌های (pitch) و (roll) را از جهت‌گیری بردار گرانش محاسبه کند، با این حال، هرگونه انحراف یا خطای دیگری در اندازه‌گیری‌های شتاب‌سنج باعث خطا در محاسبه زاویه‌های شیب و غلطش می‌شود. علاوه بر این، از آنجا که فرض بر این است که شتاب‌سنج تنها گرانش را اندازه‌گیری می‌کند، هرگونه حرکت دینامیکی اضافی نیز باعث خطا در محاسبه زاویه‌های roll و Pitch سیستم می‌شود.

مغناطیس سنج (قطب نما)

از آنجا که شتاب‌سنج تنها می‌تواند زاویه‌های (pitch) و (roll) را اندازه‌گیری کند، یک مغناطیس‌سنج به (AHRS) اندازه‌گیری (yaw) را ارائه می‌دهد، به این صورت که اندازه‌گیری میدان مغناطیسی اطراف سیستم را با میدان مغناطیسی زمین مقایسه می‌کند، درست مانند یک قطب‌نما مغناطیسی سنتی. در بیشتر واحدهای AHRS، اندازه‌گیری‌های مغناطیس‌سنج تأثیری بر برآوردهای زاویه‌های roll و pitch ندارند.
 
در یک سیستمAHRS، اندازه‌گیری‌های ژیروسکوپ، شتاب‌سنج و مغناطیس‌سنج ترکیب می‌شوند تا برآوردی از جهت‌گیری سیستم ارائه دهند، که اغلب از یک فیلتر کالمن برای این کار استفاده می‌شود. این تکنیک برآوردی از وضعیت با استفاده از اندازه‌گیری‌های خام این حسگرها به دست می‌آورد و یک برآورد بهینه از وضعیت را با توجه به فرضیات مطرح‌شده برای هر حسگر فردی محاسبه می‌کند. فیلتر کالمن علاوه بر وضعیت، انحراف ژیروسکوپ یا خطای انحراف bias آن را نیز برآورد می‌کند. سپس می‌توان از انحراف ژیروسکوپ برای جبران اندازه‌گیری‌های خام ژیروسکوپ استفاده کرده و از انحراف آن در طول زمان جلوگیری کرد. با ترکیب داده‌های هر یک از این حسگرها در یک فیلتر کالمن، می‌توان یک راه‌حل جهت‌یابی با نرخ بالا و بدون انحراف برای سیستم به دست آورد.
 
 

راه اندازی AHRS با ماژول 9 محوره ICM20948 و آردوینو

معرفی ICM20948

ICM20948 یک سنسور واحد اندازه‌گیری اینرسی (IMU) پیشرفته است که توسط شرکت InvenSense تولید شده است. این سنسور ترکیبی از شتاب‌سنج ۳ محوره، ژیروسکوپ ۳ محوره و مغناطیس‌سنج ۳ محوره را در یک تراشه واحد ارائه می‌دهد. ICM20948 برای کاربردهای مختلفی از جمله رباتیک، سیستم‌های موقعیت‌یابی، پهپادها، و دستگاه‌های قابل حمل طراحی شده است. این تراشه به دلیل دقت بالا، مصرف انرژی پایین و قابلیت یکپارچگی آسان در سیستم‌های پیچیده، به‌ویژه در کاربردهای پیشرفته AHRS، محبوب است. همچینین این تراشه بدلیل داشتن پردازنده حرکتی (DMP) در داخل خود توانایی محاسبه انواع محاسبات ریاضی مورد نیاز را دارد و پردازنده host نیاز به درگیر شدن برای انجام این گونه محاسبات را ندارد.

 

راه اندازی AHRS با ماژول 9 محوره ICM20948 و آردوینو

در این آموزش ما از ماژول این سنسور استفاده میکنیم که از فروشگاه امبددتک قابل تهیه است.
 

راه اندازی AHRS با ماژول 9 محوره ICM20948 و آردوینو

راه اندازی AHRS و ماژول ICM20948 و آردوینو

سخت افزار مورد نیاز

  • آردوینو UNO R4
  • ماژول ICM42688

نحوه اتصال سخت افزار

راه اندازی AHRS با ماژول 9 محوره ICM20948 و آردوینو

 

توجه شود بدلیل نیاز داشتن کتابخانه راه انداز این سنسور به بیش از 35 کیلوبایت حافظه Flash و عدم پشتیبانی Arduino UNO R3 از این مقدار حافظه Flash (نهایتا 32 کیلوبایت) در این آموزش از Arduino UNO R4 Wifi استفاده شده است. همچنین میتوان از سایر مدل های برد های آردوینو با حافظه Flash بیشتر از 32KB استفاده کرد.

برای استفاده از سنسور ICM20948 ابتدا باید کتابخانه آردوینوی آن فراخوانی شود. برای دانلود کتابخانه ICM2048 در نرم افزار آردوینو به مسیر Sketch -> Include Library -> Manage Libraries رفته و با جستجوی ICM 20948 میتوانید کتابخانه مورد نظر را دانلود و نصب کنید.

راه اندازی AHRS با ماژول 9 محوره ICM20948 و آردوینو

بررسی برنامه

در تابع setup تنظیمات اولیه مربوط به ماژول پیکربندی می شوند. در خطوط 32 تا 37 پیکربندی پروتکل استفاده شده در ماژول که I2c می باشد انجام می شود. در خط 36 سرعت ارتباط I2c برابر 400KHz تنظیم می شود. در خطوط 44 تا 70 ، while بررسی می کند اگر سنسور به درستی وصل شده نشده باشد داخل آن گیر می کند تا اتصالات سنسور به درستی انجام شود و زمانی که آردوینو سنسور را تشخیص دهد Device connected در ترمینال نشان داده می شود.

خطوط 79 و 99 پیکربندی DMP انجام می شود همچنین سایر گزینه های قابل استفاده برای تنظیم DMP به صورت کامنت در خطوط 81 تا 96 آورده شده اند. این گزینه ها شامل راه اندازی پدومتر ، کالیبراسیون و… می باشند. در خط 111 مشخص می شود که سرعت نمونه برداری از محور ها چقدر باشد که در اینجا ما هر 9 محور را می خواهیم و سرعت نمونه برداری روی حداکثر مقدار قابل تنظیم قرار داده می شود.

خطوط 175 تا 197 داده های Quaternion را به زاویه های رول ، پیچ و یاو تبدیل می کنند. در اینجا، ما از یک Quaternions که مقادیر Q1 و Q2 و Q3 هستند و ازطرف خود ماژول ارسال می شوند برای نشان دادن چرخش‌های سه‌بعدی استفاده می‌کنیم. کواترنین‌ها معمولاً برای به‌دست آوردن جهت و چرخش در فضای سه‌بعدی به کار می‌روند، به‌ویژه در سیستم‌های مانند AHRS که برای ناوبری استفاده می‌شوند. این فرمول ها برای تبدیل کواترنین ها به زاویه های اویلر در سیستم مختصات سه بعدی استفاده می شوند.

خطوط 201 تا 216 برای نمایش داده های رول ، پیچ و یاو استفاده می شوند که ما از آنها برای نمایش در نمایش دهنده سه بعدی استفاده می کنیم.

نرم افزار نمایش دهنده زاویه جسم به صورت سه بعدی

بعد از وارد شدن و آپلود کردن کد روی آردوینو برای استفاده از نرم افزار نمایش دهنده سه بعدی وارد این لینک می شویم. نحوه اتصال آردوینو به این صورت است که ابتدا بادریت مورد نظر را انتخاب می کنیم که در برنامه ما 115200 است. سپس دکمه connect را کلیک می کنیم.
 
راه اندازی AHRS با ماژول 9 محوره ICM20948 و آردوینو
 
بعد از اتصال جسم سه بعدی خرگوش با حرکت ماژول زاویه اش تغییر پیدا می کند:
 
 
توجه شود که ماژول بعد از هر بار روشن شدن مغناطیس سنجش نیاز به کالیبراسیون دارد تا آفست اولیه اش از بین برود. در واقع هر سنسور مغناطیس سنج بعد از هر بار خاموش روشن شدن نیاز به کالیبره دارد تا آفست اولیه آن از بین برود. این آفست بدلایل مختلفی همچون شدت و یا ضعف میدان مغناطیسی زمین در برخی نقاط، نویز های الکترو مغناطیسی ، سیم های نزدیک به سنسور و … ایجاد می شود.
حرکت دادن ماژول به صورت هشتی کمک زیادی به کالیبره شدن مغناطیس سنج می کند.
 

راه اندازی AHRS با ماژول 9 محوره ICM20948 و آردوینو

 
 

خرید ماژول ژیروسکوپ و شتاب سنج و قطب نما 9 محوره ICM 20948 (IM-931)

icm 20948 tdk

اطلاعات
36
0
0
اشتراک و حمایت
profile نویسنده: امبددتک متخصص الکترونیک

طراحی و تولید محصولات الکترونیک | embeddedtech.ir | چاپ PCB


مقالات بیشتر
slide

پالت | بازار خرید و فروش قطعات الکترونیک

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

آیسی | موتور جستجوی قطعات الکترونیک

سامانه آی سی سیسوگ (Isee) قابلیتی جدید و کاربردی از سیسوگ است. در این سامانه سعی شده است که جستجو، انتخاب و خرید مناسب تر قطعات برای کاربران تسهیل شود. جستجو در آیسی
family

سیسوگ‌شاپ | فروشگاه محصولات Quectel

فروشگاه سیسوگ مجموعه ای متمرکز بر تکنولوژی های مبتنی بر IOT و ماژول های M2M نظیر GSM، GPS، LTE، NB-IOT، WiFi، BT و ... جایی که با تعامل فنی و سازنده، بهترین راهکارها انتخاب می شوند. برو به فروشگاه سیسوگ
family

سیسوگ فروم | محلی برای پاسخ پرسش‌های شما

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

سیکار | اولین مرجع متن باز ECU در ایران

بررسی و ارائه اطلاعات مربوط به ECU (واحد کنترل الکترونیکی) و نرم‌افزارهای متن باز مرتبط با آن برو به سیکار
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله

خانواده سیسوگ

سیسوگ‌شاپ

فروشگاه محصولات Quectel

پالت
سیسوگ فروم

محلی برای پاسخ پرسش‌های شما

سیسوگ جابز
سیسوگ
سیسوگ فروم
سی‌کار

اولین مرجع متن باز ECU در ایران

سیسوگ مگ
آی‌سی

موتور جستجوی قطعات الکترونیکی

سیسوگ آکادمی
پالت

بازار خرید و فروش قطعات الکترونیک

دیدگاه ها

become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله
become a writer
نویسنده شو !

سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.

ارسال مقاله