תוכן עניינים:
וִידֵאוֹ: בקרת טמפרטורה מדויקת ב- Raspberry Pi 4: 3 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:13
פים פונימורוני מאוורר הוא פתרון מצוין להורדת הטמפרטורה של ה- Pi שלך כשהוא חם. היצרנים אפילו מספקים תוכנה שמפעילה את המאוורר כאשר טמפרטורת המעבד עולה מעל רף מסוים (למשל 65 מעלות). הטמפרטורה יורדת במהירות מתחת לסף התחתון ומכבה את המאוורר. זה נהדר אבל גורם לטמפרטורה לעלות ולרדת בעומסים מתונים ויוצר רעש מאוורר נשמע. הוראה זו תפחית את רעש המאוורר תוך תיקון טמפרטורת המעבד לערך ספציפי באמצעות משהו שנקרא בקר PID. ספים גבוהים יותר (למשל 65 מעלות) יגרמו למאוורר הרבה יותר שקט ואילו ספים נמוכים יותר (למשל 50 מעלות) יגרמו למאוורר חזק יותר אך לשלוט בטמפרטורה טובה יותר.
הדוגמה למעלה מציגה את התוצאות שלי מהפעלת בקר ה- PID ושינוי טווח הטווח של היעד כל 500 שניות. הדיוק הוא +/- מעלה אחת עם קצת חריגה על שינויים פתאומיים בטווח הטווח.
חשוב לציין כי בדיקה זו בוצעה תחת אותו עומס במשך כל זמן הבדיקה (צפייה ב- BBC iPlayer).
אספקה
- פטל פי 4
- Pimoroni Fan Shim
שלב 1: הגדר את המאוורר שלך
השלב הראשון הוא הגדרת המאוורר שלך. מדריך הפימוריני מעולה!
לאחר מכן פתח את הטרמינל ב- Pi שלך (ctrl alt t)
והתקן את הקוד שסיפק פימורוני
שיבוט git https://github.com/pimoroni/fanshim-pythoncd fanshim-python sudo./install.sh
שלב 2: צור בקר PI (D)
בקר נגזר פרופורציונלי אינטגרלי (PID) הוא מערכת המשמשת לבקרת הערך של תהליך מסוים (טמפרטורת המעבד) על ידי מניפולציה של מכשיר פיזי כלשהו (מהירות מאוורר). אנו יכולים לתפעל את 'המהירות' והרעש של המאוורר על ידי הפעלה וכיבוי מעת לעת (אפנון גל דופק). משך הזמן בו הוא מופעל בתקופה מסוימת (למשל שנייה אחת) קובע כמה מהר המאוורר חזק (900ms = חזק ומהיר, 100ms = שקט ואיטי). נשתמש ב- PID כדי לתמרן את מהירות המאוורר ובכך לשלוט על הטמפרטורה.
אנו יכולים לחלק את השימוש ב- PID למספר שלבים.
- החליטו על ערך משתנה התהליכים שאתם רוצים להשיג (למשל טמפרטורת המעבד = 55). זה נקרא נקודת ההגדרה שלך.
- חשב את שגיאת ה- PID. אם נקודת ההגדרה שלך היא 55 מעלות והטמפרטורה בפועל היא 60 מעלות השגיאה שלך היא 5 מעלות (טמפרטורה - נקודת ערך)
- שנה את זמן המאוורר ביחס לשגיאה (טעויות גדולות גורמות לשינויים גדולים במהירות המאוורר, טעויות קטנות גורמות לשינויים קטנים במהירות המאוורר).
- התאם את המאוורר ביחס לערכי העבר (אינטגרל/סכום כל השגיאות הקודמות)
- לחלופין, אתה יכול להתאים את מהירות המאוורר בהתאם לשיעור השינוי של השגיאה (נגזרת) אך לא נעשה זאת כאן
עכשיו שיש לך את התיאוריה להריץ את הקוד שלהלן ב- Thonny IDE (או באיזה פיתון אחר). שנה את הערך של 'יעד' בקוד שלהלן כדי לשנות באיזו טמפרטורה תרצה לשמור על ה- Pi שלך. הגדרתי את המונחים 'P' ו- 'I' בערכים שרירותיים במקצת. אל תהסס להתאים את אלה אם הם לא עובדים עבורך. הגדלת 'P' פירושה שהבקר יגיב במהירות לשגיאות חדשות (אך יתכן שלא יהיה יציב). שינוי 'אני' יגרום לבקר לשקול את תגובתו יותר לערכי העבר. לא הייתי מנסה להפוך את המונחים האלה גדולים מדי מכיוון ששינוי מהיר של מהירות המאוורר לא ישנה במהירות את הטווח. כמו כן, אם אתה עושה עבודה כבדה להפליא על ה- Pi שלך ייתכן שלא תשיג את הטווח המתאים לך (גבולות המאוורר עדיין חלים).
מאת fanshim יבוא FanShim
זמן ייבוא שינה, זמן יבוא os מתמטיקה יבוא # החזר טמפרטורת המעבד כמחרוזת תווים def getCPUtemperature (): res = os.popen ('vcgencmd measure_temp'). readline () return (res.replace ("temp =", " ").replace (" 'C / n "," ")) fanshim = FanShim () target = 55 # הטמפרטורה הרצויה (שחק עם זה ותראה מה קורה) תקופה = 1 # PWM תקופה ב- =.1 # אתחול ל 0 % מחזור חובה כבוי = תקופה-על # אתחול ל -0% מחזור חובה P =.01 # מונח רווח פרופורציונלי (שחק עם זה ותראה מה קורה) intErr = 0 # שגיאה אינטגרלית I =.0001 # מונח רווח אינטגרלי (שחק עם זה ותראה מה קורה) בעוד נכון: # get temperaute temp = int (float (getCPUtemperature ())) # לחשב שגיאה והחלק err = temp-target # מחשב integra lerror ואילץ אותו intErr = intErr+err אם intErr> 10: intErr = 10 if intErr = period: on = period off = 0 else: on = on off = period-on # הגדר מחזור עבודה מינימלי אם מופעל <.09: on =.09 else: on = on # PWM על סיכת הפאנשים אם on == period: fanshim.set_fan (True) sleep (on) else: fanshim.set_fan (True) s צליל (מופעל) fanshim.set_fan (שקר) שינה (כבוי)
שלב 3: הפעל סקריפט בקרה בעת ההפעלה
אתה יכול להריץ את הסקריפט הזה בכל פעם שאתה מתחיל את ה- pi שלך או שאתה יכול להפעיל אותו אוטומטית בעת אתחול מחדש. זה מאוד פשוט לעשות עם crontab.
- לפתוח את הטרמינל
- הקלד crontab-e במסוף
- הוסף את שורת הקוד הבאה לקובץ '@reboot python /home/pi/bootScripts/fanControl.py &'
- צא והפעל מחדש
שמתי את הסקריפט (fanControl.py) בפלודר שנקרא bootScripts אבל אתה יכול לשים אותו בכל מקום רק וודא שאתה מציין את הנתיב הנכון ב- crontab.
הכל בוצע! כעת המאוורר שלך ישלוט על הטמפרטורה של המעבד שלך לערך ספציפי, תוך מזעור הרעש הקולי שהוא מפיק.
מוּמלָץ:
הגדרת ה- RTC DS3231 (שעון בזמן אמת) בצורה מדויקת, מהירה ואוטומטית באמצעות ג'אווה (+-1 שניות): 3 שלבים
הגדרת ה- DS3231 RTC (שעון בזמן אמת) בצורה מדויקת, מהירה ואוטומטית באמצעות ג'אווה (+-1 שניות): מדריך זה יראה לך כיצד להגדיר את השעה על שעון בזמן אמת DS3231 באמצעות Arduino ויישום Java קטן המשתמש החיבור הסדרתי של ה- Arduino. ההיגיון הבסיסי של תוכנית זו: 1. הארדואינו שולח בקשה סדרתית
בקרת בהירות בקרת LED מבוססת PWM באמצעות לחצני לחיצה, פטל פאי ושריטה: 8 שלבים (עם תמונות)
בקרת בהירות בקרת LED מבוססת PWM באמצעות לחצני לחיצה, פטל פאי ושריטה: ניסיתי למצוא דרך להסביר כיצד PWM פועל לתלמידי, אז הנחתי לעצמי את המשימה לנסות לשלוט על בהירות הנורית באמצעות 2 כפתורי לחיצה. - כפתור אחד מגביר את הבהירות של נורית LED והשני מעמעם אותו. לפרוגרה
בקרת ESP8266 RGB LED STRIP WIFI - NODEMCU כשלט רחוק IR עבור רצועת LED נשלטת באמצעות Wifi - בקרת סמארטפון LED RIP LED STRIP: 4 שלבים
בקרת ESP8266 RGB LED STRIP WIFI | NODEMCU כשלט רחוק IR עבור רצועת LED נשלטת באמצעות Wifi | בקרת סמארטפון RGB LED STRIP: שלום חברים במדריך זה נלמד כיצד להשתמש ב- nodemcu או ב- esp8266 כשלט רחוק IR לשליטה ברצועת LED RGB ו- Nodemcu נשלט על ידי סמארטפון באמצעות wifi. אז בעצם אתה יכול לשלוט ב- RGB LED STRIP בעזרת הסמארטפון שלך
משאבה פריסטלטית מדויקת: 13 שלבים
משאבה פריסטלטית מדויקת: אנו צוות סטודנטים מתחומים שונים של אוניברסיטת RWTH באאכן ויצרנו את הפרויקט הזה במסגרת תחרות iGEM 2017. לאחר כל העבודה שנכנסה למשאבה שלנו, נרצה לשתף אתכם בתוצאותינו ! אנחנו בונים
קשת עט גבוהה, לטווח ארוך, מדויקת במיוחד !!!: 6 שלבים
קשת עט גבוהה, לטווח ארוך, מדויקת במיוחד !!!: זוהי עוד אחת מקשתות העט המפורסמות האלה !!! =) תהנו! נ.ב. הדברים האלה הם בעלי עוצמה, אל תכוון למישהו. כתב ויתור: אתה לא יכול לתבוע אותי אם תשבור משהו עם זה. כולל אנשים ובעלי חיים. זוהי התחינה הראשונה שלי כל כך