ATMega128 A/D flotante

Estoy trabajando con un micro ATMega128 que funciona con un joystick (pot en el esquema a continuación) que tiene una salida de .25-4.75V con una impedancia de salida de 2 ohmios (el número de pieza del joystick es: ch products ts-2-r-1-u- 05-a). Sin embargo, cuando se quita la línea entre el potenciómetro y la resistencia de 33kohm mientras la placa está encendida, el voltaje flotará ~.5V por un período de tiempo (tal vez 20-30 minutos) antes de bajar por completo. Estaba pensando que la resistencia de 499 kohm debería reducirla de manera efectiva, pero algo no parece estar del todo bien en esto.

esquemático

simular este circuito : esquema creado con CircuitLab

¿Alguien tiene alguna idea de por qué no se desmonta por completo y de inmediato? Lo he visto en un visor y ronda durante bastante tiempo alrededor de esa marca de 0,5 V. También para tener en cuenta, actualmente estoy montando a cuestas la resistencia de 499kohm en el límite de .01uF para la prueba.

Su circuito R2/C1 tiene una constante de tiempo de aproximadamente 5 ms. Entonces, si su entrada no regresa a tierra dentro de aproximadamente 30 ms, algo más también está impulsando el nodo. ¿Quizás tienes habilitados los pull-ups internos del mcu?
@Curd es el número de pieza del joystick como referencia. Pensé que podría ser útil incluir.
@svens Lo investigaré, pero creo que el ATMega128 deshabilita los pullups mientras está en modo A/D. El 499k no estaba allí originalmente, así que lo agregué (montado en la tapa) anoche y no se bajó por nada. Dejé que se quedara toda la noche, y esta mañana funcionó todo el tiempo hasta que lo desconecté nuevamente. No estoy seguro de lo que está pasando allí, pero miraré los pullups.
@biggidvs: entonces, ¿por qué no dices que este es un número de pieza? No es obvio en absoluto. Por cierto: ya que te preguntas sobre el comportamiento del circuito cuando el joystick está desconectado, ¿cómo puede importar en absoluto?
@Curd solo tratando de incluir cada pieza de información. Es al desconectar el joystick de esa línea que el voltaje no baja. Como es parte de mi secuencia de pasos para replicar el problema, lo incluí. Editaré para mostrarle un número de pieza.
@biggidvs: ¿Cómo midió el voltaje en el nodo "A/D"? 499k es una resistencia bastante alta. Su dedo tocando dos líneas puede tener una resistencia que es una fracción (1/20 o incluso menos) de eso.
Otra posibilidad es que R2 no esté correctamente conectado.
Sí, lo pensé y lo volví a soldar varias veces (probablemente 20 o 30). Es difícil medir la resistencia de esa línea a tierra con esa tapa (le gusta flotar un poco). Una parte de mí quiere quitarse la tapa e ir desde allí. Es solo una especie de filtro ... podría introducir un poco más de ruido, pero tal vez me permitiría ver el problema.
¿Su conexión a tierra es realmente buena (baja impedancia) de esa tapa y resistencia? He tenido un via bug durante algunas horas porque no hizo el contacto correcto...
@Arsenal, sí, tengo 0,2 ohmios desde el suelo de la tapa/resistencia hasta el suelo que entra en la placa.

Respuestas (1)

Parece estar asumiendo que el ATmega en sí no tiene influencia en el voltaje del nodo.

De hecho, si observa la hoja de datos, la corriente de fuga de entrada se especifica como hasta un microamperio en cualquier dirección.

Un microamperio a través de 499K es medio voltio.

Esta podría o no ser la explicación del problema real que ve, pero es un ejemplo de una suposición de diseño no válida ; independientemente de si esto es lo que está sucediendo o no, es una situación totalmente permitida por la hoja de datos y, por lo tanto, un diseño error suponer que no sucederá.

Correcto, veo eso y parece que podría ser de donde viene. Puedo obtener algunos valores de resistencia más pequeños y probarlos para ver si lo reduce más y alejarme de la influencia del nodo. Sin embargo, con la resistencia en serie de 33k ohm, debo mantenerme por encima de eso para el pulldown, ¿correcto?
¿Quizás deberías retroceder y pensar por qué te importa? ¿Está tratando de detectar un joystick faltante? Si su especificación del joystick fuera correcta, podría colocar resistencias de polarización más fuertes aguas arriba de la resistencia en serie sin mucho efecto, pero su especificación para el joystick simplemente no es creíble a menos que tenga un amplificador de búfer.
Sí, tratando de detectar si viene desenchufado/etc. Por ejemplo, sin un pulldown, si el joystick se desconecta cuando está leyendo ~3V, entonces la línea flotará a 3V ya que no hay camino a tierra. Es por eso que estoy agregando un menú desplegable (para sacarlo del rango operativo para detectar un modo de error). La resistencia de 33k ya está allí, así que estoy tratando de solucionarlo lo mejor que puedo. No sabía si un menú desplegable más pequeño afectaría eso o no.
Si realmente desea detectar el joystick, es posible que deba hacer algo como inyectar periódicamente pulsos de corriente y ver que su efecto sea limitado, o cortar y apagar el suministro al joystick y ver que la lectura responda. Pero necesitará una cuidadosa sincronización y administración de las constantes de tiempo RC para asegurarse de que las lecturas que usa para los datos no se vean afectadas por las operaciones de detección de presencia.
Entonces, ¿crees que un menú desplegable más pequeño cambiará la salida del joystick?
Cambiar a una resistencia de 100k soluciona el problema y se retira instantáneamente... ahora es el momento de solucionar el problema de salida.
Se corrigió cambiando 33k a 1k y pulldown de 100k eliminando la mayor parte del efecto del divisor de voltaje. Actualizará el esquema final con la respuesta. ¡El ATMega estaba afectando al nodo causando problemas, por lo que solo era cuestión de equilibrar la corriente de fuga con el divisor de voltaje!