Taula de continguts:
- Pas 1: Preparació d’esquemes
- Pas 2: Fer dibuix de PCB
- Pas 3: soldar
- Pas 4: Preparació de la prova
- Pas 5: proves (la temperatura de la CPU és de nivell mitjà)
- Pas 6: proves (la CPU necessita un nivell de refrigeració)
- Pas 7: Alimentació del circuit INDICADOR
- Pas 8: cablejat RPI
- Pas 9: programa Python
- Pas 10: Operació INDICADOR
- Pas 11: Creació alternativa (utilitzant transistor NPN) i desenvolupament posterior
Vídeo: Indicador de temperatura de la CPU Raspberry Pi: 11 passos (amb imatges)
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:10
Anteriorment havia introduït el circuit d'indicadors d'estat operatiu de raspberry pi (d'ara endavant, RPI).
Aquesta vegada, explicaré alguns circuits d’indicadors més útils per a que RPI s’executi de manera sense cap (sense monitor).
El circuit anterior mostra la temperatura de la CPU en 4 nivells diferents, com ara:
- El LED verd s’encén quan la temperatura de la CPU es troba entre 30 i 39 graus
- El LED groc indica que la temperatura augmenta de 40 a 45 graus
- El tercer LED vermell mostra que la CPU s’escalfa una mica arribant als 46 ~ 49 graus
- Un altre LED vermell parpellejarà quan la temperatura superi els 50 graus
Els rangs de temperatura de la CPU anteriors són el meu concepte de disseny personal (es poden configurar altres rangs de temperatura canviant les condicions de prova del programa python que controlen aquest circuit).
En utilitzar aquest circuit, no necessàriament executeu l’ordre “vcgencmd measure_temp” amb freqüència al terminal de la consola.
Aquest circuit informarà de la temperatura actual de la CPU de forma contínua i convenient.
Pas 1: Preparació d’esquemes
Tot i que podeu controlar 4 LEDs directament utilitzant només codis python, les lògiques de control del programa carregaran RPI i, com a resultat, la temperatura de la CPU augmentarà més perquè hauríeu d'executar un codi python una mica complex.
Per tant, estic minimitzant la complexitat del codi python de la manera més senzilla possible i descarregant la lògica de control del LED al circuit de maquinari extern.
El circuit indicador de temperatura de la CPU (en endavant INICATOR) consta de les següents parts principals.
- Dos optoacobladors es connecten als pins GPIO RPI per obtenir dades de nivell de temperatura, com ara 00-> BAIX, 01-> Mitjà, 10-> Alt, 11-> Necessita refrigeració.
- Sortides de control 74LS139 (o 74HC139, descodificador de 2 a 4 i desmultiplexor) (Y0, Y1, Y2, Y3) segons les entrades (A, B)
- Quan la temperatura es troba entre 30 i 39 graus, el codi de pitó surt 00 als pins GPIO. Per tant, 74LS139 obté dades d’entrada 00 (A-> 0, B-> 0)
- Quan s'introdueix 00, la sortida Y0 es torna BAIXA. (Consulteu la taula de veritat de 74LS139)
- Quan la sortida Y0 es fa BAIXA, s’activa el transistor PNP 2N3906 i, com a resultat, s’encén el LED verd
- De la mateixa manera, Y1 (01 -> mitjà de temperatura de la CPU) activarà el LED groc, etc.
- Quan Y3 es converteix en BAIX, el DB140 activa el circuit de parpelleig LED NE555 (això és un parpelleig LED basat en IC 555 IC) que és la càrrega del transistor PN1 BD140
El component més important d'aquest circuit és el 74LS139, que descodifica l'entrada de 2 dígits en 4 sortides diferents diferents, tal com es mostra a la taula de veritat següent.
Entrada | Sortida
G (Activa) | B | A | 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 |
A mesura que la sortida 74LS139 es converteix en BAIXA, el transistor tipus PNP pot fer que el circuit general sigui senzill, ja que el transistor PNP s’encén quan el terminal base es torna BAIX. (Mostraré la versió NPN al final d'aquesta història)
Com que s’inclou un potenciòmetre de 100K al circuit de parpelleig LED NE555, el temps d’encès / apagat del LED vermell es pot ajustar lliurement segons les necessitats.
Pas 2: Fer dibuix de PCB
Com s’explica l’esquema de funcionament de l’INDICADOR, comencem a fer el circuit.
Abans de soldar alguna cosa al tauler universal, preparar el dibuix de PCB que es mostra anteriorment és útil per minimitzar qualsevol error.
El dibuix es realitza mitjançant power point per localitzar cada peça a la placa universal i fent patrons de cablejat entre peces amb cables.
Com que les imatges de pin-out de transistor i IC es col·loquen junt amb el patró de cablejat del PCB, es pot soldar mitjançant aquest dibuix.
Pas 3: soldar
Tot i que el dibuix original de PCB no es fa mitjançant cables individuals per connectar components a PCB, estic soldant de manera diferent.
En utilitzar un conductor únic de cables (no filferro d’estany), intento reduir la mida del PCB universal que conté un circuit INDICATOR.
Però, com podeu veure al costat de soldadura del PCB, també faig servir filferro d’estany segons els patrons que es representen al dibuix del PCB.
Quan cada component es connecta segons el disseny original del dibuix de PCB, la placa de PCB completada per soldar, inclòs el circuit INDICADOR, funcionarà correctament.
Pas 4: Preparació de la prova
Abans de la connexió RPI, el circuit acabat requereix proves.
Com que hi ha errors de soldadura, el proveïdor d’alimentació de corrent continu s’utilitza per evitar danys quan es produeix un curtcircuit o un cablejat incorrecte.
Per provar INDICATOR, es connecten dos cables d’alimentació addicionals al connector de la font d’alimentació de 5V del circuit.
Pas 5: proves (la temperatura de la CPU és de nivell mitjà)
Quan no s’aplica cap entrada de 5V, l’entrada de descodificació 74LS139 i l’activació de la sortida Y0 són BAIXES (LED verd encès).
Però 5V s'aplica a l'entrada A, sortida Y1 de 74LS139 activant (BAIX).
Per tant, el LED groc s’encén com es mostra a la imatge superior.
Pas 6: proves (la CPU necessita un nivell de refrigeració)
Quan els 5V han aplicat les dues entrades (A i B) del 74LS139, el quart LED vermell parpelleja.
La velocitat de parpelleig es pot canviar ajustant 100K VR com es mostra a la imatge superior.
Un cop finalitzada la prova, es poden eliminar dos cables femelles de 3 pins Molex.
Pas 7: Alimentació del circuit INDICADOR
Per alimentar el circuit INDICATOR, estic fent servir un carregador de telèfon manual que genera 5 V i un adaptador USB tipus B com es mostra a la imatge superior.
Per evitar problemes amb RPI mitjançant la connexió del circuit INDICADOR alimentat per GPIO de 3,3V i 5V, la interfície de senyal i la font d'alimentació estan totalment aïllats.
Pas 8: cablejat RPI
Per a la interfície del circuit INDICADOR amb RPI, s'han de dedicar dos pins GPIO juntament amb dos pins de terra.
No hi ha cap requisit específic per triar els pins GPIO.
Podeu utilitzar qualsevol pin GPIO per connectar INDICADOR.
Però els pins cablejats s’han de designar com a entrades a 74LS139 (per exemple, A, B) al programa python.
Pas 9: programa Python
Quan el circuit s'hagi completat, cal fer un programa Python per utilitzar la funció INDICADOR.
Consulteu el diagrama de flux anterior per obtenir més informació sobre la lògica del programa.
# - * - codificació: utf-8 - * -
subprocés d’importació, senyal, sys
temps d’importació, re
importar RPi. GPIO com a g
A = 12
B = 16
g.setmode (g. BCM)
g.setup (A, g. OUT)
g.setup (B, g. OUT)
##
manejador de senyal def (sig, frame):
print ("Heu premut Ctrl + C!")
g.output (A, fals)
g.output (B, fals)
f.close ()
sys.exit (0)
signal.signal (signal. SIGINT, signal_handler)
##
mentre que és cert:
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 (codificació = 'UTF-8', errors = 'estricte')
CPU_temp = re.findall ("\ d + \. / D +", temp_str)
# extracció de la temperatura actual de la CPU
current_temp = float (CPU_temp [0])
si current_temp> 30 i current_temp <40:
# temperatura baixa A = 0, B = 0
g.output (A, fals)
g.output (B, fals)
time.sleep (5)
elif current_temp> = 40 i current_temp <45:
# medi de temperatura A = 0, B = 1
g.output (A, fals)
g.output (B, True)
time.sleep (5)
elif current_temp> = 45 i current_temp <50:
# temperatura alta A = 1, B = 0
g.output (A, True)
g.output (B, fals)
time.sleep (5)
elif temp_actual> = 50:
# Es requereix un refredament de la CPU elevat A = 1, B = 1
g.output (A, True)
g.output (B, True)
time.sleep (5)
hora_actual = hora.hora ()
formated_time = time.strftime ("% H:% M:% S", time.gmtime (current_time))
f.write (str (format_time) + '\ t' + str (current_temp) + '\ n')
f.close ()
La funció principal del programa python és la següent.
- Primer establir GPIO 12, 16 com a port de sortida
- Definició del controlador d’interrupcions Ctrl + C per tancar el fitxer de registre i desactivar GPIO 12, 16
- Quan entreu a bucle infinit, obriu el fitxer de registre com a mode d'afegir
- Llegiu la temperatura de la CPU executant l'ordre "/ opt / vc / bin / vcgencmd measure_temp"
- Quan la temperatura estigui en el rang de 30 a 39, llavors sortiu 00 per encendre el LED verd
- Quan la temperatura estigui en el rang 40 ~ 44, sortiu 01 per encendre el LED groc
- Quan la temperatura estigui en el rang de 45 a 49, llavors sortiu 10 per encendre el LED vermell
- Quan la temperatura és superior a 50, sortiu 11 per fer parpellejar el LED vermell
- Escriure dades de marca de temps i temperatura al fitxer de registre
Pas 10: Operació INDICADOR
Quan tot està bé, podeu veure que cada LED s’encén o parpelleja segons la temperatura de la CPU.
No cal que introduïu l'ordre shell per comprovar la temperatura actual.
Després de recopilar dades al fitxer de registre i representar les dades de text al gràfic mitjançant Excel, es mostra el resultat a la imatge superior.
Quan s’apliquen càrregues elevades (executant dos navegadors Midori i reproduint vídeo de Youtube), la temperatura de la CPU augmenta fins als 57,9C.
Pas 11: Creació alternativa (utilitzant transistor NPN) i desenvolupament posterior
Aquest és un exemple anterior del projecte INDICATOR que utilitzava transistors NPN (2N3904 i BD139).
Com podeu veure, un CI més (74HC04, inversors Quad) és necessari per accionar el transistor NPN, ja que s'hauria d'aplicar un voltatge de nivell alt a la base de NPN per activar el transistor.
Com a resum, l'ús de transistors NPN afegeix una complexitat innecessària per crear un circuit INDICADOR.
Per al desenvolupament d’aquest projecte, afegiré un ventilador de refrigeració tal com es mostra a la imatge superior per fer més útil el circuit INDICATOR.
Recomanat:
Ventilador de refrigeració Raspberry Pi amb indicador de temperatura de la CPU: 10 passos (amb imatges)
Ventilador de refrigeració Raspberry Pi amb indicador de temperatura de la CPU: havia introduït el circuit indicador de temperatura de la CPU Raspberry pi (d’ara endavant, RPI) al projecte anterior. La temperatura de la CPU és de 30 ~
The OreServer: un servidor Minecraft dedicat a Raspberry Pi amb indicador de reproductor LED: 9 passos (amb imatges)
The OreServer: un servidor Minecraft dedicat a Raspberry Pi amb indicador de reproductor LED: juliol de 2020 ACTUALITZACIÓ: abans d’iniciar aquest projecte, tingueu en compte que s’han fet MOLTS canvis i actualitzacions de les diverses eines de programari que he utilitzat per crear-les en dos. fa anys. Com a resultat, molts dels passos ja no funcionen com s’escriuen
Ventilador regulat PWM basat en la temperatura de la CPU per a Raspberry Pi: 4 passos (amb imatges)
Ventilador regulat PWM basat en la temperatura de la CPU per a Raspberry Pi: molts casos per a Raspberry Pi inclouen un petit ventilador de 5V per ajudar a refredar la CPU. No obstant això, aquests ventiladors solen ser força sorollosos i molta gent ho connecta al pin 3V3 per reduir el soroll. Aquests ventiladors solen tenir una potència de 200 mA, que és bastant h
Indicador de temperatura i humitat per Arduino: 7 passos (amb imatges)
Indicador de temperatura i humitat per Arduino: aquesta instrucció mostrarà com fer una caixa que pugui indicar la temperatura i la humitat amb Arduino Podeu posar aquesta caixa a la taula per mesurar la temperatura i la humitat a la vostra habitació. compactat f
Indicador de temperatura RGB (amb XinaBox): 5 passos (amb imatges)
Indicador de temperatura RGB (amb XinaBox): aquest és oficialment el meu primer article sobre Instructables, així que admetré que estic aprofitant aquesta oportunitat ara mateix per provar-ho. Feu una idea del funcionament de la plataforma, de tota la seva experiència d’usuari. Però mentre ho faig, vaig pensar que podia