¿Por qué tengo interferencia en Arduino ADC, a pesar de la baja impedancia de la fuente?

7

I. EL CIRCUITO:

A continuación, un Arduino Due mide las señales de voltaje de dos circuitos divisores de voltaje paralelos:

QueremosqueelDebidomidaconprecisiónlosvoltajesenloslugaresdondehacecontactoconlosdivisoresdevoltaje.Sinembargo,vemosunainterferenciasignificativa:cambiarlaresistenciaenuncanalcambialatensiónenelotrocanal:

$$\textbf{TESTI}~~(R1=R2=10MΩ):$$

$$ \ textbf {TEST II} ~~ (R2 = 3.3 MΩ < R2 = 10 MΩ): $$

Sinembargo,teóricamente,podemosrastrearestosefectoshastalafugaactualatravésdelDue:elDuenormalmentetieneunaimpedanciadeentradadealrededorde10kΩ,perohemossubidode20MHza1MHz,loqueelevasuimpedanciadeentradaa266kΩ.Porlotanto,loselectronesenelcircuitodivisordevoltajepreferiráningresaralArduino,enlugardeatravesarel1MΩcolocadofrenteaellos.

II.ELSEGUIMIENTO:

Acontinuación,hemosrealizadounapequeñamodificaciónennuestrocircuitooriginal,conlaesperanzadehacerqueloscanalesdevoltajeseanrealmenteindependientes:ambasseñalessealmacenanenunbúferADA4528-2( un amplificador operacional de doble canal ):

Elamplificadoroperacionalnoestáallíparaamplificarlaseñal:proporcionaunagananciade~1.003.Encambio,estáahíparaocultarlaaltaimpedanciadelcircuitoqueestamostratandodemedir.Enlugardeunaimpedanciadesalidade1MΩ,laimpedanciaesahora<0.1Ω:

por lo que los electrones deberían permanecer en el circuito, y no debería haber ninguna interferencia. Sin embargo, para mi sorpresa, aunque hay algunas mejoras, ¡todavía hay una interferencia notable!

$$ \ textbf {TEST I} ~~ (R1 = R2 = 10 MΩ): $$

$$\textbf{TESTII}~~(R2=3.3MΩ<R2=10MΩ):$$

El canal rojo no debe "saber" que el canal azul ha aumentado la resistencia. Sin embargo, su señal disminuye cuando no he realizado ningún cambio en el canal rojo. ¿Qué me falta en mi análisis (por cierto, estoy usando resistencias de baja tolerancia < 1%)?

    
pregunta Dave

2 respuestas

2

Es más que probable que sea un problema hacer que los canales analógicos se multiplexen dentro del arduino; intente muestrear con una mayor diferencia de tiempo entre las señales rojas y azules y esto debería resolver / indicar el problema.

    
respondido por el Andy aka
0

Aunque es una publicación antigua, recientemente experimenté el mismo problema con el Arduino Due al intentar leer dos canales de audio para un medidor VU. Al colocar la balanza solo en un canal, aún se veía una señal en la salida de ambos canales ADC. Intenté un retraso considerable entre la lectura de los dos canales, pero sin suerte. Lo que pareció hacer el truco para mí, es leer cada canal dos veces y solo usar la segunda conversión.

analogRead(Channel1);
ADCLeft = analogRead(Channel1);
analogRead(Channel2);
ADCRight = analogRead(Channel2);

Ahora tengo canales separados completos cuando muevo el control deslizante de balance de izquierda a derecha y viceversa.

    
respondido por el Tom Binnekamp

Lea otras preguntas en las etiquetas