Autor Tema: Duda de coneccionado de ULN2xxx  (Leído 2767 veces)

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

Desconectado diegoap

  • PIC10
  • *
  • Mensajes: 20
Duda de coneccionado de ULN2xxx
« en: 13 de Abril de 2011, 11:36:21 »
Buenas gente. Tengo una duad con el coneccionado del uln y en general si el circuito esta correcto.
Lo que intento hacer es manejar 32 leds q se alimentan con 12V, y tienen que tener el efecto de prenderse gradualmente, por lo que se me ocurrio hacerlo con el PWM del micro, manejando el duty de la señal cuadrada. Aunque el programa por ahora no hace mas que multiplexar dejando fijo el duty a 50% .
El problema es el proteus no me simula bien el mux de 16 q puse, el 4067. Alguien podria darme una mano porfa ???.
Muchas Gracias.

Les dejo el diagrama del circuito. No dibujo los 32 leds, para no complicar el circuito, se sobrentiende que para todos es lo mismo.

Circuito:



Codigo:
     
Citar
int8 PB=0;
int8 i=0;

void main()
{

   setup_adc_ports(NO_ANALOGS);
   setup_adc(ADC_OFF);
   setup_psp(PSP_DISABLED);
   setup_spi(SPI_SS_DISABLED);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
   setup_timer_1(T1_DISABLED);
   setup_timer_2(T2_DIV_BY_4,249,1);
   setup_ccp1(CCP_PWM);
   set_pwm1_duty(0);
 
 output_b(0x20);
   
   // TODO: USER CODE!!
   
while(true){

   
   for(i=0; i<32; i++){
      if(i<16){
         output_b(PB);
         output_low(PIN_B4);
         output_high(PIN_B5);
         PB++;
         if(PB==16)
            PB=0;
         delay_ms(50);
      }
      else{
         output_b(PB);
         output_high(PIN_B4);
         output_low(PIN_B5);
         PB++;
         if(PB==16)
            PB=0;
         delay_ms(50);
      }   
   }

}
« Última modificación: 13 de Abril de 2011, 11:46:57 por diegoap »

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Duda de coneccionado de ULN2xxx
« Respuesta #1 en: 13 de Abril de 2011, 11:48:20 »
  No veo bien la imagen, pero me parece que hay un error. Yo veo que tenés una tensión de 12V que va al ULN y también parece ir a los cátodos de los leds. Sí es así, nunca funcionaría ya que los cátodos deberían ir a GND
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado diegoap

  • PIC10
  • *
  • Mensajes: 20
Re: Duda de coneccionado de ULN2xxx
« Respuesta #2 en: 13 de Abril de 2011, 11:58:04 »
Pues los ánodos están a 12V, los cátodos a GND por medio del ULN2xxx, por lo que cuando pongo un "1" en la entrada del uln, el transistor se cierra y pone a GND la salida del ULN2xxx . En resumen, los cátodos estan puestos a GND como tu dices.

Desconectado AngelGris

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2480
Re: Duda de coneccionado de ULN2xxx
« Respuesta #3 en: 13 de Abril de 2011, 12:07:35 »
Pues los ánodos están a 12V, los cátodos a GND por medio del ULN2xxx, por lo que cuando pongo un "1" en la entrada del uln, el transistor se cierra y pone a GND la salida del ULN2xxx . En resumen, los cátodos estan puestos a GND como tu dices.

  Ah, bueno. Yo veía mal el dibujo y parecía que el cátodo quedaba conectado directamente a la fuente de 12V.
  Pasando al código, no veo cuando vas haciendo el cambio de dutycicle. Si noto cuando vas cambiando las salidas mediante el puertoB del PIC, pero tené en cuenta que al haber puesto la línea "set_pwm1_duty(0);" y nunca ir modificando eso en teoría los leds nunca encenderían.
De vez en cuando la vida
nos besa en la boca
y a colores se despliega
como un atlas

Desconectado Maxtronic

  • PIC10
  • *
  • Mensajes: 27
Re: Duda de coneccionado de ULN2xxx
« Respuesta #4 en: 13 de Abril de 2011, 14:03:15 »
En el pdf del chip esta lo necesario para saber como conectarlos.
Otra cosa que no sepas electrónica y lo hagas sea por jobi.

Desconectado septiembre_negro

  • PIC18
  • ****
  • Mensajes: 310
Re: Duda de coneccionado de ULN2xxx
« Respuesta #5 en: 13 de Abril de 2011, 23:38:33 »
En el pdf del chip esta lo necesario para saber como conectarlos.
Otra cosa que no sepas electrónica y lo hagas sea por jobi.


Upps el que esta dispuesto a criticar esta dispuesto a ayudar  maxtronics  :shock: :shock: :shock:

 Acaso la electrónica solo debe estar en manos de aquellos afortunados que tuvimos la posibilidad de una educación formal?
O que es lo que intentas decir con eso de que solo lo hace como jobi?.
 Cuidado que del plato a  la boca se cae la sopa, muchos de los grandes maestros de este y otros tantos foros no tienen educación formal, y lo hacen como tú dices solo por jobi.



Desconectado diegoap

  • PIC10
  • *
  • Mensajes: 20
Re: Duda de coneccionado de ULN2xxx
« Respuesta #6 en: 20 de Abril de 2011, 11:18:48 »
Pues en mi caso si tuve el agrado y fortuna de formarme en la electronica, bastante bien, pero como dice mi post al principio, simplemente quiero corroborar lo expuesto. Por si alguno tienen ese famoso truquito por simple experiencia, ese as bajo la manga, que hace que me pueda dar un buen consejo.
Conozco el ULNxxx, pero simplemente queria saber si a alguien se le ocurria algo mejo al ver lo que hice, a modo foro. Creo que fue de mal gusto ofender de esa manera.
En el codigo, me equivoque, debia poner "set_pwm1_duty(50);", solo para probar lo pongo a % 50.
Si entonces corroboran que esta bien conectado el ULN, el problema es que el Proteus no me lo esta simulando correctamente. A lo mejor alguno tuvo que simularlo y pudo hacerlo andar haciendo algo especifico en el programa.
Un Saludo.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: Duda de coneccionado de ULN2xxx
« Respuesta #7 en: 20 de Abril de 2011, 11:38:21 »
Hola.

En algún hilo por ahí recuerdo que el ULN no se simula bien en la parte de la alta impedancia ...

Saludos
El papel lo aguanta todo

Desconectado diegoap

  • PIC10
  • *
  • Mensajes: 20
Re: Duda de coneccionado de ULN2xxx
« Respuesta #8 en: 21 de Abril de 2011, 23:23:32 »
Me parecia que no lo simulaba bien, lo estaba usando correctamente segun mi conocimiento, y el problema es entonces el proteus...
Alguien sabe de alguna manera para simularlo correctamente ???.
Un Saludo.


 

anything