Autor Tema: Simulacion en proteus  (Leído 4122 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado massi

  • PIC10
  • *
  • Mensajes: 6
Simulacion en proteus
« en: 07 de Enero de 2018, 04:07:51 »
Hola. Alguien sabría como poder encender el led (11v 700mA). El programa del pic envía una señal de salida en RA1. Estimo que la ganancia de la configuracion darlington (tip 31 y bc548B) debe andar por los 25000.
Gracias

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Simulacion en proteus
« Respuesta #1 en: 07 de Enero de 2018, 11:35:58 »
Primeor.... que diodo tenes que tenga 11V y encima pida 700mA.

Segundo... si es de 11V quiere decir que tenes 1V para jugar con la caida de tension sobre el transistor, eso ya para un BJT es complicado, ya que por ejemplo la saturacion del TIP31 es de 1.2V, un darlington tambien es bastante la caida de tension, ejemplo para 700mA el TIP115 tiene una caida de 0.9V, asi que estas muy cerca del borde.

Tercero... El led a no ser que lo alimentes con una fuente de corriente, necesitas si o si una resistencia en serie para limitar la corriente. El resto de tension de lo que cae en el led + lo que cae en el transistor, es de donde vas a tener que sacar la resistencia, por ejemplo, si quisieramos 700mA, tenemos el led de 11V, y nuestro transistor que tiene un VCEsat de 0.9V entonces esa resistencia se obtiene de 0.1V/700mA ( 15mohms)

-----------------------------------------------------------------------

Si el Led no consume esos 11V y es menor ( 9V por ejemplo), podes hacer asi:

https://cdn.sparkfun.com/assets/learn_tutorials/1/9/3/npn-switch-led.png
(imagen de internet)

Siendo el transistor un TIP115 por ejemplo

De RA1 tenes la primer resistencia (RA1) que es la de base, para 700mA necesitas ( tiene un hfe de 1000 para 1A) 700ma/1000 = 0.7mA , por lo tanto necesitarias una resistencia maxima de
5V - 1.4V / 0.7mA = 5142ohms

-------------------------------------------------------------------------------------------

La otra que queda es un MOSFET, pero primero... asegurarse que los datos que decis del led son correctos.
« Última modificación: 07 de Enero de 2018, 16:30:16 por KILLERJC »

Desconectado massi

  • PIC10
  • *
  • Mensajes: 6
Re:Simulacion en proteus
« Respuesta #2 en: 07 de Enero de 2018, 15:29:05 »
Gracias por tu respuesta killer.
El led no es de 11, son 2 leds de 6v 700mA en serie, le reste 1v para usar en la caida de tensión, logicamente los leds no iluminaran al máximo. No le coloqué resistencia porque no sabía si el vce del darlington es exactamente el mismo que el del tip.
 El circuito lo implemente probando con algunos valores que calcule y un potenciometro, obtuve mejor rendimiento con el tip solo que con la configuración darlington, lo que me lleva a pensar que probablemente el vce sea mayor en darlington.

1. Que diseño me recomiendan utilizar para lograr el mayor rendimiento en los leds (en principio con mi diseño seria obtener el menor valor de vce) utilizando tips o en su defecto otro bjt
2. Que diseño me recomiendan en general bjt o mosfet y si es este último por qué, ya que no conozco mucho al respecto solo cuestiones muy básicas.
« Última modificación: 07 de Enero de 2018, 16:13:56 por massi »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Simulacion en proteus
« Respuesta #3 en: 07 de Enero de 2018, 20:09:59 »
Pienso que:

Podrias optar por una alimentacion de 9V y lo manejas con 2 MOSFET (logicos -con un Vg(th) bajo - asi lo manejas directo con el PIC ) a ambos leds... De paso te ayuda en que el LDO ( 7805 ) tiene menos caida de tension.
Lo que te permite usar algun MOSFET pequeño ya que la mayor caida de potencia lo vas a tener en la resistencia, no te digo de usar 12V porque sino la potencia disipada por la resistencia es muy grande.

Usar un BJT, seguramente que en darlington por la ganancia necesaria hace que gran parte de la potencia de la resistencia sea ahora del transistor. Por lo cual el transistor se va a calentar un poco.
Y por ultimo si quisieras tener un ajuste mas de corriente podrias usar esto:

https://www.inventable.eu/2012/08/06/driver-para-leds-de-alta-potencia/

Nuevmamente, en este caso deberias de buscar una tension de entrada "proxima" a la del LED, Asi menos tienen que aguantar los transistores.
Al menos los transistores es mas facil ponerlos sobre algun disipador.
« Última modificación: 07 de Enero de 2018, 20:18:29 por KILLERJC »

Desconectado massi

  • PIC10
  • *
  • Mensajes: 6
Re:Simulacion en proteus
« Respuesta #4 en: 08 de Enero de 2018, 00:52:44 »
El problema es que no es posible separar los leds. Debo poder controlar 12v 1A

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Simulacion en proteus
« Respuesta #5 en: 08 de Enero de 2018, 19:35:17 »
Si podes subir la tension a 15V e implementar algun circuito como el de la pagina que te pase. Solo vas a tener que calcular la resistencia de base, para que cuando tengas 700mA tengas 0.7V sobre la base del BC548 ( 1ohm ), sino intenta igual implementarlo pero con 12V no creo que funcione correctamente, lo que si te va a limitar la corriente a 700mA lo cual es bueno.

Desconectado massi

  • PIC10
  • *
  • Mensajes: 6
Re:Simulacion en proteus
« Respuesta #6 en: 12 de Enero de 2018, 00:32:04 »
Antes de seguir con el tema de obtener la mayor tension de saturación, necesitaria que alguien me ayude a saber por qué en ninguno de los casos logro encender el led.

El código del programa es:
Código: [Seleccionar]
#include <16F628A.h>

#FUSES HS
#use delay(crystal=20Mhz)
#FUSES NOWDT
#FUSES NOPUT
#FUSES NOPROTECT
#FUSES NOBROWNOUT
#FUSES MCLR
#FUSES NOLVP
#FUSES NOCPD
#define led1 PIN_A1
#define led2 PIN_A2

void main()
{
while (1)
 {
    int i;
    for ( i = 0;i < 3; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, TRUE);
        delay_ms(1000);
         output_bit(led1, FALSE);
        output_bit(led2, FALSE);
        delay_ms(700);
    }
   
   
    for (i = 0;i < 7; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, TRUE);
  delay_ms(300);
  output_bit(led1, FALSE);
  output_bit(led2, FALSE);
  delay_ms(280);
    }
 
   
    for (i = 0;i < 15; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, FALSE);
  delay_ms(250);
  output_bit(led1, FALSE);
  output_bit(led2, TRUE);
  delay_ms(250);
    }
   
   
     for (i = 0;i < 15; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, FALSE);
  delay_ms(100);
  output_bit(led1, FALSE);
  output_bit(led2, TRUE);
  delay_ms(100);
  output_bit(led1, FALSE);
  output_bit(led2, FALSE);
  delay_ms(75);
    }
   
   
    for (i = 0;i < 15; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, FALSE);
  delay_ms(120);
  output_bit(led1, FALSE);
  output_bit(led2, TRUE);
  delay_ms(120);
    }
   
   
    for ( i = 0;i < 20; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, TRUE);
  delay_ms(100);
  output_bit(led1, FALSE);
  output_bit(led2, FALSE);
  delay_ms(100);
    }
   
   
    for ( i = 0;i < 26; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, TRUE);
  delay_ms(25);
  output_bit(led1, FALSE);
  output_bit(led2, FALSE);
  delay_ms(30);
    }
   
   
    for ( i = 0;i < 4; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, FALSE);
  delay_ms(800);
  output_bit(led1, FALSE);
  output_bit(led2, TRUE);
  delay_ms(800);
    }
   
   
    for ( i = 0;i < 30; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, TRUE);
  delay_ms(100);
  output_bit(led1, FALSE);
  output_bit(led2, FALSE);
  delay_ms(100);
    }
   
   
    for ( i = 0;i < 4; i++ ){
        output_bit(led1, TRUE);
        output_bit(led2, FALSE);
  delay_ms(110);
  output_bit(led1, FALSE);
  output_bit(led2, TRUE);
  delay_ms(100);
    }
   
     }
}
« Última modificación: 12 de Enero de 2018, 00:37:27 por massi »

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4069
Re:Simulacion en proteus
« Respuesta #7 en: 12 de Enero de 2018, 04:18:26 »
Creo que no tienes declarados los pines del micro.
Todos los días se aprende algo nuevo.