7 votos

El uso de un potenciómetro digital en un divisor de tensión

Estoy usando un MCP3008 ADC y un MCP4131-103 (10k) digital potenciómetro, para intentar crear una especie de "ajustable divisor de tensión."

Para el proyecto, la resistencia estoy de medición varían, y yo esperaba utilizar el MCP4131 para ajustar mi referencia resistencia a la mosca. A saber:

Vin
|
R1
|
|--Vout
R2
|
GND

Estoy de medición y registro R1 (un material) a lo largo del tiempo, y aumenta de tal vez 500-20k Ohmios a través de la duración de su interés. Si yo uso un resistor fijo para R2, puedo obtener una resolución baja cuando el valor no coincide con el valor actual de R1. Yo esperaba tener el digital olla de ajuste basado en el promedio de ejecución por eso quiero mantener mi resolución.

Creo que tengo tanto el MCP3008 ADC y el MCP4131 trabajando individualmente con mi Raspberry Pi 3 uso de SPI, pero ellos no parecen funcionar como espero que en un divisor de tensión de la instalación.

El cableado hasta la MCP3008 como este Adafruit guía, he utilizado un divisor de tensión con un resistor de 10k como R2 y la siguiente fórmula para encontrar la R1:

v_out = adc * 3.3/1024
R1 = R2*(3.3 - v_out)/v_out

| resistor used |  calculated |
|---------------+-------------|
|          1000 |        1010 |
|          4700 |        4628 |
|         47000 |       46574 |

Que confirmó que mi ADC parece estar funcionando bien.

Además, yo subí a través de los ajustes para el MCP4131 y manual leer el valor entre el alto (3.3 V) y limpiaparabrisas con un multímetro. En cada caso, yo voy a enviar un valor de target resistance * 128/10000. He trazado los resultados y obtener:

enter image description here

Que parecía lo suficientemente bueno para mí creer que el bote está conectado y funciona correctamente.

Ahora, cuando trato de configurar un divisor de tensión como el de arriba para probar tanto el digital y el bote de ADC juntos, puedo llegar wonky resultados. He probado con dos configuraciones para solucionar problemas, la sustitución de la 4131 como R1 o R2, con una resistencia fija el uno como el otro usan:

wiper pin of 4131 --|-- resistor -- GND
                    |
                    |
                   ADC

3.3V -- resistor --|-- wiper pin of 4131
                   |
                   |
                  ADC

El uso de un resistor de 10k en la primera configuración y ajuste digital de la olla a 5k, tengo una prima ADC lectura de 403, o 1.3 V. me hubiera esperado:

3.3V * (10000 / (10000+5000)) = 2.2V

Esto resulta en un cálculo de:

10000*(3.3 - v_out)/v_out = 15384 # should be 5000

Intercambio de cosas alrededor y el uso de la segunda configuración, me sale un ADC de lectura de 624 o 2.01 V. yo esperaría un valor de:

3.3V * (5000 / (10000+5000)) = 1.1V

Esto resulta en un cálculo de:

5000*(3.3 - v_out)/v_out = 3209 # should be 10000

Me pregunto si porque el potenciómetro es realmente un divisor de voltaje en sí y de por sí, no se comporta como yo esperaba. Debería ser, por ejemplo, el cambio de mi ADC Aref o GND a la una de la R_a o R_b pines en el potenciómetro? O tal vez el error está en mi código y he necesidad de tener en cuenta dos divisores de tensión en una fila?

No he encontrado ningún ejemplo de uso de un potenciómetro como una de las resistencias en un divisor de tensión. Por desgracia, un potenciómetro es uno, buscando "el uso de un potenciómetro en un divisor de tensión" obtiene una tonelada de éxitos que simplemente explicar lo que ollas.

Gracias por cualquier orientación, y estoy feliz de anunciar cualquier otra información que pueda ser útil.

2voto

Potato Monster Puntos 6

Usted necesita para configurar el potenciómetro digital como un reóstato. Si conecta el limpiaparabrisas con uno de los terminales a o B, obtendrá una resistencia variable entre los dos terminales a y B.

De acuerdo a la hoja de datos, el limpiaparabrisas está en B cuando el digital potenciómetro está ajustado a 0, y en la escala total. Esto significa que usted puede elegir si la resistencia cerca de los 0\$\ \Omega\$ o 10 k\$ \Omega\$ cuando se establece la min/max valor en el software dependiendo de si se conecta a o B para el limpiaparabrisas. Esto puede hacer su rutina de software más conveniente.

1voto

carloc Puntos 234

Los números de leer casi a la perfección con el circuito integrado (cuyo esquemático lamentablemente no ha publicado aún, pero puede ser revertido)

schematic

simular este circuito – Esquema creado mediante CircuitLab

En la primera de ellas:

$$V=3.3\,\text{V}\times\frac{3.33\,\text{k}\Omega}{3.33\,\text{k}\Omega+5\,\text{k}\Omega}\approx 1.32\,\text{V}$$

mientras que en el segundo

$$V=3.3\,\text{V}\times\frac{5\,\text{k}\Omega}{3.33\,\text{k}\Omega+5\,\text{k}\Omega}\approx 1.98\,\text{V}$$

Sin embargo, yo no creo que es el mejor circuito para medir con precisión resistencias: limpiaparabrisas de la resistencia, que es generalmente lejos de ser estable e repetible en electromecánicos y electrónicos de los potenciómetros, es, probablemente, va a la deriva y compensar sus medidas.

1voto

wong sabar Puntos 1

Sé que esto probablemente no es muy grande, pero yo quería capturar los datos complementarios/parcelas para otros que están en este. Empecé a poner en la pregunta, pero lo que realmente hacía mucho tiempo, así que sólo va a sentarse aquí como una respuesta.


Muchas gracias a awjlogan y carloc por sus respuestas.

Voy a empezar con carloc, que ha creado un maravilloso esquemático de lo que no podía envolver mi cabeza alrededor. La aceptación de este "doble divisor de tensión" de la realidad, tuve que cambiar mis cálculos, sin embargo he encontrado esto está lejos de ser ideal, debido a que la resistencia equivalente de la fórmula. Tomar este escenario de la respuesta, que es lo que la configuración he pensado en usar:

enter image description here

Para el esquema de la izquierda, me imagino que mi bote de consigna, setpt como una especie de "aguas arriba" de la resistencia creada por el limpiaparabrisas, y voy a obtener un R2 como mi "aguas abajo" de la resistencia. R1, mi medición de su interés y setpt acaban formando una resistencia equivalente, R_eq, que es lo que se muestra como Rpar a la derecha. He simulado varias gamas de mi material de 1000-20k Ohmios, y una amplia gama de olla de puntos de consigna. Para cualquier setpt:

R2 = 10000 - setpt
R_eq = 1/((1/R1) + (1/setpt))

Aquí está una parcela de R_eq vs R2, R1 agrupados/color:

enter image description here

Así, se trabaja, pero aviso que el mayor R2 que puedo lograr es mucho menor que R1 como se pone más grande, que es exactamente la razón por la que quería probar este enfoque de todos modos.

Dicho esto, la iluminación del circuito era de oro, y realmente dio en el clavo en la cabeza con respecto a las lecturas que yo pensaba eran tan extraño.


En awjlogan la sugerencia, que era corto el limpiador de pin y uno de P0A o P0B, usine uno de esos (frente a la limpiadora) como la entrada a mi ADC. Me imagino a un circuito como este:

schematic

simular este circuito – Esquema creado mediante CircuitLab

He dibujado el potenciómetro como dos resistencias en este caso, y el flujo eléctrico es una especie de "ciego" a la mitad superior debido a la corta. De esta manera, me sale exactamente lo que estaba buscando, que es un simple divisor de tensión donde una pierna es ajustable.

carloc señaló que esto puede ser demasiado ruidoso impreciso//no repetible, y que se llevará a algunos de cheques. Para mi prueba preliminar, aquí está lo que hice con algunas resistencias y varios potenciómetro consignas:

enter image description here

Aquí es el correspondiente de los datos en bruto, con un error como abs((adc-measured)/adc) de por ciento:

   setpt     adc  measured  error
1   2000  9441.3      9880   4.65
2   4000  9429.5      9880   4.78
3   6000  9515.2      9880   3.83
4   8000  9467.0      9880   4.36
5  10000  9504.8      9880   3.95
1   2000  4340.6      4610   6.21
2   4000  4376.3      4610   5.34
3   6000  4431.2      4610   4.03
4   8000  4431.0      4610   4.04
5  10000  4442.9      4610   3.76
1   2000   913.2       981   7.42
2   4000   934.9       981   4.93
3   6000   958.1       981   2.39
4   8000   914.0       981   7.33
5  10000   998.9       981   1.79

Para terminar, vamos a ver si esto funciona para mi caso de prueba. ~5% no es demasiado malo,pero no es grande. Comparar que una puesta al día de mi primera prueba de la ADC en sí, ajustada para el valor medido de mi 10k R2 (9880):

     adc  measured  error
0    998       981   1.70
1   4635      4610   0.54
2  46640     46500   0.30

Que hace que un 5% se ven bastante mal!

Voy a empezar una nueva pregunta sobre cómo me podría medir la resistencia de un material variable, pero este fue un ejercicio divertido y espero que ayude a alguien por el camino.

0voto

aresnick Puntos 725

Sus resistencias son demasiado grandes para este ADC, consulte la Figura 4-2 de la hoja de datos. Usted puede agregar un buffer justo antes de la ADC, por ejemplo, un op-amp–unidad basada en la ganancia del amplificador de búfer. Creo que una MCP6001 debería ser suficiente para su configuración.

enter image description here

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