Autor Tema: ¿Porque no funciona este circuito de visualizar 7 segmentos?  (Leído 13688 veces)

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

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
¿Porque no funciona este circuito de visualizar 7 segmentos?
« en: 17 de Abril de 2026, 10:50:19 »
Hola a todos,
De nuevo con una nueva petición de ayuda para ver como puedo conseguir el poder visualizar el valor de 2 contadores en 2 pares de displays de 7 segmentos de ánodo común y alimentados a 12V.

Para el proyecto parte de un esquema realizado con un pic16F870, 4 displays de cátodo común y un driver para los displays del tipo MAX7219. Con esta configuración lo pruebo en Proteus y en físico y funciona perfectamente. Ver imagen adjunta marcada como "PRUEBA OK"

Esa configuración la modifico para visualizar los datos en los displays de ánodo común, pero para ello, dado que el MAX7219, esta pensado para trabajar solo con cátodo común, lo que realizo es la inversión de todas las salidas del MAX7219 de forma que:

1º.- Cambio los display al tipo de ánodo común tanto en físico como en Proteus.
2º.- Para la activación de los datos de los segmentos, los datos los hago pasar por un ULN2803 y de la salida de este al cátodo de cada segmento de cada display.
3º.- Para la habilitación y control de del multiplexado de cada display, monto el arreglo de transistores adjunto captura del esquema Proteus. No puedo adjuntar el fichero de Proteus ya que me indica que es muy grande.
 

El resultado es que en físico no funciona y evidentemente en simulación tampoco. Los display aparecen fluctuando y cuando se trabaja sobre los pulsadores para subir y bajar el valor de los contadores, no cambian nunca de valor (aunque estén fluctuando los displays)
Tambien he probado retirando, en Proteus, los displays y los he sustituido por arreglos de leds para cada segmento.
Además he probado la lógica del arreglo de transistores y del ULN2803 aparte, de manera individual, sin el microcontrolador y sin el MAX7219 y responden perfectamente a cada pulso que se da, de forma manual, a cada segmento y display.

El programa del micro controlador es el mismo en ambos casos.

A ver si alguien me puede decir donde esta el error.

F.
Todos los días se aprende algo nuevo.

Desconectado DominusDRR

  • PIC24H
  • ******
  • Mensajes: 1982
    • Sicoy
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #1 en: 17 de Abril de 2026, 17:27:00 »
Hola a todos,
De nuevo con una nueva petición de ayuda para ver como puedo conseguir el poder visualizar el valor de 2 contadores en 2 pares de displays de 7 segmentos de ánodo común y alimentados a 12V.

Para el proyecto parte de un esquema realizado con un pic16F870, 4 displays de cátodo común y un driver para los displays del tipo MAX7219. Con esta configuración lo pruebo en Proteus y en físico y funciona perfectamente. Ver imagen adjunta marcada como "PRUEBA OK"

Esa configuración la modifico para visualizar los datos en los displays de ánodo común, pero para ello, dado que el MAX7219, esta pensado para trabajar solo con cátodo común, lo que realizo es la inversión de todas las salidas del MAX7219 de forma que:

1º.- Cambio los display al tipo de ánodo común tanto en físico como en Proteus.
2º.- Para la activación de los datos de los segmentos, los datos los hago pasar por un ULN2803 y de la salida de este al cátodo de cada segmento de cada display.
3º.- Para la habilitación y control de del multiplexado de cada display, monto el arreglo de transistores adjunto captura del esquema Proteus. No puedo adjuntar el fichero de Proteus ya que me indica que es muy grande.
 

El resultado es que en físico no funciona y evidentemente en simulación tampoco. Los display aparecen fluctuando y cuando se trabaja sobre los pulsadores para subir y bajar el valor de los contadores, no cambian nunca de valor (aunque estén fluctuando los displays)
Tambien he probado retirando, en Proteus, los displays y los he sustituido por arreglos de leds para cada segmento.
Además he probado la lógica del arreglo de transistores y del ULN2803 aparte, de manera individual, sin el microcontrolador y sin el MAX7219 y responden perfectamente a cada pulso que se da, de forma manual, a cada segmento y display.

El programa del micro controlador es el mismo en ambos casos.

A ver si alguien me puede decir donde esta el error.

F.

Tal vez deberías compartir la parte del código que muestras información hacia los display.
Tengo una idea algo difusa sobre MPLAB Harmony, XC32 con PIC32

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #2 en: 17 de Abril de 2026, 18:54:26 »
El código es el mismo, está realizado como si se tratara de usar displays de cátodo comun. El max7219 no funciona para ánodo común.
El código para cátodo común funciona perfecto.
El problema surge a la hora de invertir las señales que salen del max7219 tanto para los segmentos como para el control de los displays y es ahí donde deja de funcionar
Todos los días se aprende algo nuevo.

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #3 en: 17 de Abril de 2026, 19:14:38 »
- En la salida de segmentos del MAX7219 tenes que ponerle resistencias de pulldown.
- La limitacion de corriente en los segmentos la haces sobre el comun de los digitos -> debe ser en los segmentos (8 resistencias, la del punto decimal algunos la ponen mayor para que no brille tanto en relacion a los segmentos).
- Las de pullup a la salida del ULN2803 no hacen falta.
- Al no tratarse de una carga inductiva no hace falta conectar el pin COM.
- En la activacion del digito se puede hacer algo con menos elementos (2 transistores y 2 resistencias)

Otra cosa para comentar no veo.
Saludos.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #4 en: 18 de Abril de 2026, 00:07:59 »
- En la salida de segmentos del MAX7219 tenes que ponerle resistencias de pulldown.
- La limitacion de corriente en los segmentos la haces sobre el comun de los digitos -> debe ser en los segmentos (8 resistencias, la del punto decimal algunos la ponen mayor para que no brille tanto en relacion a los segmentos).
- Las de pullup a la salida del ULN2803 no hacen falta.
- Al no tratarse de una carga inductiva no hace falta conectar el pin COM.
- En la activacion del digito se puede hacer algo con menos elementos (2 transistores y 2 resistencias)

Otra cosa para comentar no veo.
Saludos.

Gracias por la respuesta, aclaraciones y sugerencias.
Lo que comentas de realizar la activación con menos elementos ¿Cómo sería?
Pero a parte de eso que indicas, que creo que son mejoras, la pregunta sería otra. 
 ¿Porque no se puede ver de forma correcta, el funcionamiento la visualización en Proteus?

F.
« Última modificación: 18 de Abril de 2026, 00:10:57 por Fer_TACA »
Todos los días se aprende algo nuevo.

Desconectado Eduardo2

  • PIC24H
  • ******
  • Mensajes: 1004
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #5 en: 18 de Abril de 2026, 16:14:32 »
 

* fer_taca2.jpg
(13.41 kB, 428x378 - visto 213 veces)
 
R5  depende de la ganancia de Q2

Proteus es terrorífico cuando hay displays multiplexados y mezcla de elementos analógicos con digitales.
Cuando te aparecen mensajes como "Simulation is not running in real time due to excessive CPU load"  o problemas de convergencia es mejor que controles el funcionamiento con el osciloscopio virtual, sin darle bolilla al display.

Para probar usando el ULN2803  busqué un ensayo viejo que tenia guardado:
 

* fer3.jpg
(64.05 kB, 640x400 - visto 223 veces)

Ahi la simulación es perfecta, claro, es todo digital --> En cuanto agregué elementos analógicos fue un desastre. Para ver si se activaban bien los segmentos tenia que poner breakpoints y ver de a uno si estaba bien.
« Última modificación: 18 de Abril de 2026, 16:17:39 por Eduardo2 »

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #6 en: 18 de Abril de 2026, 18:39:21 »
Está muy interesante la configuración de dos transistores que propones, tengo probarla.
Saludos desde Granada, España.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #7 en: 19 de Abril de 2026, 06:05:40 »
   - Tienes que ingresar para ver archivos adjuntos -  
R5  depende de la ganancia de Q2

Proteus es terrorífico cuando hay displays multiplexados y mezcla de elementos analógicos con digitales.
Cuando te aparecen mensajes como "Simulation is not running in real time due to excessive CPU load"  o problemas de convergencia es mejor que controles el funcionamiento con el osciloscopio virtual, sin darle bolilla al display.

Para probar usando el ULN2803  busqué un ensayo viejo que tenia guardado:
  - Tienes que ingresar para ver archivos adjuntos -  
Ahi la simulación es perfecta, claro, es todo digital --> En cuanto agregué elementos analógicos fue un desastre. Para ver si se activaban bien los segmentos tenia que poner breakpoints y ver de a uno si estaba bien.

Gracias por la aclaración Eduardo.
Yo también voy aprobar esa configuración delos 2 transistores

F.
Todos los días se aprende algo nuevo.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #8 en: 20 de Abril de 2026, 17:01:19 »
Eduardo, pues he probado esa configuración de 2 transistores y no veo que funcione.
Siento la confusión. Funciona perfectamente.


F.
« Última modificación: 20 de Abril de 2026, 17:10:59 por Fer_TACA, Razón: Corregir respuesta »
Todos los días se aprende algo nuevo.

Desconectado AleSergi

  • PIC16
  • ***
  • Mensajes: 214
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #9 en: 22 de Abril de 2026, 11:22:58 »
no sé que te lleva a usar de esa forma el max7219... exactamente al revés, culpa de esos display...  pero buehhh...  va mi experiencia lidiando con simulaciones de display led en el proteus.

Olvidate de los transistores, son modelos análogos y parece que le lleva muchísimo tiempo  de cpu al simulador, emplea inversores digitales.
Idem  sucede con las resistencias, ponelas en modo digital, eso esta entre sus propiedades.

Olvidate del resonador y capacitores, decile que el micro anda a tal frecuencia y listo. El uln2803 directamente no lo simula bien cuando maneja varios canales, de nuevo los inversores digitales te salvan.

deja todo reducido a un circuitos lo mas digital posible. Recien entonces empieza a funcionar el simulador aceptablemente....

pd: conoces el udn2981?

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #10 en: 22 de Abril de 2026, 16:11:28 »
pd: conoces el udn2981?

No, no lo conocía
Todos los días se aprende algo nuevo.

Desconectado dogflu66

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3549
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #11 en: 22 de Abril de 2026, 16:33:22 »
Si estas haciendo practicas con proteus por mejorar su uso esta bien, pero tienes módulos reales de todo tipo para realizar practicas de verdad de casi cualquier cosa.
https://www.todopic.com.ar/foros/index.php?topic=14917.msg427017#msg427017
Saludos desde Granada, España.

Desconectado Fer_TACA

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4154
Re:¿Porque no funciona este circuito de visualizar 7 segmentos?
« Respuesta #12 en: 23 de Abril de 2026, 05:24:15 »
Si estas haciendo practicas con proteus por mejorar su uso esta bien, pero tienes módulos reales de todo tipo para realizar practicas de verdad de casi cualquier cosa.
https://www.todopic.com.ar/foros/index.php?topic=14917.msg427017#msg427017

Gracias por la respuesta y la informacion.

F.
Todos los días se aprende algo nuevo.