¿Cómo convertir datos ADC de salida cruda de 10K Pot a tensión y resistencia de arduino uno?

0

Tengo una pregunta simple y básica. Estoy usando Arduino uno para leer la salida de un potenciómetro de 10K. Entiendo que Uno usa un ADC de 10 bits, por lo tanto, puede mostrar salidas de 0 como 0V a 1024 como 5V.

Pregunta: Obtengo estos valores del bote y se muestran en el monitor serial del IDE de arduino, mientras que varío la resistencia del bote de 10K. ¿Cómo se supone que debo calcular o saber el voltaje de salida y la resistencia correspondiente a los valores de 0 a 1024?

Otra pregunta es, cuando varío el mando del POT a un punto máximo, es decir, 5V, la salida que se muestra es 1007 o 1008. ¿No se supone que debe generar 1024 para 5V?     

pregunta PsychedGuy

4 respuestas

1

Un valor convertido de 1024 correspondería a 5v, o al voltaje que se ponga en el pin Vref del chip. Pero con 10 bits, el número máximo que puede entregar el convertidor es 1023. Es una pequeña diferencia, pero tenlo en cuenta.

Para encontrar el voltaje correspondiente a un valor convertido: V = (valor / 1024) * Vref. Por lo tanto, una lectura de 1008 corresponde a 4,92v, suponiendo 5,00 voltios en Vref.

    
respondido por el JRobert
1

Puede usar la función de mapa para asignar el valor 0-1023 a un valor que puede usar.

enlace

map(value, fromLow, fromHigh, toLow, toHigh)

int val = analogRead(0);
val = map(val, 0, 1023, 0, 500);
analogWrite(9, val);

Esto le dará una salida de 0 a 500, y ese será su voltaje * 100. El reazon que uso 500 es porque si especificas de 0 a 5, solo te dará números enteros. Con 500 solo puedes dividir por 100 y ese es tu resultado con 2 puntos decimales.

    
respondido por el Oddmar Dam
0

Puede poner una sonda de voltaje (es decir, un multímetro) en paralelo con el potenciómetro para crear una curva de mejor ajuste del voltaje al valor de ADC. Esto funciona mejor si es un potenciómetro lineal, pero como sucede con todos los circuitos analógicos, no será perfecto.

EDITAR: asumiendo que es un potenciómetro lineal, también puede tomar los valores de resistencia de un multímetro girándolo hacia los extremos para tener una idea de lo que debería ser.

Si la corriente es constante, entonces puedes usar la ley de ohmios para encontrar la resistencia, porque conocerás el voltaje de tus mediciones empíricas anteriores.

    
respondido por el mHo2
0

Dos cosas en las que puedo pensar ...

El ADC requiere un Vref. Estará cerca de su Vin de 5.x voltios en su Arduino pero no exacto. Todas las mediciones se harán con referencia a ese nivel de voltaje. Creo que puedes medir ese voltaje en un pin Arduino.

La posición del limpiador en la olla es garauntada para cruzar toda la resistencia, incluso cuando el tornillo está completamente retirado, por lo que el Vout en realidad puede no ser tan alto como el de Vin.

    
respondido por el Samee87

Lea otras preguntas en las etiquetas