Tengo un conjunto de ocho válvulas solenoides de 48 Vcc que estoy controlando usando un Arduino. Las señales de apertura y cierre se envían utilizando las líneas SPI de Arduino, que están conectadas a un circuito compuesto por un registro de desplazamiento 74HC595 y dos ULN2803. Tengo una fuente de alimentación de conmutación de 48 Vcc que utilizo para alimentar las válvulas solenoides. El esquema es:
EnelULN2803,cadasolenoideestáconectadoaungrupodedosbasesydoscolectoresparapermitirunlímitedecorrientemásaltoenestecomponente.
Sinotengoningunaválvulasolenoideconectadaaestecircuitoyenvíolaseñalde"solenoides abiertos" desde el Arduino, todo está bien. Obtengo 48 Vcc entre todos los pines positivos y negativos del conector (por ejemplo, entre los pines 1 y 9, 2 y 10, 3 y 11 ...). Pero si tengo los solenoides conectados a este circuito, ocurre un comportamiento extraño.
Si enciendo la fuente de alimentación de 48 Vcc, enciendo el Arduino y envío la señal de "solenoides abiertos", no pasa nada. En este escenario, cuando medí el voltaje entre los pines de los conectores, obtuve varios valores, todos ellos inferiores a 48 Vcc. Algunas veces el voltaje flotaba, sin establecer un valor específico.
Pero si enciendo el Arduino, envío la señal de "solenoides abiertos" y, por último, enciendo la fuente de alimentación de 48 Vcc, todos los solenoides se abren. Una vez que se abren las válvulas, si envío una señal de "solenoides cerrados" y justo después de eso, una señal de "solenoides abiertos" no volverá a pasar.
En resumen, mis solenoides solo se abren si al principio envío la señal de apertura y luego enciendo la fuente de alimentación de 48 Vcc. ¿Alguien sabe lo que podría estar pasando?