فهرست مطالب:

کنترل DIY PWM برای طرفداران رایانه: 12 مرحله
کنترل DIY PWM برای طرفداران رایانه: 12 مرحله

تصویری: کنترل DIY PWM برای طرفداران رایانه: 12 مرحله

تصویری: کنترل DIY PWM برای طرفداران رایانه: 12 مرحله
تصویری: Using BTS7960 BTN8982TA PWM H Bridge motor controller module with Arduino library 2024, جولای
Anonim
DIY PWM Control برای طرفداران کامپیوتر
DIY PWM Control برای طرفداران کامپیوتر

این دستورالعمل ساختن یک کنترلر PWM با فن 12 ولت PC کاملاً برجسته را توصیف می کند. این طرح می تواند حداکثر 16 فن کامپیوتر 3 پین را کنترل کند. در طراحی از یک جفت سی سی سیگنال ترکیبی با قابلیت تنظیم Dialog GreenPAK برای کنترل چرخه وظیفه هر فن استفاده می شود. همچنین شامل دو روش برای تغییر سرعت فن است:

آ. با رمزگذار چهارگوش/چرخشی

ب با یک برنامه Windows ساخته شده در C# که از طریق I2C با GreenPAK ارتباط برقرار می کند.

در زیر مراحل مورد نیاز برای درک نحوه برنامه ریزی تراشه GreenPAK برای ایجاد کنترل PWM برای طرفداران رایانه را شرح دادیم. با این حال ، اگر فقط می خواهید نتیجه برنامه نویسی را دریافت کنید ، نرم افزار GreenPAK را بارگیری کنید تا فایل طراحی GreenPAK را که قبلاً تکمیل شده است مشاهده کنید. کیت توسعه GreenPAK را به رایانه خود وصل کرده و برنامه را فشار دهید تا IC سفارشی برای کنترل PWM برای طرفداران رایانه ایجاد شود.

مرحله 1: نمودار بلوک سیستم

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

مرحله 2: طراحی رمزگشای روتاری SLG46108

طراحی رسیور SLG46108
طراحی رسیور SLG46108
طراحی رسیور SLG46108
طراحی رسیور SLG46108
طراحی رسیور SLG46108
طراحی رسیور SLG46108

از یک رمزگذار دوار برای افزایش یا کاهش چرخه کار فن ها به صورت دستی استفاده می شود. این دستگاه پالس هایی را در خروجی های کانال A و B خود که 90 درجه از یکدیگر فاصله دارند ، خروجی می دهد. برای اطلاعات بیشتر در مورد نحوه عملکرد رمزگذار دوار ، AN-1101: Unclocked Quadrature Decoder را ببینید.

یک رمزگشای دوار ساعت دار می تواند با استفاده از Dialog GreenPAK SLG46108 برای پردازش سیگنال های کانال A و کانال B و خروجی آنها به صورت پالس خلاف جهت عقربه های ساعت (CCW) و جهت عقربه های ساعت (CW) ایجاد شود.

وقتی کانال A منجر به کانال B می شود ، طراحی یک پالس کوتاه روی CW می دهد. وقتی کانال B کانال A را هدایت می کند ، یک پالس کوتاه روی CCW خروجی می دهد

سه DFF ورودی کانال A را با ساعت همزمان می کند. به طور مشابه ، تأخیر لوله با OUT0 روی دو DFF و OUT1 روی سه DFF تنظیم کننده عملکرد یکسان برای کانال B است.

برای ایجاد خروجی های CW و CCW از چند LUT استفاده کنید ، برای کسب اطلاعات بیشتر در مورد این استاندارد رمزگشایی دوار ، از این وب سایت دیدن کنید.

رمزگشای روتاری GreenPAK پالس های ورودی A و B را دریافت کرده و پالس های CW و CCW را مطابق شکل 4 نشان می دهد.

مدار بعد از دروازه های XOR این اطمینان را می دهد که هرگز پالس CW و پالس CCW به طور همزمان وجود نخواهد داشت و امکان هرگونه خطا در رمزگذار چرخشی را فراهم می کند. تاخیر 8 میلی ثانیه در سیگنال های CW و CCW آنها را مجبور می کند تا 8 میلی ثانیه به علاوه یک چرخه ساعت ، که برای SLG46826 GreenPAKs پایین دست ضروری است ، بالا بمانند.

مرحله 3: طراحی کنترل کننده فن SLG46826

SLG46826 طراحی کنترل کننده فن
SLG46826 طراحی کنترل کننده فن

مرحله 4: تولید PWM با شمارنده های افست

تولید PWM با شمارنده های افست
تولید PWM با شمارنده های افست
تولید PWM با شمارنده های افست
تولید PWM با شمارنده های افست

برای تولید سیگنال PWM از یک جفت شمارنده افست با دوره مشابه استفاده می شود. شمارنده اول DFF را تنظیم می کند و دومی آن را بازنشانی می کند و یک سیگنال PWM چرخه ثابت ایجاد می کند ، همانطور که در شکل 6 و شکل 7 نشان داده شده است.

CNT6 DFF10 را تنظیم می کند و خروجی معکوس CNT1 DFF10 را بازنشانی می کند. پایه های 18 و 19 برای خروج سیگنال PWM به مدارهای خارجی استفاده می شود

مرحله 5: کنترل چرخه وظیفه با تزریق ساعت و پرش از ساعت

کنترل چرخه وظیفه با تزریق ساعت و پرش از ساعت
کنترل چرخه وظیفه با تزریق ساعت و پرش از ساعت
کنترل چرخه وظیفه با تزریق ساعت و پرش از ساعت
کنترل چرخه وظیفه با تزریق ساعت و پرش از ساعت

کنترل کننده فن سیگنال های CW و CCW را به عنوان ورودی از رمزگشای دوار دریافت می کند و از آنها برای افزایش یا کاهش سیگنال PWM که سرعت فن را کنترل می کند استفاده می کند. این امر با چندین جزء منطقی دیجیتال به دست می آید.

وقتی یک پالس CW دریافت می شود ، چرخه وظیفه باید افزایش یابد. این کار با تزریق یک پالس ساعت اضافی به بلوک CNT6 انجام می شود و باعث می شود که یک چرخه ساعت زودتر از آنچه در غیر این صورت انجام می شود ، خروجی داشته باشد. این فرایند در شکل 8 نشان داده شده است.

CNT1 هنوز با سرعت ثابت کار می کند ، اما CNT6 چند ساعت اضافی تزریق کرده است. هربار که یک ساعت اضافی به شمارنده وارد می شود ، خروجی خود را یک دوره ساعت به سمت چپ تغییر می دهد.

برعکس ، برای کاهش چرخه کار ، یک پالس ساعت را برای CNT6 رد کنید ، همانطور که در شکل 9 نشان داده شده است. CNT1 هنوز با سرعت ثابت کار می کند ، و برای CNT6 پالس های ساعت نادیده گرفته می شود ، جایی که شمارنده در زمان تصور زمان بندی نشده است. به. به این ترتیب خروجی CNT6 در یک زمان به طور همزمان به سمت راست رانده می شود و چرخه وظیفه PWM خروجی کوتاه می شود.

قابلیت تزریق ساعت و پرش ساعت با استفاده از برخی عناصر منطقی دیجیتال در GreenPAK انجام می شود. یک جفت بلوک چند منظوره برای ایجاد یک جفت ترکیبی آشکارساز لبه/لبه استفاده می شود. LUT0 4 بیتی برای مخلوط کردن بین سیگنال کلاک ساعت (CLK/8) و سیگنال های تزریق ساعت یا پرش ساعت استفاده می شود. این قابلیت در مرحله 7 با جزئیات بیشتری توضیح داده شده است.

مرحله 6: دکمه ورودی

دکمه ورودی
دکمه ورودی

ورودی BUTTON برای 20 میلی ثانیه حذف می شود ، سپس برای تغییر ضامن که تعیین می کند این تراشه خاص انتخاب شده است یا خیر ، استفاده می شود. اگر انتخاب شده باشد ، LUT 4 بیتی سیگنال های پرش ساعت یا تزریق را عبور می دهد. اگر تراشه انتخاب نشده باشد ، LUT 4 بیتی به سادگی سیگنال CLK/8 را ارسال می کند.

مرحله 7: جلوگیری از دور زدن چرخه وظیفه

جلوگیری از واژگونی چرخه وظیفه
جلوگیری از واژگونی چرخه وظیفه
جلوگیری از واژگونی چرخه وظیفه
جلوگیری از واژگونی چرخه وظیفه
جلوگیری از واژگونی چرخه وظیفه
جلوگیری از واژگونی چرخه وظیفه

قفل های RS 3 بیتی LUT5 و 3 بیتی LUT3 برای اطمینان از این که نمی توانید ساعت های زیادی تزریق یا رد کنید تا شمارنده های افست به هم بچرخند ، استفاده می شود. این امر به منظور جلوگیری از رسیدن سیستم به 100٪ چرخه وظیفه و سپس چرخاندن به چرخه وظیفه 1٪ در صورت دریافت یک ساعت تزریق شده دیگر است.

قفل های RS با بستن ورودی ها به بلوک های چند منظوره هنگامی که سیستم یک ساعت دورتر از چرخش فاصله دارد ، از وقوع این اتفاق جلوگیری می کند. همانطور که در شکل 11 نشان داده شده است ، یک جفت DFF سیگنال های PWM_SET و PWM_nRST را با یک دوره کلاک به تأخیر می اندازد.

یک جفت LUT برای ایجاد منطق لازم استفاده می شود. اگر چرخه وظیفه آنقدر پایین باشد که سیگنال تاخیری PWM_SET همزمان با سیگنال PWM_nRST رخ دهد ، کاهش بیشتر در چرخه وظیفه باعث واژگونی می شود.

به طور مشابه ، در صورت نزدیک شدن به حداکثر چرخه وظیفه ، به طوری که سیگنال تاخیری PWM_nRST همزمان با سیگنال PWM_SET رخ دهد ، لازم است از هرگونه افزایش بیشتر در چرخه وظیفه اجتناب شود. در این مورد ، سیگنال nRST را با دو چرخه ساعت به تأخیر بیندازید تا مطمئن شوید سیستم از 99 to به 1 roll نمی چرخد.

مرحله 8: کنترل چرخه وظیفه با I2C

کنترل چرخه وظیفه با I2C
کنترل چرخه وظیفه با I2C
کنترل چرخه وظیفه با I2C
کنترل چرخه وظیفه با I2C
کنترل چرخه وظیفه با I2C
کنترل چرخه وظیفه با I2C

این طرح راه دیگری برای کنترل چرخه وظیفه به غیر از پرش ساعت/تزریق ساعت را در بر می گیرد. می توان از یک میکروکنترلر خارجی برای نوشتن دستورات I2C به GreenPAK برای تنظیم چرخه وظیفه استفاده کرد.

کنترل چرخه وظیفه در I2C مستلزم آن است که کنترل کننده یک دنباله فرمان خاص را انجام دهد. این دستورات به ترتیب در جدول 1 نشان داده شده است. "x" بیتی را نشان می دهد که نباید تغییر کند ، "[" نشان دهنده بیت شروع و "]" نشان دهنده بیت توقف است

بلوک PDLY یک پالس بلند فعال فعال در لبه در حال سقوط سیگنال CLK/8 ایجاد می کند که به آن CLK/8 می گویند. این سیگنال برای تنظیم فرکانس ثابت DFF14 استفاده می شود. هنگامی که I2C_SET به صورت ناهمزمان بالا می رود ، لبه صعودی بعدی! CLK/8 باعث خروجی DFF14 از بالا می شود ، که باعث فعال شدن CNT5 OneShot می شود. OneShot برای تعداد چرخه های ساعت که کاربر طبق دستور "نوشتن به CNT5" I2C در جدول 1 مشخص کرده است اجرا می شود. در این حالت ، 10 چرخه ساعت است. OneShot به نوسانگر 25 مگاهرتز اجازه می دهد تا دقیقاً در مدت زمان خود کار کند و دیگر نه ، به طوری که LUT0 3 بیتی تعداد چرخه های ساعت را که روی CNT5 نوشته شده است دریافت می کند.

شکل 15 این سیگنال ها را نشان می دهد ، جایی که ساعت های قرمز آنهایی هستند که به LUT0 3 بیتی ارسال می شوند ، و آنها را به CNT6 (شمارنده PWM_SET) منتقل می کند ، در نتیجه جبران ایجاد چرخه وظیفه را ایجاد می کند.

مرحله نهم: خواندن سرعت سنج

اندازه گیری سرعت سنج
اندازه گیری سرعت سنج
سرعت سنج
سرعت سنج

در صورت تمایل ، کاربر می تواند مقدار سرعت سنج را بر روی I2C بخواند تا با خواندن مقدار CNT2 سرعت چرخش فن را ردیابی کند. CNT2 هر بار که ACMP0H دارای لبه صعودی است افزایش می یابد و می توان آن را به صورت ناهمزمان با فرمان I2C تنظیم مجدد کرد. توجه داشته باشید که این یک ویژگی اختیاری است و آستانه ACMP0H باید با توجه به مشخصات فن خاصی که استفاده می شود اصلاح شود.

مرحله 10: طراحی مدار خارجی

طراحی مدار خارجی
طراحی مدار خارجی

مدار خارجی نسبتاً ساده است. یک دکمه فشاری به Pin6 از GreenPAK متصل شده است تا بتواند تنظیم کند که آیا این دستگاه خاص برای کنترل چرخشی انتخاب شده است یا خیر ، و یک LED متصل به Pin12 و Pin13 برای نشان دادن زمان انتخاب دستگاه.

از آنجا که فن 12 ولت خاموش می شود ، یک جفت FET برای کنترل سوئیچینگ مورد نیاز است. Pin18 و Pin19 GreenPAK nFET را هدایت می کنند. هنگامی که nFET روشن است ، دروازه pFET LOW را می کشد ، که فن را به +12 ولت متصل می کند. هنگامی که nFET خاموش است ، دروازه PFET توسط مقاومت 1 کیلو اهم بالا کشیده می شود ، که فن را قطع می کند. از +12 ولت

مرحله 11: طراحی PCB

طراحی PCB
طراحی PCB

برای نمونه اولیه طراحی ، چند PCB مونتاژ شد. PCB سمت چپ "Fan Controller" است که رمزگذار دوار ، جک 12 ولت ، SLG46108 GreenPAK ، و اتصالات برد FT232H USB به برد شکستن I2C را در خود جای داده است. دو PCB در سمت راست "Fan Boards" هستند که شامل SLG46826 GreenPAK ، دکمه های فشار ، سوئیچ ها ، LED ها و هدرهای فن می باشد.

هر فن تخته دارای یک سربرگ مردانه در سمت چپ و یک سر زن در سمت راست است تا بتوان آنها را با هم زنجیر کرد. هر فن فن می تواند دارای منابع کافی برای کنترل مستقل دو فن باشد.

مرحله 12: برنامه C#

برنامه C#
برنامه C#

یک برنامه C# برای ارتباط با Fan Boards از طریق پل FT232H USB-I2C نوشته شده است. از این برنامه می توان برای تنظیم فرکانس هر فن با دستورات I2C که توسط برنامه ایجاد می شود استفاده کرد.

این برنامه هر 16 آدرس I2C را یک بار در ثانیه پینگ می کند و GUI را با آدرس های برده موجود پر می کند. در این مثال Fan 1 (آدرس برده 0001) و Fan 3 (آدرس برده 0011) متصل به برد. با جابجایی نوار لغزنده یا با تایپ یک مقدار از 0-256 در جعبه متن زیر نوار لغزنده ، می توانید تنظیمات مربوط به چرخه کار هر فن را انجام دهید.

نتیجه گیری

با استفاده از این طرح می توان حداکثر 16 فن (از آنجا که 16 آدرس برده I2C وجود دارد) را به صورت مستقل یا با رمزگذار چرخشی یا با برنامه C# کنترل کرد. نشان داده شده است که چگونه می توان یک سیگنال PWM را با یک جفت شمارنده افست تولید کرد و چگونه چرخه وظیفه آن سیگنال را بدون چرخش افزایش و کاهش داد.

توصیه شده: