شِفر (کود) شتاب‌سنج، ژیروسکوپ و مگنتومتر MPU-9250

شِفر (کود) شتاب‌سنج، ژیروسکوپ و مگنتومتر MPU-9250

در این آموزش، ما به بررسی نحوه استفاده از حساس(حس کننده) MPU-9250 خواهیم پرداخت که شتاب‌سنج، ژیروسکوپ و مغناطیس‌سنج را در یک ماجیول فشرده ترکیب می‌کند. در پایان این راهنما، شما قادر خواهید بود داده‌های حساس(حس کننده) را بخوانید و معنای آن را در پروژه‌های خود تفسیر کنید. این حساس(حس کننده) به‌ویژه برای کاربردهایی مانند رباتیک و پهپادها مفید است، جایی که ردیابی جهت و حرکت مهم است. می‌توانید به ویدیو برای توضیحات اضافی در مورد راه‌اندازی و شِفر (کود) مراجعه کنید (در ویدیو در 00:20).

ELE_MPU6050_208
ELE_MPU6050_208

توضیحاتی درباره سخت‌افزار

ماجیول MPU-9250 سه حساس(حس کننده) را ادغام می‌کند: یک شتاب‌سنج، یک ژیروسکوپ و یک مگنتومتر. شتاب‌سنج نیروهای شتاب را اندازه‌گیری می‌کند و به شما امکان می‌دهد سرعت و جهت را تعیین کنید. ژیروسکوپ سرعت زاویه‌ای را ارائه می‌دهد که به شما در درک تغییرات جهت در طول زمان کمک می‌کند. در نهایت، مگنتومتر به عنوان یک قطب‌نما عمل می‌کند و داده‌های میدان مغناطیسی را ارائه می‌دهد که در ناوبری کمک می‌کند.

این ترکیب حساس(حس کننده) برای کاربردهایی که نیاز به ردیابی دقیق حرکت است، مانند پهپادها یا گوشی‌های هوشمند، به‌خصوص مفید است. MPU-9250 از طریق I2C یا SPI ارتباط برقرار می‌کند که آن را برای تنظیمات مختلف میکروکنترلرها انعطاف‌پذیر می‌کند.

جزئیات برگه مشخصات

سازنده اینون‌سنس
شماره قطعه MPU-9250
ولتاژ منطقی/ورودی و خروجی 1.8 ولت (ورودی/خروجی)، 3.3 ولت (منبع تغذیه)
ولتاژ ورودی ۲.۴ - ۳.۶ ولت
جریان خروجی (به ازای هر کانال) ۳.۲ میلی‌آمپر (عملکرد عادی)
جریان حداکثر (به ازای هر کانال) ۱۹.۸ میلی‌آمپر (حداکثر)
راهنمایی فرکانس PWM N/A
آستانه‌های منطق ورودی 0.3 * VDD(کم), 0.7 * VDD(بالا)
کاهش ولتاژ / RDS(on)/ اشباع N/A
محدودیت‌های حرارتی -40 تا 85 درجه سانتی‌گراد
بسته خازن سطحی با فرم مربع
یادداشت‌ها / واریانت‌ها شامل تنظیم‌کننده ولتاژ داخلی
  • اطمینان حاصل کنید که تامین ولتاژ صحیح (2.4 - 3.6 ولت) انجام شود تا از آسیب به ماجیول جلوگیری شود.
  • برای خطوط SDA و SCL از یک مقاومت کششی استفاده کنید اگر قبلاً در بورد جداکننده شما گنجانده نشده باشد.
  • آدرس I2C را تأیید کنید (پیش‌فرض ۰x۶۸ است) و پایه ADO را متناسب با آدرس‌های جایگزین تنظیم کنید.
  • اتصالات را برای پایداری بررسی کنید تا از قرائت‌های نادرست جلوگیری شود.
  • حسگرها را به طور منظم کالیبره کنید تا اندازه‌گیری‌های دقیق انجام شود.

دستورالعمل‌های سیم‌کشی

نقشه‌کشی آردوینو برای MPU6050 با استفاده از A4 و A4 برای SDA و SCL
نقشه‌کشی Arduino برای MPU6050 با استفاده از A4 و A5 برای SDA و SCL
Arduino Wiring for MPU-6050
Arduino Wiring for MPU-6050
Arduino wiring for  MPU6050 using A4 and A4 for SDA and SCL
Arduino wiring for MPU6050 using A4 and A4 for SDA and SCL

برای اتصال MPU-9250 به آردوینو، ابتدا پایه VCC روی MPU-9250 را به پایه 5V روی آردوینو وصل کنید. این ماجیول دارای یک رگولاتور داخلی است، بنابراین منبع تغذیه آن با 5V امن است. سپس پایه GND را به زمین (GND) روی آردوینو متصل کنید. برای ارتباط داده، پایه SDA را به پایه A4 روی آردوینو و پایه SCL را به پایه A5 وصل کنید. این پیکربندی برای بسیاری از بردهای آردوینو استاندارد است.

اگر از آردوینو مگا استفاده می‌کنید، پایه‌های SDA و SCL به ترتیب در پایه‌های ۲۰ و ۲۱ قرار دارند. اطمینان حاصل کنید که اتصالات ایمن هستند تا از هرگونه خطای ارتباطی جلوگیری شود. اگر نیاز دارید آدرس I2C MPU-9250 را تغییر دهید، پایه ADO را به ۵ ولت متصل کنید تا آن را به ۰x۶۹ تنظیم کنید. قطع کردن آن، آن را به ۰x۶۸ برمی‌گرداند.

مدار آرودینو برای MPU6050 با استفاده از A4 و A4 برای SDA و SCL
مدار آرنودینو برای MPU6050 با استفاده از A4 و A4 برای SDA و SCL

مثال‌های شِفر (کود) و راهنما

در اسکیچ آردوینو، با افزودن کتابخانه MPU9250 و ایجاد یک نمونه از حساس(حس کننده) شروع می‌کنیم:

#include "MPU9250.h"
MPU9250 IMU(Wire,0x68);

شِفر (کود) حساس(حس کننده) را راه‌اندازی کرده و ارتباط را در آغاز می‌کند.setup()متن:

void setup() {
  Serial.begin(115200);
  status = IMU.begin();
  if (status < 0) {
    Serial.println("IMU initialization unsuccessful");
    while(1) {}
  }
}

درون آنloop()تابع، ما به طور مداوم داده‌های حساس(حس کننده) را می‌خوانیم و چاپ می‌کنیم:

void loop() {
  IMU.readSensor();
  Serial.print("AccelX: ");
  Serial.print(IMU.getAccelX_mss(),6);
  // More print statements for other axes
}

این بخش مقادیر شتاب‌سنج، ژیروسکوپ و مغناطیس‌سنج را خوانده و آنها را در نمایشگر مسلسل نمایش می‌دهد. لطفاً برای اجرای کامل به شِفر (کود) کامل بارگذاری شده در زیر مقاله مراجعه کنید.

معرفی / انتظار چه چیزی را داشته باشید

زمانی که شِفر (کود) را اجرا می‌کنید، باید ببینید که مقادیر حساس(حس کننده) در زمان واقعی در نمای Serial Monitor به‌روزرسانی می‌شوند. مقادیر شتاب‌سنج با حرکت حساس(حس کننده) تغییر می‌کنند، در حالی که مقادیر ژیروسکوپ میزان چرخش را نشان می‌دهند. مگنتومتر قدرت میدان مغناطیسی را در سه محور به شما می‌دهد که می‌تواند برای تعیین جهت استفاده شود. نسبت به ورودی‌های شناور احتیاط کنید، زیرا می‌توانند به خوانش‌های نادرست منجر شوند (در ویدئو در ۱۲:۳۰).

فصل‌ها

  • مقدمه (۰۰:۰۰)
  • توضیح سخت‌افزار (۰۱:۳۰)
  • دستورالعمل‌های سیم‌کشی (04:00)
  • نمونه‌های شِفر (کود) و راهنما (06:00)
  • نمایش (10:00)

تصاویر

ELE_MPU6050_208
ELE_MPU6050_208
Arduino Wiring for MPU-6050
Arduino Wiring for MPU-6050
Arduino Schematic for  MPU6050 using A4 and A4 for SDA and SCL
Arduino Schematic for MPU6050 using A4 and A4 for SDA and SCL
Arduino wiring for  MPU6050 using A4 and A4 for SDA and SCL
Arduino wiring for MPU6050 using A4 and A4 for SDA and SCL
126-Arduino code for an MPU-9250 accelerometer, gyroscope, and magnetometer
زبان: C++
کپی شد!

منابع و مراجع

فایل‌ها📁

هیچ فایلی موجود نیست.