¿Por qué solo obtengo 1.5V en los dos terminales de la carga aunque la tensión de entrada es de 12 V?

1

He hecho esta pregunta anteriormente: ¿Por qué este par de IGBT murieron en silencio?

Algunas de esas personas geniales me aconsejaron que no jugara con voltajes altos, así que estoy aquí con otra pregunta con voltajes bajos.

Por favor, eche un vistazo al siguiente diagrama de circuito:

simular este circuito : esquema creado usando CircuitLab

Aquí está el código Arduino para encender y apagar los transistores para crear una señal tipo CA.

int Phase1TransistorA = 3;
int Phase1TransistorB = 5;
int Phase2TransistorA = 6;
int Phase2TransistorB = 9;

int t = 50; //frequency
int p = 7; // pulse width
float GateDischargeTime = 0.000090f;

void setup()
{
  pinMode(Phase1TransistorA, OUTPUT);
  pinMode(Phase1TransistorB, OUTPUT);
  pinMode(Phase2TransistorA, OUTPUT);
  pinMode(Phase2TransistorB, OUTPUT);

}

void loop()
{
  for (int i = 1; i <= p - 1; i++)
  {
    digitalWrite(Phase1TransistorA, HIGH);
    digitalWrite(Phase2TransistorB, HIGH);
    delay(1000 / (4 * t * p * (256 - i)));
    digitalWrite(Phase1TransistorA, LOW);
    digitalWrite(Phase2TransistorB, LOW);
    delay((1000 / (4 * t * p)) - (1000 / (4 * t * p * (256 - i))));
  }

  for (int i = p - 1; i >= 1; i--)
  {
    digitalWrite(Phase1TransistorA, HIGH);
    digitalWrite(Phase2TransistorB, HIGH);
    delay(1000 / (4 * t * p * i));
    digitalWrite(Phase1TransistorA, LOW);
    digitalWrite(Phase2TransistorB, LOW);
    delay((1000 / (4 * t * p)) - (1000 / (4 * t * p * i)));
  }

  delay(GateDischargeTime);

  for (int i = 1; i <= p - 1; i++)
  {
    digitalWrite(Phase2TransistorA, HIGH);
    digitalWrite(Phase1TransistorB, HIGH);
    delay(1000 / (4 * t * p * (256 - i)));
    digitalWrite(Phase2TransistorA, LOW);
    digitalWrite(Phase1TransistorB, LOW);
    delay((1000 / (4 * t * p)) - (1000 / (4 * t * p * (256 - i))));
  }

  for (int i = p - 1; i >= 1; i--)
  {
    digitalWrite(Phase2TransistorA, HIGH);
    digitalWrite(Phase1TransistorB, HIGH);
    delay(1000 / (4 * t * p * i));
    digitalWrite(Phase2TransistorA, LOW);
    digitalWrite(Phase1TransistorB, LOW);
    delay((1000 / (4 * t * p)) - (1000 / (4 * t * p * i)));
  }
  delay(GateDischargeTime);
}

Cuando enciendo mi Arduino y el Transformer, pensé, debería hacer funcionar la tira de LED. Pero no lo hace. Entonces, verifiqué el voltaje en los dos terminales de LED strip & Sorprendentemente obtuve 1.5V en lugar de 12V. Pero justo después del circuito de rectificador, siempre obtengo 12V. Entonces, ¿por qué no estoy obteniendo el voltaje requerido a través de los dos terminales de carga?

    
pregunta Vishal

1 respuesta

3

Q1 y Q3 son seguidores emisores, lo que significa que el voltaje probable proveniente del emisor a la carga será el nivel lógico GPIO de Arduino menos unos 0.6 voltios. No obtendrá 12 voltios porque esos transistores no están configurados para funcionar como "conmutadores".

Pruebe los transistores PNP y un traductor de nivel: -

EsteesunejemplotípicodeunpuenteHqueusaestaidea:-

Este impulsa un motor como carga y usa transistores bastante potentes, pero es escalable para reducir las necesidades de energía. Tenga en cuenta que los transistores inferiores (NPN) se conducen directamente desde los niveles lógicos.

Como nota aparte, parece que tiene un tapping de 6V en su secundario y esto producirá un voltaje máximo de aproximadamente 8,5 voltios y, después de la rectificación, el voltaje de CC será más como 7V y no 12V.

    
respondido por el Andy aka

Lea otras preguntas en las etiquetas