پروژه سنسور شتاب سه محوره ADXL345

0
779
سنسور شتاب سه محوره ADXL345
سنسور شتاب سه محوره ADXL345

پروژه سنسور شتاب سه محوره ADXL345

در این نوشته شما پروژه راه‌اندازی سنسور شتاب و زاویه سه محوره توسط چیپ ADXL345 با میکرو کنترلر STM8 را خواهید آموخت. سورس شماتیک، پی سی بی و فایل برنامه نیز موجود است.
ابتدا با مفهوم شتاب و سنسور آن آشنا شویم.

شتاب چیست؟

به میزان تغییرات سرعت در یک بازه زمانی، شتاب گفته می‌شود. به عبارتی دیگر اگر شما در یک بازه‌ی زمانی با سرعت 100 کیلومتر در حال حرکت باشید (بدون در نظر گرفتن شتاب زمین)، شتاب شما صفر خواهد بود؛ درصورتی‌که در حال افزایش سرعت باشید این شتاب یک عدد مثبت و درصورتی‌که در حال کاهش سرعت باشید، شتاب یک عدد منفی خواهد بود.

سنسور شتاب چه قابلیت‌هایی دارد؟

سنسور شتاب به سنسوری گفته می‌شود که دارای قابلیت تشخیص شتاب است. همان‌طور که می‌دانید، زمین نیز یک شتاب مشخص با واحد g، به‌تمامی اجسام وارد می‌کند؛ میزان این شتاب، 9.82 m/s^2 است. اگر یک سنسور شتاب داشته باشید، در حالت عادی میزان شتاب واردشده از سطح زمین را به شما نمایش خواهد داد. این سنسور که اصطلاحاً به آن Accelerometer نیز گفته می‌شود، یکی از سنسورهای رایج در بازار است.

در زیر، بلاک دیاگرام این سنسور را مشاهده می‌کنید.

بلاک دیاگرام سنسور
بلاک دیاگرام سنسور

 

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

 

راه‌اندازی یک سنسور شتاب سه محوره با شماره ADXL345:

در پروژه‌ها قبلاً از ماژول MPU6050 با فیلتر کالمن استفاده می‌کردیم. متأسفانه قیمت این ماژول بسیار بالا بود و مدتی بعد هم در بازار نایاب شد؛ به همین علت تصمیم گرفتیم منطبق بر ماژول MPU6050، یک ماژول طراحی کنیم به‌صورتی‌که استاندارد درگاه خروجی آن نیز منطبق بر همین ماژول باشد. جهت اجرا از ماژول شتاب سنج ADXL345 و جهت پروسسور هم از میکرو STM8 به شماره STM8S003F3 استفاده کردیم که باعث شد ازنظر قیمتی نیز بسیار مقرون‌به‌صرفه گردد. این دو ماژول ازنظر فوت پرینت و ترتیب پایه، مشابه هم هستند و می‌توان به‌راحتی ماژول طراحی‌شده را جایگزین قبلی نمود. البته ازنظر ارتفاع، برد طراحی‌شده کمی بلندتر است.

برد+ شتاب سنج
برد+ شتاب سنج

 

 

امکانات سنسور:

در ابتدا نگاهی به امکانات این سنسور می‌اندازیم. این سنسور می‌تواند گرانش واردشده به هر سه محور X, Y, Z را به‌صورت استاتیک با حساسیت‌های 0.2±، 0.4±، 8± و 16± “G” و با دقت 13 بیت اندازه‌گیری کند. هم‌چنین به‌صورت استاتیک شوک واردشده و یا حرکت را نیز می‌تواند تشخیص دهد.

این چیپ می‌تواند دیتاهای خود را توسط رابط‌های کاربری I2C و SPI انتقال دهد. جریان مصرفی آن در حین کار کمتر از 40 میکرو آمپر است و در محدوده ولتاژی 2 تا 3.6 ولت کار می‌کند.

چیپ
چیپ

 

برای راه‌اندازی این ماژول نیاز به یک میکرو کنترلر داریم که ما در اینجا از یک میکرو 8 بیتی به شماره STM8S003F3 ساخت شرکت STM استفاده کرده‌ایم. کار با این میکرو ساده بوده و به نسبت، قیمت مناسبی نیز دارد.

خروجی این برد سریال است؛ می‌توان آن را با یک مبدل USB به TTL به یک کامپیوتر متصل کرد و خروجی را توسط یک نرم‌افزار سریال مثل hyperterminal خود ویندوز یا RealTerm در مانیتور مشاهده کرد.

خروجی برد
خروجی برد

 

همچنین برد بسیار جمع‌ و جور طراحی‌شده؛ می‌توان آن را روی بردهای خود، مونتاژ و با رابط سریال با آن ارتباط برقرار کرد.

 

کدهای سنسور:

با استفاده از این برد دیگر نیازی به ترجمه کدهای سنسور ندارید. برنامه این میکرو توسط ادیتور قدرتمند IAR Embedded Workbench for STM8 نوشته‌شده که در صورت نیاز به تغییر در ساختار برنامه، می‌توانید آن را تغییر دهید. فایل هگز میکرو به‌صورت جداگانه قرار داده‌شده تا درصورتی‌که احتیاج به تغییر در برنامه ندارید بتوانید آن را به‌صورت مستقیم با پروگرامر STLINK، بر روی میکرو پروگرام کنید.

می‌توانید سورس برنامه به زبان C، کامپایلر IRA، شماتیک و پی سی بی (Altium Designer ) را دانلود نمایید:

ADXL345

 

 

منبع: سیسوگ

مطلب قبلیمعرفی و ساخت فیلتر های اکتیو + سورس
مطلب بعدیشیلد رایگان SIM800 برای برد آردوینو اونو (Arduino UNO)

پاسخ دهید

لطفا نظر خود را وارد کنید!
لطفا نام خود را در اینجا وارد کنید