به نام خدا
جلسه دوم – راه اندازی pwm با آروینو DUE
پردازنده برد آردوینو DUE از نوع پردازنده های ARM می باشد . پردازنده های ARM نسبت به پردازنده های AVR قابلیت های بیشتری دارد ، قدرت پردازش بالاتری دارند و نویز پذیری کمتری دارند . از معماری پردازنده های ARM در موبایل ها ، کامپیوتر و … استفاده شده است . در سیستم ها و دستگاه های صنعتی تقریبا همیشه از پردازنده های ARM استفاده می کنند . پردازنده های ARM نتایج بهتری را در اجرای توابع و الگوریتم های کنترلی و حتی پردازش تصویر به ما می دهند .
امروز می خواهیم میزان روشنایی LED را توسط موج pwm کنترل کنیم . سیگنال pwm در واقع همان مدولاسیون پهنای پالس است یعنی با تغییر پهنای پالس می توانیم ولتاژ رسیده به LED را افزایش دهیم .
مدولاسیون پهنای پالس ( PWM ) :
در مدار بالا یک کلید را میبینید که میتواند جریان را قطع و وصل کند . اگر این کلید نیم ثانیه وصل باشد و نیم ثانیه قطع باشد میتوان گفت در کل مدت زمان روشن و خاموش شدن ، به طور میانگین نصف ولتاژ باتری به ال ای دی میرسد . این همان دیوتی سایکل ( Duty Cycle ) است . دیتوی سایکل برابر است با مدت زمان روشن بودن به کل مدت زمان روشن و خاموش بودن .
Duty Cycle =Turn ON time/ (Turn ON time + Turn OFF time)
Duty Cycle = (0.5/ (0.5+0.5)) = 50%
اگر ۰٫۲ ثانیه روشن باشد و ۰٫۸ خاموش باشد ، دیوتی سایکل ۲۰% خواهد شد . دیوتی سایکل ضربدر ولتاژ باتری ، ولتاژی است که به طور میانگین به ال ای دی میرسد . در این مثال فرکانس ما یک هرتز است . میتوان فرکانس را افزایش داد یعنی این عمل روشن و خاموش شدن به تعداد بیشتری در یک ثانیه انجام شود ، مثلا ۵۰ بار در ثانیه .
ولتاژ میانگین رسیده به LED برابر می شود با ولتاژی که در دو سر LED قرار دارد ضربدر دیوتی سایکل . به عنوان مثال در مدار بالا که به ۳ ولت وصل است میانگین ولتاژ رسیده به موتور با دیوتی سایکل مثلا %۴۰ برابر با ۱٫۲ ولت خواهد بود .
آردوینو DUE دارای ۱۲ کانال pwm است ( از پین ۲ تا پین ۱۳ ) که ما می توانیم LED خود را به هر کدام از این پایه ها وصل کنیم . ما LED را به پایه ۲ وصل کرده ایم .
قطعات مورد نیاز پروژه :
– آردوینو DUE
– LED
– میکروسوئیچ ( ۲ عدد )
– مقاومت یک کیلو اهم ( ۲ عدد )
– مقاومت ۲۲۰ اهم
– بردبورد
شماتیک مدار و توضیحات عملکرد :
برای راه اندازی و کار با pwm در اکثر کامپایلر ها باید رجیستر های مربوط به pwm را تعریف کنیم که کار چندان راحتی نیست و نیاز به خواندن برگه اطلاعات آن میکروکنترلر می باشد ، اما در برنامه آردوینو نیازی به این تعریف رجیستر ها نیست و خیلی راحت توسط دو خط زیر می توانیم پالس pwm را به پایه دلخواه خود اعمال کنیم . همان طور که می بینید این دستور ها در آردوینو UNO با آردوینو DUE هیچ فرقی ندارد .
pinMode(2, OUTPUT) analogWrite(pin, value)
ما باید از بین ۱۲ پین موجود برای pwm در آردوینو DUE یک پین را برای اعمال پالس به LED انتخاب کنیم . در خط اولی از دو خط بالا ما پین ۲ را به عنوان خروجی تعریف کرده ایم زیرا پالس pwm را با پین ۲ به مدار می دهیم . سپس با دستور خط دوم ، مقدار pwm را که می خواهیم به پین مورد نظر بدهیم مشخص می کنیم . به جای pin شماره پین مورد نظر خود را قرار می دهید که پین مورد نظر ما ۲ است و به جای value مقدار pwm را که میخواهید به آن پایه اعمال شود را قرار می دهید . اگر به جای value عدد ۰ را قرار دهید همیشه خاموش خواهد بود و اگر ۲۵۵ قرار دهید همیشه روشن خواهد بود . توسط دو میکروسوئیچی که به آردوینو وصل کرده ایم می توانیم مقدار pwm را کم یا زیاد کنیم .
فایل های برنامه pwm با آردوینو DUE را از لینک زیر دانلود کنید .
دانلود فایل
دیدگاهها (0)