Inhoudsopgave:

Geautomatiseerde koelventilator voor Pi - Ajarnpa
Geautomatiseerde koelventilator voor Pi - Ajarnpa

Video: Geautomatiseerde koelventilator voor Pi - Ajarnpa

Video: Geautomatiseerde koelventilator voor Pi - Ajarnpa
Video: Raspberry Pi 4 Heatsink case met ventilatoren installatie video. 2024, November
Anonim
Geautomatiseerde koelventilator voor Pi
Geautomatiseerde koelventilator voor Pi

BeschrijvingEen eenvoudig ontwerp om een mini 5v ventilator met python aan te sturen, zonder de noodzaak van een breadboard, transistors etc. Het enige wat je nodig hebt zijn een paar kabels en een 1-kanaals relais. Ik had een 2-kanaals relais dat ik aanbeveel, omdat het bijna dezelfde prijs is plus je krijgt een extra controller. Een script dat elk uur wordt uitgevoerd, controleert de temperatuur van de pi en zet een ventilator aan/uit totdat de gewenste temperatuur is bereikt.

Inleiding Aangezien de zomer voor de deur staat, wordt mijn secundaire pi een beetje te warm naar mijn smaak, dus ik wilde hem af en toe een beetje afkoelen. Natuurlijk zou ik 24/7 een ventilator kunnen laten blazen, maar a) daarvoor zou een breadboard en wat weerstanden enz. nodig zijn omdat ik hem niet gewoon rechtstreeks op de GPIO-pinnen kan aansluiten b) een code schrijven die interageert met de 'buitenkant' wereld is leuker:) en c) het is echt goedkoop … je hebt alleen wat kabels en relais nodig.

Geniet ervan, en voel je vrij om te reageren!

Stap 1: Benodigde materialen

Benodigde materialen
Benodigde materialen
Benodigde materialen
Benodigde materialen
Benodigde materialen
Benodigde materialen
Benodigde materialen
Benodigde materialen

- crontab / python geïnstalleerd op je pi- Een raspberry pi met een behuizing - 5v mini-ventilator (link) - 2-kanaals relais (link) - Paar vrouwelijke naar vrouwelijke kabels (link). Ik had er maar 1, dus ik gebruikte een oude dvd-audiokabel voor de pc en die extra f2f-kabel voor de relaiscontroller-pin.

Opmerking: het gat bovenop mijn frambozenkast was iets kleiner dan normaal, dus ik moest een boor gebruiken om het iets breder te maken. Misschien moet je een hoesje kopen met een 5v-ventilator eraan, als je niet zeker weet hoe groot het in je hoesje is.

Stap 2: Het circuit - montage

Het circuit - montage
Het circuit - montage
Het circuit - montage
Het circuit - montage
Het circuit - montage
Het circuit - montage
Het circuit - montage
Het circuit - montage

Zoals je kunt zien aan de afbeelding hierboven, gebruik ik pinnen 2, 6, 12, die allemaal hetzelfde zijn voor elk type Raspberry Pi dat je hebt, dus je hoeft je geen zorgen te maken over het feit dat ik een Pi gebruik Model B rev2.

Sluit de kabels aan op dezelfde manier als ik het doe.- De 5v(pin2) gaat naar VCC- De GND(pin6) naar de GND- De GPIO18(pin2) gaat naar de IN1Zorg ervoor dat de jumper op uw relais is ingesteld op: JD-VCC VCC.

Nu naar het relais … Mijn opstelling is een beetje raar, ik weet het. Ik wilde geen externe stroombron gebruiken om de ventilator te starten, dus ik heb hem ook een beetje op de pi aangesloten. Je zult een kleine snede moeten maken in zowel de 5v- als de GND-kabel die van de pi komt om de ventilatorkabels op dezelfde manier te bevestigen als ik het doe. Je kunt een soldeerbout en wat tape gebruiken zoals ik deed. Ik denk niet dat er een reden is om je zorgen te maken over het dichtmetselen van je pi, omdat alleen de massakabel rechtstreeks op de pi is aangesloten. Als je goed kijkt op de afbeelding, is de relaisschakelaar verbonden met de stroomkabel, wat betekent dat wanneer de ventilator uit staat, de directe verbinding met de pi ook 'open' is. Dus elke elektrische stroom die de ventilator kan produceren als hij uitgaat, kan niet terug naar de pi. De reden waarom ik die poorten op het relais gebruik, is omdat het relais een klein ledje erop heeft. Ik wilde het rode lampje zien wanneer de ventilator AAN was, zodat ik weet wanneer de pi afkoelt. Als je wilt, kun je de andere poorten gebruiken zodat het omgekeerde gebeurt. Maar je zou waarschijnlijk de GPIO-commando's moeten omkeren in het python-script (in de functies fanON fan OFF getoond in de volgende stap) om het te laten werken … Je zult zien wat ik bedoel als we eraan toe zijn.

Stap 3: Het script

Het script
Het script
Het script
Het script

Maak je nu niet druk over scripting… Vorige week kende ik Python niet en toch slaagde ik erin om dit script te schrijven door verschillende voorbeelden te lezen en te testen. Ik ken echter andere programmeertalen, dus maak je geen zorgen, ik ga je pi niet opblazen. veel, het is eigenlijk nieuw.

instructies:

1) Download de bijlage, of kopieer/plak het hier vanuit pastebin en noem het fan.py

2) Plaats het fan.py-script in de map /home/pi/

3) Voer uit: sudo chmod +x /home/pi/fan.py en sudo chown pi:pi /home/pi/fan.py

4) Ervan uitgaande dat crontab op uw pi is geïnstalleerd, voert u het volgende uit: crontab -e

5) Onderaan kopieer/plak: 5 * * * * sudo python /home/pi/fan.py en sla het bestand op. (Ctrl+X en Y)

Deze crontab zal het script elke 1h5m uitvoeren. Het script werkt ook als een op zichzelf staand script … wat betekent dat je naast de geautomatiseerde crontab-actie de ventilator zelf handmatig kunt in- of uitschakelen. U doet dit met behulp van parameters zoals:

  • sudo python /home/pi/fan.py op of
  • sudo python /home/pi/fan.py uit

Ik heb ook een failsafe-functie geschreven voor het geval je op Ctrl+C drukt terwijl het script wordt uitgevoerd. Als je dat doet, wordt de ventilator uitgeschakeld voordat het script wordt afgesloten.

Dus, hoe werkt dit?

Elk uur voert het script de temperatuur van de pi uit en controleert deze. Als de temperatuur hoger is dan een X-waarde, wordt de ventilator ingeschakeld en blijft deze aan totdat deze is afgekoeld tot een Y-waarde. Als dit het geval is, wordt het script afgesloten. Als het om de een of andere reden nooit die lage temperatuur bereikt en er een uur verstrijkt, zal het de volgende keer dat het script wordt uitgevoerd 'zien' dat de ventilator nog steeds aan staat en het tweede script stopt … dus gebruik realistische temperatuurwaarden als je wilt dat de ventilator daadwerkelijk in-/uitschakelen. Als dat niet het geval is, stelt u gewoon een paar belachelijke waarden in (zoals Y = 0 graden Celsius) zodat de ventilator altijd aan blijft.) Als uw pi tussen die 2 waarden (X, Y) werkt, betekent dit dat het werkt onder 'geaccepteerde' temperaturen, dus het script wordt gewoon afgesloten wanneer het de temperatuur elk uur controleert.

Enkele waarden uitleggen

Bovenaan het script staan enkele globale variabelen. Er zijn de variabelen die je moet veranderen.

# Bepaal welke pin het relais bestuurtFAN_PIN = 18 # het gele vakje bijv. GPIO18 # Temperatuurcontrole. Start ventilator als temp > 49C FAN_START = 49 # Temperatuurcontrole. Afsluiten onder 28C FAN_END = 28

Het is vrij duidelijk wat je hier moet doen. Als je GPIO18 hebt gebruikt zoals ik deed, laat dan hier 18 staan, anders verander je die waarde in de gpio die je hebt gebruikt. FAN_START en FAN_END zijn de hoge/lage temperaturen die je wilt gebruiken. Je kunt daar zelfs float-nummers plaatsen als je wilt, zoals 49.2

Opmerking:

Weet je nog hoe ik mijn relais heb ingesteld? Als je de functies fanON en fanOFF ziet, zul je merken dat ik de gpio-uitvoer instelt op False om de ventilator aan te zetten en True om hem uit te schakelen. Als u een andere poortconfiguratie op het relais hebt gekozen, moet u die waarden waarschijnlijk omkeren.

Stap 4: Laatste opmerkingen

Laatste opmerkingen
Laatste opmerkingen

Mijn excuses voor de gedetailleerde instructies. Ik wilde alle soorten gebruikers dekken. Er is waarschijnlijk een betere manier om dit allemaal te doen, maar ik deed mijn best met de materialen in de hand en met mijn noobness in circuits en python.

Een kleine bonuscode

Als je een snelle manier wilt om de temperatuur van je pi te controleren, maak dan een bestand met de naam temp in de map /usr/local/bin en kopieer dit script erin:

pastebin.com/rUYqGjV5

execute: chmod +x /usr/local/bin/temp om het uitvoerbaar te maken.

Typ dan gewoon temp uit welke map je ook bent om de temperatuur van je pi te zien.

Aanbevolen: