Controlando más relés que el no. de pines IO gratuitos que tiene un uC: opciones de bajo costo

Si bien entiendo que pasar a un uC de alto número de pines podría ser la opción más simple, estoy buscando opciones de bajo costo para hacer lo mismo con uC de bajo número de pines.

Me gustaría controlar un máximo de 8 relés, usando un ATtiny85, que tiene 5 pines GPIO disponibles, de los cuales definitivamente necesito reservar 2 para algún otro propósito, dejándome 3. Un enfoque obvio que me viene a la mente es un Mux . Dados 3 pines, 2 ^ 3 = 8, encaja muy bien. Sin embargo, me preguntaba si los relés (que controlan el enchufe de la fuente de alimentación para los servidores) se desactivarían al cambiar los valores mux.

¿Hay otras trampas con este enfoque? ¿Existen métodos alternativos disponibles? Escuché acerca de los expansores de IO, pero ¿sería un enfoque que valiera la pena desde el punto de vista de la complejidad/costo?

Para no hacer que los relés se desactiven, use un pestillo en la salida del mux, el pestillo mantendrá la lógica (1) mientras cambia entre los pines MUX :)

Respuestas (3)

El TPIC6C595 es una versión de potencia del registro de desplazamiento 74HC595 , serie en paralelo, con 8 canales de salida, cada uno capaz de conducir 100 mA. Solo necesita tres pines: datos en serie, reloj en serie y pestillo, y si es necesario, puede conectar varios dispositivos en cascada para más de 8 salidas.

Contiene diodos de sujeción para proteger contra el voltaje inductivo de los relés.

Como beneficio adicional, es mucho más probable que este dispositivo sea capaz de controlar los relés directamente sin un transistor externo. Como señaló mjh2007 , la mayoría de las otras soluciones necesitarán otro transistor. Esto, por supuesto, aún necesitará un diodo para proteger contra daños por la inductancia de la bobina del relé.
"El dispositivo contiene una abrazadera de voltaje incorporada en las salidas para protección contra transitorios inductivos".
Gracias @stevenvh. Este dispositivo parece ideal, y también el costo actual parece ser agradable. Justo lo que necesitaba. +1 y aceptado.

Existen muchos expansores de E/S que utilizan buses SPI o I2C. Con un solo módulo MSSP puede controlar casi una cantidad infinita de salidas digitales como LED o relés.

Consulte las hojas de datos o las notas de aplicación de Microchip para las siguientes piezas:
SPI - MCP23S08
I2C - MCP23008

NOTA: Estas partes por sí solas no generarán/hundirán suficiente corriente para activar un relé, sin embargo, agregar un transistor en el pin de salida le permitirá controlar un relé.

Un mux no funcionará, porque necesita bloquear/deshabilitar la salida usando otro de sus pines, y tener un estado de entrada para encender/apagar el relé al que está conectado, usando otro pin. Un expansor SPI IO parecería mejor, pero luego necesita una biblioteca SPI en su chip.

Sí, de hecho, un mux solo no funcionará, mi error.