خانه / پروژه / کنترل سروو موتور با رزبری پای

کنترل سروو موتور با رزبری پای

به نام خدا

کنترل سروو موتور با رزبری پای

 

 

امروز می خواهیم یک سروو موتور را توسط مینی کامپیوتر رزبری پای کنترل کنیم . مدل سروو موتور ما SG90 است .

رزبری پای یک برد بر اساس پردازنده های آرم سری کرتکس میباشد که برای مهندسان الکترونیک طراحی شده است . رزبری پای یک کامپیوتر تک بردی با مصرف توان پایین است . این برد با قدرت پردازش و حافظه ای که دارد میتواند در خیلی از کار های real time به کار رود مانند یک کامپیوتر ، به همین خاطر است که به رزبری پای مینی کامپیوتر میگویند .

رزبری پای یک پردازنده ARMv7 دارد به همین خاطر میتونه از سیستم عامل هایی مثل Linux و Windows 10 استفاده کند . معماری ARM در الکترونیک قدرت زیادی دارد . از معماری ARM در خیلی از وسایل استفاده میکنیم . به عنوان مثال در موبایل های امروز یا در خیلی از تبلت ها از پردازنده های آرم سری کرتکس استفاده میشود .

رزبری پای برد های مختلفی دارد که به طور کلی به چهار دسته رزبری پای Zero ، رزبری پای ۱ ، رزبری پای ۲ و رزبری پای ۳ تقسیم بندی میشوند . البته این چهار دسته زیر شاخه های مربوط به خود را دارند . معروف ترین این برد ها دو مدل Raspberry Pi 2 Model B و Raspberry Pi 3 Model B است . رزبری پای ۳ مدل B  شبیه به رزبری پای ۲ مدل B میباشد با این تفاوت که قابلیت هایی مثل Wi-Fi و Bluetooth به آن اضافه شده و CPU آن مقداری قوی تر شده است . ما با رزبری پای ۲ مدل B کار خواهیم کرد که نحوه کار با آن تفاوتی با رزبری پای ۳ ندارد .

در رسپبری پای ، ۴۰ عدد پین به عنوان پین های GPIO معرفی شده اند اما با نگاهی به شکل بالا متوجه میشویم که همه این ۴۰ پین قابل برنامه ریزی برای ورودی و خروجی نیستند و فقط ۲۶ عدد از این پین ها قابل برنامه ریزی میباشند .

برخی از این GPIO ها توابع و کاربرد خاصی را پشتیبانی میکنند که در جلسه های بعد راجع به آن ها صحبت میکنیم ؛ با کم کردن این GPIO ها از لیست ۲۶ پین ، ۱۷ پین GPIO معمولی در رسپبری پای میماند . این ۱۷ پین در شکل زیر با دایره های سبز رنگ نشان داده شده است .

این ۱۷ پین حداکثر ۱۵ میلی آمپر ( در صورت نکشیدن جریان از بقیه این ۱۷ پین ) جریان میدهند . اما این پین ها در مجموع ۵۰ میلی آمپر میتوانند بدهند یعنی به طور میانگین هر پین حدود ۳ میلی آمپر میتواند بدهد . پس باید مدار خود را طوری طراحی کنیم تا جیریان بیشتر از ۳ میلی آمپر از هر پین رسپبری کشیده نشود . این مقدار در رسپبری پایه نسبت به میکروکنترلر هایی مثل AVR خیلی کمتر است ، پین های میکروکنترلر های AVR عموما حدود ۲۰ میلی آمپر میتوانند به مدار بدهند .

بیشتر بخوانید...  نحوه ی کارکرد مقاومت انعطاف پذیر

 

مدولاسیون پهنای پالس ( PWM ) :

مدولاسیون پهنای پالس یا همان PWM در خیلی از پست های سایت ما توضیح داده شده است .

 

 

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

Duty Cycle =Turn ON time/ (Turn ON time + Turn OFF time)

Duty Cycle = (0.5/ (0.5+0.5)) = 50%

اگر ۰٫۲ ثانیه روشن باشد و ۰٫۸ خاموش باشد ، دیوتی سایکل ۲۰% خواهد شد . دیوتی سایکل ضربدر ولتاژ باتری ، ولتاژی است که به طور میانگین به ال ای دی میرسد . در این مثال فرکانس ما یک هرتز است . میتوان فرکانس را افزایش داد یعنی این عمل روشن و خاموش شدن به تعداد بیشتری در یک ثانیه انجام شود ، مثلا ۵۰ بار در ثانیه .

سروو موتور و PWM :

یک سروو موتور ترکیبی از یک موتور DC ، سیستم کنترل موقعیت و چرخ دنده است . سروو موتور در دنیای امروز کاربرد فراوان دارد و در ابعاد و توانایی های مختلف تولید شده اند . ما در این آموزش از سروو موتور SG90 استفاده کرده ایم . سروو موتور SG90 یک سروو موتور ۱۸۰ درجه است و بین ۰ تا ۱۸۰ درجه می تواند بچرخد . موقعیت شفت سروو موتور توسط پهنای پالس PWM تعیین می شود .

سروو موتور ها معمولا دارای سه سیم هستند ؛ قهوه ای ، قرمز و زرد ( یا سفید ) . سیم قهوه ای به زمین وصل می شود ، قرمز به ولتاژ مثبت وصل می شود و زرد به سیگنال PWM وصل خواهد شد .

 

فرکانس پالس PWM برای سروو موتور های مختلف می تواند متفاوت باشد . برای سروو موتور SG90 باید ۵۰ هرتز باشد . اگر از سروو موتور دیگری استفاده می کنید می توانید با رجوع به دیتاشیت آن موتور ، فرکانس مناسب را ببینید . در جدول زیر موقعیت سروو رو برای ۳ دیوتی سایکل مختلف می بینید .

بیشتر بخوانید...  پروژه ی ساخت ژنراتور PWM با استفاده از آردوینو

 

POSITION

DUTY RATIO

۰º

۲٫۵

۹۰º

۷٫۵

۱۸۰º

۱۲٫۵

 

قطعات مورد نیاز این پروژه :

– تعدادی سیم

– سروو موتور SG90

– خازن ۱۰۰۰ میکروفاراد

– برد رزبری پای

– بردبورد

 

شماتیک مدار :

قطعات ما طبق شماتیک مدار زیر به هم وصل می شوند .

 

دلیل گذاشتن خازن ۱۰۰۰ میکروفارد بین مثبت و منفی این است که جریان کشی سروو موتور ما گاهی اوقات زیاد می شود و همین امر باعث خاموش شدن رزبری پای می شود .

 

توضیحات برنامه :

خب همه چیز را وصل کرده ایم و حالا میتونیم برد رزبری پای را روشن کرده و پایتون را اجرا کنیم . چند تا از دستورات مهم برنامه را توضیح میدهیم .

در ابتدای برنامه فایل GPIO را از کتابخانه فراخوانی میکنیم . این کتابخانه برای فعال سازی پین های ورودی خروجی رسپبری پای است .

همچنین نام GPIO را به IO عوض میکنیم . با این کار در برنامه هر موقع که خواستیم به GPIO اشاره کنیم از کلمه IO استفاده میکنیم .

برای اشاره کردن به پین های رسپبری پای میتونیم از شماره پایه ان یا شماره GPIO آن استفاده کنیم .

پین مورد نظر خود را به عنوان خروجی تعریف میکنیم . که از این پین خروجی PWM میگیریم .

حالا باید خروجی PWM خود را تنظیم کنیم .

در دستور بالا کانال و فرکانس سیگنال PWM را در برد رسپبری پای تنظیم میکنیم . P یک متغیر است . ما از GPIO19 استفاده کرده ایم و فرکانس PWM را ۵۰ هرتز گذاشته ایم . این فرکانس برای سروو موتور SG90 انتخاب می شود .

در دستور زیر سیگنال PWM شروع به کار میکند . در این خط ما دیوتی سایکل یا همان نرخ روشن بودن را مشخص میکنیم . دیوتی سایکل ۰ به معنی این است که ۰% زمان روشن است ، دیوتی سایکل ۳۰ به معنی روشن بودن در ۳۰ % زمان است و … .

حلقه While 1 یک حلقه بی نهایت است که مدام اجرا میشود .

کدهای برنامه را از لینک زیر می توانید دانلود کنید .

 

دانلود فایل

درباره‌ی Admin

همچنین بخوانید...

کنترل سروو موتور با متلب

آموزش کامل کنترل سروو موتور با متلب همراه با عکس

به نام خدا آموزش کامل کنترل سروو موتور با متلب همراه با عکس در این …

کنترل سروو موتور با آردوینو Due

دانلود پروژه ی کنترل سروو موتور با آردوینو Due به همراه کد کامل

به نام خدا پروژه ی کنترل سروو موتور با آردوینو Due به همراه کد کامل …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

سلام ،خوش آمدید
آیا می خواهید آموزش ها و پروژه های جدید برای شما ارسال شود؟
مشخصات خود را وارد نمایید
متشکرم
منتظر فایل های ما باشید