GPS-gesteuertes Belüftungssystem für Boote bauen: Relais-gesteuerter Lüfter mit PIC16F628A
Bauen Sie einen zuverlässigen, GPS-gesteuerten Lüfter zur Entfeuchtung einer Bootskabine. Das System nutzt einen PIC16F628A-Mikrocontroller, Relais, eine 12-V-Batterie und ein LCD-Display.
Belüftung ist in engen, feuchten Räumen essenziell. Ohne ausreichende Luftzirkulation kann sich Feuchtigkeit ansammeln und einen Nährboden für Schimmel und Pilze schaffen. In meinem Boot, wo Holzoberflächen vorherrschen, entwickelte ich eine einfache, aber effektive Lösung: einen relaisgesteuerten Lüfter, der nach festem Zeitplan läuft, von einer Autobatterie gespeist und von einem GPS-Modul für präzises Timing gesteuert wird.
Warum kontrollierte Belüftung wichtig ist
In kleinen Räumen führt stehende Luft zu Kondensation. Über die Zeit fördert diese Feuchtigkeit Schimmelwachstum, das Holz beschädigen und die Luftqualität verschlechtern kann. Während regelmäßiges Reinigen das Problem mildern kann, bietet automatisierte Belüftung einen konsistenteren, wartungsarmen Ansatz.
Systemüberblick
Der Lüfter soll:
- Luft effizient zirkulieren.
- Automatisch nach einem festen Zeitplan arbeiten.
- Strom aus einer 12-V-Autobatterie beziehen.
- Die Batterie über ein dediziertes Ladegerät laden, wenn der Lüfter aus ist.
- Aktuelle Zeit und Status auf einem LCD anzeigen.
Wesentliche Komponenten:
- 12 V 4,5 A Lüfter
- PIC16F628A Mikrocontroller
- 12 V Batterie und Ladegerät
- Zwei Relais (Lüftersteuerung & Ladegerätesteuerung)
- GPS-Modul (Skylab SKM53-Serie)
- LCD-Display
- Sicherungen (12 V, 8 A)
- Verschiedene Widerstände, Kondensatoren und Steckverbinder
Der Lüfter läuft fünf Minuten pro Stunde – ein in der Firmware fest codierter Wert. Wenn der Lüfter aktiv ist, wird das Ladegerät-Relais deenergisiert, um Überladung zu vermeiden. Stoppt der Lüfter, wird das Ladegerät-Relais wieder aktiviert, um die Batterie aufgeladen zu halten.
GPS-Timing mit dem Skylab SKM53
Das SKM53 liefert NMEA-Sätze über UART jede Sekunde. Ich nutze den RMC-Satz, um die aktuelle UTC-Zeit zu extrahieren. Beispiel:
$GPRMC,075747.000,A,2233.89990,N,11405.3368,E,3.9,357.8,260210,,,A*6ADie ersten sechs Ziffern (075747) stehen für 07:57:47. Das Statusfeld (der Buchstabe nach dem dritten Komma) signalisiert einen gültigen Fix („A“) oder ungültig („V“). Meine Firmware prüft dieses Flag vor der Nutzung des Zeitstempels.
Für zuverlässige serielle Kommunikation empfiehlt das Datenblatt einen 10 kΩ Pull-up an RXD und TXD sowie Entkopplungskondensatoren (10 µF Elektrolyt + 0,1 µF Keramik). Ich verwendete auf dem Breadboard nur einen 0,1 µF Keramikkondensator und beobachtete keine Instabilität.
Screenshot aus dem Skylab-Datenblatt (PDF).
Blockdiagramm
Die Visualisierung des Systems als diskrete Blöcke vereinfacht Fehlersuche und Schaltplanerstellung.

Hardware-Design
Der Schaltplan folgt dem Blockdiagramm und zeigt die Verbindungen jedes Bauteils.

Ich wählte den LM7805 Linearreger für seine Einfachheit und fügte zusätzliche Glättungskondensatoren hinzu, um Oszillationen zu verhindern. Ein modernes Schaltregler wäre effizienter, aber die Zuverlässigkeit des LM7805 und die verfügbaren Bauteile machten ihn zur praktischen Wahl.
Alle Komponenten sind auf einer robusten Platine montiert, mit einer 12 V 8 A Sicherung in sowohl Lüfter- als auch Ladekreis für Sicherheit.

Firmware-Struktur
Der C-Quellcode ist gut kommentiert und folgt einer klaren Struktur:
- Bibliotheken einbinden und Konfigurationsbits setzen.
- Konstanten definieren (Quarzfrequenz, Portzuordnungen).
- Globale Variablen deklarieren.
- Funktionsprototypen.
- Funktionen mit Inline-Kommentaren implementieren.
- Hauptschleife: GPS-Daten lesen, Timer verwalten, Relais schalten.
Beispiel: UART-Initialisierung.
// FUNKTION ZUR INITIALISIERUNG DES UART-PORTS
void uart_init(void) {
TXSTAbits.BRGH = 0; // Hohe Baudrate deaktiviert
TXSTAbits.SYNC = 0; // Asynchroner Modus
TXSTAbits.TX9 = 0; // 8-Bit-Übertragung
RCSTAbits.CREN = 1; // Kontinuierlicher Empfang aktivieren
/*
* Baudrate-Berechnung (16 MHz Quarz, 9600 bps):
* SPBRG = (16 MHz / 9600) / 64 - 1 = 25
*/
SPBRG = 25;
PIE1bits.RCIE = 1; // UART-Empfangsinterrupt aktivieren
RCSTAbits.SPEN = 1; // Seriellen Port aktivieren
TXSTAbits.TXEN = 1; // Übertragung aktivieren
}
Vollständigen Quellcode herunterladen: jc_lettheairflow.c.zip.
Fazit
Durch die Integration eines GPS-Moduls für präzises Timing, Relais für Energiemanagement und einer 12-V-Batterie für Portabilität hält dieses System eine Bootskabine trocken und schimmelfrei. Das Design ist modular – leicht erweiterbar zur Anzeige des Datums oder Integration zusätzlicher Sensoren.
Bilder

Probieren Sie dieses Projekt selbst aus! Laden Sie Stückliste und Code herunter.
Industrielle Ausrüstung
- Der komplette Leitfaden zur Glasfaserproduktion
- Gewinnbringenden Prototyp bauen: Schritt-für-Schritt-Anleitung für schnelle Produktentwicklung
- Effizienz Ihrer Druckluftkompressor-Systeme steigern: Bewährte Tipps & Strategien
- Wie Lufttrockner funktionieren: Druckluft sauber & effizient halten
- Umfassender Leitfaden: Verunreinigungen aus Druckluft entfernen
- Schritt-für-Schritt: Hydraulikschlauch an Schwergerät austauschen
- Metalldrehfutter selbst bauen: Professionelle Anleitung
- Wärmerückgewinnungstrockner erklärt: Für trockene, hochwertige Druckluft
- Drehzahnkompressor verstehen: Funktionsweise erklärt
- Druckluftsystem erneuern: Neujahrsvorsatz für Sicherheit & Effizienz