TODOPIC

Misceláneas - Interés General => Off Topic => Mensaje iniciado por: planeta9999 en 01 de Marzo de 2018, 07:28:07

Título: Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 01 de Marzo de 2018, 07:28:07
 
Buenas.

Estoy teniendo un problema con un registro de desplazamiento con 74HC595, un circuito muy simple, multiplexado con dos transistores, que enciende una serie de Leds y displays BCD.

En el prototipo ha funcionado perfectamente, pero al llevarlo a producción me da un problema raro. La única diferencia entre prototipo y placas finales, es el cambio de los displays por unos mayores y los leds que ahora son pasantes de 5mm. El prototipo era una sola placa con toda la circuitería y los displays y leds en miniatura, al llevarlo a producción la placa se ha partido en 5 placas unidas con cables planos. No se si los cables podrían afectar, miden 32cm cada uno y son de los planos en cinta.

El problema es el que se ve en esta foto, hay segmentos del BCD y tambien pasa lo mismo con los led, que están reflejando los mismos segmentos y leds del otro bloque del multiplexado, además lo hacen de manera más tenue, eso descarta software y además ya lo he comprobado. Los dos cátodos del multiplexado se activan por separado alternadamente, como tiene que ser, si fuera problema de software y los dos cátodos se activaran a la vez, entiendo que los leds y los displays lucirían con la máxima intensidad mezclando los datos de ambos, pero no es el caso, ese reflejo fantasma es más tenue que el de los datos buenos.

En la foto se ve como el último dígito que es un 1, también tiene ligeramente encendidos los segmentos correspondientes al 2, que es el display a su izquierda.

Es como si el transistor que controla el cátodo común no actuase exactamente como un interruptor, abriendo y cerrando, sino que cuando está desactivado parece que deje pasar algo de corriente que permite que los leds del bloque desactivado, puedan lucir ligeramente, lo que hace que muestre el estado de los leds y diplays del otro bloque del multiplexado mezclados con los buenos.

Lo raro es que esto no pasaba en el prototipo, y el circuito es idéntico, solo se usan leds y displays distintos. Todo está controlado por un STM32, por si acaso me he metido en Cube y he cambiado las señales de datos, reloj y Latch a Muy Rápidas, también estoy revisando la configuración del Timer que gestiona la interrupción, pero no le veo relación con el problema, me parece más de algo de harware.


(https://i.imgur.com/ysIFrRm.jpg)

(https://i.imgur.com/OPXf84s.jpg)

(https://i.imgur.com/O0g33Bv.jpg)

(https://i.imgur.com/JuHWX9B.jpg)


Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: KILLERJC en 01 de Marzo de 2018, 08:47:06
Citar
Lo raro es que esto no pasaba en el prototipo, y el circuito es idéntico, solo se usan leds y displays distintos.

Entonces me imagino que el problema viene por el consumo del display.

Respecto al conmutar el comun:
200 ohms es un muy pequeña resistencia de base,, le estas pidiendo al PIC que en un pin saque 21.5mA cuando necesitas maximo unos 3mA de base.

Seria bueno un captura de las señales de base, de colector de las mismas.
Sin contar que el 74hc595 con una salida de 120mA aproximadamente en cada uno de sus pines es un poquito mucho, especialmente cuando tenes un numero que requiere muchos mas segmentos.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 01 de Marzo de 2018, 09:21:04
Citar
Lo raro es que esto no pasaba en el prototipo, y el circuito es idéntico, solo se usan leds y displays distintos.

Entonces me imagino que el problema viene por el consumo del display.

No lo se, también están los cables planos que unen las 5 placas.

Citar
Respecto al conmutar el comun:
200 ohms es un muy pequeña resistencia de base,, le estas pidiendo al PIC que en un pin saque 21.5mA cuando necesitas maximo unos 3mA de base.

Con una resistencia mayor, como le puse al principio, me limitaba a poder suministrar unos 600mA máximo a todos los leds y displays, por eso reduje esa resistencia a 470 y luego a 200 ohm, pero eso no creo que afecte cuando el transistor no debe de suministrar corriente al cátodo común.

Citar
Seria bueno un captura de las señales de base, de colector de las mismas.
Sin contar que el 74hc595 con una salida de 120mA aproximadamente en cada uno de sus pines es un poquito mucho, especialmente cuando tenes un numero que requiere muchos mas segmentos.

Meteré el osciloscopio, a ver que hay.
No entiendo que pasa, no descarto que sea de software, pero lo dudo. Tal vez estoy barriendo los registros de desplazamiento demasiado rápido, o la señales que activan cada transistor son demasiado lentas, o esos puertos están configurados demasiado lentos y los transistores no cortan exactamente cuando deben (ya he cambiado el tipo de puerto en Cube, a Muy rápido).

Los leds y los displays no se pueden encender si el cátodo no está a masa o próximo a masa, eso está claro. Como lucen muy poco, no están a masa pero tampoco están aislados, es como si el transistor dejase pasar algo de corriente, a pesar de que el microcontrolador no da señal en la base de transistor.

Por otra parte que funcione en el prototipo, con el mismo circuito y el mismo software, me confunde. Solo se me ocurre que el largo de los cables planos afecte al circuito, o el circuito del prototipo tiene el mismo defecto pero los leds y los displays que son distintos no llegan a lucir porque la corriente no es suficiente.


Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: AcoranTf en 01 de Marzo de 2018, 09:34:26
Quizas ayude algo poner unas resistencias de 4K7 o similar entre la base y masa de cada transistor.

Saludos.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: KILLERJC en 01 de Marzo de 2018, 10:41:07
Si un error en mis calculos, el 74595 se le pide una salida de 840mA como maximo. Lo cual pienso que es absurdo.
Luego para 1A tenes que el hfe es de 80 aprox, asi que con 11mA deberia ser suficiente

Lo que me parece raro es que unicamente en un display lo hace... al menos en la imagen asi lo parece, este es el primero de la cadena.

EDIT: Un error mio de calculo:

5V - 2V - 0.3 = 70mA por segmento
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 01 de Marzo de 2018, 15:05:45
Cita de: KILLERJC

Lo que me parece raro es que unicamente en un display lo hace... al menos en la imagen asi lo parece, este es el primero de la cadena.


Lo hace en todos, tambien en los led. En la foto, los BCD, a efectos de multiplexado van por parejas.

El primer display de arriba por la izquierda está apagado, luego no puede reflejar nada en el siguiente que enciende un uno, y que por lo tanto sale bien. El tercer display enciende un dos, y este si que interfiere en el cuarto, que ademas de encender un uno,  enciende levemente los segmentos del anterior.

Los displays de abajo, primero y segundo por la izquierda apagados, luego el primero que esta apagado no tiene nada que reflejar en el cuarto. Display tercero y cuarto de abajo  el tercero esta pagado, luego no hay nada que interfiera en el cuarto que saca un cero limpio.

Lo que si me doy cuenta es de que en el multiplexado, el primero interfiere en el segundo, pero no al revés. En la foto, los segmentos del display que marca un dos se reflejan en el siguiente display que marca un uno, pero no al revés, eso me hace sospechar en algo de software, pero no lo veo.



(https://i.imgur.com/rwBSK6g.jpg)
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 01 de Marzo de 2018, 15:14:08
Si un error en mis calculos, el 74595 se le pide una salida de 840mA como maximo.

Ten en cuenta que esta multiplexado, en dos grupos.

Tal como lo tengo, display y leds lucen bien, aunque la configuración del timer la he hecho probando hasta que no parpadeaban y lurcian con buena intensidad.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 01 de Marzo de 2018, 17:59:04
 

He hecho algunas mediciones con el osciloscopio, la activación de los dos puertos para el multiplexado parece correcta, en ningún momento se activan los dos cátodos a la vez en los displays.

Lo que no se interpretar es el galimatias que sale al medir en el colector de los dos transistores que multiplexan. Aún así en la placa de prototipos va bien, solo da problemas en la de producción que monta otros leds y displays.



Esquema de los transistores para el multiplexado:

(https://i.imgur.com/OPXf84s.jpg)



Señal en la base del transistor, antes de la resistencia:

(https://i.imgur.com/hLW3D24.jpg)



Señal en la base del transistor, después de la resistencia, solo varía la amplitud de la señal:

(https://i.imgur.com/HaB6pzx.jpg)



Las dos señales de los puertos, para el multiplexado, en ningún momento se activan al mismo tiempo ambos:

(https://i.imgur.com/FocHy67.jpg)



Salida en el colector del transistor, esto no lo se interpretar. Ese pico seguido de una rampa descendente que parece que hay entre pulsos, no se de donde sale, puede que sea lo que afecta el control de los cátodos de los displays:

(https://i.imgur.com/kIL27pJ.jpg)

(https://i.imgur.com/O6H41FL.jpg)




Aqui capturando al mismo tiempo los dos colectores. Esto es más raro, porque entre ellos hay diferencias. Por si era cosa de osciloscopio he invertido las puntas pero se queda igual. La señal amarilla muestra pulsos y entre medias un pico con una rampa descendente, la señal azul ya ni idea de lo que es. No se si es que todo esto varía segun el consumo en cada transistor, y tal vez tengo que reducirlo aumentando la resistencia de base o modificando la frecuencia y periodo del timer.

(https://i.imgur.com/BsNwZVA.jpg)

(https://i.imgur.com/jsosnUx.jpg)



Captura simultanea de Base y Colector en el transistor 1:

(https://i.imgur.com/GCHANR3.jpg)




Captura simultanea de Base y Colector en el transistor 2:

(https://i.imgur.com/5TmJbVs.jpg)
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: KILLERJC en 01 de Marzo de 2018, 20:49:16
Observando la señal de la base del transistor de los catodos ( los 2 catodos ) y luego la señal de colector y tambien base. Se puede observar que esos picos de voltaje y su correspondiente rampa ocurren cuando se activan los demas catodos.

Mi pregunta es si tendra algo que ver con la excesiva corriente que le estas imponiendo a los 74hc595, o que esa corriente sea demasiada para el IC ( que para mi lo es ) o algun efecto de la placa. Si es para probar metele un par de buenos condensadores sobre el VCC de los 74595 para probar.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 01 de Marzo de 2018, 21:35:00
Observando la señal de la base del transistor de los catodos ( los 2 catodos ) y luego la señal de colector y tambien base. Se puede observar que esos picos de voltaje y su correspondiente rampa ocurren cuando se activan los demas catodos.

Mi pregunta es si tendra algo que ver con la excesiva corriente que le estas imponiendo a los 74hc595, o que esa corriente sea demasiada para el IC ( que para mi lo es ) o algun efecto de la placa. Si es para probar metele un par de buenos condensadores sobre el VCC de los 74595 para probar.

Puede ser que tenga algo que ver el consumo, porque en las placas finales los displays son mucho mayores y supongo que también su consumo. Y los led en vez de ser SMD 3528 son pasantes de 5mm.

En los 5v para los 595, tengo puestos 4400 uF en condensadores de filtro, con opción a añadir otro más de 2200uF, y con el mismo encapsulado los hay de 3300uF. Voy a rebajar la frecuencia y periodo del timer para bajar el consumo, ahora lucen bastante los displays, tal vez demasiado.  En cuanto a los leds pasantes van muy justos, el cliente se queja de que lucen poco, pero en estos como son los de la ruleta solo se enciende un par de ellos a la vez, el resto está apagado, opción que ponga leds que den más mcd o bajar las resistencias limitadoras.

El consumo gordo se lo llevan los displays. También he rebajado por software el tiempo de encendido, metiendo 2 periodos de tiempo con ambos cátodos apagados, entre cada encendido.

El problema es que el cliente, se ha cargado el programador que tenía para los ST, y en estos no tengo aún el bootloader para dar actualizaciones a distancia. Ha pedido otro programador y hasta que no lo reciba no puede probar nada.

A ver si tengo suerte, y es cosa del consumo, porque no se me ocurre nada más. A mi todo lo que sale por el colector de los transistores me suena a chino, esperaba señales cuadradas, a semejanza de lo que se ve en las bases.

Tal vez debía de haber puesto varios transistores por cátodo, no se si eso resultaría mejor.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 01 de Marzo de 2018, 21:49:38
 
Otra cosa que se me está ocurriendo para paliar el consumo, es crear un multiplexado a 4 artificial, por software.

Cargo la mitad del registro de desplazamiento, enciendo esos leds/displays, a la siguiente interrupción cargo la segunda mitad del registro de desplazamiento, y sigo con lo mismo para el segundo cátodo.

Cátodo 1, primera mitad del registro de desplazamiento
Cátodo 1, segunda mitad del registro de desplazamiento
Cátodo 2, primera mitad del registro de desplazamiento
Cátodo 2, segunda mitad del registro de desplazamiento

Salvo que el problema no sea de consumo total, sino del consumo individual en cada salida de 595. Bueno, mientras hayan ideas, hay esperanza, lo malo es si nada funciona y ya no sabes que hacer. A ver si con estos cambios que voy a hacer, cambian las señales en los colectores, que reflejen algo más normal.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: KILLERJC en 01 de Marzo de 2018, 22:40:34
Mi principal voto de duda esta sobre el shift-register, que como dije le estas pidiendo corriente por demás cuando no son capaces de dar esa cantidad segun el datasheet,  35mA maximo por salida  y un maximo de 70mA por IC completo. Y vos tenes 70mA por si solo en un segmento, es cierto que el led lo aguante, pero el IC no se si le da esa capacidad para hacerlo.

https://assets.nexperia.com/documents/data-sheet/74HC_HCT595.pdf

Una prueba seria aumentar el valor de las resistencias, y si van a brillar menos, pero al menos vas a ver como queda la salida del colector cuando esto ocurre.

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

Ahora veo que los transistores manejan varios displays, lo cual el consumo es aun mayor, y el hfe de los transistores mucho menos. Por lo que necesitas mucha mas corriente de base para que conduzca la corriente que queres, tal ves hubiera sido mejor ir por un MOSFET para ese caso. Aunque ahora la idea es solucionar esto y no crear todo de vuelta.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: Chaly29 en 01 de Marzo de 2018, 22:51:52
Hola planeta9999, veo varios problemas que deberías de resolver.

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.

2) Los 74HC595 solo soportan en su salida +/- 35mA, por lo que tu estás sobrepasando ámpliamente su capacidad de corriente.

3) Deberías de haber usado un integrado driver como el ULN2803 (hasta 500mA por salida) para conmutar los led's, ya que el 74HC595 no es el adecuado para esas corrientes.

El largo de los cables no creo que sea el problema, ya que dispongo instalados display con largos de cables mayores que los tuyos y no presentan este problema, ahora, si hablamos de integrados, pues tu circuito si le falta bastante corriente. La frecuencia tampoco, porque veo que refrescas a casi 57Hz (por debajo ya no puedes) y yo refresco arriba de los 100Hz.

Deberías re-diseñar todo el circuito, usar los ULN, un darlington en lugar del NZT (o armar darlington con el NZT y un BC8XX), y luego creo que ya no tendrías problemas. La capacidad parásita de los cables en conjunto con las corrientes que manejas, agregadas a que tu circuito no está diseñado para manejar todo esto, pues es básicamente el problema que tienes.

Un saludo.

Atte. CARLOS.

Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: KILLERJC en 01 de Marzo de 2018, 23:00:38
Que te parece este Chaly para simplificar todo en su aplicacion:

http://www.ti.com/lit/ds/symlink/tpic6b595.pdf

Shift-register + latch + mosfet open-drain, aunque no llega a la corriente del ULN, pero para su aplicacion mas que suficiente.

Lo feo es tener que manejar la parte alta para multiplexar. Es decir un poco mas complejo su manejo.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: Chaly29 en 01 de Marzo de 2018, 23:50:55
Hola KILLERJC, igual de válido, pero te comento, por lo general, en estos casos se multiplexa la parte alta y el bajo se deja para un integrado como este que comentas o un ULN, encontrarlo al revés es menos común y por le general solo se aplica a display manejados directamente por el micro y sin integrados de por medio.

Un saludo.

Atte. CARLOS.

Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: AcoranTf 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.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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.

Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: Chaly29 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.

Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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

(http://www.winpicprog.co.uk/graphics/lamp_source2.gif)
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: Chaly29 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.

Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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)
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: Sispic 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 .







Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: Sispic en 20 de Abril de 2018, 13:14:00
seguro lo consigues planeta9999  ;-)
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 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.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: nico en 20 de Abril de 2018, 14:02:22
Planeta, en un diseño de cartel, en el cual mandaba muchos datos seriales a muchas placas en serie(625 bits para encender 125 módulos de 5 leds por módulo), tuve el mismo inconveniente que comentas, en las primeras placas andaba bien, pero a medida que iba sumando placas con los datos de reloj en serie la señal se iba degradando y  me llegaban datos falsos a las matrices. En dichas placas usaba los 74hc595.
Mirando con el osciloscopio el pulso de clock y dato había una gran degradación, por lo que como dentro de cada placa teníamos una nand, no hicimos mas que interrumpir la señal, pasarla por un par de nand como buffer y problema resuelto, ten en cuenta que a mayor velocidad, por lineas paralelas, mayor es la degradación, diafonía, ruido y demás.
Seguramente haciendo un buffer para el clock y el dato anda bien, otra cosa a probar sería mandar los datos por un cable mallado y conectar la malla a gnd en cada placa, para reducir los ruidos, pero me decanto por la primera opción por los resultados que me dió.

Salutes.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 20 de Abril de 2018, 14:23:59
 
Gracias nico, ya pensaba que era yo solo el que tenía este problema, porque buscando por Google, prácticamente no he encontrado nada al respecto cuando conectas registros de desplazamiento con cables largos y varias placas en serie.

Ahora me funciona con la resistencia de pulldown en la señal de reloj en la última placa, y uniendo con dos hilos las señales de reloj y latch, desde la última placa a la primera, es una solución un poco chapucera, pero para salir del paso y enviar este prototipo el Lunes con urgencia, me vale.

Como tengo otro juego de placas que montar, para seguir con la programación aquí, ya probaré a montar un buffer a la salida de cada placa, tengo los HEF4050 que son buffers no inversores y he encontrado por internet los 74LS14 que son trigger schmitt inversores, como solo necesito aplicarlos a reloj y latch, puedo conectar en cada señal dos puertas en serie del 74LS14 para no invertir.

O directamente probar con el HEF4050, estos los uso mucho para adaptar niveles de señales TTL a 3.3v para micros, y en este caso para elevar las señales de 3.3v del STM32 a TTL, pensando que serían menos inmunes a las interferencias y la degradación, pero no me ha servido de mucho, si solo lo aplico en la placa principal.

Menudos nervios se pasan, cuando algo no funciona, y no tienes ni idea de porque, además con presiones y retrasos. A mi todo esto de las impedancias y las degradaciones de las señales digitales por cables largos, me suena a chino mandarín, seguro que habrán por ahí fórmulas matemáticas que lo explican todo.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: KILLERJC en 20 de Abril de 2018, 14:30:10
Tal ves sea por la capacidad de todos los pines , que a medida que sea aleja es aun peor.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 20 de Abril de 2018, 14:34:04
Tal ves sea por la capacidad de todos los pines , que a medida que sea aleja es aun peor.


Ni idea, también leí que sugerían a la entrada de la placa, en cada señal, una resistencia en serie seguida de un condensador  a masa de unos 10nF, eso no lo he probado.

A mi me parece, que lo mejor será un buffer a la salida de cada placa, que amplifique las dos señales conflictivas, que son la de Reloj y la del Latch, para que lleguen bien a la siguiente placa de la cadena y no se vayan degradando por el camino.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: KILLERJC en 20 de Abril de 2018, 15:31:50
Lo que esta ocurriendo si es que ocurre lo mismo que en el caso de nico es que se deforma la señal, asi que seguramente las componentes de mayores frecuencias sean las que están teniendo problemas, con un buffer como comento nico reconstruye la señal y carga unicamente al buffer de cada etapa con una capacidad fija + el cableado.

Pienso que agregarle un filtro pasa bajo (RC) es empeorar aun mas la señal.
Título: Re:Registro de desplazamiento con 595, problema de multiplexado
Publicado por: planeta9999 en 20 de Abril de 2018, 16:16:18
Si, lo haré con buffers. De momento tal como lo tengo funciona, aunque no me gusta, tengo el fin de semana para hacer los arreglos finales, lo probaré metiendo un HEF4050 a la salida de cada placa. Me queda probar todo el hardwar bien, terminar de programar el almacenamiento de datos datos de configuración y contadores en la Eeprom externa, sonidos en Flash externa, y mandarlo el lunes al cliente.


Una pregunga para Chaly.
En los datos que me indicaste para los transistores que controlan los ánodos comunes de displays y leds, he cambiado la resistencia de base de 2K2 a 1K, porque no me daba toda la intensidad de luz que quiero, además por software he hecho un multiplexado a 5, en el quinto he puesto solo el encendido de los led que quiero que saquen más luz, también me ha tocado cambiar el Timer para que no parpadeasen al incrementar el multiplexado, y más o menos ha quedado bien.

¿ Hasta que valor puede bajar, que sea seguro, esa resistencia de 2K2 (ahora de 1K en el esquema adjunto) ?, es la que me ha parecido que tenía que reducir para aumentar la corriente disponible. La resistencia que aparece con un asterisco, no está instalada, como me indicaste, aunque la dejé en el PCB.


(https://i.imgur.com/kAPPPls.jpg)