جدول المحتويات:

تحكم DIY PWM لمراوح الكمبيوتر الشخصي: 12 خطوة
تحكم DIY PWM لمراوح الكمبيوتر الشخصي: 12 خطوة

فيديو: تحكم DIY PWM لمراوح الكمبيوتر الشخصي: 12 خطوة

فيديو: تحكم DIY PWM لمراوح الكمبيوتر الشخصي: 12 خطوة
فيديو: How to control a PC fan outside a computer. 2024, يوليو
Anonim
تحكم DIY PWM لمحبي الكمبيوتر الشخصي
تحكم DIY PWM لمحبي الكمبيوتر الشخصي

يصف هذا Instructable بناء وحدة تحكم PWM بمروحة PC بكامل ميزاتها 12 فولت. يمكن أن يتحكم التصميم في ما يصل إلى 16 مروحة كمبيوتر ثلاثية الأطراف. يستخدم التصميم زوجًا من الدوائر المتكاملة ذات الإشارات المختلطة القابلة للتهيئة Dialog GreenPAK ™ للتحكم في دورة عمل كل مروحة. كما يتضمن طريقتين لتغيير سرعة المروحة:

أ. مع تربيع / مشفر دوار

ب. مع تطبيق Windows مدمج في C # يتصل بـ GreenPAK عبر I2C.

فيما يلي وصفنا الخطوات اللازمة لفهم كيفية برمجة شريحة GreenPAK لإنشاء تحكم PWM لمحبي أجهزة الكمبيوتر. ومع ذلك ، إذا كنت ترغب فقط في الحصول على نتيجة البرمجة ، فقم بتنزيل برنامج GreenPAK لعرض ملف تصميم GreenPAK المكتمل بالفعل. قم بتوصيل GreenPAK Development Kit بجهاز الكمبيوتر الخاص بك واضغط على البرنامج لإنشاء IC مخصص للتحكم في PWM لمحبي الكمبيوتر.

الخطوة 1: مخطط كتلة النظام

مخطط كتلة النظام
مخطط كتلة النظام

الخطوة 2: تصميم وحدة فك الشفرة الدوارة SLG46108

SLG46108 تصميم وحدة فك الشفرة الدوارة
SLG46108 تصميم وحدة فك الشفرة الدوارة
SLG46108 تصميم وحدة فك الشفرة الدوارة
SLG46108 تصميم وحدة فك الشفرة الدوارة
SLG46108 تصميم وحدة فك الشفرة الدوارة
SLG46108 تصميم وحدة فك الشفرة الدوارة

يتم استخدام المشفر الدوار لزيادة أو تقليل دورة عمل المراوح يدويًا. يقوم هذا الجهاز بإخراج نبضات على مخرجات القناة A والقناة B التي تفصل بينهما 90 درجة. راجع AN-1101: وحدة فك الشفرة التربيعية غير المؤمنة لمزيد من المعلومات حول كيفية عمل المشفر الدوار.

يمكن إنشاء وحدة فك ترميز دوارة على مدار الساعة باستخدام Dialog GreenPAK SLG46108 لمعالجة إشارات القناة A والقناة B وإخراجها على شكل نبضات في اتجاه عقارب الساعة (CCW) وفي اتجاه عقارب الساعة (CW).

عندما تقود القناة A القناة B ، يخرج التصميم نبضة قصيرة على CW. عندما تقود القناة B القناة A ، فإنها تنتج نبضة قصيرة على CCW

تقوم ثلاثة DFFs بمزامنة إدخال القناة A مع الساعة. وبالمثل ، فإن تأخير الأنبوب مع ضبط OUT0 على اثنين من DFFs و OUT1 المعين على ثلاثة DFFs يخلق نفس الوظيفة للقناة B.

لإنشاء مخرجات CW و CCW ، استخدم عددًا قليلاً من جداول البحث ، لمزيد من المعلومات حول تصميم وحدة فك الشفرة الدوارة القياسية ، قم بزيارة هذا الموقع.

سوف يستقبل مفكك الشفرة الدوارة 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 مللي ثانية ، ثم يتم استخدامه لتبديل المزلاج الذي يحدد ما إذا كانت هذه الشريحة المعينة محددة أم لا. إذا تم تحديده ، فسيقوم جدول البحث ذي 4 بت بتمرير إشارات تخطي الساعة أو الحقن. إذا لم يتم تحديد الشريحة ، فسيقوم جدول البحث ذو 4 بت بتمرير إشارة CLK / 8.

الخطوة 7: منع انقلاب دورة التشغيل

منع تدوير دورة التشغيل
منع تدوير دورة التشغيل
منع تدوير دورة التشغيل
منع تدوير دورة التشغيل
منع تدوير دورة التشغيل
منع تدوير دورة التشغيل

يتم استخدام مزلاج RS 3 بت LUT5 و 3 بت LUT3 للتأكد من أنه لا يمكنك حقن أو تخطي العديد من الساعات بحيث تتدحرج عدادات الإزاحة. هذا لتجنب وصول النظام إلى دورة عمل بنسبة 100٪ ثم الانتقال إلى دورة عمل بنسبة 1٪ إذا تلقى ساعة محقونة أخرى.

تمنع مزاليج RS حدوث ذلك عن طريق إغلاق المدخلات في الكتل متعددة الوظائف عندما يكون النظام على بعد دورة ساعة واحدة من التدحرج. يؤخر زوج من DFFs إشارات PWM_SET و PWM_nRST بفترة ساعة واحدة كما هو موضح في الشكل 11.

يتم استخدام زوج من جداول البحث المحلية لإنشاء المنطق الضروري. إذا كانت دورة العمل منخفضة جدًا بحيث تحدث إشارة PWM_SET المتأخرة في نفس الوقت الذي تحدث فيه إشارة PWM_nRST ، فإن المزيد من الانخفاض في دورة العمل سيؤدي إلى حدوث انقلاب.

وبالمثل ، في حالة الاقتراب من دورة العمل القصوى ، بحيث تحدث إشارة PWM_nRST المتأخرة في نفس الوقت مع إشارة PWM_SET ، فمن الضروري تجنب أي زيادة أخرى في دورة العمل. في هذه الحالة ، قم بتأخير إشارة nRST بدورتين على مدار الساعة للتأكد من أن النظام لا يتدحرج من 99٪ إلى 1٪.

الخطوة 8: التحكم في دورة العمل مع I2C

التحكم في دورة العمل مع I2C
التحكم في دورة العمل مع I2C
التحكم في دورة العمل مع I2C
التحكم في دورة العمل مع I2C
التحكم في دورة العمل مع I2C
التحكم في دورة العمل مع I2C

يتضمن هذا التصميم طريقة أخرى للتحكم في دورة العمل بخلاف تخطي الساعة / حقن الساعة. يمكن استخدام متحكم خارجي لكتابة أوامر I2C إلى GreenPAK لضبط دورة العمل.

يتطلب التحكم في دورة العمل عبر I2C من وحدة التحكم تنفيذ تسلسل أوامر محدد. يتم عرض هذه الأوامر بالترتيب في الجدول 1. يشير الحرف "x" إلى البت الذي لا يجب تغييره ، و "[" يشير إلى بت START ، و "]" يشير إلى بت STOP

تولد كتلة PDLY نبضة عالية نشطة قصيرة على الحافة السفلية لإشارة CLK / 8 ، والتي تسمى! CLK / 8. تُستخدم هذه الإشارة لتسجيل DFF14 بتردد ثابت. عندما ترتفع I2C_SET بشكل غير متزامن ، فإن الحافة الصاعدة التالية من! CLK / 8 تتسبب في إخراج DFF14 إلى HIGH ، مما يؤدي إلى تشغيل CNT5 OneShot. يتم تشغيل OneShot لعدد دورات الساعة التي كتبها المستخدم كما هو محدد في أمر I2C "الكتابة إلى CNT5" في الجدول 1. وفي هذه الحالة ، تكون 10 دورات على مدار الساعة. يسمح OneShot لمذبذب 25 ميجاهرتز بالعمل لمدة محددة تمامًا وليس بعد ذلك ، بحيث يتلقى LUT0 3 بت عدد دورات الساعة التي تمت كتابتها على CNT5.

يوضح الشكل 15 هذه الإشارات ، حيث الساعات الحمراء هي تلك التي يتم إرسالها إلى LUT0 3 بت ، والتي تمررها إلى CNT6 (عداد PWM_SET) ، وبالتالي إنشاء الإزاحة لتوليد دورة العمل.

الخطوة 9: قراءة مقياس سرعة الدوران

قراءة مقياس سرعة الدوران
قراءة مقياس سرعة الدوران
قراءة مقياس سرعة الدوران
قراءة مقياس سرعة الدوران

إذا رغبت في ذلك ، يمكن للمستخدم قراءة قيمة مقياس سرعة الدوران فوق I2C لتتبع مدى سرعة دوران المروحة من خلال قراءة قيمة CNT2. يتم زيادة CNT2 في كل مرة يكون فيها ACMP0H حافة صاعدة ، ويمكن إعادة ضبطه بشكل غير متزامن باستخدام أمر I2C. لاحظ أن هذه ميزة اختيارية ، وسيتعين تعديل عتبة ACMP0H وفقًا لمواصفات المروحة المعينة المستخدمة.

الخطوة 10: تصميم الدوائر الخارجية

تصميم الدوائر الخارجية
تصميم الدوائر الخارجية

الدائرة الخارجية بسيطة إلى حد ما. يوجد زر ضغط متصل بـ Pin6 من GreenPAK للتبديل بين تحديد هذا الجهاز المعين للتحكم الدوار ، ومصباح LED متصل بـ Pin12 و Pin13 للإشارة إلى وقت تحديد الجهاز.

نظرًا لأن المروحة تعمل بجهد 12 فولت ، يلزم وجود زوج من FETs للتحكم في التبديل. Pin18 و Pin19 في GreenPAK يقودان nFET. عندما يتم تشغيل nFET ، فإنه يسحب بوابة pFET LOW ، التي تربط المروحة بـ +12 V. عند إيقاف تشغيل nFET ، يتم سحب بوابة PFET بواسطة المقاوم 1 kΩ ، والذي يفصل المروحة من +12 V.

الخطوة 11: تصميم ثنائي الفينيل متعدد الكلور

تصميم ثنائي الفينيل متعدد الكلور
تصميم ثنائي الفينيل متعدد الكلور

لنموذج أولي للتصميم ، تم تجميع اثنين من ثنائي الفينيل متعدد الكلور. لوحة PCB الموجودة على اليسار هي "وحدة التحكم في المروحة" ، والتي تضم المشفر الدوار ، ومقبس 12 فولت ، و SLG46108 GreenPAK ، وموصلات للوحة الاختراق FT232H USB إلى I2C. ثنائي الفينيل متعدد الكلور على اليمين هما "لوحات المروحة" ، والتي تحتوي على SLG46826 GreenPAKs ، وأزرار الضغط ، والمفاتيح ، ومصابيح LED ، ورؤوس المروحة.

تحتوي كل لوحة مروحة على رأس ذكر مغطى على الجانب الأيسر ورأس أنثى على الجانب الأيمن بحيث يمكن ربطهما معًا. يمكن ملء كل لوحة مروحة بموارد للتحكم في مروحتين بشكل مستقل.

الخطوة 12: تطبيق C #

تطبيق C #
تطبيق C #

تمت كتابة تطبيق C # للتفاعل مع لوحات المروحة من خلال جسر FT232H USB-I2C. يمكن استخدام هذا التطبيق لضبط تردد كل مروحة بأوامر I2C التي تم إنشاؤها بواسطة التطبيق.

يقوم التطبيق باختبار اتصال جميع عناوين I2C الستة عشر مرة واحدة في الثانية ويملأ واجهة المستخدم الرسومية بالعناوين التابعة الموجودة. في هذا المثال ، المروحة 1 (العنوان التابع 0001) والمروحة 3 (العنوان التابع 0011) متصلة باللوحة. يمكن إجراء تعديلات على دورة العمل لكل مروحة على حدة عن طريق تحريك شريط التمرير أو عن طريق كتابة قيمة من 0-256 في مربع النص أسفل شريط التمرير.

الاستنتاجات

باستخدام هذا التصميم ، من الممكن التحكم بشكل مستقل في ما يصل إلى 16 مروحة (نظرًا لوجود 16 عنوان تابع محتمل لـ I2C) إما باستخدام مشفر دوار أو باستخدام تطبيق C #. لقد تم توضيح كيفية إنشاء إشارة PWM مع زوج من عدادات الإزاحة ، وكيفية زيادة وتقليل دورة العمل لتلك الإشارة بدون انقلاب.

موصى به: