¿Por qué el relé activado por un transistor NPN sigue encendido mientras la salida de Arduino está apagada (baja)?

2

Tengo un circuito como se muestra a continuación:

simular este circuito : esquema creado usando CircuitLab

Nota:

En el esquema anterior, algunos pines de Arduino Nano no se muestran por razones de simplicidad. Además, SW1 y SW2 no son interruptores sino sensores como se muestra a continuación:

Aquíestáelcódigoarduino:

//includeLCDlibrary#include<LiquidCrystal.h>//InitializeanLCDobject/*Pinsshouldbementionedinthisorder:ResetEnableData4Data5Data6Data7*/LiquidCrystallcd(7,6,5,4,3,2);intupSensor=11;intdownSensor=10;intcontinuousSwitch=8;intsuddenSwitch=9;unsignedlongcounter=0;voidsetup(){Serial.begin(9600);pinMode(upSensor,INPUT);pinMode(downSensor,INPUT);pinMode(continuousSwitch,OUTPUT);pinMode(suddenSwitch,OUTPUT);//BegintheLCDinterfacelcd.begin(16,2);lcd.print("MOTOR OFF");
}

void loop()
{

  if(counter == 1)
  {
    digitalWrite(suddenSwitch, HIGH);
    delay(1000); //1 Second
    digitalWrite(suddenSwitch, LOW);
  }

  Serial.println("upSensor: " + String(digitalRead(upSensor)));
  Serial.println("downSensor: " + String(digitalRead(downSensor)));

  if(digitalRead(upSensor) == HIGH && digitalRead(downSensor) == HIGH)
  {
    digitalWrite(continuousSwitch, HIGH);
    lcd.setCursor(6, 0);
    lcd.print("ON");
    counter++;
  }

  if((digitalRead(upSensor) == LOW && digitalRead(downSensor) == LOW))
  {
    digitalWrite(continuousSwitch, LOW);
    lcd.setCursor(6, 0);
    lcd.print("OFF");
    counter = 0;
  }

}

Todo funciona bien, excepto el relé RLY2.

No importa si los interruptores sw1 y sw2 están abiertos o abiertos, RLY2 siempre está encendido. Me refiero a que la conexión COMÚN del RLY2 siempre está conectada a la conexión NORMALMENTE ABIERTA. Si mido la salida del pin D9 de arduino, entonces puedo ver que está cambiando de acuerdo con el estado de los interruptores SW1 y SW2. Pero el relé RLY2 siempre está encendido. ¿POR QUÉ ????

Actualizar:

Antes de quitar el transistor:

He añadido un diodo entre el emisor y la tierra. También cambió la resistencia R2 de 1K a 470E.

Tensiones de Q2:

A. Cuando D9 es ALTO:

Collector - Ground ----> 6.15V
Emitter - Ground ------> 0.70V
Base - Ground ---------> 1.40V

Collector - Base ----> 4.75V
Collector - Emitter -> 5.40V
Base - Emitter ------> 0.70V

B. Cuando D9 está BAJO:

Collector - Ground ----> 7.90V
Emitter - Ground ------> 0.70V
Base - Ground ---------> 0.65V

Collector - Base ----> 7.25V
Collector - Emitter -> 7.20V
Base - Emitter ------> 0.50V

Eliminaré el transistor, después de que Trevor verifique los voltajes por encima y se asegure de que el transistor esté enfermo.

Update2:

Después de eliminar el transistor:

Tensiones de Q2:

A. Cuando D9 es ALTO:

Collector - Ground ----> 15.06V
Emitter - Ground ------>  0.15V
Base - Ground --------->  4.03V

Collector - Base ----> 12 V
Collector - Emitter -> 15.6V
Base - Emitter ------> 3.70V

B. Cuando D9 está BAJO:

Collector - Ground ----> 16.90V
Emitter - Ground ------> 0.12V
Base - Ground ---------> 0 V

Collector - Base ----> 16.8V
Collector - Emitter -> 16.4V
Base - Emitter ------> 0.15V

También he medido el transistor:

Base - Collector    --> 647
Base - Emitter      --> 642
Collector - Emitter --> 1
Collector - Base    --> 1
Emitter - Base      --> 1
Emitter - Collector --> 1

Entonces, a partir de las lecturas mencionadas anteriormente, creo que el transistor está bien. Estoy en lo correcto?

Update3:

He puesto nuevo 2N2222 después de quitar el primero:

Tensiones de Q2:

A. Cuando D9 es ALTO:

Collector - Ground ----> 0.76V
Emitter - Ground ------> 0.74V
Base - Ground ---------> 1.52V

Collector - Base ----> 0.74 V
Collector - Emitter -> 0.02V
Base - Emitter ------> 0.77V

B. Cuando D9 está BAJO:

Collector - Ground ----> 10.25V
Emitter - Ground ------> 0.70V
Base - Ground ---------> 0.73V

Collector - Base ----> 9.50V
Collector - Emitter -> 9.55V
Base - Emitter ------> 0.04V

Ahora, mi diagrama parece:

simular este circuito

Update4 (Diagrama de trabajo):

simular este circuito

    
pregunta Vishal

2 respuestas

1

Lamentablemente, no hay garantía de que Arduino pueda tirar de la base tan baja ...

O bien, debes agregar un diodo debajo de ese transistor y reducir la resistencia a 500R para que se encienda más fuerte o mejor, cambia a MOSFETS de canal N.

    
respondido por el Trevor_G
0
  

B. Cuando D9 está BAJO:

     

Emisor - Tierra ------ > 0.70V   Base - Tierra --------- > 0.65V

ese es su problema: cuando D9 está bajo y el emisor está conectado a tierra, no hay forma de que haya observado un diferencial de voltaje entre el emisor y la conexión a tierra, y no hay ninguna forma de que la base esté a 0,65 V por encima del suelo.

Sospecho que una conexión defectuosa o un transistor defectuoso.

Por cierto, no tiene sentido agregar un diodo al emisor - > no tiene sentido.

    
respondido por el dannyf

Lea otras preguntas en las etiquetas