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

پروژه های میکروکنترلر AVR

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

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

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

Mpu-6050 محصول invensense شامل مجموعه شتاب سنج و gyro با دقت بالا (16 بيتي) ميباشد. همچنين داراي بافر FIFO با ظرفيت 1024 بايت و سنسور دما با رنج اندازه گيري 40- تا 855+ درجه سانتيگراد ميباشد. این ماژول با تجمیع و ترکیب یک ژیروسکوپ 3 محور با یک شتاب سنج 3 محور روی یک چیپ سیلیکونی و بهره گیری از یک پردازشگر دیجیتال حرکت، قادر است الگوریتم های پیچیده 9 محوری را اجرا کند. این ویژگی بسیاری از مشکلاتی را که در تنظیم محور افقی در سنسورهای مجزا ایجاد می گردد را بر طرف خواهد ساخت. برای دستیابی به دقت بالای اندازه گیری در حرکتهای کند و حرکتهای سریع در سنسور MPU-6050 امکانی فراهم شده تا کاربر بتواند بازه اندازه گیری را متناسب با شتاب یا سرعت زاویه ای تغییر دهد. بدین منظور در قسمت ژیروسکوپ سنسور چهار بازه 250±، 500±، 1000± و 2000± درجه در ثانیه و در قسمت شتاب سنج سنسور چهار بازه 2g، ±4g،±8g، ±16g± برای کاربر قابل انتخاب خواهد بود.

مشخصات:
خروجی دیجیتال داده Motion Fusion در 6 یا 9 محور با فرمت داده به صورت ماتریس چرخش، Quaternion، زاویه اویلر و یا فرمت داده خام
ژیروسکوب 3 محور با حساسیت تا 131 کم ارزشترین داده بر هر درجه در ثانیه LSBs/dps با چهار بازه اندازه گیری 250±، 5000±، 1000± و 2000± درجه در ثانیه.
شتاب سنج 3 محور با رنج قابل برنامه ریزی برای 4 بازه 2g، ±4g، ±8g، ±16g± .
موتور پردازش دیجیتال حرکت (DMP) با توانایی اجرای الگوریتمهای پیچیده Motion Fusion، سنکرونسازی زمانی سنسور و تشخیص نوع حرکات.
دارای الگوریتم های داخلی مورد نیاز برای بایاس در زمان run-time و نیز قابلیت کالیبراسیون قطب نما، بدون نیاز به دخالت کاربر.
دارای سنسور دماسنج داخلی با خروجی دیجیتال.
دارای وقفه های قابل برنامه ریزی با قابلیت پشتیبانی از تشخیص حرکات مانند ضربه، حرکات ناگهانی، بالا و پایین رفتن، سقوط آزاد، حرکت با شتاب های بالا، بدون حرکت، همچنین برای تشخیص ضربات و تشخیص لرزش وقفه مجزا در نظر گرفته شده است.
دارای مدار Timing داخلی با تغییرات فرکانسی به میزان 1 درصد در تغییراتی به میزان کل رنج دمای کاری.
قابلیت تحمل شوکهای مکانیکی تا 10000g

 

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

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

Basic Information
Modulation:     Analog
Torque:
4.8V:111.1 oz-in (8.00 kg-cm)
6.0V:152.8 oz-in (11.00 kg-cm)
Speed:
4.8V:0.17 sec/60°
6.0V:0.14 sec/60°
Weight:     1.34 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:     3-pole
Gear Type:     Plastic
Rotation/Support:     Dual Bearings
Additional Specifications
Rotational Range:     180°
Pulse Cycle:     20 ms
Pulse Width:     600-2400 µs

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

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

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

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

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

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

نکته :

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

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

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

1-سروو موتور sg5010

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

3-lcd کاراکتری 2 در 16

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

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

5-LED

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

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

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

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

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

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

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

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

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

 

پرداخت و دانلود

2
دیدگاه بگذارید

avatar
1 Comment threads
1 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
faridmicrodroidprjsiteمیلاد Recent comment authors
میلاد
Guest
میلاد

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