Inhoudsopgave:
- Stap 1: Schema's voorbereiden
- Stap 2: Onderdelen voorbereiden
- Stap 3: PCB-tekening maken
- Stap 4: Solderen
- Stap 5: Maken en monteren van koelventilator HAT
- Stap 6: PCB's monteren
- Stap 7: RPI bedraden met circuits
- Stap 8: Python-programmabesturing alle circuits
- Stap 9: VENTILATOR Circuitwerking
- Stap 10: Verdere ontwikkeling
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
Ik had raspberry pi (hierna als RPI) CPU-temperatuurindicatorcircuit geïntroduceerd in het vorige project.
Het circuit toont eenvoudig het RPI 4 verschillende CPU-temperatuurniveau als volgt.
- Groene LED gaat aan wanneer de CPU-temperatuur binnen 30 ~ 39 graden is
- Gele LED geeft aan dat de temperatuur is verhoogd in het bereik van 40 tot 45 graden
- 3e rode LED geeft aan dat de CPU een beetje heet wordt door 46 ~ 49 graden te bereiken
- Een andere rode LED knippert wanneer de temperatuur meer dan 50 graden overschrijdt
***
Wanneer de temperatuur meer dan 50C overschrijdt, zal alle hulp nodig zijn voor een kleine RPI die niet te veel wordt benadrukt.
Volgens de informatie die ik op verschillende webpagina's heb gezien die spreken over het maximaal toelaatbare temperatuurniveau van RPI, zijn de meningen divers, zoals iemand vermeldt dat meer dan 60 ° C nog steeds redelijk goed is wanneer een koellichaam wordt gebruikt.
Maar mijn persoonlijke ervaring zegt iets anders dat de transmissieserver (met behulp van RPI met koellichaam) traag wordt en zich uiteindelijk als een zombie gedraagt wanneer ik hem enkele uren aanzet.
Daarom zijn deze extra circuit- en koelventilator toegevoegd voor het regelen van de CPU-temperatuur onder 50C om een stabiele werking van RPI te ondersteunen.
***
Ook het eerder geïntroduceerde CPU-temperatuurindicatorcircuit (hierna INDICATOR genoemd) is samen geïntegreerd om gemakkelijke temperatuurniveaucontrole te ondersteunen zonder het uitvoeren van de opdracht "vcgencmd measure_temp" op de consoleterminal.
Stap 1: Schema's voorbereiden
In twee eerdere projecten had ik het over volledige isolatie van de voeding tussen RPI en externe circuits.
In het geval van een koelventilator is onafhankelijke voeding vrij belangrijk omdat DC 5V VENTILATOR (motor) relatief zwaar wordt belast en nogal luidruchtig is tijdens het gebruik.
Daarom worden de volgende overwegingen benadrukt voor het ontwerpen van deze schakeling.
- Opto-couplers worden gebruikt om te communiceren met de RPI GPIO-pin om een koelventilator-activeringssignaal te krijgen
- Geen stroom van RPI en gebruik van een gewone telefoonoplader voor de stroombron van dit circuit.
- LED-indicator wordt gebruikt voor het informeren van de werking van de koelventilator
- 5V-relais wordt gebruikt om de koelventilator op mechanische wijze te activeren;
***
Dit circuit werkt samen met het CPU-temperatuurindicatorcircuit (hierna INDICATOR) door middel van python-programmabesturing.
Wanneer de INDICATOR begint te knipperen (temperatuur is hoger dan 50C), zal dit koelventilatorcircuit beginnen te werken.
Stap 2: Onderdelen voorbereiden
Net als bij andere eerdere projecten worden veel voorkomende componenten gebruikt voor het maken van een koelventilatorcircuit, zoals hieronder vermeld.
- Opto-coupler: PC817 (SHARP) x 1
- 2N3904 (NPN) x 1, BD139 (NPN) x 1
- TQ2-5V (Panasonic) 5V relais
- 1N4148-diode
- Weerstanden (1/4Watt): 220ohm x 2 (stroombegrenzing), 2,2K (transistorschakeling) x 2
- LED x 1
- 5V koelventilator 200mA
- Universeel bord met gaten van meer dan 20 (W) bij 20 (H) (u kunt elke maat universeel bord knippen om op het circuit te passen)
- Tindraad (raadpleeg mijn projectbericht "Raspberry Pi shutdown-indicator" voor meer informatie over het gebruik van tindraad)
- Kabel (rode en blauwe gemeenschappelijke enkeladerige kabel)
- Elke handtelefoonoplader 220V ingang en 5V uitgang (USB type B connector)
- Speldkop (3 pinnen) x 2
***
De fysieke afmeting van de koelventilator moet klein genoeg zijn om bovenop de RPI te worden gemonteerd.
Elk type relais kan worden gebruikt wanneer het kan werken op 5V en meer dan één mechanisch contact heeft.
Stap 3: PCB-tekening maken
Omdat het aantal componenten klein is, is de vereiste universele PCB-afmeting niet groot.
Let op de indeling van de pinpolariteit van de TQ2-5V zoals weergegeven in de afbeelding hierboven. (In tegenstelling tot het conventionele denken, is de werkelijke plus / grond-lay-out omgekeerd gerangschikt)
Persoonlijk heb ik een onverwacht probleem na het solderen vanwege de omgekeerd geplaatste (in vergelijking met andere relaisproducten) polariteitspinnen van TQ2-5V.
Stap 4: Solderen
Omdat het circuit zelf vrij eenvoudig is, is het bedradingspatroon niet veel complex.
Ik maak een "L" -vormige montagebeugel vast om de PCB rechtop te bevestigen.
Zoals je later kunt zien, is het acrylchassis waarop alles gemonteerd is een beetje klein.
Daarom is het verkleinen van de voetafdruk noodzakelijk, omdat het acrylchassis erg vol zit met PCB's en andere subonderdelen.
LED bevindt zich aan de voorzijde om de werking van de VENTILATOR gemakkelijk te herkennen.
Stap 5: Maken en monteren van koelventilator HAT
Ik veronderstel dat universele PCB een zeer nuttig onderdeel is dat voor uiteenlopende gebruiksdoeleinden kan worden gebruikt.
Koelventilator is gemonteerd op universele printplaat en gemonteerd en vastgezet met bouten en moeren.
Om luchtstroom mogelijk te maken, maak ik een groot gat door PCB's te boren.
Ook voor het eenvoudig aansluiten van startkabels, wordt het GIPO 40-pins gebied geopend door de PCB te snijden.
Stap 6: PCB's monteren
Zoals hierboven vermeld, was ik van plan om twee verschillende circuits in een enkele eenheid te consolideren.
Het eerder gemaakte CPU-temperatuurindicatorcircuit is samengevoegd met het nieuwe koelventilatorcircuit zoals weergegeven in de afbeelding hierboven., Alles is samen verpakt in een transparant en klein formaat (15 cm B x 10 cm D) acrylchassis.
Hoewel ongeveer de helft van de chassisruimte leeg en beschikbaar is, zal later een extra component worden ondergebracht in de resterende ruimte.
Stap 7: RPI bedraden met circuits
Twee circuits zijn met RPI op geïsoleerde wijze met elkaar verbonden door middel van opto-couplers.
Er wordt ook geen stroom getrokken uit RPI, aangezien de externe oplader van de handtelefoon stroom levert aan de circuits.
Later zul je weten dat dit soort geïsoleerde interfaceschema's behoorlijk de moeite waard zijn als later extra componenten meer in het acrylchassis worden geïntegreerd.
Stap 8: Python-programmabesturing alle circuits
Slechts een kleine toevoeging van code is vereist van de broncode van het CPU-temperatuurindicatorcircuit.
Wanneer de temperatuur hoger is dan 50C, begint twintig (20) herhalingen van het inschakelen van de VENTILATOR gedurende 10 seconden en het uitschakelen van 3 seconden.
Omdat de kleine motor van de FAN tijdens bedrijf maximaal 200 mA stroom nodig heeft, wordt de motoractiveringsmethode van het type PWM (Pulse Width Modulation) gebruikt voor een minder belastende handtelefoonoplader.
De gewijzigde broncode is zoals hieronder.
***
#-*- codering:utf-8 -*-
##
importeer subproces, signaal, sys
import tijd, opnieuw
importeer RPi. GPIO als g
##
A = 12
B = 16
VENTILATOR = 25
##
g.setmode(g. BCM)
g.setup(A, g. OUT)
g.setup(B, g. OUT)
g.setup(VENTILATOR, g. OUT)
##
def signal_handler (sig, frame):
print('Je hebt op Ctrl+C gedrukt!')
g.output (A, False)
g.output (B, False)
g.output (FAN, False)
f.sluiten()
sys.exit(0)
signaal.signaal(signaal. SIGINT, signaal_handler)
##
terwijl waar:
f = open('/home/pi/Mijn_project/CPU_temperatuur_log.txt', 'a+')
temp_str = subprocess.check_output('/opt/vc/bin/vcgencmd measure_temp', shell=True)
temp_str = temp_str.decode (codering = 'UTF-8', errors = 'strikt')
CPU_temp = re.findall("\d+\.\d+", temp_str)
# huidige CPU-temperatuur extraheren
##
huidige_temp = zwevend(CPU_temp[0])
als current_temp > 30 en current_temp < 40:
# temperatuur laag A=0, B=0
g.output (A, False)
g.output (B, False)
tijd.slaap(5)
elif current_temp >= 40 en current_temp < 45:
# temperatuur medium A=1, B=0
g.output (A, True)
g.output (B, False)
tijd.slaap(5)
elif current_temp >= 45 en current_temp < 50:
# temperatuur hoog A=0, B=1
g.output (A, False)
g.output (B, True)
tijd.slaap(5)
elif huidige_temp >= 50:
# CPU-koeling is vereist hoog A=1, B=1
g.output (A, True)
g.output (B, True)
voor i in bereik (1, 20):
g.output (FAN, True)
tijd.slaap(10)
g.output (FAN, False)
tijd.slaap(3)
huidige_tijd = tijd.tijd()
formated_time = time.strftime("%H:%M:%S", time.gmtime(current_time))
f.write(str(geformatteerde_tijd)+'\t'+str(huidige_temp)+'\n')
f.sluiten()
##
Omdat de bedieningslogica van deze python-code bijna vergelijkbaar is met die van het CPU-temperatuurindicatorcircuit, zal ik hier geen details herhalen.
Stap 9: VENTILATOR Circuitwerking
Als we naar de grafiek kijken, is de temperatuur hoger dan 50C zonder VENTILATOR-circuit.
Het lijkt erop dat de gemiddelde CPU-temperatuur rond de 40 ~ 47C ligt terwijl RPI werkt.
Als een zware systeembelasting wordt toegepast, zoals het afspelen van YouTube in een webbrowser, stijgt de temperatuur meestal snel tot 60C.
Maar met het FAN-circuit zal de temperatuur binnen 5 seconden met minder dan 50C worden verlaagd door de koelventilator in werking te stellen.
Als gevolg hiervan kunt u RPI de hele dag aanzetten en alles doen wat u maar wilt, zonder dat u zich zorgen hoeft te maken over oververhitting.
Stap 10: Verdere ontwikkeling
Zoals je kunt zien, is de helft van het acrylchassis leeg gebleven.
Ik zal daar extra componenten plaatsen en dit basisblok van RPI-box uitbreiden tot iets nuttigers.
Natuurlijk betekent meer toevoeging ook een beetje toenemende complexiteit.
Hoe dan ook, ik integreer in dit project twee circuits in een enkele doos.
Bedankt voor het lezen van dit verhaal.
Aanbevolen:
DIY CPU-waterblok: 11 stappen (met afbeeldingen)
DIY CPU-waterblok: ik wilde al een tijdje een CPU-waterkoelblok maken en nadat ik had gezien hoe Linus van LinusTechTips er een maakte in zijn Scrapyard Wars-serie, besloot ik dat het tijd werd dat ik er zelf een ging maken. block is geïnspireerd op Linus', w
Bedien een koelventilator op een Raspberry Pi 3: 9 stappen
Bedien een koelventilator op een Raspberry Pi 3: voeg een ventilator toe aan een raspberry pi 3, met bediening om hem aan en uit te zetten indien nodig. pin en aan de grond. Met deze aanpak zal de ventilator de hele tijd draaien. Ik denk dat het veel meer i
Laptop Cooling Pad DIY - Geweldige lifehacks met CPU-ventilator - Creatieve ideeën - Computerventilator: 12 stappen (met afbeeldingen)
Laptop Cooling Pad DIY | Geweldige lifehacks met CPU-ventilator | Creatieve ideeën | Computerfan: je moet deze video tot het einde bekijken. voor het begrijpen van de video
Stereoscopische AMD CPU: 5 stappen (met afbeeldingen)
Stereoscopische AMD CPU: DIY-stereoscopie verslaat die MagicEye-boeken zonder twijfel. In plaats van alleen naar een regenboog van kleuren/vormen te kijken om een dinosaurus of strandbal te onderscheiden, maak je een 3D-beeld van iets dat je interessant vindt
USB-koelventilator: 4 stappen
USB-koelventilator: een USB-aangedreven koelventilator bouwen met een knipperende LED. Ik gebruik de mijne om mijn laptop te koelen terwijl ik in bed lig. Ik heb het licht toegevoegd om activiteit te tonen