TODOPIC

FORO TÉCNICO => Electrónica de potencia => Mensaje iniciado por: genisuvi en 03 de Junio de 2020, 07:48:49

Título: Amplificar con un transistor para abaratar costes.
Publicado por: genisuvi en 03 de Junio de 2020, 07:48:49
Buenos días a todos,

estoy realizando un diseño para activar y desactivar desde una Raspberry varios LEDs que vamos a agrupar en tarjetas de 128 puntos. El sistema para expandir tantos puntos me permite una corriente típica de salida entorno a los 8mA, pasarme y acercarme a 20mA dañaría los puertos GPIO de los dispositivos que usaré.

En otros diseños empleé el chip ULN2803 que me permite 8 drivers y multiplica por 1000 la corriente de puerta, son 2 darlington en cascada. El tema es que haciendo cuentas me salen 16 chips por tarjeta de 128 puntos y el precio se me dispara. Se ha descartado esta solución por costes. Así que estoy pensando en alternativas más baratas:

* usar leds de inferior consumo --> 10mA a lo sumo
 
* ya que no necesito amplificar por 1000 la corriente de salida de mis GPIOs podría usar un sólo transistor por cada punto? Lo haríais así? Qué tipo de transistor usaríais vosotros en esta situación? Necesito reducir lo máximo este coste.

Es la primera vez que estoy diseñando amplificación de corriente sin servirme de estos otros drivers con los que estoy más familiarizada así que perdonad si digo estupideces.

* se os ocurren otras opciones más evidentes, simples y más económicas?

(http://[attachment id=1 msg=415144][/attachment])

Dato: Las salidas de estos dispositivos que comento son push pull y típicamente ofrecen 8mA a 4.5V, aunque yo trabajaré con señales de 3.3V.
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: KILLERJC en 03 de Junio de 2020, 08:23:23
Podrias tratar de dar un esquematico aproximado de lo que tratas de hacer?

Tambien, quisiera saber, que capacidad de manejo de led necesitas, si necesitas que varie en brillo, o directamente ON/OFF.
Necesitas que sea estatico o vas por un multiplexado?
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: genisuvi en 03 de Junio de 2020, 08:38:09
Buenas, KILLERJC

Podrias tratar de dar un esquematico aproximado de lo que tratas de hacer?

Tambien, quisiera saber, que capacidad de manejo de led necesitas, si necesitas que varie en brillo, o directamente ON/OFF.
Necesitas que sea estatico o vas por un multiplexado?

Si me das un tiempo en cuanto saque un momento lo pongo. Mientras tanto para ir adelantando info te respondo algunas cosas:

Sin variaciones. Siempre será constante y corriente continua.
No tengo un mínimo de candelas oficialmente para el brillo del LED; pero auguro que la cosa va más hacia que se vea bien que no a que ilumine poco. No me consta que el requisito sea verse desde muy lejos. Pero mira, me guardo esta duda para especificación.

Mis GPIOs serán unos expansores de microchip, la versió SPI: http://ww1.microchip.com/downloads/en/DeviceDoc/20001952C.pdf


Por si sirve de algo, aunque dije que la salidas son las típicas push pull, no lo dije pero hay un application notes que te indica cómo convertir las salidas en open drain. Por si esto ayudase en algo a mi objetivo ahí lo dejo.
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: Eduardo2 en 03 de Junio de 2020, 09:20:54
Usá algo asi:

  - Tienes que ingresar para ver archivos adjuntos -  
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: elreypic2 en 03 de Junio de 2020, 11:18:06
Que tal genisuvi,

Yo creo que más bien el tema sería la búsqueda de provedores. No sé cual sería la producción de esta aplicación, pero haciendo una cuenta rápida de 10 tarjetas necesitarías:

Cant    Dispositivo     PU en USD      Importe en USD          Distribuidor
  80     MCP23S17        $1.05              $84.00                Mouser Electronics
 160    ULN2803          $0.33               $52.80                Addicore

Haciendo esto tienes un coste total de estos dos componentes de $136.80 USD pensando fabricar 10 tarjetas expansoras

Ahora que si usas transistores, el coste será mucho mayor ya que vas a necesitar incrementar el área del PCB para poder acomodar los transistores, y las resistencias de base necesarias (vamos a suponer que puede usar resistencias SMD). Pero suponiendo que puedes usar la misma área de PCB que usando UL2803,

Cant    Dispositivo     PU en USD      Importe en USD          Distribuidor
  80     MCP23S17        $1.05              $84.00                Mouser Electronics
1280    2N3904           $0.031            $39.68                Mouser Electronics
1280   Res 4.7K SMD   $0.005             $6.40                 Mouser Electronics

Usando transistores tendrás un coste total de estos componentes de $130.08 USD. Así que no veo la ventaja de usar transistores con respecto a usar el ULN2803. Ya que el ensamblado de esto tomará más tiempo y más trabajo, incrementando más  el coste.

Otra posible opción que puede usar para reducir los costes sería que utilizaras circuitos de corrimiento como el 74HC595 en lugar del MCP23S17, obviamente ocuparías el doble de circuitos y más pines de control.

Según Addicore, el coste del 74HC595 es de $0.132 USD para cantidades de 100 o más, en tu caso ocuparías 16 por tarjeta, y haciendo 10 tarjetas ocupas 160, por lo tanto alcanzas el precio. Por lo que el coste sería de $13.2 comparados con los  $84 USD, ya la diferencia es mayor. Pero, ahí no termina la historia, obiamente necesitarás más circuitos y más pines para realizar el control adecuado.

En fin mi posición es que uses el ULN28703, pero busca precios entre distribuidores, para que obtengas el mejor precio.

Saludos,

elreypic.
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: Picuino en 03 de Junio de 2020, 14:45:39
Planeta9999 ha comentado en algún post que lo mejor en estos casos es comprar la matriz de leds directamente a los chinos. Al parecer sale mucho más barato.
Por ejemplo aquí un comentario suyo: https://www.todopic.com.ar/foros/index.php?topic=47608.msg396500#msg396500
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: genisuvi en 04 de Junio de 2020, 03:25:54
Podrias tratar de dar un esquematico aproximado de lo que tratas de hacer?

Tambien, quisiera saber, que capacidad de manejo de led necesitas, si necesitas que varie en brillo, o directamente ON/OFF.
Necesitas que sea estatico o vas por un multiplexado?

Lo prometido es deuda y aquí adjunto el esquema del inventillo:
(http://[attachment id=1 msg=415163][/attachment])

Por las características eléctricas del datasheet pues parece que las salidas típicamente toleran bien 8mA.
Pero luego hay una anotación sobre "clamp output current = 20mA" y en otros foros me dicen que significa que tengo que garantizar que no me acerque mucho tiempo a ese valor porque es un valor de riesgo de destrucción de los drivers de salida.. entiendo que no le puedo pedir a las salidas corriente ni para un led. No?

No sé si comprendí bien los términos. Pero así me encuentro.

Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: genisuvi en 04 de Junio de 2020, 03:28:01
Gracias, Eduardo.

Usá algo asi:

  - Tienes que ingresar para ver archivos adjuntos -

Esto tiene buena pinta. Se ve sencillo de implementar. Voy a estudiarlo.
Sólo una pregunta y perdona si puede parecer absurda. Esta configuración me permite amplificar, y dar la corriente suficiente, al experimentar VBE 3.3V?

Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: genisuvi en 04 de Junio de 2020, 05:35:59
Hola elreypic2;

Que tal genisuvi,

Yo creo que más bien el tema sería la búsqueda de provedores. No sé cual sería la producción de esta aplicación, pero haciendo una cuenta rápida de 10 tarjetas necesitarías:

Cant    Dispositivo     PU en USD      Importe en USD          Distribuidor
  80     MCP23S17        $1.05              $84.00                Mouser Electronics
 160    ULN2803          $0.33               $52.80                Addicore

Haciendo esto tienes un coste total de estos dos componentes de $136.80 USD pensando fabricar 10 tarjetas expansoras

Ahora que si usas transistores, el coste será mucho mayor ya que vas a necesitar incrementar el área del PCB para poder acomodar los transistores, y las resistencias de base necesarias (vamos a suponer que puede usar resistencias SMD). Pero suponiendo que puedes usar la misma área de PCB que usando UL2803,

Cant    Dispositivo     PU en USD      Importe en USD          Distribuidor
  80     MCP23S17        $1.05              $84.00                Mouser Electronics
1280    2N3904           $0.031            $39.68                Mouser Electronics
1280   Res 4.7K SMD   $0.005             $6.40                 Mouser Electronics

Usando transistores tendrás un coste total de estos componentes de $130.08 USD. Así que no veo la ventaja de usar transistores con respecto a usar el ULN2803. Ya que el ensamblado de esto tomará más tiempo y más trabajo, incrementando más  el coste.

Otra posible opción que puede usar para reducir los costes sería que utilizaras circuitos de corrimiento como el 74HC595 en lugar del MCP23S17, obviamente ocuparías el doble de circuitos y más pines de control.

Según Addicore, el coste del 74HC595 es de $0.132 USD para cantidades de 100 o más, en tu caso ocuparías 16 por tarjeta, y haciendo 10 tarjetas ocupas 160, por lo tanto alcanzas el precio. Por lo que el coste sería de $13.2 comparados con los  $84 USD, ya la diferencia es mayor. Pero, ahí no termina la historia, obiamente necesitarás más circuitos y más pines para realizar el control adecuado.

En fin mi posición es que uses el ULN28703, pero busca precios entre distribuidores, para que obtengas el mejor precio.

Saludos,

elreypic.

Pues sí he llegado a esa conclusión. Usando transistores smd igual son 128 unidades por tarjeta y eso va a aumentar el área y complicación de trazo de pistas que también ocuparía área. Por lo que me ahorro en transistores simples me lo como en costes de layout. No compensa tanto.

Veo difícil ahora cambiar de expansor, pero le voy a echar un ojo también a ese chip que me dices.

Gracias por todo y saludos.

Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: remi04 en 04 de Junio de 2020, 05:52:08
Yo ahí recurriría a la múltiplexación.  Con un solo expansor podrías manejar 64 led. 
 
 2 expansores 128 leds.
 1 microcontrolador dedicado por cada tarjeta para barrer las matrices.

   

   
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: KILLERJC en 04 de Junio de 2020, 08:34:21
O.... uno de 128 leds y listo... controlado por I2C, lo cual no necesitaria ningun microcontrolador. Hasta se puede modificar el brillo

https://ams.com/documents/20143/36005/AS1130_DS000283_3-00.pdf

El costo unitario en digikey esta en 6.27 USD  logic level CMOS TSSOP (5 y algo para 100+ en el fabricante), y ya con los 8 MCP que tiene pensado usar, ya posee 8 dolares, incluso el analisos de reypic2 con los ULN le falta todavia las resistencias.

En cambio con este IC el control es por corriente, por lo tanto no se necesita. Un IC, controlado por I2C con control individual del brillo, lo "dificil" es armar el array de leds y tiene 12 conexiones desde los leds al IC.

Obviamente hay que ver en mas detalle el IC, sobre voltajes, corrientes, etc.
Y si... va a necesitar un micro con algunos I2C si es que necesita velocidad en los leds. Pero si es fijo, no creo que sea tanto problema. el I2C que posee es de 1Mhz

Buscando tambien vi un video, asi que lo pongo, ya que estamos.
Codigo de Arduino usado:
https://forum.arduino.cc/index.php?topic=123071.0
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: Eduardo2 en 04 de Junio de 2020, 10:19:28
...
Sólo una pregunta y perdona si puede parecer absurda. Esta configuración me permite amplificar, y dar la corriente suficiente, al experimentar VBE 3.3V?

3.3V es la tensión en la base, la VBE son ~0.7V
Y si, da la corriente suficiente.  Con la resistencia  de emisor apropiada te puede dar mucho mas.

Ojo,  esta es la versión mas simple.  Si por la cantidad de leds se necesita mayor rendimiento o la fuente de potencia es un simple puente de diodos hay que agregar unas resistencias.
Y en caso de ser necesario minimizar el consumo los leds deben ser alimentados por un regulador conmutado con la tensión justa.
Esto independientemente si se multiplexa o no  (pienso que te conviene multiplexar)
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: genisuvi en 05 de Junio de 2020, 04:34:02
...
Sólo una pregunta y perdona si puede parecer absurda. Esta configuración me permite amplificar, y dar la corriente suficiente, al experimentar VBE 3.3V?

3.3V es la tensión en la base, la VBE son ~0.7V
Y si, da la corriente suficiente.  Con la resistencia  de emisor apropiada te puede dar mucho mas.

Ojo,  esta es la versión mas simple.  Si por la cantidad de leds se necesita mayor rendimiento o la fuente de potencia es un simple puente de diodos hay que agregar unas resistencias.
Y en caso de ser necesario minimizar el consumo los leds deben ser alimentados por un regulador conmutado con la tensión justa.
Esto independientemente si se multiplexa o no  (pienso que te conviene multiplexar)

Cuando dices multiplexar a qué te refieres?

Voy a tener un máximo 8 tarjetas de 128 puntos (una tarjeta = 8 expansores) cada una y lo que sí voy a multiplexar es la señal de CS que va a llegar a las 8 tarjetas. Aunque habrá equipos que a lo mejor sólo tengan 2 tarjetas, etc. Esto es un requisito, 128 pines por tarjeta y está decidido.
Estos 128 puntos de una única tarjeta no siempre estarán conectados a los LEDs y no todos los pines. Y la verdad es que sólo los usaremos para indicar y como mucho un par de puntos a la vez y luego se apagan. Poca virguería. Cada equipo puede variar y no se sabe cuántos ni dónde (en qué posiciones) van a caer. Por eso los Leds serán externos y llegarán a estas tarjetas por medio de conectores. Necesito justamente que cada led quede asociado físicamente a un pin físico conectado a un GPIOn de los expansores. Allá donde no lleguen LEDs tendremos puntos GPIO para hacer otra tarea. El requisito es que existan 128 pines por tarjeta porque los que sobran se usan todos de una forma en que tienen que estar asociados físicamente puntos con los pines. Y esa tarea sí se hace con unas conexiones que requieren de la existencia real de esos pines.

Y sí, le voy a poner fuente para alimentar lo que haga falta. Porque al igual que se pueden conectar LEDs por un conector, también podríamos querer conectarle un relé, o un sensor de presencia, electroválvula (30mA) sencillita y poca variedad más hay. Por eso empiezo también a ver cada vez más claro el uso de los drivers.

EL micro (o el procesamiento) lo haremos desde Raspberry, la mux la controlamos con GPIOs libres de la misma Rasp. Estos expansores usan un mecanismo de direccionamiento por lo que un mismo CS vale para todos.

En cuanto a multiplexar los LEDs, aunque pudiera ahorrarme algún módulo expansor, el resto de tareas impide que reduzca este valor. Así que añadir multiplexado sin poder reducir el nº de expansores subiría los costes. Sería interesante si fuera vital que con 2 línieas GPIO atacara a los LEDs que me interesa mientras puedo trabajar con el resto de pines para otras tareas. Pero no es el caso. No es una necesidad que pueda justificar ese añadido.
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: Leon Pic en 05 de Junio de 2020, 08:34:48
Voy a tener un máximo 8 tarjetas de 128 puntos (una tarjeta = 8 expansores) cada una y lo que sí voy a multiplexar es la señal de CS que va a llegar a las 8 tarjetas. Aunque habrá equipos que a lo mejor sólo tengan 2 tarjetas, etc. Esto es un requisito, 128 pines por tarjeta y está decidido.
Estos 128 puntos de una única tarjeta no siempre estarán conectados a los LEDs y no todos los pines. Y la verdad es que sólo los usaremos para indicar y como mucho un par de puntos a la vez y luego se apagan. Poca virguería.

Esto pasa cuando no das detalles de lo que tienes que hacer. Las sugerencias te fueron dadas, según lo que ellos interpretaron de lo que querés hacer.

Citar
Y sí, le voy a poner fuente para alimentar lo que haga falta. Porque al igual que se pueden conectar LEDs por un conector, también podríamos querer conectarle un relé, o un sensor de presencia, electroválvula (30mA) sencillita y poca variedad más hay. Por eso empiezo también a ver cada vez más claro el uso de los drivers.

No es lo mismo controlar un led, que controlar una electroválvula. Las electroválvulas tienen una bobina, y ésta, cuando se le corta energía eléctrica, devuelve corriente y tensión en forma inversa, pudiendo quemar al microcontrolador. Es por ello que vas a tener que agregar al circuito, un diodo protector; o bien, un driver que sea dedicado a controlar bobinas.
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: KILLERJC en 05 de Junio de 2020, 08:42:57
Citar
Y sí, le voy a poner fuente para alimentar lo que haga falta. Porque al igual que se pueden conectar LEDs por un conector, también podríamos querer conectarle un relé, o un sensor de presencia, electroválvula (30mA) sencillita y poca variedad más hay.

No solo eso, sino que ademas ahora las únicamente salidas,  terminan siendo tambien entradas.

Es tan complejo, ya que quieren hacer algo tan universal, que todo lo que recuerdo que es super universal falla, o los costes son tan extraordinarios, que es mas sencillo hacer un modelo de cada uno.

La unica razon que se me ocurre para hacerlo TAN universal, es que:
- Estan tratando de realizar una placa que cubra multiples marcas
- O que tengan una persona que no sabe medir para hacer los agujeros.
Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: Eduardo2 en 05 de Junio de 2020, 10:00:22
....
Cuando dices multiplexar a qué te refieres?
Olvidate,  lo que escribiste después es algo completamente diferente a lo que se creía adivinar.

Citar
Voy a tener un máximo 8 tarjetas de 128 puntos (una tarjeta = 8 expansores) cada una y lo que sí voy a multiplexar es la señal de CS que va a llegar a las 8 tarjetas. Aunque habrá equipos que a lo mejor sólo tengan 2 tarjetas, etc. Esto es un requisito, 128 pines por tarjeta y está decidido.
Estos 128 puntos de una única tarjeta no siempre estarán conectados a los LEDs y no todos los pines. Y la verdad es que sólo los usaremos para indicar y como mucho un par de puntos a la vez y luego se apagan. Poca virguería. Cada equipo puede variar y no se sabe cuántos ni dónde (en qué posiciones) van a caer. Por eso los Leds serán externos y llegarán a estas tarjetas por medio de conectores. Necesito justamente que cada led quede asociado físicamente a un pin físico conectado a un GPIOn de los expansores. Allá donde no lleguen LEDs tendremos puntos GPIO para hacer otra tarea. El requisito es que existan 128 pines por tarjeta porque los que sobran se usan todos de una forma en que tienen que estar asociados físicamente puntos con los pines. Y esa tarea sí se hace con unas conexiones que requieren de la existencia real de esos pines.

Fijás especificaciones para un uso muy general y asumís que existe una solución simple, falta encontrarla.

Citar
Y sí, le voy a poner fuente para alimentar lo que haga falta. Porque al igual que se pueden conectar LEDs por un conector, también podríamos querer conectarle un relé, o un sensor de presencia, electroválvula (30mA) sencillita y poca variedad más hay. Por eso empiezo también a ver cada vez más claro el uso de los drivers.

¿Electroválvula de 30mA?  ¿Pero con qué tensión de bobina?



Tal vez me equivoque, pero me parece que provenís del mundo de la informática.
Un mundo donde no existe el ruido, las descargas estáticas, los picos de tensión con cargas inductivas, todos los elementos comparten masa sin problemas y todo es de 3.3 o 5Vcc.
Se te está olvidando que a las I/O las tenés que proteger y algunas aislar si no querés quemarlas o que se te cuelgue la Raspberry cada vez que se desactiva una bobina o se active algo que no tenga nada que ver con esto pero cuyos cables compartan recorrido con entradas.


Hacer tarjetas con 128 I/O donde cada una pueda conectarse a elementos variados es posible pero cada pin individual tendrá una pequeña complejidad que multiplicada x128 significará un costo importante del que se aprovechará una fracción.

La "generalidad" se busca en el circuito impreso, para cada expansor se dibujan puntos de testeo, salidas con relay, entradas con divisor resistivo, optoacopladas, con transistor, etc  combinando mientras haya espacio. Pero solamente se montan los componentes de la configuración que se piensa usar.



Título: Re:Amplificar con un transistor para abaratar costes.
Publicado por: elreypic2 en 18 de Junio de 2020, 12:39:11
Que tal geniusuvi,

¿Qué decidiste finalmente para amplificar las salidas?

¿Podrías compartirnos tu solución?

elreypic.