¿Potenciómetro de ruido de zona muerta?

2

Esperaba que alguien pudiera apuntarme en la dirección correcta. Tengo una veleta que usa un potenciómetro de 360 grados como sensor. El voltaje producido en el brazo de la olla es proporcional a la dirección del viento. El brazo de la olla está conectado al ADC de un Arduino donde el software se encarga de convertir el voltaje a la dirección del viento. Todo esto funciona muy bien con una excepción. El potenciómetro tiene una pequeña zona muerta. Asumí que cuando el brazo estaba en contacto con la zona muerta obtendría una lectura de 0, por lo tanto, la resistencia desplegable R2, pero desafortunadamente salta en el rango de 50 a 100 mv de acuerdo con el ADC. Debo agregar que el circuito es parte del ensamblaje de la veleta y no mi diseño.

Entonces, mi problema es cuando el brazo de la olla está en la zona muerta, el ADC está detectando un voltaje donde no debería existir. He intentado algunas cosas, agregué un pequeño condensador a través del brazo y el suelo que parecía ayudar pero no lo eliminó. También agregué un amplificador de búfer entre el ADC y el pot porque, pero no tuvo ningún efecto, lo empeoró. ¿Qué puedo hacer para eliminar este ruido (?). ¿Podrían los diodos en el circuito causar esto?

    
pregunta Adam Selene

2 respuestas

1

En algún momento a medida que gire la olla 360 grados, la conexión se debe romper (o debe ser momentáneamente corta) a medida que el limpiador pasa de un extremo al otro del elemento.

Cuando se rompe la conexión del limpiaparabrisas, tiene una resistencia de 1 M a tierra. 1M no es una impedancia lo suficientemente baja como para leer de manera confiable 0V en un ADC de MCU.

Si realmente desea que esto funcione, deberá usar un amplificador operacional de entrada y salida riel a riel como búfer, y debe tener una corriente de polarización de entrada lo suficientemente baja (por ejemplo, < 1nA).

También podría bajar el 1M a algo así como 10K (es mejor moverlo al otro lado del R3), pero afectaría negativamente la linealidad de la señal (corregible en el software con una pequeña pérdida de resolución).

La desviación de la linealidad es máxima en ~ 2/3 de rotación. Es un cuadrático simple para hacer la corrección como se muestra a continuación (409.6 conteos es exactamente la mitad de la rotación del pot, suponiendo un ADC de 10 bits).

reading / corrected reading
0   0.0
16  16.2
32  33.0
48  50.2
64  68.0
80  86.2
96  104.8
112 123.9
128 143.4
144 163.3
160 183.5
176 204.1
192 224.9
208 246.0
224 267.2
240 288.6
256 310.0
272 331.6
288 353.1
304 374.5
320 395.9
336 417.1
352 438.2
368 459.0
384 479.6
400 499.9
416 520.0
432 539.7
448 559.1
464 578.1
480 596.7
496 615.0
512 632.9
528 650.4
544 667.5
560 684.2
576 700.5
592 716.4
608 731.9
624 747.1
640 761.9
656 776.3
672 790.3
688 804.0
704 817.4
720 830.4
736 843.1
752 855.4
768 867.5
784 879.2
800 890.6
816 901.8
832 912.6
848 923.2
864 933.6
880 943.6
896 953.5
912 963.1
928 972.4
944 981.5
960 990.4
976 999.1 
992 1007.6
1008 1015.9
1024 1024.0
    
respondido por el Spehro Pefhany
0

Considere que la resistencia de salida efectiva del Pot está en algún lugar entre 0 y 5K Ohms en la región activa, pero en circuito abierto en la zona muerta. La resistencia de 1Meg ayuda, creo que un capacitor ayuda, pero aún eres vulnerable a cualquier ruido que llegue a la conexión de salida del potenciómetro. Es posible que pueda reducir aún más el 1Meg, tal vez a 100K o incluso menos. En algún momento, la carga en el bote se volvería significativa, pero eso podría solucionarse en el programa Arduino si fuera necesario.

    
respondido por el BobU

Lea otras preguntas en las etiquetas