¿Puede esto funcionar como una configuración de entrada ADC y es común?

8

¿Esto funcionaría? Estoy bastante seguro en teoría de que debería, pero no lo veo a menudo o en absoluto. En teoría, el divisor de voltaje de 2: 1 a 1: 2 debe proporcionar 3.3v en un extremo y 1.6v en el otro extremo del potenciómetro, lo que le da al ADC un amplio rango para trabajar. Y si se presiona el botón, el R1 + RV actuará como un pullup máximo de 20k, por lo que la línea se reduciría a 0v, lo que el ADC puede codificar para que reconozca como un evento único, permitiendo que existan tanto un botón como un pot. en el mismo pin de entrada, permitiendo que el ADC sirva para ambos propósitos.

Se guarda un pin de entrada, sin ningún cambio significativo en el código, ya que el anuncio ya se está sondeando para el bote.

simular este circuito : esquema creado usando CircuitLab

¿Funcionaría esto? Y si es así, como curiosidad, ¿por qué no es más popular?

    
pregunta Passerby

6 respuestas

6

Sí, debería funcionar aunque hay algunos problemas a tener en cuenta.

El problema difícil es que debes tener cuidado de detectar e ignorar las transistiones entre el nivel de conmutación de 0 V y el nivel de potenciómetro. Algunos de ellos se verán como niveles de potenciómetro válidos, por lo que debe tener en cuenta varias muestras para decidir si lo que parece ser un nivel de maceta es real o solo un voltaje intermedio mientras se mueve entre el interruptor y la olla. Tenga en cuenta que los conmutadores reales rebotan, por lo que esto es más complicado de lo que probablemente imagina. Una cosa que sabes sobre un voltaje de olla válido es que no puede cambiar tan rápido. Esto debería ayudar a eliminar las lecturas intermedias.

Otro problema es que no puedes leer la olla cuando se presiona el interruptor. No hay nada que puedas hacer al respecto con esta configuración. Si eso importa, depende del sistema y del significado de la posición del recipiente y de un interruptor presionado.

No puedo decir si esto se hace "a menudo" o no. Las entradas del bote por sí mismas son inusuales, pero por supuesto que existen. Para que este esquema tenga sentido, debe tener un sistema que necesite un botón y un ajuste continuo del usuario, y donde realmente no quiera gastar el pin adicional. Si esta es la diferencia entre encajar en un micro de 28 pines o tener que usar un micro de 44 pines, probablemente lo haría. Si me sobran otros pines, no haría esto porque es mejor mantener baja la complejidad. Los pines separados para la olla y el botón serán más fáciles y, por lo tanto, será menos probable que tengan errores en el firmware.

    
respondido por el Olin Lathrop
2

He usado ADC como entradas sin problema, en una topología muy similar a la suya.

No tenía el potenciómetro, pero sí tenía un divisor de dos resistencias para reducir el voltaje de entrada (estaba en un ATxmega, que tiene una entrada de ADC máxima de 2/3 Vcc), y un interruptor para tirar la entrada a tierra.

Creo que funcionará bien.

Una cosa que probablemente deberías tener en cuenta es que es posible que el botón no te lleve a por completo a tierra. Dependiendo de la resistencia del interruptor, es posible que aún tenga algunos milivoltios en la entrada, por lo que no debe suponer que el botón que se presiona da como resultado un valor de ADC de 0, sino un valor de ADC de < ~ 10 recuentos, o más o menos (¡prueba esto!).

    
respondido por el Connor Wolf
2

Todas estas respuestas y sus comentarios son buenos y agregan mucha información. Estoy tratando de ver cuál merece la recompensa, pero también quería agregar esto.

Encontré un nota detallada de la aplicación sobre esta misma cosa. No solo los interruptores, sino también los interruptores más un pot en la misma entrada de adc. Versión en PDF con gráficos

Elartículoincluyefórmulas(yunahojadecálculodeExcel2007paraautomatizarcosas)sobrecómoseleccionarlaspotenciasyresistenciasdepolarización,aunqueelcódigodeejemploparaunmicrocontroladoryanoestádisponible.

  

Lalimitacióndeestatécnicaesquenopuedepresionarmásdeunbotónpulsadorencualquiermomento.Además,elmicrocontroladorpuedeleerlaposicióndelpotenciómetrosolocuandonoestápresionandoningúnotrobotón.Esteejemplomuestracómousardospulsadores,perolacantidaddepulsadorespuedevariar.Losrangosdeentradaestándisponiblesparahasta10pulsadoresyunpotenciómetro,todosloscualescompartenelmismopindeentrada(Figura2).Aunquelosrangoscalculadosnosesuperponenysonúnicos,esdudosoquesuhardwareADCpuedadistinguirestasbandasdemaneraconfiableencualquiercircunstancia.Laeleccióndevaloresderesistenciamáspequeñosmantieneestasbandasmásalejadas,creandounrangodeprotecciónmásamplio.

    

Elusodeestatécnicaconcuatropulsadoresyunpotenciómetroestádentrodelorazonable.Experimentarconlahojadecálculoayudaadeterminarrápidamentelosvalorescorrectosderesistenciaenserieparacadainterruptorysurangodesalida.

Hackaday Comment Thread en esta nota de aplicación .

Más de un botón en el mismo pin También es una buena pregunta de recursos.

    
respondido por el Passerby
1

Esto funcionará para detectar la posición de un potenciómetro que no está conectado a tierra, o con otras fuentes analógicas que sabe que no se acercarán al suelo, siempre que no le importe perder algo de resolución ADC.

En el caso más general, muchas entradas de sensores analógicos se referenciarán a tierra, y pueden ir a tierra en algunas circunstancias, por lo que este esquema no podría utilizarse. Además, muchas fuentes analógicas pueden oponerse a la conexión a tierra, a menudo emitiendo el humo mágico.

Este circuito podría usarse si está realmente desesperado por una entrada digital más y es consciente de las limitaciones, pero no lo recomendaría para uso general.

    
respondido por el Peter Bennett
1

Esto debería funcionar. Pero podrías mejorarlo, por lo que dudo que sea común.

  1. Suponiendo que tiene un ADC de rango completo (0 a 5V), reducir R1 y R2 aumentará su rango dinámico y, por lo tanto, la resolución de la posición del potenciómetro. Por supuesto, no puede reducir R2 a cero o perder la distinción de una activación del conmutador.

  2. No es tan bajo como podría ser. Si puede permitirse un condensador cerámico, digamos 10nF, para conectarse a través del interruptor, puede aumentar fácilmente sus resistencias en un factor de 10 o incluso 100, reduciendo el consumo de energía en consecuencia. El condensador también ayudará a la precisión y la repetibilidad, al filtrar con paso bajo la tensión que ve el ADC y al proporcionar una fuente de tensión de baja impedancia. Y, finalmente, eliminará el rebote del interruptor (usted probablemente sabe que casi todos los interruptores mecánicos muestran un rebote de contacto, haciendo contacto y rompiendo rápidamente varias veces cuando se opera una vez, lo que requiere un rebote en el software o hardware). Como se señaló anteriormente, este capacitor también es importante para obtener un comportamiento bien definido, ya que el potenciómetro se gira, ya que esto puede producir transitorios, al menos en forma de alta impedancia intermitente.

    Por supuesto, con un capacitor de este tipo, C * R será su constante de tiempo (por lo tanto, cuando desee una precisión de 1-e) ^ 3 dentro de los 0,1 s de la liberación del interruptor, es mejor que se mantenga por debajo de la combinación de 10 nF y 3 Mega-ohm ...)

  3. Su software requiere algo de cuidado. Verá transitorios, tanto desde el interruptor como desde el movimiento mecánico dentro del potenciómetro. No es difícil de codificar, pero involucra más que simplemente consultar un único resultado de conversión de ADC. Al menos deberá comprobar si el valor que lee es lo suficientemente estable en varias conversiones para asumir que no se encuentra en un estado transitorio.

  4. Es posible que esté incluyendo componentes innecesarios: ¿De qué sirve R1 para (suponiendo que su rango de entrada ADC llegue hasta el riel positivo)? Si se supone que R1 limite el voltaje de salida máximo para que se ajuste a su rango de ADC, entonces ¿por qué no se alimenta el potenciómetro desde un voltaje de referencia en o cerca del riel ADC positivo? Eso requeriría una resistencia limitadora de corriente en la salida en el potenciómetro, pero sería mejor. Como tal voltaje de suministro analógico podría fácilmente ser mucho más estable que el voltaje de suministro de IC (que supongo que su batería de 5V debe simbolizar), puede obtener menos ruido técnico en sus conversiones de ADC.

    Y finalmente, incluso si R1 no es necesario para reducir el voltaje de salida máximo, el mismo cambio en el circuito, si se combina con un movimiento a una fuente analógica que podría ser tan simple como conectarse a + 5V en otro lugar, trae la combinación de beneficio de lo anterior y de una mejor utilización de su rango de entrada de ADC sin ningún componente adicional.

respondido por el pyramids
1

Yo no recomendaría el divisor de voltaje por una razón:

Cuando conecte cualquier dispositivo de alta impedancia para medir, tendrá una resistencia equivalente entre el dispositivo y cualquier resistencia del circuito (equivalencia paralela), cambiando la relación de las resistencias.

Por ejemplo, si configura las resistencias y el potenciómetro para que sean del 50-50%, cuando conecte el dispositivo tendrá un 49-51%. No cambiará demasiado debido a la alta impedancia del ADC, pero perderá precisión. Quiero decir, puedes ver el ADC como otra resistencia que cambiará la resistencia equivalente.

simular este circuito : esquema creado usando CircuitLab

    
respondido por el Chirry

Lea otras preguntas en las etiquetas