Beim Booten des Pi zieht das Relais kurz an, und das Bewässerungsventil öffnet sich. In welchem Zustand sind die GPIOs beim Booten?
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?
Bahçe sulaması için Pi Zero 2 W kullanıyorum. 4 kanallı bir röle kartı 24V AC vanaları sürüyor, Hermetry’den komutla vana açıp kapatıyorum, toprak nemi de oradan grafik oluyor. Gayet güzel çalışıyor ama bir sorun var: Pi her yeniden başladığında (elektrik kesintisinden sonra mesela) 1. vana birkaç saniye açılıyor, sonra script çalışınca kapanıyor. Bir gece kesinti olunca hattan su gelmesi komşuyu da şaşırttı.
Script’te en başta pini HIGH yapıyorum (kart aktif-low). Ama script çalışana kadar ne oluyor bilmiyorum. GPIO’lar açılışta hangi durumda oluyor?
Von Türkçe mit KI übersetzt ·
Welche Pins verwendest du? Bemerkst du es?
Hangi pinleri kullanıyorsun? Fark ediyor.
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.
Vana 1 GPIO22, vana 2 GPIO23, 3 ve 4 GPIO24, GPIO25. Hepsinde aynı şey oluyor aslında ama en çok 1. vanayı fark ettik.
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.
Güç kaynağı zayıf olabilir mi? Açılışta voltaj düşünce röle titrer diye okumuştum.
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.
Güç değil bence, tam tarif ettiğin durum. Pi açılışta GPIO0-8’i dahili pull-up ile (HIGH), GPIO9-27’yi pull-down ile (LOW) başlatıyor. Senin pinlerin hepsi 9-27 aralığında, yani açılıştan script çalışana kadar LOW. Kart aktif-low olduğu için LOW = röle çekik = vana açık. Bizim lab’daki deney düzeneğinde aynısını yaşamıştık.
İki çözüm var, ikisini birlikte yapmak en sağlamı:
1. /boot/firmware/config.txt dosyasına pinleri boot’un erken aşamasında çıkış + HIGH yapan satır ekle, script’i beklemez:
gpio=22-25=op,dh
Bu firmware aşamasında uygulanıyor ama yine de güç verildiği ilk anda çok kısa bir LOW kalabilir. O yüzden:
2. Her röle girişinden 3V3’e 10k pull-up direnci koy. Böylece Pi hiç sürmezken bile giriş HIGH kalır.
Bir de Hermetry tarafında script açılışta vana durumlarını valve1_open: 0 gibi telemetri olarak göndersin, kesintiden sonra panoda gerçek durumu görürsün.
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.
config.txt satırını ekledim, açılıştaki açılma neredeyse tamamen gitti, ölçünce ancak birkaç yüz milisaniye kalmıştı. Pull-up dirençleri de takınca o da kayboldu. Vana açılmadan önce su gelmiyor artık, komşu da rahatladı 😄 Teşekkürler Cansu.
- 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.

