Autor Tema: contador 0-99 con transitor npn y pnp  (Leído 4834 veces)

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

Desconectado alejandrozama2002

  • PIC10
  • *
  • Mensajes: 10
contador 0-99 con transitor npn y pnp
« en: 05 de Marzo de 2012, 23:18:10 »
hola que tal les pido ayuda ya que me dejaron una practica en la escuela con display de 7 segmentos, he visto varios ejemplo pero todos son diferentes al que me pide el maestro por eso recurro a ustedes ya que no se como realizar el programa, adjunto la imagen para que vean que este contador es diferente a los que se han publicado

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1093
Re: contador 0-99 con transitor npn y pnp
« Respuesta #1 en: 06 de Marzo de 2012, 17:15:11 »
Ese diseño tiene varios errores graves. El primero y mas evidente es que si conectas el transistor NPN de ese modo y con el emisor puesto a GND, tanto el transistor como el microcontrolador que lo ataca corren un serio riesgo de estropearse, ya que no hay ninguna resistencia de base, que limite la corriente a traves de ella. En segundo lugar, la conexion del transistor PNP tampoco es correcta, ya que en caso de utilizar ese tipo de transistor, el display deberia ser de tipo anodo comun y el emisor del transistor iria a Vcc y su colector al anodo del display. En tercer lugar, si se respetase ese montaje a pesar de todo lo anterior, los displays estarian permanentemente encendidos ambos y no se produciria el multiplexado, que supongo es la finalidad del montaje, ya que al estar las bases unidas directamente y los emisores a Vcc, el del PNP a traves de su display y a GND el del NPN, suponiendo que no saliesen ardiendo, quedarian ambos en estado de saturacion  permanente, o sea no servirian de nada.

Saludos.

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: contador 0-99 con transitor npn y pnp
« Respuesta #2 en: 06 de Marzo de 2012, 19:27:04 »
  Me parece que el circuito está correcto, salvo el tema de las resistencias que es algo muy obvio, pero creo que el mismo es mas bien una representación genérica que apunta a la programación, con un 0 en las bases enciende el display derecho y con un  1 enciende el izquierdo, Cada segmento es activo por alto.  Creo que con estos datos tienes como para empezar ¿no, Alejandro?  ;-)
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: contador 0-99 con transitor npn y pnp
« Respuesta #3 en: 06 de Marzo de 2012, 20:20:10 »
Hola

Interesante opción para manejar 2 display con 1 solo pin .... me la voy a robar  :evil:

Saludos
El papel lo aguanta todo

Desconectado alejandrozama2002

  • PIC10
  • *
  • Mensajes: 10
Re: contador 0-99 con transitor npn y pnp
« Respuesta #4 en: 09 de Marzo de 2012, 22:43:30 »
hola saludos y gracias por sus respuestas, la verdad es que a imagne la adjunto el profe al archivo de word donde se encuentra la practica yo la publique tal y como venia, de manera general si se lo que se deve de hacer pero no se como programar unas cosas ademas de que me revuelvo con facilidad y se me pierde la idea. siempre que trato de hacer algo tardo como una hora y termino donde inicie es por eso que pido su ayuda para que me echen la mano.

lo mas paracedi que encontre fue esta publicacion
http://www.forosdeelectronica.com/f24/programas-pic-c-compiler-tutorial-21770/
(vienen varios ejemplo pero ahi se encuentra uno igual a mi imagne solo que esta programa en c y no se mucho en c, ademas de que la simule tal y como esta y no me funciono).

estare pendiente de sus respuestas

Desconectado bigluis

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 511
    • Tutoriales de Qt C++
Re: contador 0-99 con transitor npn y pnp
« Respuesta #5 en: 10 de Marzo de 2012, 01:36:39 »
En el foro hay muchos ejemplos de como hacer un contador de 0 a 99 con display de 7 segmentos, por ejemplo puedes usar este:

Contador 00a99 automatico (7seg)

Basicamente lo unico que debes cambiar son las lineas de control de las bases de cada transistor, en estos ejemplos se utilizan 2 transistores del mismo tipo.

Por ejemplo debes cambiar estas lineas:

Código: [Seleccionar]
do{                        //bucle...
      output_high(PIN_A1);      //2º 7seg off            
      output_low(PIN_A0);         //1º 7seg on
      delay_ms(15);            
      output_b(tab7seg[ i ]);      //muestra por portb digito 7 segmentos
      output_low(PIN_A1);         //2º 7seg on            
      output_high(PIN_A0);      //1º 7seg off
      delay_ms(15);            
      output_b(tab7seg[ j ]);      //muestra por portb digito 7 segmentos            
      }while(TRUE);            //...infinito      

Por unas parecidas a estas:

Código: [Seleccionar]
do{                        //bucle...
      output_b(tab7seg[ i ]);      //muestra por portb digito 7 segmentos
      output_low(PIN_A1);         //Seleccionamos primer display  
      delay_ms(15);                      
      output_b(~tab7seg[8]);      //Apagamos todos los segmentos del primer display
      delay_ms(1);          
      output_high(PIN_A1);      //Seleccionamos el segundo display
      output_b(~tab7seg[ j ]);      //muestra por portb digito 7 segmentos
      delay_ms(15);                      
      output_b(tab7seg[ 8 ]);      //apagamos los 7 segmentos
      delay_ms(1);          
      output_low(PIN_A1);      //2º 7seg off  
      
      }while(TRUE);            //...infinito      

En las líneas anteriores puedes observar que:
Código: [Seleccionar]
output_b(~tab7seg[ 8 ]);      //muestra por portb digito 7 segmentos sirve para apagar todos los segmentos, esto es porque cuando pones el numero 8 en el display enciendes todos los segmentos, por lo tanto la lógica dice que para apagarlos solo debes invertir el código del numero 8.

Ya que el segundo Display funciona de manera inversa al primero debes invertir tambien el código de salida, por lo tanto se pone la línea de código siguiente para apagar el segundo Display.
Código: [Seleccionar]
output_b(tab7seg[ 8 ]);      //muestra por portb digito 7 segmentos
PD.: Agregue ciertos errores al código que deberas modificar por tu cuenta.  :lol:
« Última modificación: 10 de Marzo de 2012, 02:06:49 por bigluis »
Tutoriales de Qt C++

No es necesario que hagamos Grandes cosas, sino que lo que hagamos sea importante.

SI la NECESIDAD es la MADRE del CONOCIMIENTO, SEGURAMENTE la PEREZA su TÍA.

Cuando el ARTE requiere de PRECISION le llamamos CIENCIA

Desconectado jhozate

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1698
Re: contador 0-99 con transitor npn y pnp
« Respuesta #6 en: 10 de Marzo de 2012, 13:27:26 »
que buen circuito, habrá que probarlo y en caso de que funcione quedaria muy fino el refresco usando un timer y toggle en pin.
Ser Colombiano es un Premio, Saludos desde CALI-COLOMBIA