Una salida PWM va a 0V si conecto una entrada ADC en una placa de desarrollo

Estoy haciendo un proyecto en el que quiero encender un LED con diferente intensidad dependiendo de la entrada de un sensor. Por ahora, estoy simulando el sensor con un potenciómetro.

Estoy usando una plataforma de lanzamiento EK-TM4C123GXl. Conecto la entrada del sensor 'falso' a una entrada ADC (a través de un amplificador operacional), luego varío el ancho de pulso PWM según el valor leído de ADC.

He probado que la salida PWM alimenta el LED y varía su luminosidad en función del ancho de pulso actual, teniendo la entrada ADC desconectada. Sin embargo, tan pronto como conecto la entrada ADC, la salida PWM pasa a 0V (justo después de generar un 'pico' en el LED, puedo verlo porque brilla mucho por un instante).

He "resuelto" el problema colocando una resistencia entre la salida PWM y el LED. Sin embargo, no entiendo en absoluto por qué sucede esto. Pensé que el pulso PWM está encontrando una forma de conectarse a tierra a través de las partes internas de MCU y la entrada ADC, todavía no veo cómo puede una resistencia (R5) arreglar eso.

El esquema está abajo (VCC es una batería de 9V):

EDITAR

Los esquemas anteriores estaban mal, aquí está el correcto:ingrese la descripción de la imagen aquí

La resistencia R5 es la que evita que la salida PWM vaya a masa, es decir, si la quito y conecto el LED directamente a PWM0 queda apagada y su ánodo a 0V.

¿Cómo puede estar pasando esto? ¿Puede esto estar relacionado con la corriente de fuga de entrada?

Configuración de pines:

  • Pin de entrada ADC: entrada, analógica, sin resistencia desplegable.
  • Pin de salida PWM: salida, digital, sin resistencia pull/down, sin drenaje abierto, potencia de accionamiento de 2 mA.

Notas:

  • VCC es una batería de 9V
  • Yo uso un potenciómetro y un op. amperio. porque se supone que el potenciómetro finge lo que será un sensor de luz real. la operación amperio. está ahí por el gusto de hacer la simulación más realista, ya que pretendo usarlo en el diseño final.
  • He probado que el op. amperio. la salida está entre 0 y ~3V (nunca más de 3)
  • Conecto los pines GND de la placa a la misma tierra que todos los demás circuitos integrados.
  • La MCU está alimentada por el puerto USB, que está conectado a mi PC.
  • No proporciono el código porque es muy largo y he probado varias veces que es correcto (insisto, todo funciona bien si R5 está presente)
  • Todas las impedancias se dan en ohmios.
  • la operación amperio. es una salida no inversora (lo comento en caso de que haya cometido un error)
  • He leído que el LED siempre debe estar protegido por una resistencia limitadora de corriente. No lo puse en primer lugar porque entendí mal cuál es la fuerza de accionamiento del pin, pero el punto es que quiero saber cómo la ausencia de R5 puede causar que PWM0 vaya a 0V.
No sé qué puerto se usa, pero hay puertos RGB 220R de colector abierto y tal vez tenía el LED a 3,3 V, por lo que no podía ir a tierra con un controlador CMOS de 25 Ohm 3,3 V diferente a un LED que está entre 10 y 15 ohmios a 20 mA Rs a 2,1 V para rojo

Respuestas (4)

ingrese la descripción de la imagen aquí

Figura 1. Circuito original.

R1 no está cableado como un potenciómetro. Está cableado como una resistencia variable o 'reóstato'. Si mueve el limpiaparabrisas hacia la derecha, el amplificador operacional verá 5 V. Si lo mueve hacia la izquierda, el amplificador operacional verá 200 k 20 k + 200 k 5 = 4.55   V .

Mientras tanto, su amplificador operacional tiene una ganancia de 1 + R 4 R 3 = 1 + 1 3.7 = 1.27 entonces, con el voltaje de entrada mínimo, la salida está tratando de llegar a 5.77 V pero, afortunadamente, sospecho que está limitada por el voltaje de suministro de U1. Dado que solo obtiene un máximo de 3 V, probablemente signifique que no está utilizando un amplificador operacional de salida de riel a riel. Consulte la hoja de datos para ver cuál es la variación máxima de voltaje de salida.

He leído que el LED siempre debe estar protegido por una resistencia limitadora de corriente. ... pero el punto es que quiero saber cómo la ausencia de R5 puede causar que PWM0 vaya a 0V.

Si no agrega R5, la salida PWM se sobrecargará. El voltaje alcanzará su máximo en aproximadamente el voltaje directo nominal, V f , del LED y en la corriente máxima que puede dar el microcontrolador. Esto no es bueno ni para el micro ni para el LED. Utilice una resistencia limitadora de corriente.

VCC es 9V pero no importa, la explicación con 5V está perfectamente bien.
Y la op. amperio. está mal cableado (mi error), en realidad R3 y R4 deberían estar uno en el lugar del otro. Y la olla. además, es lo contrario: primero R2 y luego R1, por lo que el voltaje de entrada para el amplificador operacional es mucho más bajo. Lo siento, actualizaré los esquemas tan pronto como pueda.

Mide la corriente que consume el led sin el R5 (con y sin AINT0 conectado). Eso es lo que yo haría, si fuera tú, comprobar lo que realmente está pasando allí.

Creo que es más que "fuerza de accionamiento de 2 mA". Estos 2 mA deben ser el valor máximo del pin EK-TM4C123GXl, que debe cuidar (esto significa que el EK-TM4C123GXl puede dar más de 2 mA, pero debe limitarlo a 2mA).

¿Dónde viste este límite de 2 mA? No pude verlo en la hoja de datos , también es una hoja de datos bastante grande, podría llevarme algún tiempo

Mi suposición: cuando el EK-TM4C123GXl da 5V (pwm o no) al LED, si no tiene el R5 conectado allí, esta salida de 5V será un cortocircuito a GND.

Las opciones de fuerza de la unidad son 2, 4 y 8 mA (no recuerdo si ese 4 es en realidad 6, pero las opciones 2 y 8 son correctas con seguridad)

Además, dependiendo de si no le preocupa el costo, siempre puede agregar un búfer para ayudar a mantener la integridad de la señal, esto debería proteger el PWM de una posible caída a tierra si se atenúa significativamente.

He hecho algunas pruebas más. En concreto he probado el circuito sin R5 y alimentando el MCU a través de su pin VBUS, con 3,3V. Todos los trabajos.

Todavía puedo obtener una sobrecorriente en el LED si giro el reóstato hacia la derecha (10 mA, mientras que las clasificaciones máximas para el LED especifican 7 mA).

En resumen, todo el problema provino de alimentar parte del circuito (sensor, amplificador operacional) con una batería de 9V mientras alimentaba la MCU con el USB de la PC. Sin embargo, no tengo idea de cómo puede afectar esto a la salida PWM.