MCP 23018 / 23S18 para LED y control de interruptor

4

Estoy trabajando en un proyecto que involucra unos 200 LED y unos 120 Switches. Me gustaría usar varios chips DIP MCP23S18 en 2 a 3 buses para controlar todo. Soy un chico de CS y solo quiero asegurarme de que tengo una idea decente de cómo se supone que esto se unirá.

El MCP23S18 hoja de datos .

Se aprecian algunos datos generales y consejos sobre mejores maneras de hacer esto, soy muy nuevo en esto (para el registro, esto no es para la clase, solo es divertido).

1) Tengo LED para 2.2v a 20ma draw. Planeo usarlos en pares en serie, por lo que la caída de voltaje debería ser 4.4 y el consumo debería ser 20ma para cada par, ¿verdad?

2) De acuerdo con la hoja de datos de MCP23S18 (pág. 33), el consumo de corriente máximo de Vin es 125ma, y el máximo Vout es 400ma. Esto significa que puedo alimentar con seguridad 6 pares de LED con una entrada de chip de aproximadamente 4.4v, ¿verdad? Esto significa que debería poder usar los 11 pines restantes y las entradas siempre y cuando estén en la configuración de drenaje abierto, evitando así los sorteos significativos, ¿no? ¿Será seguro ejecutar todos los LED y tener todos los interruptores abiertos al mismo tiempo (suponiendo una amplia fuente de alimentación)? ¿Cuál es la diferencia entre "current sunk" y "clamp current"?

3) ¿Alguien tiene alguna idea para una mejor forma alternativa de manejar múltiples leds? Sé que para algunas áreas del proyecto que tienen grupos de LED, probablemente será más fácil hacer algunos controladores baratos, así que puedo usar los 16 pines como control de LED. También he considerado el uso de registros de desplazamiento para esto porque he encontrado algunos con un Vin max de 500 mma, podría conducir varios fácilmente de esta manera. Tal vez una combinación de los dos, controlando el SR a través de un expansor IO?

    
pregunta guyfleeman

2 respuestas

4
  1. Sí. Los LEDs en serie comparten la corriente, dividen el voltaje. Elija la resistencia basada en el voltaje de avance combinado de los LED de la serie.

  2. Vout no es el término correcto. Es Vss, o Gnd. Pero sí, 400 mA es la corriente máxima que puede atravesar el pin de tierra, a través de las salidas Open-Collector . 6 cadenas de LED, a 20 mA cada una es solo de 120 mA, solo una cuarta parte del máximo. Se requiere una resistencia por cadena. Tratar de igualar el voltaje no es bueno .

  3. Las entradas son de alta impedancia y no de drenaje abierto. Solo deben dibujar microamperios, o fracción de un miliamperio.

  4. Todos los 6 leds y 10 entradas al mismo tiempo, seguro, siempre y cuando se mantenga dentro de las especificaciones.

  5. Las corrientes de pinza son la corriente máxima que puede atravesar los diodos de pinza, a un voltaje mayor que VDD o menor que VSS. No es relevante para su situación.

  6. Current Sunk significa corriente que fluye hacia el dispositivo, generalmente a través de la salida de drenaje abierto, a través de VSS / Gnd. La fuente actual es de VCC, a través de la salida de alto voltaje.

  7. Puede hacer hasta 400 mA, si su disipación de energía es inferior a 700 mW, por lo que 500 mA no es significativamente mejor. Con 25 mA máx por canal, cuando desee 20 mA, ya puede hacer 16 canales de 2 leds, por MCP. Un registro de desplazamiento y un dispositivo SPI como el MCP23S18 son funcionalmente bastante similares. En cuanto a 500 mA a través de VIN, la diferencia sería cablear en un ánodo común (A V +) o en un cátodo común (A Gnd). Si está utilizando dos LED de dos clavijas, eso no es realmente una preocupación.

Configuración típica para LEDs:

    
respondido por el Passerby
3

Estos chips están clasificados para manejar hasta 25 mA por pin (por 16 pines = 400 mA de corriente de salida máxima, como usted mencionó), por lo que podrán extraer 20 mA de corriente a través de su (s) LED (s) sin cualquier problema También podrás usar los 16 canales simultáneamente.

Ignoraría esa cifra de 125 mA para la corriente máxima de entrada Vdd; honestamente no tiene sentido; ya que el chip tiene salidas de drenaje abierto, no fluirá una corriente apreciable en VDD (aparte del valor nominal de 1 mA de corriente que el dispositivo extraerá durante el funcionamiento normal, como se informa en la sección de características de CC de la hoja de datos). Sospecho que podría ser un mal trabajo de copiar y pegar de otro expansor de puertos de E / S de Microchip que tiene salidas push-pull.

... Dicho esto, este chip no tiene control de corriente inteligente; no está diseñado para controlar dispositivos de corriente constante, como los LED (a menos que desee controlarlos con las capacidades de limitación de corriente del chip: 25 mA). Debido a esto, tendrá que usar resistencias de caída en serie conectadas a cada canal, y cualquier variación en las relaciones de voltaje / corriente de los LED causará diferentes valores de brillo a través de los LED.

En su lugar, le recomendaría que utilice un controlador LED de corriente constante real. El TLC59282 de Texas Instruments es similar al MCP23018 en funcionalidad de drenaje abierto, pero es menos caro y tiene un solo pin IREF para configurar la corriente para todas las salidas.

El CAT4016 es una parte similar de ON. La opción más barata es probablemente la ST ST16CPC26 , que es similar a la otras dos partes mencionadas.

Pero ¿por qué detenerse allí? Agregue un control de brillo PWM individual con el infame TLC5944 , o el mucho más fácil de usar (y fácil de usar) ISSI IS31F3216 , o el venerable PCA9685 , hecho por NXP. Prefiero las soluciones NXP e ISSI, ya que tienen una conexión i2C con generación de reloj PWM interna; la parte de TI requiere más "cuidado de niños" de la MCU.

¿No son excelentes los circuitos integrados? Todas estas partes están ampliamente disponibles en su distribuidor local de componentes electrónicos, ¡buena suerte!

    
respondido por el Jay Carlson

Lea otras preguntas en las etiquetas