فهرست مطالب:
- مرحله 1: آنچه ما نیاز داریم:
- مرحله دوم: ساخت…
- مرحله 3: برخی اطلاعات اضافی قبل از ادامه کار
- مرحله 4: کد:
- مرحله 5: آزمایش و نتیجه گیری
تصویری: اندازه گیری زاویه با استفاده از ژیروسکوپ ، شتاب سنج و آردوینو: 5 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:59
این دستگاه نمونه اولیه ای از چیزی است که در نهایت به یک ربات خود تعادل تبدیل می شود ، این قسمت دوم از سوراخ است (شتاب سنج را بخوانید و یک موتور را برای تعادل خود کنترل کنید). بخش اول فقط با ژیروسکوپ را می توانید در اینجا پیدا کنید. در این دستورالعمل ما زاویه را با استفاده از ژیروسکوپ و شتاب سنج اندازه گیری می کنیم و از تکنیکی برای ادغام هر دو سنسور برای دریافت سیگنال صاف استفاده می کنیم. این تکنیک "فیلتر مکمل" نامیده می شود. قبلی
مرحله 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 وارد کنید و نمودار را ترسیم کنید تا ببینید فیلتر من چقدر خوب است. نتایج شگفت انگیز است. البته می توانید از سیگنال برای رانندگی موتور یا سایر موارد استفاده کنید. هر گونه نظر ، هر گونه شک ، هرگونه اطلاعات از دست رفته است ، فقط به من بگویید و من آن را تصحیح می کنم. لطفاً اگر این مورد را دوست دارید ، امتیاز دهید. از همه شما متشکرم.
توصیه شده:
اندازه گیری شتاب با استفاده از H3LIS331DL و آردوینو نانو: 4 مرحله
اندازه گیری شتاب با استفاده از H3LIS331DL و آردوینو نانو: H3LIS331DL ، یک شتاب سنج خطی کم توان با عملکرد بالا 3 محور متعلق به خانواده "نانو" ، با رابط سریال دیجیتال I²C است. H3LIS331DL دارای مقیاس های کامل قابل انتخاب 100 گرم//200 گرم/400 گرم user است و قادر به اندازه گیری شتاب های
اندازه گیری شتاب با استفاده از BMA250 و آردوینو نانو: 4 مرحله
اندازه گیری شتاب با استفاده از BMA250 و آردوینو نانو: BMA250 یک شتاب سنج کوچک ، نازک ، فوق العاده کم قدرت ، 3 محوره با اندازه گیری وضوح بالا (13 بیت) تا 16 گرم پوند است. داده های خروجی دیجیتال به صورت مکمل دو بیتی 16 بیتی قالب بندی شده و از طریق رابط دیجیتال I2C قابل دسترسی است. اندازه گیری استاتیک
SmartPhone Game Simulator- بازی های ویندوز را با استفاده از Gesture Control IMU ، شتاب سنج ، ژیروسکوپ ، مغناطیس سنج انجام دهید: 5 مرحله
SmartPhone Game Simulator- با استفاده از Gesture Control IMU ، شتاب سنج ، ژیروسکوپ ، مغناطیس سنج بازی های ویندوز را اجرا کنید: از این پروژه پشتیبانی کنید: https://www.paypal.me/vslcreations با اهدا به کدهای منبع باز & amp؛ حمایت از توسعه بیشتر
Arduino Nano و Visuino: تبدیل شتاب به زاویه از شتاب سنج و ژیروسکوپ سنسور MPU6050 I2C: 8 مرحله (همراه با تصاویر)
Arduino Nano و Visuino: تبدیل شتاب به زاویه از شتاب سنج و ژیروسکوپ سنسور MPU6050 I2C: چندی پیش من آموزشی را در مورد نحوه اتصال شتاب سنج MPU9250 ، ژیروسکوپ و سنسور قطب نما به آردوینو نانو و برنامه ریزی آن با Visuino برای ارسال داده ها و نمایش بسته ها ارسال کردم. آن را بر روی دامنه و ابزارهای بصری قرار می دهد. شتاب سنج X ، Y ،
آردوینو نانو: شتاب سنج ژیروسکوپ قطب نما MPU9250 I2C سنسور با Visuino: 11 مرحله
آردوینو نانو: شتاب سنج ژیروسکوپ قطب نما MPU9250 I2C Sensor With Visuino: MPU9250 یکی از پیشرفته ترین سنسورهای شتاب سنج ، ژیروسکوپ و قطب نما با اندازه کوچک است که در حال حاضر موجود است. آنها دارای بسیاری از ویژگی های پیشرفته هستند ، از جمله فیلترینگ کم گذر ، تشخیص حرکت و حتی یک پردازنده تخصصی قابل برنامه ریزی