فناوریMEMS
تا زمان ظهور فناوری سنسورهای میکروالکترومکانیکی (MEMS)، سنسورهای اینرسی ابزارهای دقیق و پرهزینهای بودند که معمولاً برای کاربردهای پیشرفته در نظر گرفته میشدند.به کمک فناوری MEMS ، سنسورهای اینرسی سطح تراشه حالت جامد کم هزینه به عنوان جایگزینی برای سنسورهای اینرسی سطح بالا در دسترس هستند. اضافه شدن MEMS به دنیای سنسورهای اینرسی، طیف گسترده ای از قابلیت های عملکردی را فراهم کرده است و امکان استفاده از فناوری سنجش اینرسی را در کاربردهای بیشتری نسبت به قبل فراهم کرده است.
شتابسنج
شتابسنج سنسور اصلی است که مسئول اندازهگیری شتاب اینرسی یا تغییر سرعت در طول زمان است و در انواع مختلف از جمله شتابسنجهای مکانیکی، شتابسنجهای کوارتزی و شتابسنجهای MEMS یافت میشود. شتاب سنج MEMS اساساً جرمی است که توسط یک فنر معلق است، همانطور که در شکل زیر نشان داده شده ، جرم به عنوان Proof mass و جهتی که جرم اجازه حرکت دارد به عنوان sensitivity axisشناخته می شود.
هنگامی که یک شتاب سنج در امتداد محور حساسیت تحت شتاب خطی قرار می گیرد، این شتاب باعث می شود که Proof mass متناسب با میزان شتاب یک سمت جابجا شود. استفاده از این روش و اصول، اساس کار این شتاب سنج است
مروری بر شتابسنجIIM42351
شتابسنج IIM42351
IIM42351 یک شتاب سنج 3 محوره در پکیج 14 پین LGA می باشد.سنسور شتابسنج IIM42351 همچنین دارای 2 کیلو بایت FIFO بوده که می تواند ترافیک گذرگاه سریال و توان مصرفی را با اجازه دادن به پردازنده برای خواندن پشت سر هم اطلاعات سنسور و سپس رفتن به حالت کم مصرف، کاهش دهد .سنسور IIM42351 با 3 محور یکپارچه سازی شده، به طراحان کمک می کند تا با بهرهگیری از این سنسور،فضای مورد نیاز برای طراحی و هزینه صرف شده برای انتخاب قطعات را کاهش دهند. شتابسنج IIM42351 دارای full-scale range قابل برنامه ریزی از چهار رنج قابل تنظیم ±2g تا ±16g پشتیبانی می کند. از سایر ویژگی های پیشرو در این سنسور می توان به 16 بیت ADC داخلی، فیلترهای دیجیتال قابل برنامه ریزی،سنسور دمای داخلی و پروتکل های ارتباطی دیجیتالI3C و I2C و SPI اشاره کرد.
مشخصات فنی سنسور
کاربردها
- Number of Axis: 3-Axis
- Output type: Digital – I2C or I3C or SPI
- Accelerometer FSR: ±2, ±4, ±8, ±16(g)
- Accelerometer Sensitivity SF: 16384, 2048 (LSB/g), 4096, 8192
- Accelerometer ADC: 16 Bit
For more specifications, please refer to the Datasheet
- Tilt sensing
- Platform stabilization
- Robotics
ویژگیهای ماژولGebraBit IIM42351
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)
ماژول GebraBit IIM42351
بعد از توضیحات ذکر شده در بالا متوجه شده اید که سنسور IIM42351 با توجه به پکیج LGA و عدم دستسرسی به پین های سنسور،کاربر برای توسعه سخت افزاری و البته توسعه نرم افزاری سنسور،نیاز به یک مدار راه انداز و درایور دارد.GebraBit برای راحتی کاربران این امر را با پیاده سازی مدار سنسور IIM42351 و ارایه دسترسی به پین های سیگنال های ارتباطی و تغذیه ، با قابلیت انتخاب پروتکل ارتباطی I2C یا SPI و ولتاژ کاری و سطح لاجیک پروتکل های ارتباطی ، محقق ساخته است.
کافیست ماژول GebraBit IIM42351 را در BreadBoard قرار داده سپس با اعمال ولتاژ مورد نیاز و انتخاب پروتکل ارتباطی I2C یا SPI ، ماژول GebraBit IIM42351 را با هریک از برد های اردوینو، رزبری پای ، دیسکاوری و مخصوصا ماژول GebraBit STM32F303 یا GebraBit ATMEGA32 که پیشنهاد ما استفاده از ماژول های توسعه میکروکنترلری GebraBit هست،راه اندازی و دیتا را دریافت کنید.
دلیل پیشنهاد ما در راه اندازی ماژول GebraBit IIM42351 با ماژول های توسعه میکروکنترلری GebraBit مانند GebraBit STM32F303 یا GebraBit ATMEGA32 ،وجود رگولاتور داخلی 3V3 در آنها و سازگاری ترتیب پین های همه ماژول های GebraBit با هم بوده(استاندارد GEBRABUS) که فقط کافیست ماژول GebraBit IIM42351 را مانند تصویر بالا در سوکت مربوطه قرار داده و بدون نیاز به سیم کشی ،ماژول سنسور مورد نظر را توسعه دهید.
معرفی بخش های ماژول
سنسور IIM42351
ای سی اصلی این ماژول بوده که در مرکز ماژول قرار گرفته و مدار ان طراحی شده است.
جامپرهای انتخاب پروتکل ارتباطی
در صورتی که مقاومتهای 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 ماژول روشن می شود.
پین های ماژول
پین های تغذیه
- 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
با استفاده از Jumper Selector های تعبیه شده روی برد می توان نوع ارتباط با ماژول را انتخاب کرد.در صورتی که مقاومتهای 0R تمام Jumper Selector ها به سمت راست باشد،پروتکل SPI اتنخاب شده است.وضعیت جامپر AD0 SEL در این حالت بی تاثیر است.
- SDI(MOSI) : از این پین، برای ارسال دیتا از میکروکنترلر(پردازنده) به ماژول(سنسور) استفاده میشود.نام اختصاری این پین برگرفته از عبارت لاتین Serial Data In / Microcontroller Out Sensor In می باشد.
- SDO(MISO) : از این پین، برای ارسال دیتا از ماژول(سنسور) به میکروکنترلر(پردازنده) استفاده میشود.نام اختصاری این پین برگرفته از عبارت لاتین Serial Data Out / Microcontroller In Sensor Out می باشد.
- SCK : این پین، پین کلاک برای ارتباط SPI بوده که از نوع ورودی (Input) برای سنسور محسوب و به پین کلاک متناظر در میکروکنترلر(پردازنده) ، متصل می شود.
CS : این پین، پین Chip Select برای ارتباط SPI با ماژول(سنسور) می باشد، که با اعمال ولتاژ LOW (0V) ،ماژول(سنسور) برای ارتباط SPI انتخاب می شود.این پین از نوع ورودی (Input) برای سنسور محسوب می شود.
در صورتی که می خواهید از چندین ماژول GebraBit IIM42351 به صورت همزمان استفاده کنید، کافیست پین های SDO , SDI , SCK همه انها و میکرکنترلر(پردازنده) را به هم متصل کرده و به CS هر کدام، یک پین منحصر به فرد اختصاص دهید.
دیگر پین ها
- INT : پین Interrupt (وقفه) سنسور IAM42351 بوده که با توجه به دیتاشیت سنسور، کاربر می تواند شرایط وقوع وقفه،حالات و روش های وقوع وقفه و … را تنظیم کند.
- FSY(FSYNC) : برای همگام سازی (Synchronization) سنسور با یک منبع خارجی ، از این پین استفاده میشود.برای اطلاعات بیشتر دیتاشیت سنسور مطالعه شود.به صورت پیش فرض این پین با مقاومت R3 به زمین متصل شده است.جهت استفاده از پین، مقاومت R3 باید از ماژول ، جدا (دمونتاژ) گردد.
اتصال به پردازنده
اتصال I2C با GebraBit STM32F303
ابتدا اطمینان حاصل کنید که پروتکل I2C با استفاده از جامپر های روی برد انتخاب شده است، سپس برای اتصال I2C ماژول GebraBit IIM42351 به ماژول میکروکنترلرGebraBit STM32F303 بعد از تعریف کردن SDA و SCL رو پین های PB9 و PB8 (برای راحتی کار در STMCUBEMX)مراحل زیر را دنبال کنید:
- پین 3V3 ماژول IIM42351 را به پین 3V3 خروجی ماژول میکروکنترلر متصل کنید.(سیم قرمز)
- پین GND ماژول IIM42351 را به پین GND ماژول میکروکنترلر متصل کنید.(سیم سیاه)
- پین SCL ماژول IIM42351 را به پین PB8 ماژول میکروکنترلر (SCL) متصل کنید.(سیم آبی)
- پین SDA ماژول IIM42351 را به پین PB9 ماژول میکروکنترلر (SDA) متصل کنید.(سیم زرد)
نحوه اتصال موارد ذکر شده در بالا،در این تصویر مشاهده می شود:
توجه: با توجه به اینکه پین PA14 ماژول میکروکنترلرGebraBit STM32F303 برای پروگرام کردن میکروکنترلر استفاده میشود،تنظیم I2C بر روی پین های PA14 و PA15 در این ورژن مقدور نمی باشد،لذا در اتصال I2C به ماژول میکروکنترلرGebraBit STM32F303 در این ورژن ، ماژول GebraBit IIM42351 نمی تواند به صورت Pin to Pin بر روی آن قرار گیرد.برای راحتی کار می توانید پروتکل SPI را با استفاده از جامپر های روی برد انتخاب کرده و سپس ماژول GebraBit IIM42351 را به صورت Pin to Pin بر روی ماژول GebraBit STM32F303 قرار دهید.
اتصال SPI با GebraBit STM32F303
ابتدا اطمینان حاصل کنید که پروتکل SPI با استفاده از جامپر های روی برد انتخاب شده است، سپس برای اتصال SPI ماژول GebraBit IIM42351 به ماژول میکروکنترلرGebraBit STM32F303 بعد از تعریف کردن SDI و SDO و SCK و CS رو پین های PB5 و PB4 و PB3 و PC13 (برای راحتی کار در STMCUBEMX) ماژول GebraBit IIM42351 را به صورت Pin to Pin به راحتی بر روی ماژول GebraBit STM32F303 قرار دهید.
در اینجا برای درک بهتر اتصال جداگانه ماژولها نشان داده شده است.
اتصال SPI یا I2C با GebraBit ATMEGA32A
با توجه به اینکه پین های SPI و I2C میکروکنترلر ATMEGA32A بر اساس استاندارد GEBRABUS متناظر با پین های SPI و I2C دیگر ماژول های GEBRABIT می باشد، ماژول GebraBit IIM42351 را به صورت Pin to Pin به راحتی بر روی ماژول GebraBit ATMEGA32A قرار داده و با تغییر وضعیت مقاومت های جامپر انتخاب پروتکل، با ماژول GebraBit IIM42351 از طریق SPI یا I2C ارتباط برقرار کنید.
در اینجا برای درک بهتر اتصال جداگانه ماژولها نشان داده شده است.
توجه: در صورت استفاده از ماژولهای میکروکنترلری GebraBit توجه داشته باشید که جامپر سلکتورهای تغذیه ماژول GebraBit IIM42351 روی 3V3 باشد تا راحت تر بتوانید ولتاژ3V3 را از ماژول میکروکنترلری گرفته و ماژول را فعال کنید.
اتصال I2C با ARDUINO UNO
ابتدا اطمینان حاصل کنید که پروتکل I2C با استفاده از جامپر های روی برد انتخاب شده است، سپس برای اتصال I2C ماژول GebraBit IIM42351 به ARDUINO UNO مراحل زیر را دنبال کنید:
- پین 3V3 ماژول IIM42351 را به پین 3V3 خروجی برد ARDUINO UNO متصل کنید.(سیم قرمز)
- پین GND ماژول IIM42351 را به پین GND برد ARDUINO UNO متصل کنید.(سیم سیاه)
- پین SCL ماژول IIM42351 را به پین A5 برد ARDUINO UNO( (SCLمتصل کنید.(سیم آبی)
- پین SDA ماژول IIM42351 را به پین A4 برد ARDUINO UNO( (SDAمتصل کنید.(سیم نارنجی)
نحوه اتصال موارد ذکر شده در بالا،در این تصویر مشاهده می شود:
اتصال SPI با ARDUINO UNO
ابتدا اطمینان حاصل کنید که پروتکل SPI با استفاده از جامپر های روی برد انتخاب شده است، سپس برای اتصال SPI ماژول GebraBit IIM42351 به ARDUINO UNO مراحل زیر را دنبال کنید:
- پین 3V3 ماژول IIM42351 را به پین 3V3 خروجی برد ARDUINO UNO متصل کنید.(سیم قرمز)
- پین GND ماژول IIM42351 را به پین GND برد ARDUINO UNO متصل کنید.(سیم سیاه)
- پین SDI ماژول IIM42351 را به پین D11 برد ARDUINO UNOمتصل کنید.(سیم زرد)
- پین SDO ماژول IIM42351 را به پین D12 برد ARDUINO UNOمتصل کنید.(سیم بنفش)
- پین SCK ماژول IIM42351 را به پین D13 برد ARDUINO UNOمتصل کنید.(سیم نارنجی)
- پین CS ماژول IIM42351 را به پین D10 برد ARDUINO UNOمتصل کنید.(سیم آبی)
نحوه اتصال موارد ذکر شده در بالا،در این تصویر مشاهده می شود: