Combinación de Optoisolator y Relé en un pin de E / S

1

Tengo un proyecto que utiliza dos pines del microcontrolador para controlar la entrada y salida de un dispositivo aislado. Los LED son para el estado, que muestran cuando una entrada o salida está habilitada.

Me gustaría guardar algunos pines de E / S y me preguntaba cómo abordar la combinación de estos para usar un solo pin del microcontrolador.

    
pregunta Sam Washburn

2 respuestas

2

Es posible. Debe tener un relé muy pequeño para poder conducirlo directamente desde el pin de uC. Debe tener un diodo de captura Schottky a través de la bobina del relé. Si usa un transistor controlador, puede usar un diodo regular como se muestra a continuación.

El método sería algo como esto:

simular este circuito : esquema creado usando CircuitLab

Para medir la entrada, ajuste el pin de E / S de MCU durante (digamos) 5 microsegundos. Irá alto o bajo dependiendo de Q1 (la salida del optoaislador). Toma el valor y regresa el pin a su estado deseado. Repita el sondeo con relativa frecuencia (por ejemplo, a 200Hz). El relé no tendrá tiempo suficiente para retirarse o retirarse.

Tenga en cuenta que el circuito anterior tiene el relé activado para una salida alta en lugar de baja.

En general, sin embargo, a menudo es mejor pasar a un micro con un montón de pines en lugar de tratar de meter todo en unos pocos. Es inevitable que haya una nueva característica o función que podría usar un pin adicional.

    
respondido por el Spehro Pefhany
-1

Hmm, el uso bidireccional de un microcontrolador de E / S sería realmente difícil. Creo que la forma más fácil de tener más E / S es un expansor de puerto, que puede conectar en un bus serie.

Si tiene varios dispositivos aislados, también podría trabajar con un registro de desplazamiento, pero esto resultará en casi lo mismo que un expansor de puerto a través de spi.

Si realmente necesitas usar solo un pin, aquí está la idea; Tienes un multivibrador astable. Un estado para la salida uno para la entrada. Al escribir la salida, establece la línea de entrada en un estado triple. Entonces, mientras está "escribiendo" la salida (colector abierto del ic y un pull up), el tristate es alto. Usted almacena sus datos en un flip flop para la salida. Después de un tiempo definido, cambia su pin de salida a un pin de entrada y desconecta el d flip flop de la línea (transistor). Ahora la salida está configurada y puede leer, para esto, el multivibrador astable activa el estado triple y lo cambia a un colector abierto. Lo único que queda ahora es la sincronización, esto sería más complicado, podría hacer un contador de 1 a 3, en el tercer estado hay una señal de sincronización corta, por lo que no perdería la pista. Pero ve, para este esfuerzo también puede usar un expansor de puerto y no tiene que preocuparse por los I / O en ese momento.

    
respondido por el Sider

Lea otras preguntas en las etiquetas