فهرست مطالب:

اندازه گیری زاویه با استفاده از ژیروسکوپ ، شتاب سنج و آردوینو: 5 مرحله
اندازه گیری زاویه با استفاده از ژیروسکوپ ، شتاب سنج و آردوینو: 5 مرحله

تصویری: اندازه گیری زاویه با استفاده از ژیروسکوپ ، شتاب سنج و آردوینو: 5 مرحله

تصویری: اندازه گیری زاویه با استفاده از ژیروسکوپ ، شتاب سنج و آردوینو: 5 مرحله
تصویری: How to use MPU-6050 Accelerometer and Gyroscope with Arduino code 2024, نوامبر
Anonim
اندازه گیری زاویه با استفاده از ژیروسکوپ ، شتاب سنج و آردوینو
اندازه گیری زاویه با استفاده از ژیروسکوپ ، شتاب سنج و آردوینو

این دستگاه نمونه اولیه ای از چیزی است که در نهایت به یک ربات خود تعادل تبدیل می شود ، این قسمت دوم از سوراخ است (شتاب سنج را بخوانید و یک موتور را برای تعادل خود کنترل کنید). بخش اول فقط با ژیروسکوپ را می توانید در اینجا پیدا کنید. در این دستورالعمل ما زاویه را با استفاده از ژیروسکوپ و شتاب سنج اندازه گیری می کنیم و از تکنیکی برای ادغام هر دو سنسور برای دریافت سیگنال صاف استفاده می کنیم. این تکنیک "فیلتر مکمل" نامیده می شود. قبلی

مرحله 1: آنچه ما نیاز داریم:

آنچه ما نیاز داریم
آنچه ما نیاز داریم
آنچه ما نیاز داریم
آنچه ما نیاز داریم
آنچه ما نیاز داریم
آنچه ما نیاز داریم
آنچه ما نیاز داریم
آنچه ما نیاز داریم

برخی از قسمت ها می توانند جایگزین شوند و برخی از تغییرات کد باید متناسب با سخت افزار شما انجام شود. در این پروژه ما از موارد زیر استفاده خواهیم کرد: (برای شتاب سنج)- آداپتور Nunchuck Wii برای آردوینو

مرحله دوم: ساخت…

ساختمان…
ساختمان…
ساختمان…
ساختمان…
ساختمان…
ساختمان…

این مدار شامل یک ژیروسکوپ است که مستقیما به پورت 0 در آردوینو متصل شده است و یک nunchuck wii در پورت I2C متصل می شود. مونتاژ ژیروسکوپ: 1. - ژیروسکوپ را به نان برد 2 وصل کنید - سیم همیشه چیزی:- پین Vo از ژیروسکوپ به پورت آنالوگ متصل می شود0 در آردوینو (سیم نارنجی روشن)- پین G از ژیروسکوپ به زمین متصل می شود (سیم سفید)- V+ پین از ژیروسکوپ متصل به Vdd (3.3V) (سیم نارنجی) مونتاژ شتاب سنج: 1. - آداپتور را به nunchuck2 وصل کنید. - nunchuck را با استفاده از آداپتور به arduino وصل کنید. - سنسور accel را مانند عکس بالا قرار دهید

مرحله 3: برخی اطلاعات اضافی قبل از ادامه کار

برخی اطلاعات اضافی قبل از ادامه کار
برخی اطلاعات اضافی قبل از ادامه کار
برخی اطلاعات اضافی قبل از ادامه کار
برخی اطلاعات اضافی قبل از ادامه کار
برخی اطلاعات اضافی قبل از ادامه کار
برخی اطلاعات اضافی قبل از ادامه کار

از هر دو سنسور می توان زاویه را اندازه گیری کرد اما با استفاده از دو تکنیک متمایز. برای اندازه گیری زاویه با استفاده از ژیروسکوپ باید سیگنال را یکپارچه کنیم. اما چرا باید این کار را انجام دهیم؟ از آنجا که ژیروسکوپ میزان زاویه را به ما می دهد ، بنابراین یک راه ساده برای بدست آوردن زاویه این است که میزان زاویه را در زمان ضرب کنید [angle = angle + w * dt] برای اندازه گیری زاویه با استفاده از شتاب سنج باید گرانش را در هر یک حس کنیم محور شتاب سنج ، معنی آن ، نمایش شتاب گرانش در هر جهت سنسور به ما ایده ای در مورد زاویه می دهد. [angle_accel = arctg (Ay / sqrt (Ax^2 + Az^2))] پس چرا ما به جای یک سنسور از دو سنسور استفاده می کنیم؟ برای استفاده از هر دو ویژگی سنسور. اگر به گرافیک داده های ژیروسکوپی افزایش مداوم دهید ، این حالت رانش نامیده می شود و داده های شتاب سنج در زمان کمی تغییر زیادی می کنند. و نحوه ادغام هر دو سیگنال؟ ما از تکنیکی به نام فیلتر مکمل استفاده خواهیم کرد. من نظریه دقیق پشت این را نمی دانم ، اما خوب کار می کند. اطلاعاتی در اینترنت وجود دارد ، در صورت نیاز به اطلاعات بیشتر آن را در گوگل جستجو کنید. این پیوند دارای اطلاعات زیادی است و می تواند مفید واقع شود. جایی که HPF + LPF = 1 مقادیر HPF و LPF را می توانید در این پیوند ، در فایل filter.pdf پیدا کنید. از شما از "The DIY Segway" تشکر می کنیم. فقط به منظور آزمایش ما این مقادیر را مانند HPF = 0.98 و LPF = 0.02 تعیین می کنیم.

مرحله 4: کد:

کد اقتباس از کدی است که در پروژه دیگری استفاده کردم. احتمالاً برخی متغیرها استفاده نشده اند. من از کتابخانه ای برای خواندن داده های nunchuck از https://todbot.com/blog/ استفاده کردم. با تشکر از Tod E. Kurt. نظرات مربوط به کد به زبان پرتغالی است ، به محض اینکه وقت آزاد داشتم ، آن را ترجمه می کنم. کد خروجی از طریق سریال برخی از اعداد با این الگو: dt: w: teta: pitch: filter_teta $ time: angular_velocity: gyro_angle: accel_angle: filtered_angle $ بنابراین می توانید این مقادیر را در ترمینال سریال ذخیره کرده و نمودار را رسم کرده یا از زاویه برای موارد دیگر استفاده کنید. زیپ شده کافی است آن را از حالت فشرده خارج کرده ، باز کرده و در آردوینو خود بارگذاری کنید.

مرحله 5: آزمایش و نتیجه گیری

آزمایش و نتیجه گیری
آزمایش و نتیجه گیری
آزمایش و نتیجه گیری
آزمایش و نتیجه گیری

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

توصیه شده: