4 votos

Alternativa de ADC simple mediante el uso de un condensador y pin Arduino digital

Me gustaría medir una docena de potenciómetros con un Arduino UNO. Por desgracia, la ONU sólo tiene 6 pines analógicos, pero tiene alrededor de una docena de los pines digitales.

Podría medir efectivamente un valor analógico con un pin digital por medio de este procedimiento?

  1. Cable del potenciómetro, en paralelo con un condensador.
  2. Conecte un cruce a un Arduino pin digital.
  3. Establecer este pin para escribir ALTA hasta que el capacitor se carga por completo.
  4. Establecer pin para leer BAJO y, a continuación, utilizar pulseIn() para medir el tiempo que tarda el condensador se descarga a través del potenciómetro, causando que el voltaje en el pin para ir de 5V a 0. Este tiempo debe ser proporcional a la resistencia de la olla. por ejemplo, una maceta con una baja resistencia hará que la tapa de la descarga muy rápido, mientras que una alta resistencia hará que la tapa de la descarga más lentamente.

3voto

Tim Puntos 66

No quiero depender de ella. Aunque puede funcionar también podría ser algo de la capacitancia parásita o de otros factores que también afectan a la lectura del tiempo y el valor de la tensión. Recuerde que no es un no mans land entre alta y baja (donde la señal analógica sería), que teóricamente podría cambiar con la temperatura, tiempo o cualquier otra variedad de razones e invalidar su instalación. También se basa en saber el momento preciso de la descarga. Llevar la cuenta del tiempo como esto es algo que es muy difícil de hacer con precisión en cualquier microcontoller.

Tomemos por ejemplo que conseguir que esto funcione y calibrar así que usted sabe que se lee low cuando la entrada se pone a 1,7 v. Pero volver en un día (o incluso minutos) más adelante, y que de 1,7 v umbral es de ahora es de 1.6 v. La calibración se hizo no sería válida y usted estaría consiguiendo falsos resultados.

Lo que yo haría en su lugar se utilizan los pines digitales para leer un ADC externo a través de una SPI o cualquier otro medio digital de la línea. Esto tiene la ventaja de ser más confiables, y (en la mayoría de los casos) más precisos también.

Para responder a su pregunta, es teóricamente posible. Sería un duro circuito de diseño, usted necesita para desconectar la línea que está siendo monitoreado mientras carga el condensador, pero se podría hacer. Sin embargo lo más probable es que no sería muy fiable.

2voto

Alex Andronov Puntos 178

El diseño óptimo dependerá de cómo a menudo las macetas deben leer, cómo estables los valores tienen que ser con el tiempo (por ejemplo, si establece el bote a una posición en particular hoy, cuidado si lee ligeramente superior o inferior de la mañana?), y cómo confiable pequeño que el limpiador de la resistencia en comparación con el total de bote de resistencia.

Cableado de una olla, como un reóstato (un extremo desconectado) con un poco de resistencia es la serie, la descarga de un cap, y entonces la sincronización cuánto tiempo se necesita para que la tapa a cargo de VDD a través de la olla+resistencia combinado es una técnica muy antigua que se utiliza en el original Pong de la máquina y de juego de muchos equipos, ya que; no estoy seguro de si la Odisea que precedió Pong utiliza la misma técnica. Los mayores problemas con que técnica son que la estabilidad a largo plazo puede ser pobre, y las variaciones en los limpiaparabrisas de resistencia pueden producir desagradables control de la respuesta si ollas llegar a viejo y/o sucios.

Otro enfoque es conectar los extremos del bote entre VDD y VSS, probablemente con algunas resistencias para mantener el limpiador de voltaje a cierta distancia de los rieles, y, a continuación, utilizar un comparador para detectar si el bote de voltaje es mayor o menor que un límite máximo generado tensión de referencia que las rampas de VSS a VDD. Idealmente se debe usar una constante fuente de corriente para cargar la tapa, pero si uno no acercarse demasiado a VDD o VSS incluso un resistor puede ser "lineal suficiente".

Me gusta el segundo enfoque mejor que la primera, ya que como Atari 2600 propietarios pueden atestiguar, reóstato de estilo controladores de obtener el "nerviosismo" que después de un tiempo como consecuencia de los cambios de la limpiadora de la resistencia. El segundo enfoque requeriría un par de quad-comparador de fichas para leer seis ollas, sin embargo, mientras que el primero no.

2voto

shash Puntos 668

Si pudieras descargar la corriente constante de la tapa, y usar un comparador real, esto sería muy parecido a un A / D basado en pendiente. Es una forma común de lidiar con termistores. Dependiendo de qué tan grande es la tapa, y la velocidad de sus temporizadores, este método puede tener una mejor resolución que un A / D a bordo. Sin embargo, recomiendo un comparador real.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X