سلام به همه مایکروالکامی ها. PWM یا مدولاسیون عرض پالس یک نوع تغییر پالس هست. وقتی صحبت از کنترل دور موتور، کنترل میزان روشنایی، راه اندازی LED های RGB اینجور موارد میشه پای PWM میاد وسط. برای تولید PWM میتونیم با استفاده از میکروکنترلر اینکار رو انجام بدیم یا اینکه مستقیم از آی سی تایمر 555 در مد کاری A-Stable استفاده کنیم. در این مطلب نحوه طراحی مدار بهمراه تحلیل دقیق و عملکرد آن خواهیم پرداخت. پس با من تا انتهای مطلب همراه باشید. همچنین شما میتونید سایر مطلب من رو از این قسمت مطالعه کنید.
PWM چیست؟
PWM مخفف Pulse Width Modulation به معنی مدولاسیون پهنای باند میباشد. همانطور که از این عبارت مشخص هست در واقع با استفاده از تکنیک هایی پهنای پالس تولیدی را کنترل میکنیم. با استفاده از کنترل پهنای پالس یا مدت زمان فعال بودن یا مدت زمان غیر فعال بودن پالس میتونیم به پارامتری تحت عنوان دیوتی سایکل دست یابیم. با استفاده از دیوتی سایکل های مختلف و کنترل آن براحتی میتونیم سرعت و دور موتور، میزان روشنایی LED و این دسته موارد رو کنترل کنیم. در تصویر زیر یک موج تولید شده PWM با دیوتی سایکل های مختلف را مشاهده میکنید.
دیوتی سایکل
دیوتی سایکل (Duty Cycle) یا ضریب وظیفه این امکان را میدهد که مشخص کنیم در هر سیکل زمان چه میزان از پالس تولید شده ما فعال یا 1 باشد و چه میزان آن غیر فعال یا 0 باشد. در حقیقت دیوتی سایکل رابطه مستقیمی با مقدار ولتاژ ایجاد شده خروجی نسبت دارد. هر چه دیوتی سایکل بیشتر باشد، میزان HIGH بودن یا 1 بودن پالس بیشتر و در نتیجه ولتاژ خروحی و اعمال شده به بار هم بیشتر خواهد. عکس این قضیه نیز صدق میکندو قابل اثبات خواهد بود. همانطور که در تصویر زیر مشخص است، با تغییر دیوتی سایکل، مقدار متوسط ولتاژ ایجاد شده نیز تغییر پیدا خواهد کرد.
محاسبه دیوتی سایکل، زمان HIGH و LOW بودن پالس
قبل از محاسبات نیاز هست پارامتر های زیر را تعریف کنیم.
- یک پالس PWM دارای پارامتر های Toff ،Ton، دوره تناوب، ولتاژ، فرکانس و دیوتی سایکل میباشد.
- Ton: همان میزان HIGH بودن پالس
- Toff: همان میزان LOW بودن پالس
- T: دوره تناوب یا زمان کل یک سیکل کامل (Ton + Toff)
- F: فرکانس همان حاصل تقسیم 1 بر T
- DC: ضریب وظیفه یا دیوتی سایکل
در تصویر زیر پارامتر های مورد نیاز را مشاهده میکنید. زمان یک سیکل کامل یا مقدار T از مجموع زمان های یک و صفر بودن پالس بدست خواهد امد. مقدار دیوتی سایکل نیز از حاصل تقسیم “میزان HIGH بودن” بر “مقدار T” محاسبه خواهد شد. این پارامتر بر حسب درصد بیان میشود.
با داشتن مقدار دیوتی سایکل، میزان ولتاژ خروجی براحتی قابل محاسبه است. برای محاسبه ولتاژ از فرمول زیر استفاده میشود. Vmax همان مقدار Vcc در شکل بالا میباشد.
Vout = Vmax x Duty Cycle
فرض کنید در تصویر بالا مقدار Vcc برابر 12 ولت و دیوتی سایکل برابر %25 باشد. ابتدا مقدار DC (دیوتی سایکل) را تقسیم بر 100 کرده که و مقدار ولتاژ بدست آمده طبق محاسبات زیر بدست خواهد آمد.
Vout = Vmax x Duty Cycle —> Vout = 12 x 0.25 —> Vout = 3V
طبق فرمول بالا، هرچه میزان DC بیشتر باشد درنتیجه مقدار ولتاژ خروجی نیز بیشتر خواهد بود.
آی سی 555
این آی سی یکی از معروف ترین و پرکاربردترین ها در طراحی مدارت الکترونیکی برای تولید پالس و ایجاد نوسان میباشد. 555 دارای 8 پایه میباشد که در تصویز زیر بلوک دیاگرام این تراشه و نام پایه های آن را مشاهده میکنید. داخل این تراشه 2 آپ امپ در مد مقایسه کننده، یک فلیپ فلاپ نوع RS، یک بافر نات برای تقویت جریان پایه خروجی و یک ترانزیستور NPN وجود دارد. با استفاده از 3 مقاومت با مقادیر برابر داخلی این تراشه برروی هر مقاومت VCC/3 افت میکند. با این تفاسیر ولتاژ پایه منفی آپ امپ 2 برابر VCC/3 و ولتاژ پایه مثبت آپ امپ 1 برابر VCC/3 خواهد بود.
مدار ساخت PWM با استفاده از آی سی 555 در مد Satable
با استفاده از مدار زیر میتوانیم یک موج PWM بسازیم. روند کار به این شکل است که خازن C1 از مسیر R2 ،R1 و C1 با ثابت زمانی T به میزان Vcc شارژ میشود.
تحلیل مدار
روند کار به این شکل است که خازن C1 از مسیر R2،R1 و C1 با ثابت زمانی T به میزان Vcc شارژ میشود.
وضعیت 1 (شارژ شدن خازن C1)
در این حالت ولتاژ پایه 2 و 6 برابر با ولتاژ خازن که به اندازه Vcc شارژ شده است خواهد شد. در نتیجه باعث میشود ولتاژ ورودی مثبت آپ امپ که برابر VCC است بیشتر از ورودی منفی آن است خواهد شد. در نتیجه خروجی آپ امپ برابر 1 شده و وردی R فلیپ فلاپ نیز 1 خواهد شد. همین تحلیل برای آپ امپ پایین نیز صدق میکند. یعنی ولتاژ پایه ورودی آپ امپ بیشتر از ورودی مثب آن که برابر Vcc/3 اس خواهد شد و خروجی آپ امپ برابر صفر شده و وردی S فلیپ فلاپ نیز 0 خواهد شد. طبق جدول صحت فلیپ فلاپ RS با داشتن R=1 و S=0 مقدار Q=0 شده و Q نات برابر 1 خواهد شد. با 1 شدن Q نات، وضعیت پایه خروجی آیسی برابر صفر خوئاهد شد.
چون یک بافر نات سر راه Q نات به پایه خروجی قرار داد. پایه Q نات به پایه بیس یکم ترانزیستور NPN وصل است. با یک شدن این پایه ترانزیتسور فعال شده و باعث میشود پایه شماره 7 یا DisCharge از داخل به GND وصل شود. در این وضعیت حال دشارژ خازن رخ خواهد داد.
در تصویر زیر مسیر های شارژ و دشارژ خازن را مشاهده مینمایید.
وضعیت 2 (دشارژ شدن خازن C1)
در این حالت خازن از مسیر C1 و R2 با ثابت زمانی T شروع به دشارژ میکند. در این حالت ولتاژ خازن نزدیک صفر خواهد شد. در نتیجه ولتاژ پایه های 6 و 2 که به ترتیب همان پایه های ورودی آپ امپ 1 و ورودی منفی آپ امپ 2 هستند برابر صفر خواهند شد. از آنجا که ورودی منفی آپ امپ 1 برابر با VCC/3 هست پس این ولتاژ از ورودی مثبت آن که 0 هست بیشتر است و در نتیجه خروجی آپ امپ اول برابر صفر خواهد شد.
در اپ امپ 2 چون ولتاژ پایه مثبت برابر VCC/3 است و ولتاژ ورودی منفی برابر صفر هست خروجی آپ امپ 2 نیز برابر 1 خواهد شد. در این حالت طبق جدول صحت فلیپ فلاپ خروجی آن (Q نات) برابر 0 میشود. در این حالت با عبور مقدار Q نات از بافر نات موجود، خروجی ای سی برابر 1 خواهد شد. با صفر شدن Q نات فلیپ فلاپ تزانزیستور Q1 خاموش شده و مجددا وارد وضعیت شارژ خواهد شد. این سیکل دائما در حال تکرار میباشد. با طی شدن این سیکل، موج PWM تولید خواهد شد.
وضعیت 2 (ترکیب شارژ و دشارژ شدن خازن C1)
با ترکیب وضعیت های 1 و 2 و تکرار این حالت خروجی PWM ساخته خواهد شد. در شکل زیر این حالت را مشاهده میکنید.
محاسبه پارامتر ها
- TH: مدت زمان HIGH بودن پالس
- TL: مدت زمان LOW بودن پالس
TH= 0.693.(R1+R2).C1
TL= 0.693.(R2).C1
T = TH + TL
F = 1/T
Duty Cycle = TH/T
خب دیگه حالا با داشتن این فرمول ها به راحتی میتونینم به دیوتی سایکل مورد نظر خودمون برسیم. همچنین برای تغییر دیوتی سایکل میتونیم یک مقاومت متغیر بهمراه 2 عدد دیود بجای R2 قرار دهیم. از مدار زیر با اضافه کردن یک بخش درایور مثلا استفاده از ماسفت، میتونیم برای تغییر سرعت موتور یا مثلا تغییر میزان روشنایی LED استفاده کنیم.
برای اینکار میتونید از مدار زیر استفاده کنید. برای دیود ها از 1N4007، برای خازن C1 از 100nF و برای مقاومت ها R1 و R2 مقدار 1KΩ در این مدار استفاده شده است. همچنین بجای تزانزیستور TIP122 از سایر ترانزیستور ها متناسب با نوع بار و مقدار ولتاژ و جریان مورد نیاز خود استفاده نمایید. در مدار زیر C1 از مسیر R1 ،D1 و مقاومت سمت چپ R شارژ شده و از مسیر C1، مقاومت طرف راست R، دیود D2 و نهایتا ترانزیستور داخلی آی سی دشارژ خواهد شد.
در این مدار پارامتر های TH و TL بصورت زیر محاسبه میشوند. از این لینک هم میتونید مقادیر مقاومت و خازن مورد نیاز را بصورت آنلاین محاسبه کنید و در مدار خودتون استفاد کنید.
TH= 0.693.(R1+RLeft).C1
TL= 0.693.(RRight).C1
T = TH + TL
نتیجه گیری
در این مطلب مدولاسیون پهنای باند یا PWM و اجزای آن و پاراکتر های مهم آن مورد بررسی قرار گرفت. همچنین مدار داخلی و نحوه عملکرد آی سی 555 در مد کاری آساتابل بصورت کامل بررسی و تحلیل شد. با استفاده از مدار پیشنهاد شده میتوانید با در نظر گرفتن تمهیدات لازم دور موتور DC، میزان نور LED و… را متناسب با نیاز خود کنترل نمایید.
امیدوارم از این آموزش کمال بهره را برده باشید. در صورتی که هرگونه نظر یا سوال داشتید درباره این آموزش لطفا اون رو در انتهای همین صفحه در قسمت دیدگاه ها قرار بدید. در کوتاه ترین زمان ممکن به اون ها پاسخ خواهم داد. اگر این مطلب براتون مفید بود، اون رو حتما به اشتراک بگذارید. همینطور میتونید این آموزش را پس از اجرای عملی توی اینستاگرام با هشتگ microelecom# به اشتراک بگذارید و پیج مایکروالکام (microelecom@) رو هم منشن کنید.
سلام،اونجاهایی که نوشتی vcc/2 رو به vcc/3 اصلاح کنید.
باتشکر از حسن دقت شما، اصلاح شد.
درود بر شما
عالی بود ، از تصاویر و انیمیشن متن برای تدریس استفاده کردم، ممنون
دیوتی سایکل به آنچه نوشته شده نا مفهوم است، دیوتی یعنی وظیفه و سایکل هم میشود دوره، و در نهایت میشود دوره وظیفه که باز هم معنی کاملی نیست. آنچه من در کلاس تدریس میکنم ، بازه تاثیر است ، یعنی زمانی که پالس با میزان عرضی که دارد اثرش را بر خروجی ظاهر میکند. هرچند ترجمه صحیحی نیست اما مفهوم میباشد.
سپاس از سایت خوبتان .
سلام ارادت، باعث خوشحالی هست. بفرمایید کجا تدرس کردید که باعث خرسندی بیشتر بشه.
گاهی ترجمه عبارات تخصصی و فنی، حق مطلب رو ادا نمیکنه و فقط مفهوم اون را میشه تفهیم کرد که دیوتی سایکل هم از همون ها هست. ولی ترجمه و بیان فارسی شما هم خیلی خوب بود و گویای مطلب بود.
سلام خیلی آموزش عالی بود .
من میخواهم مداری درست کنم که هر ۱۵دقیقه یکبار یک پالس ایجاد کند ممنون میشم راهنماییم کنید یا اگر بشود طوری محاسبه کرد که خروجی یک ساعت خاموش باشد و پانزده دقیقه روشن باشد
سلام، باید پارامتر هایی که در تغییر زمان پالس ایجادی دخیل هستند را تغییر بدید. میتونید از بخش تیکت از طریق لینک زیر ادامه صحبت بدید.
https://blog.microele.com/submit-ticket/
محدوده دیوتی سایکل آیا از صفر درصد تا صد درصد قابل کنترله؟
سلام، با انتخاب مقادیر مقاومت ها و خازن دخیل در دیوتی سایکل میتونیم به این هدف برسیم.
سلام. خیلی ممنون از مطلب مفیدتون. فقط شکل “مدار ساخت PWM با آی سی ۵۵۵” سفید هست و جز لوگوی سایت چیز دیگری در شکل دیده نمی شود.
سلام، ممنون از دقت نظرتون. مشکل رفع شد. تشکر.
عالی
نظر لطفتون هست
بسیار مطلب مفید بود
کل سوالاتی که راجع به آی سی ۵۵۵ داشتم را جواب داد
خداوند در علم تان برکت دهد
اگر راجع به مد های عملیاتی تریستور و ترایاک هم این چنین معلومات بدین بد نیست
تشکر
سلام، خواهش میکنم لطف دارید شما. از اینکه مطلب مفید واقع شده خیلی خوشحال ام.
چشم حتما اگر مطالعه ای در این مورد انجام دادم و تجربه ای کسب کردم روی وبلاگ منتشر خواهم کرد.
لطفا برنامه نویسی زبان c را برای avr بزبان ساده در آموزش ها قرار دهید متشکرم
سلام و درود،
ممنونم از حسن توجه شما. چشم حتما در مطالب آینده این مورد لحاظ خواهد شد.
اگر درخواست های دیگه و راهنمایی های دیگه هم داشتید میتونید از بخش “تیکت” ارجاع بدید خوشحال میشیم بتونیم کمکی کنیم.
متشکرم از آموزش مفید و روان بزبان ساده و آموزنده بود من برای شما آرزوی توفیق روزافزون دارم افسری
سلام، خواهش میکنم. خوشحالم که مفید واقع شده براتون