پروژه حفظ تعادل یک محوره سطح (توسط ژیروسکوپ و سروو)

به نام خدا و با سلام

در مطلب پروژه کنترل سطح یک محوره که سطح افقی را در یک جهت x  یا y کنترل میکند را معرفی میکنم

برای خواندن موقعیت از ماژول زیروسکوپ MPU6050  استفاده میکنیم که مشخصات آن به شرح زیر است:

Mpu-6050 محصول invensense شامل مجموعه شتاب سنج و gyro با دقت بالا (۱۶ بيتي) ميباشد. همچنين داراي بافر FIFO با ظرفيت ۱۰۲۴ بايت و سنسور دما با رنج اندازه گيري ۴۰- تا ۸۵۵+ درجه سانتيگراد ميباشد. این ماژول با تجمیع و ترکیب یک ژیروسکوپ ۳ محور با یک شتاب سنج ۳ محور روی یک چیپ سیلیکونی و بهره گیری از یک پردازشگر دیجیتال حرکت، قادر است الگوریتم های پیچیده ۹ محوری را اجرا کند. این ویژگی بسیاری از مشکلاتی را که در تنظیم محور افقی در سنسورهای مجزا ایجاد می گردد را بر طرف خواهد ساخت. برای دستیابی به دقت بالای اندازه گیری در حرکتهای کند و حرکتهای سریع در سنسور MPU-6050 امکانی فراهم شده تا کاربر بتواند بازه اندازه گیری را متناسب با شتاب یا سرعت زاویه ای تغییر دهد. بدین منظور در قسمت ژیروسکوپ سنسور چهار بازه ۲۵۰±، ۵۰۰±، ۱۰۰۰± و ۲۰۰۰± درجه در ثانیه و در قسمت شتاب سنج سنسور چهار بازه ۲g، ±۴g،±۸g، ±۱۶g± برای کاربر قابل انتخاب خواهد بود.

مشخصات:
خروجی دیجیتال داده Motion Fusion در ۶ یا ۹ محور با فرمت داده به صورت ماتریس چرخش، Quaternion، زاویه اویلر و یا فرمت داده خام
ژیروسکوب ۳ محور با حساسیت تا ۱۳۱ کم ارزشترین داده بر هر درجه در ثانیه LSBs/dps با چهار بازه اندازه گیری ۲۵۰±، ۵۰۰۰±، ۱۰۰۰± و ۲۰۰۰± درجه در ثانیه.
شتاب سنج ۳ محور با رنج قابل برنامه ریزی برای ۴ بازه ۲g، ±۴g، ±۸g، ±۱۶g± .
موتور پردازش دیجیتال حرکت (DMP) با توانایی اجرای الگوریتمهای پیچیده Motion Fusion، سنکرونسازی زمانی سنسور و تشخیص نوع حرکات.
دارای الگوریتم های داخلی مورد نیاز برای بایاس در زمان run-time و نیز قابلیت کالیبراسیون قطب نما، بدون نیاز به دخالت کاربر.
دارای سنسور دماسنج داخلی با خروجی دیجیتال.
دارای وقفه های قابل برنامه ریزی با قابلیت پشتیبانی از تشخیص حرکات مانند ضربه، حرکات ناگهانی، بالا و پایین رفتن، سقوط آزاد، حرکت با شتاب های بالا، بدون حرکت، همچنین برای تشخیص ضربات و تشخیص لرزش وقفه مجزا در نظر گرفته شده است.
دارای مدار Timing داخلی با تغییرات فرکانسی به میزان ۱ درصد در تغییراتی به میزان کل رنج دمای کاری.
قابلیت تحمل شوکهای مکانیکی تا ۱۰۰۰۰g

 

و برای کنترل سطح از سروو موتور sg5010  استفاده میکنیم که مشخصات ان به صورت زیر است :

SG-5010 یک سرو موتور محصول شرکت Tower Pro است که مناسب برای ساخت روباتهای پیشرفته و دقیق، استفاده درهواپیماهای مدل و انواع بازوهای صنعتی می باشد. این سرو موتور دارای قابلیت چرخش ۱۸۰۰ درجه می باشد. این موتور دارای سه پین برای تغذیه و کنترل است.

Basic Information
Modulation:     Analog
Torque:
۴٫۸V:111.1 oz-in (8.00 kg-cm)
۶٫۰V:152.8 oz-in (11.00 kg-cm)
Speed:
۴٫۸V:0.17 sec/60°
۶٫۰V:0.14 sec/60°
Weight:     ۱٫۳۴ oz (38.0 g)
Dimensions:
Length: 1.58 in (40.1 mm)
Width: 0.80 in (20.3 mm)
Height: 1.70 in (43.2 mm)
Motor Type:     ۳-pole
Gear Type:     Plastic
Rotation/Support:     Dual Bearings
Additional Specifications
Rotational Range:     ۱۸۰°
Pulse Cycle:     ۲۰ ms
Pulse Width:     ۶۰۰-۲۴۰۰ µs

توضیحات پروژه :

در این پروژه موقعیت و زاویه با استفاده از ماژول ژیروسکوپ توسط میکرو دریافت میشود و میکرو با با تولید موج pwm مناسب زاویه سروو را به درستی تنظیم میکند و سروو نیز سطح افقی را کنترل می کند

ضمن این که در صورت لزوم اطلاعات را نیز میتوانید از طریق یوزات ارسال ارسال کنید

این پروژه به زبان سی در کامپایلر کدویژن برای میکرو mega16 نوشته شده است و برای نمایش اطلاعات نیز از lcd کاراکتری ۱۶*۲ استفاده شده است.

 شماتیک پروژه به صورت زیر است:

و شماتیک اتصال سروو موتور هم به صورت شکل زیر است:

نکته :

با استفاده از گراند کردن پین صفر و یک از پورت b میتوانید جهت چرخش سروو موتور را تعیین کنید که در شکل بالا مشخص شده است .به صورت پیشش فرض پین صفر پورت b را به گراند (gnd) متصل کنید.

 نحوه عملکرد مدار به صورت زیر است:

لیست قطعات مورد استفاده :

۱-سروو موتور sg5010

۲-میکرو کنترلر atmega16

۳-lcd کاراکتری ۲ در ۱۶

۴-مبدل USB به سریال (اختیاری ،کاربردی جهت دیباگ)

۵-ماژول MPU6050 جهت تشخیص سطح افقی (از هر ماژولی میتونید استفاده کنید)

۵-LED

«این قطعات رو از هر فروشگاهی میتونید تهیه کنید»

توضیحات تنظیمات میکروکنترلر:

فرکانس کاری میکرو ۸ مگا هرتز است که میتوانید از اسیلاتور داخلی استفاده کنید و فیوز بیت ها رو به صورت زیر تنظیمات کنید:

کلاک سلکت صفر برابر ۰

کلاک سلکت یک برابر ۰

کلاک سلکت دو برابر ۱

کلاک سلکت سه برابر ۰

و در صورت اتصال کریستال خارجی ۸ مگا هرتز تمامی کلاک سلکت هارو ۱ کنید

توضیحات بیشتر در مورد نحوه پروگرام کردن میکرو از این لینک ببینید.

 

mehdi sehati

در این سایت پروژه و آموزش های انواع ماژول ها و میکروکنترلر ها و نحوه ارتباط سخت افزار با نرم افزار (برنامه نویسی اندروید برای گوشی و برنامه نویسی سی شارپ برای کامپیوتر) و برنامه نویسی پایتون و رسبری پای و ماژول های وای فای قرار میگیرد همچنین دوستان برای توضیحات بیشتر و سفارش پروژه میتوانند به آی دی تلگرام بنده مراجعه کنند

مطالب مرتبط

Subscribe
Notify of
guest

2 نظرات
Inline Feedbacks
View all comments
میلاد
میلاد
6 years ago

باسلام شماره تماس تون رو میشه اینجا بزارین یا به ایمیل من بفرستین

2
0
Would love your thoughts, please comment.x