תוכן עניינים:
- שלב 1: הכנת סכמטים
- שלב 2: יצירת ציור PCB
- שלב 3: הלחמה
- שלב 4: בדיקת הכנה
- שלב 5: בדיקה (טמפרטורת המעבד היא ברמה בינונית)
- שלב 6: בדיקה (מעבד צריך רמת קירור)
- שלב 7: ספק כוח למעגל אינדיקטור
- שלב 8: חיווט RPI
- שלב 9: תוכנית פייתון
- שלב 10: הפעלת מחוון
- שלב 11: ביצוע אלטרנטיבי (באמצעות טרנזיסטור NPN) ופיתוח נוסף
וִידֵאוֹ: מחוון טמפרטורת מעבד Raspberry Pi: 11 שלבים (עם תמונות)
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
בעבר הכנסתי מעגל מחוון מצב תפעולי פשוט של פטל פטל (להלן RPI).
הפעם, אסביר עוד מעגל אינדיקטורים שימושי יותר ל- RPI הפועל באופן חסר ראש (ללא צג).
המעגל למעלה מציג את טמפרטורת המעבד ל -4 רמות שונות כגון:
- LED ירוק מופעל כאשר טמפרטורת המעבד נמצאת בטווח של 30 ~ 39 מעלות
- LED צהוב מציין שהטמפרטורה גדלה בטווח של 40 עד 45 מעלות
- LED האדום השלישי מראה שהמעבד הופך להיות קצת חם על ידי הגעה ל 46 ~ 49 מעלות
- עוד אדום אדום יהבהב כאשר הטמפרטורה עולה על 50 מעלות
טווחי הטמפרטורות לעיל הם רעיון העיצוב האישי שלי (ניתן להגדיר טווחי טמפרטורות אחרים על ידי שינוי תנאי הבדיקה של תוכנית פייתון השולטים במעגל זה).
על ידי שימוש במעגל זה, אינך בהכרח מבצע את הפקודה "vcgencmd measure_temp" לעתים קרובות במסוף הקונסולה.
מעגל זה יודיע על טמפרטורת המעבד הנוכחית ברציפות ובנוחות.
שלב 1: הכנת סכמטים
למרות שאתה יכול לשלוט על 4 נוריות ישירות על ידי שימוש בקודי פייתון בלבד, לוגיקות הבקרה של התוכנית יטענו RPI וכתוצאה מכך, טמפרטורת המעבד תעלה יותר מכיוון שאתה צריך להריץ קצת קוד פייתון מורכב ברציפות.
לכן, אני ממזער את מורכבות קוד הפיתון פשוטה ככל האפשר ומוריד את ההיגיון של בקרת LED למעגל חומרה חיצוני.
מעגל מחוון הטמפרטורה של המעבד (להלן INICATOR) כולל את החלקים העיקריים הבאים.
-שני מצמדים אופטו מחוברים לסיכות RPI GPIO כדי לקבל נתוני רמות טמפרטורה כגון 00-> LOW, 01-> בינוני, 10-> גבוה, 11-> צריך קירור.
-יציאות בקרה 74LS139 (או 74HC139, מפענח 2 עד 4 ומכפילים) (Y0, Y1, Y2, Y3) בהתאם לכניסות (A, B)
- כאשר הטמפרטורה היא בתוך 30 ~ 39 מעלות, פלט קוד פייתון 00 לסיכות GPIO. לכן 74LS139 מקבלים נתוני קלט 00 (A-> 0, B-> 0)
- בעת הזנת 00, פלט Y0 הופך לנמוך. (עיין בטבלת האמת של 74LS139)
- כאשר יציאת Y0 הופכת לנמוכה, היא מפעילה טרנזיסטור PNP 2N3906 וכתוצאה מכך, נורית ירוק מופעלת
- באופן דומה, Y1 (01 -> בינוני טמפרטורת המעבד) ידליק נורית צהובה וכן הלאה
- כאשר Y3 הופך לנמוך, DB140 מפעיל מעגל מהבהב LED NE555 (זהו מהבהב LED מבוסס 555 IC) שהוא עומס של טרנזיסטור PNP BD140
המרכיב החשוב ביותר במעגל זה הוא 74LS139 אשר מפענח קלט של 2 ספרות ל -4 פלט יחיד שונה כפי שמוצג בטבלת האמת להלן.
קלט | תְפוּקָה
G (אפשר) | ב | א | Y0 | Y1 | Y2 | Y3 |
H | X | X | H | H | H | H |
L | L | L | L | H | H | H |
L | L | H | H | L | H | H |
L | H | L | H | H | L | H |
L | H | H | H | H | H | L |
כאשר פלט 74LS139 הופך לנמוך, טרנזיסטור מסוג PNP יכול להפוך את המעגל הכולל לפשוט שכן טרנזיסטור PNP מופעל כאשר מסוף הבסיס הופך לנמוך. (אראה גרסת NPN בסוף הסיפור הזה)
מכיוון שפוטנטיומטר 100K נכלל במעגל מהבהב LED NE555, ניתן לכוונן את זמן הפעלה/כיבוי של LED אדום באופן חופשי בהתאם לצרכים.
שלב 2: יצירת ציור PCB
כפי שמוסברת תוכנית ההפעלה של המחוון, נתחיל ליצור את המעגל.
לפני הלחמת משהו על לוח אוניברסלי, הכנת ציור ה- PCB המוצג לעיל מועילה למזער טעויות.
הציור נעשה באמצעות power-point לאיתור כל חלק על הלוח האוניברסלי וביצוע דפוסי חיווט בין חלקים עם חוטים.
מכיוון שתמונות IC ו- transistors pin-out ממוקמות יחד עם דפוס חיווט PCB, ניתן לבצע הלחמה באמצעות ציור זה.
שלב 3: הלחמה
למרות שציור ה- PCB המקורי לא נעשה באמצעות חוטים בודדים לחיבור רכיבים ב- PCB, אני הלחמה מעט אחרת.
באמצעות מוליך יחיד של חוטים (לא חוט פח), אני מנסה להקטין את גודל ה- PCB האוניברסלי המכיל מעגל אינדיקטור.
אך כפי שאתה יכול לראות בצד הלחמה של PCB, אני משתמש בחוט פח גם בהתאם לדפוסים המתוארים בשרטוט ה- PCB.
כאשר כל רכיב מחובר על פי העיצוב המקורי של ציור PCB, הלחמה שהושלמה לוח PCB כולל מעגל אינדיקטור תפעל כראוי.
שלב 4: בדיקת הכנה
לפני חיבור RPI, המעגל המוגמר דורש בדיקה.
מכיוון שיכולות להיות טעויות הלחמה, ספק כוח DC משמש למניעת נזקים כאשר מתרחשים מכנסיים קצרים או חיווט שגוי.
לבדיקת אינדיקטור מחוברים שני כבלי אספקת חשמל נוספים למחבר אספקת החשמל של 5V במעגל.
שלב 5: בדיקה (טמפרטורת המעבד היא ברמה בינונית)
כאשר לא מוחל קלט 5V אז 74LS139 פענוח קלט והפעלת פלט Y0 כ- LOW (נורית ירוקה מופעלת).
אבל 5V החל על קלט A, פלט Y1 של 74LS139 מופעל (LOW).
לכן, LED צהוב נדלק כפי שמוצג בתמונה למעלה.
שלב 6: בדיקה (מעבד צריך רמת קירור)
כאשר 5V החיל את שתי הכניסות (A ו- B) של 74LS139, הנורית האדומה הרביעית מהבהבת.
ניתן לשנות את קצב המהבהב על ידי התאמת 100K VR כפי שמוצג בתמונה למעלה.
בסיום הבדיקה ניתן להסיר שני כבלי נקבה 3 פינים מסוג Molex.
שלב 7: ספק כוח למעגל אינדיקטור
לצורך הפעלת מעגל אינדיקטור, אני משתמש במטען טלפוני ידני נפוץ המפיק מתאם 5V ו- USB מסוג B כפי שמוצג בתמונה למעלה.
כדי להימנע מבעיה עם RPI על ידי חיבור מעגל אינדיקטור 3.3V GPIO ו- 5V מופעל, ממשק האות ואספקת החשמל מבודדים זה מזה לחלוטין.
שלב 8: חיווט RPI
לממשק מעגל אינדיקטור עם RPI, יש להקדיש שני סיכות GPIO יחד עם שני סיכות קרקע.
אין דרישה ספציפית לבחירת סיכות GPIO.
אתה יכול להשתמש בכל סיכות GPIO לחיבור INDICATOR.
אבל סיכות קוויות צריכות להיות מיועדות ככניסות ל- 74LS139 (למשל A, B) בתוכנית פייתון.
שלב 9: תוכנית פייתון
עם סיום המעגל, נדרשת תוכנית פיתון לצורך הפונקציה INDICATOR.
עיין בתרשים הזרימה למעלה לפרטים נוספים אודות לוגיקת התוכנית.
#-*-קידוד: utf-8-*-
ייבוא תת -תהליך, אות, sys
זמן יבוא, מחדש
ייבא RPi. GPIO כ- g
A = 12
B = 16
g.setmode (g. BCM)
g.setup (A, g. OUT)
g.setup (B, g. OUT)
##
def signal_handler (sig, frame):
הדפס ('לחצת על Ctrl+C!')
g. פלט (A, שקר)
g. פלט (B, שקר)
f.close ()
sys.exit (0)
signal.signal (signal. SIGINT, signal_handler)
##
בעוד שזה נכון:
f = open ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')
temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd measure_temp', shell = True)
temp_str = temp_str.decode (קידוד = 'UTF-8', שגיאות = 'קפדנית')
CPU_temp = re.findall ("\ d+\. / D+", temp_str)
# חילוץ טמפרטורת המעבד הנוכחית
current_temp = float (CPU_temp [0])
אם current_temp> 30 ו- current_temp <40:
# טמפרטורה נמוכה A = 0, B = 0
g. פלט (A, שקר)
g. פלט (B, שקר)
time.sleep (5)
elif current_temp> = 40 ו- current_temp <45:
# טמפרטורה בינונית A = 0, B = 1
g. פלט (A, שקר)
g. פלט (B, נכון)
time.sleep (5)
elif current_temp> = 45 ו- current_temp <50:
# טמפרטורה גבוהה A = 1, B = 0
g.output (A, True)
g. פלט (B, שקר)
time.sleep (5)
elif current_temp> = 50:
# קירור מעבד נדרש גבוה A = 1, B = 1
g.output (A, True)
g. פלט (B, נכון)
time.sleep (5)
current_time = time.time ()
formated_time = time.strftime ("%H:%M:%S", time.gmtime (current_time))
f.write (str (formated_time)+'\ t'+str (current_temp)+'\ n')
f.close ()
הפונקציה העיקרית של תוכנית הפיתון היא כמו להלן.
- ראשית הגדרת GPIO 12, 16 כיציאת פלט
- הגדרת מטפל הפרעות Ctrl+C לסגירת קובץ יומן וכיבוי GPIO 12, 16
- כאשר נכנסים ללולאה אינסופית, פתח קובץ יומן כמצב הוספה
- קרא את טמפרטורת המעבד על ידי ביצוע הפקודה "/opt/vc/bin/vcgencmd measure_temp"
- כאשר הטמפרטורה נמצאת בטווח 30 ~ 39 ואז פלט 00 כדי להדליק נורית ירוקה
- כאשר הטמפרטורה נמצאת בטווח 40 ~ 44 ואז פלט 01 כדי להדליק נורית צהובה
- כאשר הטמפרטורה נמצאת בטווח 45 ~ 49 אז פלט 10 כדי להדליק נורית אדומה
- כאשר הטמפרטורה היא יותר מ 50 אז פלט 11 כדי לגרום לנורית האדומה להבהב
- כתוב חותמת זמן ונתוני טמפרטורה לקובץ היומן
שלב 10: הפעלת מחוון
כשהכל בסדר, אתה יכול לראות שכל נורית נדלקת או מהבהבת בהתאם לטמפרטורת המעבד.
אינך צריך להזין פקודת מעטפת כדי לבדוק את הטמפרטורה הנוכחית.
לאחר איסוף נתונים בקובץ היומן ועיבוד נתוני טקסט לגרף באמצעות Excel, התוצאה מוצגת בתמונה למעלה.
בעת החלת עומסים גבוהים (הפעלת שני דפדפני מידורי והפעלת סרטון Youtube), טמפרטורת המעבד עולה עד 57.9C.
שלב 11: ביצוע אלטרנטיבי (באמצעות טרנזיסטור NPN) ופיתוח נוסף
זוהי דוגמה קודמת של פרויקט INDICATOR תוך שימוש בטרנזיסטורים של NPN (2N3904 ו- BD139).
כפי שאתה יכול לראות עוד IC אחד (74HC04, Quad invertors) הכרחי כדי להניע טרנזיסטור NPN מכיוון שיש להפעיל מתח ברמה גבוהה על בסיס ה- NPN כדי להפעיל את הטרנזיסטור.
לסיכום, שימוש בטרנזיסטור NPN מוסיף מורכבות מיותרת ליצירת מעגל אינדיקטור.
להמשך פיתוח הפרויקט הזה, אוסיף מאוורר קירור כפי שמוצג בתמונה למעלה כדי להפוך את מעגל ה- INDICATOR שימושי יותר.
מוּמלָץ:
מחוון עומס מעבד Raspberry Pi: 13 שלבים
מחוון עומס מעבד Raspberry Pi: בעת הפעלת Raspberry Pi (RPI) כחסר ראש ללא צג קונסולה, אין אינדיקציות ויזואליות ספציפיות לזיהוי ה- RPI בעצם עושה משהו
קופסת מאוורר פטל פטל עם מחוון טמפרטורת מעבד: 10 שלבים (עם תמונות)
פטל פאס תיבת קירור מאוורר עם מחוון טמפרטורת מעבד: הצגתי פטל פאי (להלן RPI) מעגל מחוון טמפרטורות מעבד בפרוייקט הקודם. המעגל פשוט מציג RPI 4 רמת טמפרטורת מעבד שונה כדלקמן.- נורית ירוקה נדלקת כאשר טמפרטורת המעבד היא בתוך 30 ~
מעבד Raspberry PI Vision (SpartaCam): 8 שלבים (עם תמונות)
מעבד Raspberry PI Vision (SpartaCam): מערכת מעבד חזון פטל PI עבור רובוט התחרות הרובוטיקה הראשון שלכם. אודות FIRST מתוך ויקיפדיה, האנציקלופדיה החופשית https://en.wikipedia.org/wiki/FIRST_Robotics_Compe … תחרות הרובוטיקה הראשונה (FRC) היא תחרות בינלאומית גבוהה
KIM Uno - אמולטור קיט מעבד מיקרו -מעבד בעלות של 5 €: 13 שלבים (עם תמונות)
KIM Uno - אמולטור קיט מעבד מיקרו -מעבד בעלות של 5 €: KIM Uno הוא ערכת התפתחות ניידת המוגדרת בתוכנה עבור מעבדים (רטרו). אבל הרשה לי להציג את הרעיון בכך על ידי חזרה אחורה בזמן: בסוף 2018 עלה בדעתי שרציתי לבנות ערכת התקן מיקרו -מעבד ניידת קטנה, ממש כמו
מעקב אחר טמפרטורת החדר נשלט על ידי Raspberry Pi עם פלט תמונות Gnuplot ויכולת התראה בדוא"ל: 7 שלבים
מעקב אחר טמפרטורת החדר של פטל פיי עם פלט תמונות Gnuplot ויכולת התראה בדוא"ל: היכן שאני עובד, יש חדר חשוב מאוד שמכיל הרבה מחשבים. טמפרטורת הסביבה של החדר הזה צריכה להיות קרירה מאוד כדי לייעל את הביצועים של מערכות אלה. התבקשתי לבוא עם מערכת ניטור שיש לה את היכולת