Novedad: el cortafuegos de IA supervisa toda la plataforma y explica cada incidente con palabras sencillas. Vea cómo funciona

El relé hace clic brevemente al arrancar la Pi y se abre la válvula de riego. ¿En qué estado están los GPIO al arrancar?

El relé hace clic brevemente al arrancar la Pi y se abre la válvula de riego. ¿En qué estado están los GPIO al arrancar?

Resuelto 5 4

Traducido del Türkçe por IA ·

Uso una Pi Zero 2 W para el riego del jardín. Una placa de relés de 4 canales controla válvulas de 24V AC, abro y cierro las válvulas con comandos desde Hermetry, y la humedad del suelo también se grafica desde ahí. Funciona muy bien, pero hay un problema: cada vez que la Pi se reinicia (por ejemplo, tras un corte de luz), la válvula 1 se abre durante unos segundos y luego se cierra cuando se ejecuta el script. Una noche con un corte, salió agua por la tubería y eso sorprendió también al vecino.Al principio del script pongo el pin en HIGH (la placa es active-low). Pero no sé qué pasa hasta que el script se ejecuta. ¿En qué estado están los GPIO al arrancar?

♥ 0

Traducido del Türkçe por IA ·

¿Qué pines estás usando? ¿Lo notas?

♥ 0

Traducido del Türkçe por IA ·

Válvula 1 en GPIO22, válvula 2 en GPIO23, 3 y 4 en GPIO24, GPIO25. En realidad ocurre lo mismo en todas, pero es la válvula 1 la que más notamos.

♥ 2

Traducido del Türkçe por IA ·

¿Podría ser que la fuente de alimentación sea débil? Leí que el relé vibra cuando el voltaje baja durante el arranque.

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

Traducido del Türkçe por IA ·

No creo que sea la alimentación, es exactamente la situación que describes. Al arrancar, la Pi inicializa GPIO0-8 con el pull-up interno (HIGH) y GPIO9-27 con pull-down (LOW). Tus pines están todos en el rango 9-27, así que hasta que se ejecute el script están en LOW. La placa es active-low, así que LOW = relé activado = válvula abierta. Nosotros tuvimos exactamente lo mismo en el banco de pruebas de nuestro laboratorio.
Hay dos soluciones, hacer ambas juntas es lo más robusto:
1. Añade en /boot/firmware/config.txt una línea que configure los pines como salida en HIGH en una fase temprana del arranque, sin esperar al script:

gpio=22-25=op,dh

Esto se aplica en la fase de firmware, pero aun así puede quedar un LOW muy breve en el primer instante tras encender. Por eso:
2. Coloca una resistencia pull-up de 10k desde cada entrada del relé a 3V3. Así la entrada se mantiene en HIGH aunque la Pi no la esté controlando.
Además, en el lado de Hermetry, haz que el script envíe el estado de las válvulas como telemetría, por ejemplo valve1_open: 0, para que después de un corte veas el estado real en el panel.

Solución aceptada♥ 1

Traducido del Türkçe por IA ·

Añadí la línea en config.txt y el pulso al arrancar casi desapareció por completo; al medirlo, solo quedaban unos pocos cientos de milisegundos. Al colocar también las resistencias pull-up, eso desapareció. Ahora el agua no sale antes de que se abra la válvula, y el vecino también respira tranquilo 😄 Gracias Cansu.

♥ 0
Viendo 6 entradas – de la 1 a la 6 (de un total de 6)
  • Debes estar registrado para responder a este debate.

Únete a la conversación

Inicia sesión para preguntar y responder, dar me gusta a las publicaciones útiles y marcar la respuesta que resolvió tu problema. Cada aportación suma puntos y niveles.

Compartir