آموزش پروژه محور رسپبری پای – جلسه پنجم کار با PWM

به نام خدا

آموزش پروژه محور رسپبری پای – جلسه پنجم کار با PWM

 

Raspberry-Pi-PWM

 

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

مدولاسیون پهنای پالس :

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

 

pulse-width-modulation-demo

 

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

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

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

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

بیشتر بخوانید...  آموزش پروژه محور رسپبری پای – جلسه چهارم کار با میکروسوئیچ

Raspberry-Pi-2-Model-B-GPIO-Layout

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

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

ما از برد رسپبری پای ۲ مدل B استفاده میکنیم هر چند که قبلا گفته شده فرق چندانی بین رسپبری پای های مختلف به خصوص ۲ و ۳ نیست . سیستم عامل ما هم رسپبین میباشد .

  • تعدادی سیم
  • مقاومت یک کیلو اهم یا ۲۲۰ اهم
  • LED
  • بردبورد
توضیحات مدار :

PWM-with-Raspberry-pi-fritzing-circuit_0

همان طور که در شکل بالا میبینید ال ای دی را به پین شماره ۳۵ رسپبری پای یعنی GPIO19 وصل کرده ایم . همان طور که قبلا گفته شد ، نمیتوانیم از این پین های رسپبری پای بیشتر از ۱۵ میلی آمپر جریان بکشیم . بنابریا برای محدود کردن جریان از مقاومت استفاده میکنیم .

توصیف عملکرد :

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

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

بیشتر بخوانید...  آموزش پروژه محور رسپبری پای – جلسه ششم کنترل موتور DC

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

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

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

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

در دستور بالا کانال و فرکانس سیگنال PWM را در برد رسپبری پای تنظیم میکنیم . P یک متغیر است . ما از GPIO19 استفاده کرده ایم و فرکانس PWM را ۱۰۰ هرتز گذاشته ایم . به خاطر فرکانس بالا ( سرعت زیاد ) نمیتوانیم روشن خاموش شدن ال ای دی را ببینیم و فقط تغییر شدت نور آن را میبینیم .

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

بیشتر بخوانید...  آموزش پروژه محور رزبری پای – جلسه نهم ADC

دستور زیر حلقه را ۵۰ بار تکرار میکند . X از ۰ تا ۴۹ میتواند افزایش یابد .

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

در این برنامه دیوتی سایکل سیگنال PWM افزایش یافته و سپس کاهش می یابد . با این کار روشنایی ال ای دی را کم و زیاد میکنیم .

کد های برنامه :

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

دانلود
فیلم عملکرد پروژه :

 

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