Autor Tema: Registro de desplazamiento con 595, problema de multiplexado  (Leído 12342 veces)

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

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #15 en: 02 de Marzo de 2018, 00:49:58 »
 
El ULN y el TPIC los contemplé al plantearme el diseño, pero como el prototipo con los 74HC595 funcionó perfectamente, lo dejé así.

De todas formas en el diseño final actual, los displays están luciendo mucho, demasiado, eso me deja bastante margen para reducir el consumo, bien aumentando las resistencias limitadoras, bajando la frecuencia del timer, o por software reduciendo el número de encendidos, puede que así resuelva el problema, si es que viene por el consumo.

Cambiar a los TPIC o el ULN, también implica cambiar los displays de cátodo común a ánodo común, si el fabricante los hace idénticos de tamaño y patillaje, no sería muy complicado cambiar todo el diseño. Incluso llegado el caso, me plantearía multiplexar con 4 transistores, y reduzco el numero de chips a la mitad, porque estos TPIC son muchísimo más caros que los 74HC595, entre 7 y 10 veces.

Ahora voy a ver si resuelvo el problema por software, y si no lo cambiaría por los TPIC. Si lo tuviera que hacer de nuevo, está claro que no lo haría con los HC595, se ven demasiado frágiles para manejar este tamaño de displays, aunque aguantan sin problemas, no se ha quemado nada.

De momento ya he cambiado el software para hacer un multiplexado a 4, como he dicho. En cada interrupción solo enciendo la mitad del registro de desplazamiento, le he pasado la actualización al cliente, y en cuanto lo pruebe veremos. Yo aquí lo probaré con el prototipo, a ver si las señales en los colectores de los transistores cambian a algo que me parezca más familiar.

Como alternativa a los ULN2803, también están los MIC2981 y MIC2982, que permiten controlar el ánodo, para poder usar displays de cátodo común como los que monto ahora.
« Última modificación: 02 de Marzo de 2018, 01:02:13 por planeta9999 »

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #16 en: 03 de Marzo de 2018, 13:23:54 »
 
Claudicó el cliente, menos mal, le voy a cambiar el diseño con los STPIC6D595 en lugar de los 74HC595, estos STPIC son de ST, más baratos que los de Texas. Eso me obliga también a poner los displays de ánodo común. Y ya puestos se lo voy a multiplexar a 4 y así instala la mitad de chips porque estos son bastante más caros que los 74HC595, con lo rápido que es el micro (un STM32F405) no creo que hayan problemas de parpadeos.

De paso me ha pedido algunos cambios más, como incluir un regulador conmutado de 5v 5A, almacenar los ficheros de sonidos en un chip de memoria externo en vez de tarjeta SD, y probar si con un Kinetis más barato funciona el reproductor de sonido.  Se los he aceptado todos sin rechistar y sin cobrarle nada, porque me interesa que se quede mi máquina de pick and place TVM802, para poder comprarme yo la Neoden4.

Una duda que tengo, es si podría prescindir de resistencias limitadoras entre los TPIC y los displays, al usar multiplexado. Esto ya lo estuve pensado con el diseño actual, para simplificar las tareas de ensamblaje, ahora instalo dos arrays 1206 de 4 resistencias por cada 74HC595. En teoría con el mutiplexado puedo regular el brillo de los displays, y por lo tanto el consumo medio.
« Última modificación: 03 de Marzo de 2018, 15:36:11 por planeta9999 »

Desconectado AcoranTf

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1099
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #17 en: 03 de Marzo de 2018, 14:11:07 »
Planeta9999 en su dia realice la libreria del TPIC6C596, para Proteus, ya que en aquel tiempo no la incluia. No se si las nuevas versiones la incluyen de origen. Si la necesitas la puedes bajar de este enlace: http://www.todopic.com.ar/foros/index.php?action=dlattach;topic=41684.0;attach=26735

Saludos.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #18 en: 03 de Marzo de 2018, 15:34:33 »
Planeta9999 en su dia realice la libreria del TPIC6C596, para Proteus, ya que en aquel tiempo no la incluia. No se si las nuevas versiones la incluyen de origen. Si la necesitas la puedes bajar de este enlace: http://www.todopic.com.ar/foros/index.php?action=dlattach;topic=41684.0;attach=26735

Saludos.

Gracias, pero no uso Proteus, hago los PCB con Eagle y directo al chino, tampoco uso programas de simulación.


Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #19 en: 03 de Marzo de 2018, 23:39:27 »
Hola planeta9999, no te recomendaría eliminar las resistencias limitadoras, de hecho, lo que te recomiendo, es que uses un valor lo más grande posible para estas resistencias, alargando los tiempos de encendido a su máximo posible. Con esto conseguirás la mayor duración por parte de los display.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #20 en: 04 de Marzo de 2018, 02:10:04 »
Hola planeta9999, no te recomendaría eliminar las resistencias limitadoras, de hecho, lo que te recomiendo, es que uses un valor lo más grande posible para estas resistencias, alargando los tiempos de encendido a su máximo posible. Con esto conseguirás la mayor duración por parte de los display.

Un saludo.

Atte. CARLOS.


Ok, gracias Chaly.
Ya he pedido a Mouser todos los componentes para el nuevo diseño, he puesto 3 valores de arrays para probar.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #21 en: 04 de Marzo de 2018, 02:35:54 »

Una cosa más Chaly. ¿ Me podrías decir que valores dar a las resistencias para controlar los ánodos comunes de los displays y los led ?. El circuito va a estar multiplexado con 4 grupos de transistores, usando el esquema adjunto, controlados por un microcontrolador STM32F405 alimentado a 3.3v

Me he pedido a Mouser estos transistores.

PNP,   MJD32CT4
PNP,   NJV4030PT3G
PNP,   MJD45H11-1G

NPN,  BC817-25LT3G


Desconectado Chaly29

  • Moderador Global
  • DsPIC33
  • *****
  • Mensajes: 4315
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #22 en: 04 de Marzo de 2018, 19:51:55 »
Hola planeta9999, teniendo en cuenta que la salida del micro es de 3.3V, y el circuito a usar es el indicado por vos y alimentado por 12V como se indica en la imagen, pues la resistencias serán de los siguientes valores:

R1= 2K7
R2= no usar
R3= 220 ohms 1W
T1= BC817-25LT3G
T2= MJD32CT4 (Hfe= 20)

R1= 22K
R2= no usar
R3= 2K2
T1= BC817-25LT3G
T2= NJV4030PT3G (Hfe= 200)

R1= 6K8
R2= no usar
R3= 680 ohms
T1= BC817-25LT3G
T2= MJD45H11-1G (Hfe= 60)

Y si la alimentación de los display fuese de solo 5V (como creo que estás usando) los valores serían los siguientes:

R1= 2K7
R2= no usar
R3= 82 ohms 1/2W
T1= BC817-25LT3G
T2= MJD32CT4 (Hfe= 20)

R1= 22K
R2= no usar
R3= 820 ohms
T1= BC817-25LT3G
T2= NJV4030PT3G (Hfe= 200)

R1= 6K8
R2= no usar
R3= 220 ohms
T1= BC817-25LT3G
T2= MJD45H11-1G (Hfe= 60)

Lógicamente esos valores pueden ser mejorados, ya que no dispongo de la corriente exacta máxima que conducirán los display, los cálculos anteriores están realizados para una corriente máxima de 1A (creo es suficiente para tu aplicación), y tal como puedes ver, el transistor que más te conviene es el NJV4030PT3G por su alta ganancia.

A los display, si los refrescas de a uno y teniendo en cuenta que posees 4, pues conseguiríamos un duty cycle por display de máximo 25%, con este duty no te recomiendo que cada segmento trabaje a más del 200% de su corriente nominal.
Pero sería conveniente que comentes que corriente nominar recomienda el fabricante del display, porque si tenemos en cuenta que con un duty del 50% te recomendaría una corriente máxima del 150%, pues en una de esas te convendría refrescar de a grupos de a dos.
Bajo cualquier condición, la frecuencia de refresco sería mejor usarla por sobre los 100Hz, por debajo de esta frecuencia, existen personas que pueden ver el destellar de los led's y es algo muy incómodo.

Espero te sea de ayuda.

Un saludo.

Atte. CARLOS.

La teoría es cuando se sabe todo y nada funciona. La práctica es cuando todo funciona y nadie sabe por qué.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #23 en: 04 de Marzo de 2018, 20:27:51 »


Gracias Chaly. De momento no tengo aún los datasheet de los displays, me los tienen que pasar. Los displays van a 5 voltios, el esquema lo encontré por Google, seguramente era originalmente para controlar alguna bombilla.

Creo que ahora si, con los TPIC va a quedar mucho mejor, me va a tocar rediseñarlo todo, pero creo que es mejor a dar algo que luego de problemas.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #24 en: 20 de Abril de 2018, 11:03:39 »
Sigo teniendo problemas con los registros de desplazamiento, hay que ver que calvario. Al pasar el diseño a los TPIC y multiplexado a cuatro transistores, la cosa ha mejorado bastante.

Pero sigo teniendo un problema, que en el anterior diseño también tenía. En el prototipo original en una sola placa compacta, iba todo perfecto, es al partir el circuito en 5 placas que están unidas con cables planos de 34 cm, cuando empiezan los problemas.

El conjunto son placa principal y 4 placas más, conectadas en serie de una a la siguiente con cables planos. Si conecto la principal y una placa, todo va bien, pero en cuanto empiezo a conectar el resto de placas, empiezan los problemas, los segmentos de los displays se vuelven locos e inestables.

Al final se me ocurrió que podría tener relación con el largo total de los cables y algún tema de impedancias de las lineas de Reloj y Latch, porque al tocar con el dedo en los pines de esas lineas en la última placa, el problema cesa. Pensando en como se cierran las lineas de CAN bus, se me ocurrió poner, en la última placa, resistencias entre masa y cada linea (RELOJ y LATCH), con eso ha mejorado bastante y de hecho pensé que ya estaba arreglado. Pero aún sigue apareciendo el problema aunque mucho menos, y de nuevo CESA al tocar con el dedo sobre los pines de RELOJ y LATCH de la última placa, sobre todo sobre la linea de RELOJ.

¿ Se os ocurre que puede ser ?. por más que busco por Google, sobre problemas con registros de desplazamiento con lineas largas, no encuentro nada. Tal vez tenga que cerrar la linea de la última placa con condensadores o con resistencias de otros valores, o de la última placa conectar a la primera tambien esas lineas de RELOJ y LATCH. O poner esas resistencias en todas las placas (RELOJ-MASA, LATCH-MASA, con resistencias de 1K)
« Última modificación: 20 de Abril de 2018, 13:01:12 por planeta9999 »

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #25 en: 20 de Abril de 2018, 12:22:07 »
hola planeta9999 .
y disculpa por mis pocos conocimientos de electronica hardware  .

estoy con Chaly29
Citar
1) Las resistencias de base de los NZT es demasiado chica, deberías de subir su valor para reducir la corriente de base, o terminarás quemándolos.

y tambien veo que si antes funcionava
Citar
En el prototipo original en una sola placa compacta, iba todo perfecto, es al partir el circuito en 5 placas que están unidas con cables planos de 34 cm, cuando empiezan los problemas.

podria ser que  haya un problema de falta de seccion de cobre en el cableado no estoy muy al dia pero por probar  , tampoco se si existen cables planos con mas seccion , tambien la serie 74xxxx son muy propensos al ruido .








Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #26 en: 20 de Abril de 2018, 12:41:04 »
hola planeta9999 .
y disculpa por mis pocos conocimientos de electronica hardware  .

estoy con Chaly29
Citar
1) Las resistencias de base de los NZT es demasiado chica, deberías de subir su valor para reducir la corriente de base, o terminarás quemándolos.


Eso ya se arregló, al pasar a los TPIC con ánodo común, controdos por parejas NPN-PNP con los valores que me indicó Chaly.


Citar
y tambien veo que si antes funcionava

podria ser que  haya un problema de falta de seccion de cobre en el cableado no estoy muy al dia pero por probar  , tampoco se si existen cables planos con mas seccion , tambien la serie 74xxxx son muy propensos al ruido .


Parece más bien un problema de impedancias, al usar cables largos, algo he encontrado por Google. Las sugerencias que se hacen es montar buffers en las salida de cada placa con trigger schmitt (74LS14 o similares). Lo que tengo aquí ahora mismo son los HEF4050, estos son buffers no inversores, voy a probar a poner un chip a la salida de cada placa, para amplificar las señales de reloj y latch.

Es una cruz lo que llevo con este diseño. Cuando todo parecía que funcionaba, en el prototipo en una sola placa compacta, al partirlo en cinco placas unidas con cables planos empiezan los problemas.

Luego el cliente, que se encapricha con que los datos de configuración y ciertos contadores, en vez de guardarse en tarjeta SD, quiere que se guarden en una eeprom, y venga a cambiar el circuito, añadir la dichosa eeprom 25LC080 y vuelta a programar. Toda la noche currando sobre el puñetero chip, porque no me funcionaba, y al final era por la velocidad excesiva del puerto SPI, que por omisión el Cubemx me la dejaba a 42Mhz, cuando el chip no aguanta más de 3Mhz a 3.3v.

Casi al mismo tiempo, más caprichos de cliente, no quiere que los archivos de sonidos se guarden en tarjeta SD, los quiere tambien en un chip, y vuelta a empezar. A buscar una flash, esta una 25FL256, y a cambiar todo el programa. Y a todo esto con prisas y con presiones.

Que angustia, por dios,  :D :D :D :D
« Última modificación: 20 de Abril de 2018, 12:55:18 por planeta9999 »

Desconectado Sispic

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 1700
    • winpic800
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #27 en: 20 de Abril de 2018, 13:14:00 »
seguro lo consigues planeta9999  ;-)

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #28 en: 20 de Abril de 2018, 13:22:38 »
seguro lo consigues planeta9999  ;-)


Si, al final sale siempre, pero con cada enganchón de estos, envejezco diez años de golpe.  :oops:

Ahora estoy probando a conectar con dos cables vulgares, las lineas de reloj y latch, de la última placa a la primera, para que quede conectado en círculo. En el diseño anterior, estaba así, y no tenía este problema, aunque tenía otros. Luego probaré a ver si poniendo un buffer a la salida de cada placa, se resuelve el problema de una manera más aseada.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Registro de desplazamiento con 595, problema de multiplexado
« Respuesta #29 en: 20 de Abril de 2018, 13:57:58 »

Ya conseguí que funcione, pero con una solución poco elegante. He puesto una resistencia de 560 ohm entre la señal de reloj y masa en la ultima placa de la cadena, y además he conectado dos cables de las señales de reloj y latch desde la última placa a la placa principal.

Ahora los segmentos de los displays ya no bailan. Al principio probé solo con los dos cables y sin la resistencia, pero también bailaba todo.

Ahora lo que necesito, con urgencia es que funcione para enviar el prototipo, que ya debía de estar de camino hace dos días. Como no es versión final para producción, ya cambiaré el diseño de los PCB, bien para añadir buffers entre placas o añadir un conector de cable plano para conectar la última placa con la primera, además de poner la resistencia de 680 ohm en la última placa.

Porque ocurre todo esto, ni idea, supongo que temas de impedancias por cables largos en toda esta cadena de placas conectadas en serie.