Neu: Die KI-Firewall überwacht die gesamte Plattform und erklärt jeden Vorfall in einfachen Worten. So funktioniert es

Beim Booten des Pi zieht das Relais kurz an, und das Bewässerungsventil öffnet sich. In welchem Zustand sind die GPIOs beim Booten?

Beim Booten des Pi zieht das Relais kurz an, und das Bewässerungsventil öffnet sich. In welchem Zustand sind die GPIOs beim Booten?

Gelöst 5 4

Von Türkçe mit KI übersetzt ·

Ich verwende einen Pi Zero 2 W für die Gartenbewässerung. Eine 4-Kanal-Relaiskarte steuert 24V-AC-Ventile an, ich öffne und schließe die Ventile per Befehl von Hermetry, und die Bodenfeuchte wird von dort ebenfalls grafisch dargestellt. Es funktioniert wirklich gut, aber es gibt ein Problem: Jedes Mal, wenn der Pi neu startet (zum Beispiel nach einem Stromausfall), öffnet sich Ventil 1 für einige Sekunden und schließt sich dann, sobald das Skript läuft. In einer Nacht bei einem Stromausfall kam Wasser aus der Leitung, was auch den Nachbarn überrascht hat.Am Anfang des Skripts setze ich den Pin auf HIGH (die Karte ist active-low). Aber ich weiß nicht, was passiert, bis das Skript läuft. In welchem Zustand sind die GPIOs beim Booten?

♥ 0

Von Türkçe mit KI übersetzt ·

Welche Pins verwendest du? Bemerkst du es?

♥ 0

Von Türkçe mit KI übersetzt ·

Ventil 1 ist GPIO22, Ventil 2 ist GPIO23, 3 und 4 sind GPIO24, GPIO25. Bei allen passiert eigentlich dasselbe, aber am meisten ist uns Ventil 1 aufgefallen.

♥ 2

Von Türkçe mit KI übersetzt ·

Könnte das Netzteil zu schwach sein? Ich habe gelesen, dass das Relais flattert, wenn die Spannung beim Start einbricht.

Modbus sadece register'dır, ta ki olmayana kadar.
♥ 0

Von Türkçe mit KI übersetzt ·

Ich denke nicht, dass es an der Stromversorgung liegt, es ist genau die Situation, die du beschreibst. Beim Start initialisiert der Pi GPIO0-8 mit dem internen Pull-up (HIGH) und GPIO9-27 mit Pull-down (LOW). Deine Pins liegen alle im Bereich 9-27, also sind sie bis das Script läuft LOW. Die Platine ist active-low, also LOW = Relais angezogen = Ventil offen. Dasselbe hatten wir auf dem Versuchsaufbau in unserem Labor.
Es gibt zwei Lösungen, beide zusammen sind am sichersten:
1. Füge in /boot/firmware/config.txt eine Zeile hinzu, die die Pins früh beim Booten als Ausgang mit HIGH setzt, ohne auf das Script zu warten:

gpio=22-25=op,dh

Dies wird in der Firmware-Phase angewendet, dennoch kann im allerersten Moment nach dem Einschalten ein sehr kurzes LOW auftreten. Deshalb:
2. Setze von jedem Relaiseingang einen 10k-Pull-up-Widerstand nach 3V3. So bleibt der Eingang auch dann HIGH, wenn der Pi ihn gar nicht ansteuert.
Außerdem sollte das Script auf der Hermetry-Seite die Ventilzustände als Telemetrie senden, etwa valve1_open: 0, damit du nach einem Ausfall im Dashboard den echten Zustand siehst.

Akzeptierte Lösung♥ 1

Von Türkçe mit KI übersetzt ·

Ich habe die Zeile in config.txt eingefügt, das Schalten beim Hochfahren ist fast vollständig verschwunden; bei der Messung blieben nur noch einige hundert Millisekunden. Als ich auch die Pull-up-Widerstände eingesetzt habe, war auch das weg. Das Wasser kommt jetzt nicht mehr, bevor das Ventil öffnet, und der Nachbar ist auch erleichtert 😄 Danke Cansu.

♥ 0
Ansicht von 6 Beiträgen – 1 bis 6 (von insgesamt 6)
  • Du musst angemeldet sein, um auf dieses Thema antworten zu können.

Mitdiskutieren

Melde dich an, um Fragen zu stellen und zu beantworten, hilfreiche Beiträge mit „Gefällt mir“ zu markieren und die Antwort zu kennzeichnen, die dein Problem gelöst hat. Jeder Beitrag bringt Punkte und Stufen.

Teilen