Autor Tema: Amplificar con un transistor para abaratar costes.  (Leído 2743 veces)

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

Desconectado genisuvi

  • PIC16
  • ***
  • Mensajes: 114
Amplificar con un transistor para abaratar costes.
« 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?



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.
« Última modificación: 04 de Junio de 2020, 05:29:43 por genisuvi »

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #1 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?

Desconectado genisuvi

  • PIC16
  • ***
  • Mensajes: 114
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #2 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.
« Última modificación: 03 de Junio de 2020, 08:40:49 por genisuvi »

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 941
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #3 en: 03 de Junio de 2020, 09:20:54 »
Usá algo asi:

 

* Led1.jpg
(12.54 kB, 480x339 - visto 242 veces)

Desconectado elreypic2

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1295
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #4 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.

Desconectado Picuino

  • Moderador Local
  • DsPIC33
  • *****
  • Mensajes: 5878
    • Picuino
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #5 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

Desconectado genisuvi

  • PIC16
  • ***
  • Mensajes: 114
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #6 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:


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.


Desconectado genisuvi

  • PIC16
  • ***
  • Mensajes: 114
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #7 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?

« Última modificación: 04 de Junio de 2020, 03:36:05 por genisuvi »

Desconectado genisuvi

  • PIC16
  • ***
  • Mensajes: 114
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #8 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.

« Última modificación: 04 de Junio de 2020, 05:39:15 por genisuvi »

Desconectado remi04

  • PIC24F
  • *****
  • Mensajes: 657
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #9 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.

   

   

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #10 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
« Última modificación: 04 de Junio de 2020, 09:25:47 por KILLERJC »

Desconectado Eduardo2

  • PIC24F
  • *****
  • Mensajes: 941
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #11 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)

Desconectado genisuvi

  • PIC16
  • ***
  • Mensajes: 114
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #12 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.
« Última modificación: 05 de Junio de 2020, 06:00:03 por genisuvi »

Desconectado Leon Pic

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 3610
    • Impresiones en 3D
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #13 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.
Jesús dijo, yo soy el CAMINO, la VERDAD y la VIDA, nadie llega al PADRE si no es por mi.

Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Amplificar con un transistor para abaratar costes.
« Respuesta #14 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.