التحكّم بمروحة لكسر سرعة معالج الراسبيري باي بشكل أفضل

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

 التجهيزات:

– مروحة 5V.
– حسّاس حرارة (DS18B20).
– ترانزستور (BC547).
في حال لم يكن لديك حسّاس حرارة ولا ترغب في قياس درجة الحرارة، يمكنك استخدام البرنامج النصيّ (The Script)
مع إجراء تعديل بسيط.
ملاحظة: يُقصد بالبرنامج النصيّ (The Script)، أي البرنامج الذي نكتب فيه الكود البرمجي.

التوصيل:

توصيل المروحة بالراسبيري باي
توصيل المروحة بالراسبيري باي

قيمة المقاومات المستخدمة (4.7k Ohms)، رجل الخَرْج للترانزستور هي الرجل 23 ويمكن استخدام أي رجل General-Purpose Input / Output) GPIO) متاح.
ملاحظة: يُوصل حسّاس الحرارة مع 3.3V بينما يُوصل المبرّد مع 5V.

 الكود البرمجيّ:

نقوم بتحميل الكود البرمجيّ من الموقع

wget https://tutorials-raspberrypi.de/wp-content/uploads/2014/04/cooler_skript.zip

من ثم نفكّ ضغط الملفّ

unzip cooler_skript.zip

تالياً نقوم بتعديل الكود

sudo nano cooler_skript.py

السطور من 19 إلى 23 مهمّة وقابلة للتعديل

Python

IMPULS_PIN = 23
SLEEP_TIME = 30
MAX_CPU_TEMP = 40
MAX_SENSOR_TEMP = 30
SENSOR_ID =

– IMPULS_PIN يمثّل قطب GPIO المستخدم للتحكّم بالترانزستور.
– SLEEP_TIME يمثِّل الفترة الزمنيّة التي تفصل بين عملتَي قياس لدرجة الحرارة مقدّرة بالثانية، لا ينصح بتعيين رقم صغير له وذلك لإعطاء الراسبيري باي وقتاً أكبرَ للقيام بمهام أخرى.
– MAX_CPU_TEMP وMAX_SENSOR_TEMP هما درجة الحرارة التي يجب أن تبدأ عندها المروحة بالدوران. لا يهمّ أيّهما يحدث أولاً، عندما يتم الوصل إلى أحدهما تبدأ المروحة بالدوران، إذا كانت المروحة بحالة عمل دائم يجب ضبط التالي: MAX_CPU_TEMP=0.
نجلب معرّف الحساس (The sensor ID) كما هو موضح في المقال التالي هنا

في حال لم يكن لدينا حسّاس حرارة يمكننا تخطّي هذه المرحلة، وبالنسبة للحسّاس المستخدم في هذه التجربة فمعرّف الحسّاس هو (the ID 10-000802b4ba0e).

وهكذا ننهي عملنا

sudo python cooler_skript.py

في حال أردنا عرض القيم عند كل عمليّة قياس لدرجة الحرارة نقوم بحذف التعليق # في السطرين 59 و60.

 التشغيل الأوتوماتيكي:

من أجل تشغيل السكريبت أوتوماتيكيّاً يمكن الاطّلاع على المقال التالي هنا

بشكل عام يمكنك نقل السكريبت إلى /usr/local/bin/

sudo cp cooler_skript.py /usr/local/bin/cooler_skript.py

ومن ثم يجب تعديل الاسم كما في السطر 8.

 كسر سرعة المعالج:

بما أنّنا جعلنا الراسبيري باي مبرّداً كفاية يمكننا الآن كسر سرعة معالجه:

sudo raspi-config

يمكن تحديد معدّل السّاعة عند point 7 overclock. مع ملاحظة أنّه بالإمكان تعديل معدّل السّاعة حسب التطبيق المستخدَم (في حال استخدام عمليات حسابيّة كبيرة يُفيد استخدام معدّل ساعة أعلى).


ترجمة: عدي ناصر, مراجعة: عبدالله الفارس, تدقيق لغوي: رنيم العلي, تصميم: علي العلي , تحرير: قحطان غانم.
المصدر: هنا

Leave a Reply

Your email address will not be published. Required fields are marked *