Πίνακας περιεχομένων:

Raspberry Pi Box of Cooling FAN with CPU Temperature Indicator: 10 Steps (with Pictures)
Raspberry Pi Box of Cooling FAN with CPU Temperature Indicator: 10 Steps (with Pictures)

Βίντεο: Raspberry Pi Box of Cooling FAN with CPU Temperature Indicator: 10 Steps (with Pictures)

Βίντεο: Raspberry Pi Box of Cooling FAN with CPU Temperature Indicator: 10 Steps (with Pictures)
Βίντεο: Official Raspberry Pi 4 Case Fan and Heatsink Review Is It Worth $5.00 2024, Νοέμβριος
Anonim
Raspberry Pi Box of Cooling FAN with CPU Temperature Indicator
Raspberry Pi Box of Cooling FAN with CPU Temperature Indicator

Είχα εισαγάγει το κύκλωμα δείκτη θερμοκρασίας CPU βατόμουρου pi (στο εξής ως RPI) στο προηγούμενο έργο.

Το κύκλωμα δείχνει απλά διαφορετικό επίπεδο θερμοκρασίας RPI 4 CPU ως εξής.

- Η πράσινη λυχνία LED ανάβει όταν η θερμοκρασία της CPU είναι εντός 30 ~ 39 μοίρες

- Η κίτρινη λυχνία LED δείχνει ότι η θερμοκρασία είναι αυξημένη σε εύρος 40 έως 45 μοίρες

- Η 3η κόκκινη λυχνία LED δείχνει ότι η CPU ζεσταίνεται λίγο φτάνοντας τους 46 ~ 49 βαθμούς

- Ένα άλλο κόκκινο LED θα αναβοσβήνει όταν η θερμοκρασία υπερβεί τους 50 βαθμούς

***

Όταν η θερμοκρασία υπερβαίνει τους 50 βαθμούς Κελσίου, οποιαδήποτε βοήθεια θα είναι απαραίτητη για το μικρό RPI δεν τονίζει πολύ.

Σύμφωνα με τις πληροφορίες που είδα σε αρκετές ιστοσελίδες που μιλούν για μέγιστο ανεκτό επίπεδο θερμοκρασίας RPI, οι απόψεις είναι διαφορετικές, όπως κάποιος αναφέρει ότι περισσότεροι από 60C εξακολουθούν να είναι εντάξει όταν χρησιμοποιείται ψύκτρα.

Αλλά η προσωπική μου εμπειρία λέει κάτι διαφορετικό ότι ο διακομιστής μετάδοσης (χρησιμοποιώντας RPI με ψύκτρα) γίνεται αργός και τελικά λειτουργεί σαν ζόμπι όταν τον ενεργοποιώ για αρκετές ώρες.

Επομένως, αυτό το πρόσθετο κύκλωμα και ψύξη FAN προστίθεται για τη ρύθμιση της θερμοκρασίας της CPU κάτω από 50C για υποστήριξη της σταθερής λειτουργίας του RPI.

***

Επίσης, το κύκλωμα ένδειξης θερμοκρασίας CPU που έχει εισαχθεί στο παρελθόν (στο εξής ως ΔΕΙΚΤΗΣ) είναι ενσωματωμένο μαζί για να υποστηρίζει βολικό έλεγχο επιπέδου θερμοκρασίας χωρίς την εκτέλεση της εντολής "vcgencmd μέτρησης_ θερμοκρασίας" στο τερματικό της κονσόλας.

Βήμα 1: Προετοιμασία σχημάτων

Προετοιμασία σχημάτων
Προετοιμασία σχημάτων

Σε δύο προηγούμενα έργα, είχα αναφέρει την πλήρη απομόνωση της τροφοδοσίας μεταξύ RPI και εξωτερικών κυκλωμάτων.

Σε περίπτωση ψύξης FAN, η ανεξάρτητη τροφοδοσία είναι αρκετά σημαντική καθώς το DC 5V FAN (κινητήρας) είναι σχετικά βαρύ φορτίο και αρκετά θορυβώδες κατά τη λειτουργία.

Επομένως, για τον σχεδιασμό αυτού του κυκλώματος τονίζονται οι ακόλουθες εκτιμήσεις.

- Το Opto-ζεύκτη χρησιμοποιείται για διασύνδεση με τον ακροδέκτη RPI GPIO για λήψη σήματος ενεργοποίησης FAN ψύξης

- Καμία ισχύς από RPI και χρήση κοινού φορτιστή χειρός για πηγή ενέργειας αυτού του κυκλώματος.

- Η ένδειξη LED χρησιμοποιείται για την ενημέρωση της λειτουργίας του ανεμιστήρα ψύξης

- Ο ρελέ 5V χρησιμοποιείται για την ενεργοποίηση του ανεμιστήρα ψύξης ως μηχανικό τρόπο

***

Αυτό το κύκλωμα θα συνεργαστεί με το κύκλωμα δείκτη θερμοκρασίας CPU (εφεξής ΕΝΔΕΙΚΤΗΣ) μέσω ελέγχου προγράμματος python.

Όταν αρχίσει να αναβοσβήνει ο ΔΕΙΚΤΗΣ (η θερμοκρασία ξεπερνά τους 50C), αυτό το κύκλωμα FAN ψύξης θα αρχίσει να λειτουργεί.

Βήμα 2: Προετοιμασία εξαρτημάτων

Όπως και άλλα προηγούμενα έργα, πολύ συνηθισμένα εξαρτήματα χρησιμοποιούνται για την κατασκευή κυκλώματος FAN ψύξης όπως αναφέρεται παρακάτω.

Opto-ζεύκτης: PC817 (SHARP) x 1

- 2N3904 (NPN) x 1, BD139 (NPN) x 1

- Ρελέ TQ2-5V (Panasonic) 5V

- δίοδος 1N4148

- Αντίσταση (1/4Watt): 220ohm x 2 (περιορισμός ρεύματος), 2.2K (διακόπτης τρανζίστορ) x 2

- LED x 1

- 5V ψύξης FAN 200mA

- Καθολική πλακέτα μεγέθους οπών άνω των 20 (W) επί 20 (H) (Μπορείτε να κόψετε οποιοδήποτε μέγεθος γενικής πλακέτας για να ταιριάζει στο κύκλωμα)

- Καλώδιο κασσίτερου (Ανατρέξτε στην ανάρτηση του έργου μου "Ένδειξη τερματισμού λειτουργίας Raspberry Pi" για περισσότερες λεπτομέρειες σχετικά με τη χρήση καλωδίου κασσίτερου)

- Καλώδιο (κόκκινο και μπλε κοινό ενιαίο καλώδιο καλωδίου)

- Οποιοσδήποτε φορτιστής χειρός τηλεφώνου 220V και έξοδος 5V (υποδοχή USB τύπου Β)

- Κεφαλή καρφιτσών (3 ακίδες) x 2

***

Η φυσική διάσταση της ψύξης του FAN πρέπει να είναι αρκετά μικρή για να τοποθετηθεί στην κορυφή του RPI.

Οποιοσδήποτε τύπος ρελέ μπορεί να χρησιμοποιηθεί όταν μπορεί να λειτουργήσει στα 5V και να έχει περισσότερες από μία μηχανικές επαφές.

Βήμα 3: Δημιουργία σχεδίου PCB

Κατασκευή σχεδίου PCB
Κατασκευή σχεδίου PCB

Καθώς ο αριθμός των εξαρτημάτων είναι μικρός, το απαιτούμενο γενικό μέγεθος PCB δεν είναι μεγάλο.

Παρακαλούμε προσέξτε τη διάταξη πολικότητας καρφίτσας του TQ2-5V όπως φαίνεται στην παραπάνω εικόνα. (Σε αντίθεση με τη συμβατική σκέψη, η πραγματική διάταξη συν/εδάφους είναι αντίστροφα διατεταγμένη)

Προσωπικά έχω απροσδόκητο πρόβλημα μετά τη συγκόλληση λόγω των αντιστρόφως τοποθετημένων (Κατά τη σύγκριση με άλλα προϊόντα ρελέ) πόλων πολικότητας του TQ2-5V.

Βήμα 4: Συγκόλληση

Συγκόλληση
Συγκόλληση

Καθώς το ίδιο το κύκλωμα είναι αρκετά απλό, το σχέδιο καλωδίωσης δεν είναι πολύ περίπλοκο.

Βιδώνω τη βάση στήριξης σχήματος "L" για να διορθώσω το PCB ως όρθια κατεύθυνση.

Όπως μπορείτε να δείτε αργότερα, το ακρυλικό πλαίσιο που στερεώνει τα πάντα έχει μικρό μέγεθος.

Επομένως, η στενή εκτύπωση των ποδιών είναι απαραίτητη καθώς το ακρυλικό σασί είναι γεμάτο με PCB και άλλα υπο-μέρη.

Το LED βρίσκεται στην μπροστινή πλευρά για εύκολη αναγνώριση της λειτουργίας του ανεμιστήρα.

Βήμα 5: Κατασκευή και τοποθέτηση.ύξης ΚΑΠΕΛΟΥ ΑΝΕΜΙΣΤΗΡΑ

Κατασκευή και τοποθέτηση.ύξης ΚΑΠΕΛΟΥ ΑΝΕΜΙΣΤΗΡΑ
Κατασκευή και τοποθέτηση.ύξης ΚΑΠΕΛΟΥ ΑΝΕΜΙΣΤΗΡΑ

Υποθέτω ότι το καθολικό PCB είναι πολύ χρήσιμο μέρος που μπορεί να χρησιμοποιηθεί για διαφορετικούς σκοπούς χρήσης.

Ο ανεμιστήρας ψύξης είναι τοποθετημένος σε γενικό PCB και τοποθετείται και στερεώνεται με μπουλόνια και παξιμάδια.

Για να επιτρέψω τη ροή του αέρα, κάνω μεγάλη τρύπα τρυπώντας PCB.

Επίσης για εύκολη σύνδεση καλωδίων με βραχυκυκλωτήρα, η περιοχή των ακίδων GIPO 40 ανοίγει με κοπή PCB.

Βήμα 6: Συναρμολόγηση PCB

Συναρμολόγηση PCB
Συναρμολόγηση PCB

Όπως προαναφέρθηκε, σχεδίαζα να ενοποιήσω δύο διαφορετικά κυκλώματα σε ενιαία μονάδα.

Το κύκλωμα ένδειξης θερμοκρασίας CPU που κατασκευάστηκε προηγουμένως συγχωνεύεται με νέο κύκλωμα ψύξης FAN όπως φαίνεται στην παραπάνω εικόνα., Όλα είναι συσκευασμένα μαζί σε διαφανές και μικρό μέγεθος (15cm W x 10cm D) ακρυλικό σασί.

Παρόλο που περίπου το ήμισυ του χώρου του πλαισίου είναι άδειο και διαθέσιμο, πρόσθετο εξάρτημα θα τοποθετηθεί στον υπόλοιπο χώρο αργότερα.

Βήμα 7: Καλωδίωση RPI με κυκλώματα

Καλωδίωση RPI με κυκλώματα
Καλωδίωση RPI με κυκλώματα

Δύο κυκλώματα διασυνδέονται με RPI ως μεμονωμένο τρόπο χρησιμοποιώντας οπτικούς συζεύκτες.

Επίσης δεν αντλείται ενέργεια από το RPI, καθώς ο εξωτερικός φορτιστής χειρός τηλεφώνου παρέχει ισχύ στα κυκλώματα.

Αργότερα θα γνωρίζετε ότι αυτό το είδος απομονωμένου σχήματος διεπαφής αποδίδει αρκετά όταν πρόσθετα εξαρτήματα ενσωματωθούν περισσότερο στο ακρυλικό πλαίσιο αργότερα.

Βήμα 8: Πρόγραμμα Python Έλεγχος όλων των κυκλωμάτων

Πρόγραμμα Python Έλεγχος όλων των κυκλωμάτων
Πρόγραμμα Python Έλεγχος όλων των κυκλωμάτων

Απαιτείται μόνο μικρή προσθήκη κώδικα από τον πηγαίο κώδικα του κυκλώματος δείκτη θερμοκρασίας CPU.

Όταν η θερμοκρασία υπερβαίνει τους 50C, ξεκινάει είκοσι (20) επαναλήψεις ενεργοποίησης FAN για 10 δευτερόλεπτα και απενεργοποίησης 3 δευτερολέπτων.

Καθώς ο μικρός κινητήρας FAN απαιτεί μέγιστο ρεύμα 200mA κατά τη λειτουργία, η μέθοδος ενεργοποίησης κινητήρα τύπου PWM (Pulse Width Modulation) χρησιμοποιείται για λιγότερο επιβαρυντικό φορτιστή χειρός.

Ο τροποποιημένος πηγαίος κώδικας είναι όπως παρακάτω.

***

#-*-κωδικοποίηση: utf-8-*-

##

εισαγωγή υποεπεξεργασίας, σήματος, sys

χρόνος εισαγωγής, re

εισαγωγή RPi. GPIO ως g

##

Α = 12

Β = 16

FAN = 25

##

g.setmode (g. BCM)

g.setup (A, g. OUT)

g.setup (B, g. OUT)

g.setup (FAN, g. OUT)

##

def signal_handler (sig, frame):

εκτύπωση ('Πιέσατε Ctrl+C!')

g.output (A, False)

g. έξοδος (B, False)

g.output (FAN, False)

στ. κλείσιμο ()

sys.exit (0)

signal.signal (signal. SIGINT, signal_handler)

##

ενώ True:

f = open ('/home/pi/My_project/CPU_temperature_log.txt', 'a+')

temp_str = subprocess.check_output ('/opt/vc/bin/vcgencmd masë_temp', shell = True)

temp_str = temp_str.decode (κωδικοποίηση = 'UTF-8', λάθη = 'αυστηρό')

CPU_temp = re.findall ("\ d+\. / D+", temp_str)

# εξαγωγή τρέχουσας θερμοκρασίας CPU

##

current_temp = float (CPU_temp [0])

εάν current_temp> 30 και current_temp <40:

# χαμηλή θερμοκρασία Α = 0, Β = 0

g.output (A, False)

g. έξοδος (B, False)

ώρα. ύπνος (5)

elif current_temp> = 40 και current_temp <45:

# μέσο θερμοκρασίας Α = 1, Β = 0

g.output (A, True)

g. έξοδος (B, False)

ώρα. ύπνος (5)

elif current_temp> = 45 και current_temp <50:

# υψηλή θερμοκρασία Α = 0, Β = 1

g.output (A, False)

g. έξοδος (B, True)

ώρα. ύπνος (5)

elif current_temp> = 50:

# Απαιτείται ψύξη CPU υψηλή A = 1, B = 1

g.output (A, True)

g. έξοδος (B, True)

για i στην περιοχή (1, 20):

g.output (FAN, True)

ώρα. ύπνος (10)

g.output (FAN, False)

ώρα. ύπνος (3)

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')

στ. κλείσιμο ()

##

Καθώς η λογική λειτουργίας αυτού του κώδικα python είναι σχεδόν παρόμοια με αυτή του κυκλώματος δείκτη θερμοκρασίας CPU, δεν θα επαναλάβω λεπτομέρειες εδώ.

Βήμα 9: Λειτουργία κυκλώματος FAN

Λειτουργία κυκλώματος FAN
Λειτουργία κυκλώματος FAN

Όταν κοιτάζετε το γράφημα, η θερμοκρασία υπερβαίνει τους 50C χωρίς κύκλωμα FAN.

Φαίνεται ότι η μέση θερμοκρασία της CPU είναι περίπου 40 ~ 47C ενώ λειτουργεί το RPI.

Εάν εφαρμοστεί βαρύ φορτίο συστήματος, όπως η αναπαραγωγή του Youtube στο πρόγραμμα περιήγησης ιστού, συνήθως η θερμοκρασία ανεβαίνει γρήγορα μέχρι τους 60C.

Αλλά με το κύκλωμα FAN, η θερμοκρασία θα μειωθεί λιγότερο από 50C μέσα σε 5 δευτερόλεπτα με τη λειτουργία του ανεμιστήρα ψύξης.

Ως αποτέλεσμα, μπορείτε να ενεργοποιήσετε το RPI όλη την ημέρα και να κάνετε όποιες εργασίες σας αρέσουν χωρίς να ανησυχείτε για υπερθέρμανση.

Βήμα 10: Περαιτέρω ανάπτυξη

Περαιτέρω ανάπτυξη
Περαιτέρω ανάπτυξη

Όπως μπορείτε να δείτε, το μισό ακρυλικό σασί παραμένει άδειο.

Θα βάλω επιπλέον στοιχεία εκεί και θα επεκτείνω αυτό το βασικό μπλοκ του πλαισίου RPI σε κάτι πιο χρήσιμο.

Φυσικά περισσότερη προσθήκη σημαίνει και λίγη αύξηση της πολυπλοκότητας επίσης.

Τέλος πάντων, ενσωματώνω δύο κυκλώματα σε ένα κουτί σε αυτό το έργο.

Ευχαριστώ που διαβάσατε αυτήν την ιστορία.

Συνιστάται: