¿Cómo realizo operaciones lógicas sin un microcontrolador?

0

Me gustaría construir algunos circuitos lógicos simples (con suerte) sin el uso de un microcontrolador. Soy un ingeniero de software principalmente, así que pienso en las cosas de manera ligeramente diferente. Implementar esto con un microcontrolador sería simple, pero quiero aprender a hacerlo sin.

Toma la siguiente imagen. Imagina cuatro fotoresistores separados por unos deflectores. Cuando una luz viaja alrededor de esto, cada fotoresistor cambiará su resistencia en respuesta a la luz, obviamente.

Si tuviera esto montado en un montaje de inclinación horizontal de dos ejes, podría rastrear la luz con el siguiente pseudocódigo simple:

# primary axis
if (A+C > B+D) rotateRight()
else if (A+C < B+D) rotateLeft()

# secondary axis
if (A+B > C+D) tiltUp()
else if (A+B < C+D) tiltDown()

Ahora digamos que tengo cuatro LED, quiero encenderlos dependiendo de dónde esté la luz. Básicamente tengo cuatro entradas y me gustaría hacer esto electrónicamente:

LED 1 = A+C > B+D
LED 2 = A+C < B+D
LED 3 = A+B > C+D
LED 4 = A+B < C+D

¿Cómo harías eso? ¿Es posible (/ viable) con transistores estándar o necesitaría chips específicos? ¿Hay una forma sencilla de hacer esto?

¡Espero tener noticias de todos!

Gracias

    
pregunta Adam K Dean

3 respuestas

5

Puede promediar dos voltajes analógicos, lo que equivale a sumarlos, efectivamente, con un divisor de resistencia:

simular este circuito : esquema creado usando CircuitLab

Esto solo funciona si sus entradas, A y B, tienen una impedancia baja en comparación con R1 y R2, es decir, son capaces de suministrar mucha más corriente de la que consumirán estas resistencias, lo que significa que su voltaje no se verá afectado mucho por el divisor. Definitivamente, este no es el caso de un fotodiodo, por lo que necesitará un búfer que mida la señal del fotodiodo y la reproduzca con una impedancia mucho menor, algo como esto:

simular este circuito

Para comparar voltajes, quieres un comparador. Un comparador toma dos entradas y genera una alta tensión si la entrada positiva es mayor que la negativa, y de otra manera una baja tensión.

Colectivamente, configurarías todo de esta manera:

simular este circuito

Para cada una de las otras salidas, puede reutilizar los buffers opamp, pero use resistencias y comparadores separados para sumar las salidas que necesita.

    
respondido por el Nick Johnson
5

La versión unidimensional de esto, con solo dos sensores y una línea entre ellos, es el clásico robot seguidor de línea. Existen muchas soluciones analógicas. Aquí hay uno, por ejemplo, que involucra convertir señales a PWM usando amplificadores operacionales: enlace

    
respondido por el pjc50
3

El dispositivo que compara dos voltajes se denomina comparador . Ciertamente es posible construir uno a partir de transistores discretos, pero también está disponible como un IC de producto básico. LM319 es un comparador extremadamente común y clásico.

Con comarators, puede implementar el "<" y ">" operaciones si puede representar el "brillo en un sensor" como un voltaje.

La otra parte es la operación de suma. La solución canónica, para voltajes analógicos, es el amplificador sumador , que puede construirse con un puñado de resistencias y un amplificador operacional .

Por supuesto, hay muchos detalles que resolver, por lo que te animo a comenzar con un objetivo más simple. Sin embargo, leer acerca de estos dos circuitos básicos debería darle una base amplia para comenzar a experimentar.

    
respondido por el Phil Frost

Lea otras preguntas en las etiquetas