ماژول GEBRABIT-IAM20380

13.500.000 ریال

ماژول GEBRABIT-IAM20380 یک ژیروسکوپ سه‌محوره دقیق و کم‌مصرف است که بر پایه سنسور صنعتی IAM-20380 طراحی شده است. این ماژول با پشتیبانی از رابط‌های I2C و SPI، گزینه‌ای ایده‌آل برای کاربردهای ناوبری اینرسی، پایش نرخ چرخش، رباتیک و پروژه‌های اینترنت اشیا (IoT) می‌باشد.

نوع ماژول

ماژول ژیروسکوپ

تعداد محور

3

حساسیت ژیروسکوپ

131, 16.4 (LSB/dps), 32.8, 65.5

رزولوشن ADC ژیروسکوپ

16 Bit

FSR ژیروسکوپ

±1000, ±2000 (dps), ±250, ±500

ولتاژ تغذیه

1V8, 3V3

جریان مصرفی

10 mA to 30 mA (Typ. 20 mA)

نوع خروجی

I2C, SPI, Digital

FSR

±250, ±500, ±1000, ±2000(dps)

دمای کاری

-40 to +85 °C

مروری بر ژیروسکوپ IAM20380

IAM-20380 یک ژیروسکوپ 3 محوره در پکیج 16 پین LGA می باشد.سنسور ژیروسکوپ IAM-20380  همچنین دارای 512-بایت FIFO بوده که می تواند ترافیک گذرگاه سریال و توان مصرفی را با اجازه دادن به پردازنده برای خواندن پشت سر هم  اطلاعات سنسور و سپس رفتن به حالت کم مصرف، کاهش دهد .سنسور IAM-20380 با 3 محور یکپارچه سازی شده، به طراحان کمک می کند تا با بهرهگیری از این سنسور،فضای مورد نیاز برای طراحی و هزینه صرف شده برای انتخاب قطعات را کاهش دهند.ژیروسکوپ IAM-20380 دارای  full-scale range  قابل برنامه ریزی با مقادیر ±250 dps, ±500 dps, ±1000 dps, and ±2000 dps و16 بیت ADC داخلی بوده که این سنسور را یک انتخاب ایده آل برای کاربردهایی نظیر سیستم های ناوبری ، آشکار سازهای حرکتی و حتی تثبیت دوربین های عکاسی می کند. از سایر ویژگی های پیشرو در این سنسور می توان به فیلترهای دیجیتال قابل برنامه ریزی،سنسور دمای داخلی و پروتکل های ارتباطی دیجیتال I2C و SPI اشاره کرد.

مشخصات فنی

  • Number of Axis: 3-Axis
  • Output type: Digital-I2C or SPI
  • FSR: ±250, ±500, ±1000, ±2000(dps)
  • Gyroscope ADC: 16 Bit
  • 〈 For more specifications, please refer to datasheet 〉

کاربرد

  • Navigation systems Aides for Dead Reckoning 
  • • Lift Gate Motion Detections
  • Accurate Location for Vehicle to Vehicle and Infrastructure
  • 360º view camera stabilization
  • Car Alarm
  • Telematics
  • Insurance Vehicle Tracking

ماژول GEBRABIT-IAM20380

  • با توجه به اینکه دسترسی به پایه‌های سنسور دشوار است، کاربران برای توسعه سخت‌افزاری و نرم‌افزاری این سنسور به یک برد ابتدایی (starter board) و درایور نیاز دارند. برای راحتی کاربران، GebraMS برد ماژول GEBRABIT-IAM20380 را طراحی کرده است. کاربران می‌توانند به کمک این برد، به مهم‌ترین پایه‌های سنسور به‌راحتی دسترسی پیدا کنند.
  • کافی است برد ماژول GEBRABIT-IAM20380 را روی برد (Breadboard) قرار دهید و سپس با یکی از بردهای Arduino، Raspberry Pi یا Discovery و با اعمال ولتاژ مناسب، آن را راه‌اندازی کنید.
  • ما به‌ویژه استفاده از Gebra STM32F303 را توصیه می‌کنیم؛ چرا که این برد دارای رگولاتور داخلی ۳.۳ ولت است و ترتیب پایه‌های آن با تمامی ماژول‌های Gebra هماهنگ است (استاندارد GEBRABUS)، بنابراین می‌توانید برد ماژول GEBRABIT-IAM20380 را مستقیماً به سوکت مربوطه متصل کرده و بدون نیاز به سیم‌کشی، برنامه‌نویسی را آغاز کنید.

ویژگی های ماژول GebraBit IAM20380

  • User-selectable module power supply voltage between 1V8 and 3V3
  • User-selectable module I/O logic voltage between 1V8 and 3V3
  • User-selectable interface protocol (I2C or SPI)
  • User-selectable I2C address (AD0)
  • Access to all data pins of the sensor
  • On Board, ON/OFF LED indicator
  • Pin Compatible with GEBRABUS
  • It can be used as a daughter board of GebraBit MCU Modules
  • Featuring Castellated pad (Assembled as SMD Part)
  • Separatable screw parts to reduce the size of the board 
  • Package: GebraBit small (36.29mm x 32.72mm)

پین های ماژول

پین های تغذیه

  • 3V3 : این پین می تواند با توجه به وضعیت Jumper Selector های VDDSEL و VDIOSEL ،تغذیه اصلی سنسور و سطح منطق(Logic Level) ارتباط دییجیتال(I2C یا SPI) سنسور را تامین کند.
  • 1V8 : این پین می تواند با توجه به وضعیت Jumper Selector های VDDSEL و VDIOSEL ،تغذیه اصلی سنسور و سطح منطق(Logic Level) ارتباط دییجیتال(I2C یا SPI) سنسور را تامین کند.
  • GND : این پین زمین مشترک برای تغذیه و سطح منطق(Logic Level) سنسور می باشد.

پین های I2C

با استفاده از Jumper Selector های تعبیه شده روی برد می توان نوع ارتباط با ماژول را انتخاب کرد.در صورتی که مقاومتهای 0R تمام Jumper Selector ها به سمت چپ باشد،پروتکل I2C اتنخاب شده است.وضعیت جامپر AD0 SEL آدرس I2C سنسور ( 0x68 یا 0x69 ) را مشخص می کند.

  • SDA : این پین، پین دیتای ارتباط I2C می باشد، که به پین دیتای متناظر در میکروکنترلر(پردازنده) ، متصل می شود.با توجه به وضعیت جامپر VDIOSEL ،می توانید از سطح منطق(Logic Level) با ولتاژ 1V8 یا 3V3  استفاده کنید.این پین با یک مقاومت 10K پول آپ (Pull Up) شده است.
  • SCL : این پین، پین کلاک ارتباط I2C می باشد، که به پین کلاک متناظر در میکروکنترلر(پردازنده) ، متصل می شود.با توجه به وضعیت جامپر VDIOSEL ،می توانید از سطح منطق(Logic Level) با ولتاژ 1V8 یا 3V3 استفاده کنید.این پین با یک مقاومت 10K پول آپ (Pull Up) شده است.

SPI pins

با استفاده از Jumper Selector های تعبیه شده روی برد می توان نوع ارتباط با ماژول را انتخاب کرد.در صورتی که مقاومتهای 0R تمام Jumper Selector ها به سمت راست باشد،پروتکل SPI اتنخاب شده است.وضعیت جامپر AD0 SEL در این حالت بی تاثیر است.

  • SDO(MISO) : از این پین، برای ارسال دیتا از ماژول(سنسور) به میکروکنترلر(پردازنده) استفاده میشود.نام اختصاری این پین برگرفته از عبارت لاتین Serial Data Out / Microcontroller In Sensor Out می باشد.
  • SCK : این پین، پین کلاک برای ارتباط SPI بوده که از نوع ورودی (Input) برای سنسور محسوب و به پین کلاک متناظر در میکروکنترلر(پردازنده) ، متصل می شود.
  • CS : این پین، پین Chip Select برای ارتباط SPI با ماژول(سنسور) می باشد، که با اعمال ولتاژ LOW (0V) ،ماژول(سنسور) برای ارتباط SPI انتخاب می شود.این پین از نوع ورودی (Input) برای سنسور محسوب می شود.

در صورتی که می خواهید از چندین ماژول GebraBit IAM20380 به صورت همزمان استفاده کنید، کافیست پین های SDO , SDI , SCK همه انها و میکرکنترلر(پردازنده) را به هم متصل کرده و به CS هر کدام، یک پین منحصر به فرد اختصاص دهید.

دیگر پین ها

  • INT : پین Interrupt (وقفه) سنسور IAM20380 بوده که با توجه به دیتاشیت سنسور، کاربر می تواند شرایط وقوع وقفه،حالات و روش های وقوع وقفه و … را تنظیم کند.
  • FSY(FSYNC) : برای همگام سازی (Synchronization) سنسور با یک منبع خارجی ، از این پین استفاده میشود.برای اطلاعات بیشتر دیتاشیت سنسور مطالعه شود.به صورت پیش فرض این پین با مقاومت R3 به زمین متصل شده است.جهت استفاده از پین، مقاومت R3 باید از ماژول ، جدا (دمونتاژ) گردد.

معرفی بخش های ماژول

سنسور IAM20380

ای سی اصلی این ماژول بوده که در مرکز ماژول قرار گرفته و مدار ان طراحی شده است

جامپرهای انتخاب پروتکل ارتباطی

در صورتی که مقاومتهای 0R تمام Jumper Selector ها به سمت چپ باشد،پروتکل I2C اتنخاب شده است.

در صورتی که مقاومتهای 0R تمام Jumper Selector ها به سمت راست باشد،پروتکل SPI اتنخاب شده است.

به صورت پیش فرض نیز پروتکل I2C انتخاب شده است.

جامپر AD0 SEL

در صورت انتخاب پروتکل I2C  ،وضعیت جامپر AD0 SEL آدرس I2C سنسور ( 0x68 0 => یا  0x69 1 =>) را مشخص می کند.

به صورت پیش فرض مقاومت 0R روی 0 قرار داشته و  آدرس  0x68  انتخاب شده است.

جامپر VDIO SEL

با توجه به وضعیت مقاومت  0R این جامپر ، سطح منطق (Logic Level) ارتباط دیجیتال(I2C  یا SPI) سنسور از بین 1V8 و 3V3 انتخاب می شود.

به صورت پیش فرض سطح منطق (Logic Level) ارتباط دیجیتال(I2C  یا SPI) سنسور 3V3 انتخاب شده است.

جامپر VDD SEL

 با توجه به وضعیت مقاومت  0R این جامپر ، ولتاژ اصلی تغذیه سنسور از بین 1V8 و 3V3 انتخاب می شود.

به صورت پیش فرض ولتاژ اصلی تغذیه سنسور 3V3 انتخاب شده است.

تغذیه LED

با توجه به وضعیت جامپر VDD SEL و اعمال ولتاژ به ماژول توسط پین مربوطه، LED ماژول روشن می شود.

اتصال به پردازنده

اتصال I2C با GebraBit STM32F303

ابتدا اطمینان حاصل کنید که پروتکل I2C با استفاده از جامپر های روی برد انتخاب شده است، سپس برای اتصال I2C ماژول GebraBit IAM20380 به ماژول میکروکنترلرGebraBit STM32F303 بعد از تعریف کردن SDA و SCL رو پین های PB9 و PB8 (برای راحتی کار در STMCUBEMX)مراحل زیر را دنبال کنید:

  • پین 3V3 ماژول IAM20380 را به پین 3V3 خروجی ماژول میکروکنترلر متصل کنید.(سیم قرمز)
  • پین GND ماژول IAM20380 را به پین GND ماژول میکروکنترلر متصل کنید.(سیم سیاه)
  • پین SCL ماژول IAM20380 را به پین PB8 ماژول میکروکنترلر (SCL) متصل کنید.(سیم آبی)
  • پین SDA ماژول IAM20380 را به پین PB9 ماژول میکروکنترلر (SDA) متصل کنید.(سیم زرد)

توجه: با توجه به اینکه پین PA14 ماژول میکروکنترلرGebraBit STM32F303 برای پروگرام کردن میکروکنترلر استفاده میشود،تنظیم I2C بر روی پین های PA14 و PA15 در این ورژن مقدور نمی باشد،لذا در اتصال I2C به ماژول میکروکنترلرGebraBit STM32F303 در این ورژن ، ماژول GebraBit IAM20380 نمی تواند به صورت Pin to Pin بر روی آن قرار گیرد.برای راحتی کار می توانید پروتکل SPI را با استفاده از جامپر های روی برد انتخاب کرده و سپس ماژول GebraBit IAM20380 را به صورت Pin to Pin بر روی ماژول GebraBit STM32F303 قرار دهید.

اتصال SPI با GebraBit STM32F303

ابتدا اطمینان حاصل کنید که پروتکل SPI با استفاده از جامپر های روی برد انتخاب شده است، سپس برای اتصال SPI ماژول GebraBit IAM20380 به ماژول میکروکنترلرGebraBit STM32F303 بعد از تعریف کردن SDI و SDO و SCK و CS رو پین های PB5 و PB4 و PB3 و PC13 (برای راحتی کار در STMCUBEMX) ماژول GebraBit IAM20380 را به صورت Pin to Pin به راحتی بر روی ماژول GebraBit STM32F303 قرار دهید:

اتصال SPI یا I2C با GebraBit ATMEGA32A

با توجه به اینکه پین های SPI و I2C میکروکنترلر ATMEGA32A بر اساس استاندارد GEBRABUS متناظر با پین های SPI و I2C  دیگر ماژول های GEBRABIT می باشد،  ماژول GebraBit IAM20380 را به صورت Pin to Pin به راحتی بر روی ماژول GebraBit ATMEGA32A قرار داده و با تغییر وضعیت مقاومت های جامپر انتخاب پروتکل، با ماژول GebraBit IAM20380 از طریق SPI یا I2C ارتباط برقرار کنید:

اتصال I2C با ARDUINO UNO

ابتدا اطمینان حاصل کنید که پروتکل I2C با استفاده از جامپر های روی برد انتخاب شده است، سپس برای اتصال I2C ماژول GebraBit IAM20380 به ARDUINO UNO مراحل زیر را دنبال کنید:

  • پین 3V3 ماژول IAM20380 را به پین 3V3 خروجی برد ARDUINO UNO متصل کنید.(سیم قرمز)
  • پین GND ماژول IAM20380 را به پین GND برد ARDUINO UNO متصل کنید.(سیم سیاه)
  • پین SCL ماژول IAM20380 را به پین A5 برد ARDUINO UNO( (SCLمتصل کنید.(سیم آبی)
  • پین SDA ماژول IAM20380 را به پین A4 برد ARDUINO UNO( (SDAمتصل کنید.(سیم نارنجی)

اتصال SPI با ARDUINO UNO

ابتدا اطمینان حاصل کنید که پروتکل SPI با استفاده از جامپر های روی برد انتخاب شده است، سپس برای اتصال SPI ماژول GebraBit IAM20380 به ARDUINO UNO مراحل زیر را دنبال کنید:

  • پین 3V3 ماژول IAM20380 را به پین 3V3 خروجی برد ARDUINO UNO متصل کنید.(سیم قرمز)
  • پین GND ماژول IAM20380 را به پین GND برد ARDUINO UNO متصل کنید.(سیم سیاه)
  • پین SDI ماژول IAM20380 را به پین D11 برد ARDUINO UNO( (SDIمتصل کنید.(سیم زرد)
  • پین SDO ماژول IAM20380 را به پین D12 برد ARDUINO UNO( (SDOمتصل کنید.(سیم بنفش)
  • پین SCK ماژول IAM20380 را به پین D13 برد ARDUINO UNO( (SCKمتصل کنید.(سیم نارنجی)
  • پین CS ماژول IAM20380 را به پین D10 برد ARDUINO UNO( (SSمتصل کنید.(سیم آبی)
نوع ماژول

ماژول ژیروسکوپ

تعداد محور

3

حساسیت ژیروسکوپ

131, 16.4 (LSB/dps), 32.8, 65.5

رزولوشن ADC ژیروسکوپ

16 Bit

FSR ژیروسکوپ

±1000, ±2000 (dps), ±250, ±500

ولتاژ تغذیه

1V8, 3V3

جریان مصرفی

10 mA to 30 mA (Typ. 20 mA)

نوع خروجی

I2C, SPI, Digital

FSR

±250, ±500, ±1000, ±2000(dps)

دمای کاری

-40 to +85 °C

IAM20380 gebrabit project

هدف ما از انجام این پروژه چیست؟

در این بخش قصد داریم سنسور IAM20380 را به وسیله میکروکنترلر آرم، سری STM32F راه اندازی کنیم. به منظور استفاده راحت تر و بهینه تر در این پروژه از دو ماژول آماده GB300G و GebraBit STM32F303 استفاده میکنیم.

این دو ماژول شامل مینیمم قطعات لازم سنسور IAM20380و میکروکنترلر STM32F میباشند که توسط تیم جبرابیت جهت آسان سازی کار فراهم شده اند.

در این آموزش چه چیزهایی یاد میگیریم؟

شما در این بخش ضمن راه اندازی و استفاده از سنسورIAM20380  ، به طور خلاصه با تمامی رجیسترهای سنسور IAM20380، نحوه تنظیم بخش های مختلف میکروکنترلر STM32 برای راه اندازی این سنسور با استفاده از پروتکل I2C، چگونگی استفاده از فایل کتابخانه و درایور مختص ماژول GB6300G، نحوه فراخوانی توابع و در نهایت دریافت داده های سنسور در کامپایلر Keil  نیز آشنا خواهید شد.

برای انجام این پروژه به چه چیزهایی نیاز داریم؟

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

سخت افزارهای مورد نیاز نرم افزارهای مورد نیاز
  GebraBit IAM20380 module  Keil compiler 
  GebraBit STM32F303 module   STM32CubeMX program
 ST-LINK/V2 programmer

اولین قدم برای راه اندازی ماژول GebraBit IAM20380 با استفاده از رابط I2C آن است که ابتدا پروتکل ارتباطی SPI را با استفاده از جامپر های روی برد  انتخاب کرده و سپس مانند تصویر زیر ماژول  GebraBit IAM20380 را به صورت Pin To Pin بر روی ماژول GebraBit STM32F303 قرار دهیم:

توجه : تصویر بالا صرفا برای نمایش نحوه قرار گیری ماژول GebraBit IAM20380 بر روی ماژول GebraBit STM32F303  استفاده شده است . لذا برای استفاده از پروتکل ارتباطیI2C کاربر باید نسبت به انتخاب صحیح وضعیت جامپر های روی برد اقدام کند.

تنظیمات STM32CubeMX

در ادامه تنظیمات مربوط به هریک از بخش های I2C , RCC , Debug , Clock را در میکروکنترلر STM32F303 برای راه اندازی ماژول GebraBit IAM20380 را مرور می کنیم.

تنظیمات RCC

با توجه به وجود کریستال 8Mhz در ماژول GebraBit STM32F303 ، کلاک خارجی را در بخش RCC انتخاب می کنیم:

تنظیمات Debug&Programming

با توجه به دسترسی به پین های SWCLK و SWDIO در ماژول GebraBit STM32F303 ، برای کاهش تعداد پین هنگام  Debug&Programming در بلوک SYS گزینه Serial Wire را در بخش Debug انتخاب می کنیم:

تنظیمات I2C

برای ارتباط از طریق I2C با ماژول GebraBit STM32F303 پین های PB8 و PB9 را برای عدم تداخل با حالت Serial Wire هنگام  Debug&Programming ، به عنوان SCL و SDA انتخاب می کنیم :

تنظیمات Clock

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

تنظیمات Project Manager

تنظیمات Project Manager به صورت زیر بوده که در اینجا ما از کامپایلر MDK-ARM ورژن 5.32 استفاده کرده ایم:

بعد از اتمام تمام تنظیمات فوق ، بر روی GENERATE CODE  کلیک کرده و با اضافه کردن کتابخانه و درایور(تهیه شده توسط GebraBit) IAM20380 ، کد خود را به راحتی توسعه می دهیم.فایل STM32CubeMX , کتابخانه و درایور و پروژه KEIL را می توانید از انتهای این آموزش دانلود کنید.

کتابخانه و درایور IAM20380

GebraBit علاوه بر طراحی ماژولار سنسورها و آی سی های مختلف ، پیشرو در ارائه انواع کتابخانه های ساختاریافته و مستقل از سخت افزار به زبان  C، جهت سهولت کاربران در راه اندازی و توسعه نرم افزاری آنها نیز بوده است.

بدین منظور پس از تهیه هر یک از ماژول های  GebraBit  ، کاربر می تواند با مراجعه به بخش آموزش ماژول مربوطه، کتابخانه مختص به آن ماژول که حاوی فایل .h و .c (Header and Source) و یک برنامه نمونه آموزشی تحت سخت افزار های GebraBit STM32F303, GebraBit ATMEGA32A یا Arduino می باشد را دانلود کند.

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

فایل هدر IAM20380.h

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

ساختار Gyro_Data

تمامی اطلاعاتی که می توان از یک ماژول GebraBit IAM20380 دریافت کرد، در این ساختار تعریف شده است:

ساختار IAM_20380_Conf

تنظیمات اصلی ماژول GebraBit IAM20380 که مربوط به رجیستر های 26 و 27 می باشد، در این ساختار تعریف شده است:

ساختار IAM_20380_FIFO_CFG

تنظیمات FIFO ماژول GebraBit IAM20380 که شامل رجیستر های 26 و 35 و 56 و 106 می باشد، در این ساختار تعریف شده است:

ساختار IAM_20380_LP

تنظیمات حالت LOW POWER ماژول GebraBit IAM20380 که شامل رجیستر های 25 و 30 می باشد، در این ساختار تعریف شده است:

ساختار IAM_20380_INT_CFG

تمامی تنظیمات وقفه Interrupt  ماژول GebraBit IAM20380 اعم از نوع وقفه، زمان وقوع، سطح منطق و….. که شامل رجیستر های 55 و 56 می باشد، در این ساختار تعریف شده است:

ساختار IAM_20380_INT_STATUS

وضعیت وقفه Interrupt رخ داده در ماژول GebraBit IAM20380 که با خواندن رجیستر های 54 و 58 قابل بررسی می باشد ،در این ساختار تعریف شده است:

ساختار IAM_20380_PWR

تمامی تنظیمات مربوط به POWER MANAGEMENT ماژول GebraBit IAM20380 که شامل رجیستر های 107 و 108 می باشد، در این ساختار تعریف شده است:

ساختار IAM_20380_SET

در نهایت IAM_20380_SET ساختار کلی ماژول GebraBit IAM20380 بوده که با استفاده از ساختار های ذکر شده بالا تعریف شده است.در واقع کاربر برای تنظیمات ماژول GebraBit IAM20380 ، فقط این ساختار را مقدار دهی میکند و سپس با استفاده از تابع IAM_20380_init ، تمامی مقادیر را برای ماژول GebraBit IAM20380 ، به اصطلاح Initialize می کند.

فایل سورس IAM20380.c

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

برنامه نمونه در Keil

بعد از تولید پروژه Keil با استفاده از STM32CubeMX و اضافه کردن کتابخانه IAM20380 ارائه شده توسط GebraBit ، به بررسی قسمت اصلی برنامه آموزشی نمونه، فایل main.c و مشاهده خروجی ماژول GebraBit IAM20380 در قسمت watch در محیط Debugging برنامه Keil می پردازیم.

شرح فایل main.c

اگر به ابتدای فایل main.c دقت کنید،متوجه می شوید که هدر IAM_20380.h برای دسترسی به ساختار ها و توابع مورد نیاز ماژول GebraBit IAM20380 ، اضافه شده است.در قسمت بعدی متغیرهایی نظیر FIFO_Buffer[515] برای ذخیره بافر IAM20380 و متغیری به نام Setting_Struct از نوع ساختار IAM_20380_SET (این ساختار در هدرIAM_20380.h بوده و در بخش توضیحات کتابخانه IAM20380 توضیح داده شد) که برای پیکربندی ماژول GebraBit IAM20380 می باشد،تعریف شده است.

در بخش بعدی کد نوشته شده، پیکربندی و تنظیمات ماژول GebraBit IAM20380  با استفاده از ساختار متغیر Setting_Struct (از نوع ساختار IAM_20380_SET ) انجام شده است.در نهایت با ارجاع ساختار Setting_Struct به آرگومان تابع IAM_20380_init() ، ماژول GebraBit IAM20380 پیکربندی می شود.

 و در نهایت در قسمت while برنامه ، مقادیر ماژول GebraBit IAM20380 در 3 محور X , Y , Z به طور پیوسته دریافت میشود:

در متن برنامه نوشته شده در main.c توابع دیگری نیز استفاده شده است که به صورت کامنت درآمده اند.می توانید با uncomment کردن هر یک از عملکرد آنها نیز بهره مند شوید.

خروجی برنامه

حال پروگرامر STLINK V2 را با استفاده از آداپتور تبدیل STLINKV2 به GebraBit STM32F303 متصل می کنیم:

  با اتصال پروگرامر STLINK V2 به GebraBit STM32F303 دیگر نیازی به اعمال تغذیه به  ماژول های GebraBit STM32F303 و GebraBit IAM20380 نمی باشد، زیرا ولتاژ کاری خود را مستقیما از پروگرامر STLINK V2 دریافت میکنند.

در نهایت وارد حالت Debug شده و با اضافه کردن متغیر Gyro_Data_Value (از نوع ساختار Gyro_Data بوده و در فایل IAM20380.C تعریف شده است) به پنجره  watch و اجرای برنامه ، تغییرات مقادیر ماژول GebraBit IAM20380 را در 3 محور X , Y , Z مشاهده می کنیم:

در ادامه می توانید پروژه راه اندازی ماژول GebraBit IAM20380 را با استفاده از ماژول GebraBit STM32F303 در محیط Keil و فایل STM32CubeMX ، شماتیک ماژول ها و دیتاشیت IAM20380 را دانلود کنید.

برای اطلاع دقیق از مقادیر کاری و حداکثر مقادیر مجاز آی‌سی‌ها، کاربران باید به دیتاشیت اصلی و رسمی آن قطعات مراجعه کنند

اگر هر یک از اسناد فنی ناقص یا اشتباه است، لطفاً به ما اطلاع دهید

Technical FAQ

سوال1:

چند مشکل پرتکرار که کاربران با سنسور  IAM20380 داشته‌اند کدام است و راه‌حل آن‌ها چیست؟

  1. خطا در اندازه‌گیری زاویه (Drift) در ژیروسکوپ IAM20380
    علت: نویز ذاتی و تغییرات دما در سنسور IAM20380
    راه‌حل: استفاده از الگوریتم‌های کالیبراسیون دمایی و فیلتر کالمن مناسب برای سنسور IAM20380.
  2.   کاهش دقت شتاب‌سنج IAM20380 به دلیل نویز الکترومغناطیسی (EMI)
    علت: نویز EMI محیطی که روی عملکرد شتاب‌سنج IAM20380 تاثیر می‌گذارد
    راه‌حل: طراحی PCB با شیلدینگ مناسب و استفاده از فیلترهای نرم‌افزاری مخصوص IAM20380.
  3.   پاسخگویی نامناسب سنسور IAM20380 به تغییرات سریع حرکتی
    علت: تنظیم نادرست پهنای باند فیلتر دیجیتال ماژول GEBRABIT-IAM20380
    راه‌حل: بهینه‌سازی پهنای باند فیلتر دیجیتال در تنظیمات سنسور IAM20380.
  4.  مشکل در ارتباط I2C/SPI با سنسور IAM20380 به دلیل نویز یا خطا
    علت: نویز در خطوط ارتباطی و اتصالات نامناسب ماژول GEBRABIT-IAM20380
    راه‌حل: استفاده از کابل‌های کوتاه و محافظت شده و تنظیم مقاومت‌های کششی در خطوط I2C/SPI برای سنسور IAM20380.
  5.   کالیبراسیون اولیه نامناسب سنسور IAM20380
    علت: عدم اجرای دقیق مراحل کالیبراسیون توصیه شده برای سنسور IAM20380
    راه‌حل: پیروی از دستورالعمل‌های رسمی کارخانه سازنده برای کالیبراسیون سنسور IAM20380.
  6.  مصرف توان بالاتر از حد انتظار در ماژول GEBRABIT-IAM20380
    علت: تنظیمات نادرست حالت‌های صرفه‌جویی انرژی در سنسور IAM20380
    راه‌حل: فعال کردن حالت‌های کم‌مصرف و تنظیم فرکانس نمونه‌برداری متناسب با نیاز پروژه.
  7.   تغییرات خروجی سنسور IAM20380 در دماهای بالا یا پایین
    علت: تاثیر دما بر حساسیت و پاسخ سنسور IAM20380
    راه‌حل: کالیبراسیون دمایی و اعمال اصلاحات نرم‌افزاری ویژه سنسور IAM20380.
  8.   خطاهای ناشی از حساسیت متقاطع محورهای سنسور IAM20380
    علت: حساسیت متقاطع در سنسور IAM20380 که می‌تواند داده‌ها را مختل کند
    راه‌حل: استفاده از الگوریتم‌های نرم‌افزاری اصلاح حساسیت متقاطع در پردازش داده‌های IAM20380.
  9.  قطع ناگهانی سیگنال خروجی از سنسور IAM20380
    علت: مشکلات سخت‌افزاری مانند اتصال ضعیف یا نوسانات تغذیه در ماژول GEBRABIT-IAM20380
    راه‌حل: بررسی دقیق اتصالات و تغذیه پایدار برای سنسور IAM20380.
  10.  اختلال در کالیبراسیون مگنتومتر در سنسور IAM20380 در محیط‌های دارای میدان مغناطیسی قوی
    علت: تداخل میدان‌های مغناطیسی محیطی که بر سنسور IAM20380 تاثیر می‌گذارد
    راه‌حل: انجام کالیبراسیون دقیق محیطی و استفاده از فیلترهای مناسب برای داده‌های مگنتومتر IAM20380.

سوال ۲:
چند سنسور مشابه و معروف با سنسور IAM20380 کدامند و چه تفاوت‌هایی با آن دارند؟

در دنیای سنسورهای حرکتی، سنسور IAM20380 یکی از مدل‌های پیشرفته و محبوب است که به دلیل دقت بالا، پایداری و مصرف بهینه انرژی شناخته شده است. با این حال، سنسورهای مشابه متعددی از برندهای معتبر جهانی وجود دارند که از لحاظ ویژگی‌ها و عملکرد می‌توانند جایگزین یا مکمل این سنسور باشند. این سنسورها معمولاً در کاربردهای مشابهی مانند رباتیک، واقعیت مجازی، سیستم‌های ناوبری و کنترل حرکت استفاده می‌شوند. مقایسه دقیق پارامترهای کلیدی هر سنسور، به انتخاب بهتر و متناسب‌تر با نیازهای پروژه کمک می‌کند.

در جدول زیر، پارامترهای مهم شامل محدوده اندازه‌گیری ژیروسکوپ (FSR)، نویز ژیروسکوپ (Noise Spectral Density)، پهنای باند فیلتر دیجیتال و حساسیت محور متقاطع (Cross Axis Sensitivity) برای سنسور IAM20380 و 4 سنسور مشابه معتبر آورده شده است.

سنسور محدوده اندازه‌گیری ژیروسکوپ (FSR) [°/s] نویز ژیروسکوپ (Noise Spectral Density) [°/s/√Hz] پهنای باند ژیروسکوپ / فیلتر دیجیتال [Hz] حساسیت محور متقاطع (Cross Axis Sensitivity) [%]
IAM20380 ±2000 0.005 250 <0.5
MPU-9250 ±2000 0.01 200 <1
ICM-20948 ±2000 0.007 400 <0.7
LSM9DS1 ±2000 0.02 200 <1.5
BMI160 ±2000 0.01 160 <1

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

سوال 3:
چرا ماژول GEBRABIT-IAM20380 همچنان یک انتخاب مناسب نسبت به ماژول های دیگر با سنسور های مشابه دیگر است؟

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

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

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

سوال4:
چرا باید ماژول GEBRABIT-IAM20380 را به جای مدل‌های ارزان‌تر با همین سنسور بخریم؟

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

  • تضمین اصالت و کیفیت قطعات 🎯: ما تضمین می‌کنیم که چیپ سنسور ۱۰۰٪ اورجینال است و تمام قطعات جانبی مانند رگولاتور ولتاژ (از نوع کم‌نویز LDO) و خازن‌های تانتالیوم از بهترین برندها هستند. این کیفیت ساخت، دقت و طول عمر ماژول را تضمین می‌کند.
  • کنترل کیفیت ۱۰۰٪ : هر عدد از ماژول‌های ما به صورت جداگانه تست می‌شود. این یعنی شما محصولی را دریافت می‌کنید که از لحظه اول کار می‌کند و وقت ارزشمند شما صرف عیب‌یابی سخت‌افزار خراب نخواهد شد.
  • انعطاف‌پذیری و پشتیبانی محلی 🇮🇷: به دلیل تولید داخل بودن، این ماژول امکان سفارشی‌سازی برای پروژه‌های خاص در تعداد بالا را فراهم می‌کند و شما به پشتیبانی فنی مستقیم دسترسی دارید؛ مزیتی که در ماژول‌های وارداتی ارزان‌قیمت وجود ندارد.

جدول مقایسه

ویژگی ماژول جبرابیت (ابزار مهندسی) ماژول ارزان‌قیمت (قطعه الکترونیکی)
کیفیت سخت‌افزار اورجینال، طراحی مهندسی و تست ۱۰۰٪ ❌ نامشخص، ریسک کپی و عدم تست
منابع و پشتیبانی کتابخانه، پروژه کامل و تیم فنی ❌ فقط دیتاشیت (در بهترین حالت)
انعطاف‌پذیری امکان بهینه‌سازی برای پروژه شما ❌ محصول استاندارد و بدون انعطاف
نتیجه برای شما راه‌اندازی سریع، عملکرد پایدار و آرامش خاطر ریسک بالا، اتلاف وقت برای عیب‌یابی و تحقیق

با نظرات خود به تیم جبرا در بهبود کیفیت کمک کنید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

توجه!

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

برای اطلاع دقیق از مقادیر کاری و حداکثر مقادیر مجاز آی‌سی‌ها (IC)، کاربران باید حتماً به دیتاشیت اصلی و رسمی آن قطعات مراجعه کنند.

سبد خرید
پیمایش به بالا