resistencia desplegable; ¿Por qué es crucial?

0

Estos3diagramasrepresentan3casosdeprueba.

Dia1:

CuandorealizounanalogReaddelpuertoanalógico0,obviamenteobtengounvaloralto.Segúnelmanual,elmétodoanalogReadobtienelaresistencia.Esperabaquedijeraquedevuelvelatensión.Detodosmodos,enestecasoambossondirectamenteproporcionales.

Dia2:

Conunaresistencia+resistenciadesplegable,lalecturadelpuertoanalógico0disminuyó.

Dia3:

Sinembargo,habríaesperadoquedia3tambiénresultaraenunadisminucióndelvalor.

Mirazonamientofue:elvoltajesuministradode5Vesconstante.Porlotanto,sedebedividirentrelaresistenciayelpuertoanalógico0.Unaresistenciamásgrandedeberíaresultarenunvoltajemásaltoparalaresistencia,yunomásbajoparalaentradaanalógica.->Peroesopareceserincorrecto.

Segundointento:elpuertoanalógicoleelaresistenciaynoelvoltaje.Talvezesoesimportante.%código%.Alparecerlaresistenciasiguesiendolamisma.Entonces,aplicandoestafórmula:silaresistenciapermanececonstanteyelvoltajedisminuye,entoncespodríadeberseaunaumentodelacorriente.Peronotienesentidoquelacorrienteaumentealagregarunaresistencia.

PS:siagregoelpinanalógicoalsuelo,obtengounalecturabaja.

¿Dóndeesexactamentemirazonamientodefectuoso?

EDIT:

Comomuchaspersonashanseñalado.Dehecho,heinterpretadoerróneamentelasiguientefraseen este tutorial . Gracias por señalarme eso.

  

en el bucle principal de su código, debe establecer una variable para almacenar el valor de resistencia.

    
pregunta bvdb

3 respuestas

6

Las entradas analógicas miden voltajes, no resistencia. Es posible inferir el valor de una resistencia configurando un circuito de cierta manera y midiendo el voltaje en una entrada analógica. Pero las entradas analógicas solo miden el voltaje. ¿Puede mostrar el contexto del manual al que se refiere que afirma que una entrada analógica obtiene resistencia?

Los resultados que obtienes para tus tres experimentos parecen perfectamente correctos. En Dia 1, como parece comprender, el pin analógico ve 5V y lo informa. Las entradas analógicas consumen muy poca corriente. Tan poco, de hecho, que la corriente puede ignorarse en la mayoría de los casos *.

En Dia 2, ha creado un divisor de resistencia entre 5V y GND. No es realmente apropiado llamar a la segunda resistencia una resistencia "desplegable" en este contexto. Redibujado, Dia 2 se parece a:

simular este circuito : esquema creado usando CircuitLab

El pin de entrada analógica no toma corriente, pero hay una ruta de corriente de 5V a GND. Esto provoca una caída de voltaje a través de ambas resistencias. El voltaje en el medio se resuelve fácilmente usando la Ley de Ohm. La ecuación para el voltaje dividido se ve así: $$ V_ {divide} = 5V \ frac {R2} {R1 + R2} $$ El "valor disminuido" que observaste era, de hecho, el valor de voltaje dividido. La elección de diferentes valores para R1 y R2 le dará una lectura analógica de voltaje diferente.

Para Dia 3, considere el efecto de la Ley de Ohm en esa resistencia. Recuerde, virtualmente no se consume corriente por el pin de entrada analógica. Si no hay una corriente, entonces I en \ $ V = IR \ $ es cero. Si el I es cero, la caída de voltaje V es cero. Si la caída de voltaje es cero, entonces no hay cambio en el voltaje en ninguno de los lados de la resistencia. Por lo tanto, ambos lados de la resistencia leen 5V y el pin analógico leerá un valor alto, exactamente como observaste.

* Hay ocasiones en que esta suposición no es correcta y dará lugar a errores de medición. Pero esos casos se pueden ignorar de forma segura con fines de introducción.

    
respondido por el Dan Laks
3
  

Según el manual, el método analogRead obtiene la resistencia.

O el manual es incorrecto o ha interpretado mal esta declaración. Cualquier lectura analógica devolverá un número digital que representa el voltaje en esa entrada. No transmite ningún valor de resistencia que pueda ajustarse en esa entrada.

  

Esperaba que dijera que devuelve el voltaje.

Yo también.

  

Hubiera esperado que dia3 también resultara en una disminución   valor.

Todo depende del valor de la resistencia y "otras cosas". Para valores inferiores a 10kohm (alerta de generalismo) esperaría que fuera 1024 (resolución ADC de 10 bits) porque la impedancia de entrada del ADC es mucho mayor que la 10kohm y, por lo tanto, no forma un divisor potencial significativo.

Tenga en cuenta que una impedancia de entrada de (por ejemplo) 10 Mohms daría como resultado un descenso de la fuente de 5V (debido a los 10k y 10M) en aproximadamente un 0,1%. Tal vez leería 1023 en lugar de 1024: -

Rtopsería10kyRbottomsería10Menesteejemplo.

Porotraparte,siestabaescaneandoalrededordeesasentradasenelsoftwareylasentradasdeADCsealimentaron(internamente)aunADCdeccommonatravésdeunmultiplexor,esposiblequehayavariacionesenelvalordelectura.EstosedebealtiempofinitoquesetardaencargarloscondensadoresinternosenlaentradadelADC(despuésdelmultiplexor):-

Los condensadores de muestra y retención deben cargarse hasta dentro del 0.1% de la salida del multiplexor y, si el multiplexor está escaneando muy rápidamente, puede producirse un error en algunas entradas porque es posible que no haya suficiente tiempo para cargar el condensadores.

    
respondido por el Andy aka
2

Hasta donde sé, analogRead devuelve un valor (10 bits de ancho por defecto) que representa la fracción de la referencia. voltaje que se lee. Por ejemplo, si tiene 5V conectados al ADC y su ref. el voltaje es de 5 V obtendrá un valor de 1023 (o algo justo debajo de él). Su resolución es 5V / 2 ^ 10 = aproximadamente 4.9mV por código ADC. así que 1023 * 4.9mV es aproximadamente 5V.

Cuando estás cortocircuitando 5v al ADC, estás causando que 5V caigan sobre el ADC para que obtengas el máximo. código para 10bit ADC = 1023. Cuando conecte 5v a través de una resistencia, seguirá obteniendo aproximadamente 5V en la entrada ADC porque la impedancia de entrada del ADC es muy grande, por lo que casi toda la tensión cae en el ADC y casi ninguna en la resistencia . Su resolución de ADC no es lo suficientemente buena como para mostrar estas diferencias. Cuando conectas dos resistencias con extremos que van a 5 V y GND, has creado un divisor de tensión que, según la relación de valor de las resistencias, será una fracción de la tensión de 5 V. Por ejemplo, si tiene 2 resistencias de 10K, obtendrá 2.5V en su unión. El ADC toma muestras de este voltaje, por lo que obtendrá un código de aproximadamente 512 (512 * 4.9mV = aproximadamente 2.5V, ¿no?).

No sería correcto llamar a las resistencias que suben o bajan, ya que ese término se usa generalmente para resistencias que introducen cierto nivel de voltaje en un pin digital que está flotando.

    
respondido por el user34920

Lea otras preguntas en las etiquetas