Quiero activar una electroválvula de 12 V / ~300 mA usando un 2N2222. Si la base la manejo con un pin digital del Arduino, todo funciona perfecto. Pero si la base la manejo desde un pin del expansor PCF8574, la electroválvula no se activa: en vacío veo 12 V, pero al conectar la válvula el voltaje cae y no abre.
No tengo pines libres en el Arduino y por eso uso el PCF8574 (necesito varias válvulas). Evito relés por espacio. Curiosamente, un motor pequeño sí lo logro activar desde el PCF8574 con el mismo 2N2222.
Estaba viendo que por el tipo de pines que maneja el PCF8574 no deja pasar corriente o muy mínimo y es por eso que no se activa el transistor, no lo activa para la electroválvula, pero si lo activa para un motor pequeño.
Programa y conexionado por favor.
Tendrías que usar transistores PNP o MOSFET-P porque las salidas del PCF manejan 25mA pero cuando están en bajo (LOW), en alto casi no manejan corriente.
De la nota de aplicación de TI
Fijate que las cargas van a Vcc.
Podrías probar poniendo resistencias pull-up o sino manejar los 2222 con algún NPN de baja señal tipo BC548.
Programa
#include <PCF8574.h>
PCF8574 expansor;
void setup() {
expansor.begin(0x20);
expansor.pinMode(0,OUTPUT);
}
void loop() {
expansor.digitalWrite(0, HIGH);
}
Conexión, en este caso puse una batería de 12 pero se alimenta con 12v
Como seria la conexión de la resistencia pull-up? Ya que estuve intentando con eso pero no me funcionaba, tal vez lo estoy conectando de manera incorrecta.
Habría mucha diferencia entre el BC548 y el BC547? el BC547 es el único que tengo, veo que las diferencias son en cuestión de amperaje y voltaje pero entiendo que también puede funcionar
Hi,
Si estas energizando una electroalvula le tienes el diodo en paralelo al coil para evitar el kickback del inductor. Segundo si estas usando una bateria esta tiene suficienta voltaje y corriente para energizar la valvula. Ahora para energizar la valvula puedes usar un mosfet . Para mi yo usaria un transistor darlignton como tip21.
Así me quedo activándolo con transistor como me comentó.
El transistor de arriba es el 2N2222 y el de abajo es el BC547
Pinout 2N2222: 1 Emisor, 2 Base, 3 Colector
Pinout BC547: 1Colector, 2 Base, 3 Emisor
Al conectarlo de esta manera funciona pero me surge una duda, cuando tenia solo el 2N2222 le tenia puesto una resistencia de 150Ω en el pin de base hacia el pin del módulo, la forma en que calculaba la resistencia es la siguiente Rb = V / Ib, pero ahora que se usa el BC547 para activar el 2N2222 se le pondría otra o sin resistencia como se aprecia en la imagen?
Más que nada estoy tratando de resolverlo con los componentes que tengo pero gracias por la respuesta, lo tendré en cuenta más adelante.
Hola @dealy
Una pregunta básica: La dirección que tienes en el código: (0x20) es la exacta de ese modulo???
Si no lo sabes, utiliza el código i2c-scanner para encontrar la correcta.
Un saludo !!
…![]()
Si es esa, utilicé el código i2c-scanner
Hi,
Adjunto foto de como puedes usar dos 2n2222 transistors como si fuera un transistor darlington. El 2n2222 tiene una capacidad de corriente de 600ma. La valvula que usa es de 300 ma.
Sirve perfectamente, el 548 fue solo como referencia, incluso puedes usar otro 2222 como sugiere @tauro0221, al fin y al cabo solo es necesario para invertir la señal.
No es necesaria.
Gracias, con esto logré resolver el problema.


