Potenciómetros de varias vueltas para medir grados.

Quiero mostrar los grados en una pantalla de siete segmentos cuando gire los potenciómetros de varias vueltas. Después de girar una ronda, debe restablecerse a 0 grados. Puedo usar circuitos integrados convertidores de A a D. redondo.

Para una aplicación tan lenta, los ADC de la mayoría de los microcontroladores serán adecuados. La precisión absoluta puede ser deficiente, pero es probable que no obtenga más de 10 bits de linealidad de su potenciómetro, a menos que use uno muy costoso, o use un potenciómetro estéreo y promedie las dos señales.

Respuestas (3)

En primer lugar, es una mala idea: los potenciómetros hacen ruido mientras están en movimiento y esto distraerá sus lecturas. La solución adecuada es usar un codificador: ya tienen salida digital y son mucho más confiables.

Para los potenciómetros multivuelta, solo tiene que calibrarlos: gírelos 90 ', anote la lectura de ADC, luego una y otra vez hasta llegar al límite. Luego haces la interpolación para obtener lecturas entre tus marcas de calibración. Para restablecer a 0, simplemente agregue% 360 en su código (para que el valor calculado se 'envuelva' después de 360').

No nos ha dicho qué tipo de potenciómetro está usando o qué está usando para controlar la pantalla, así que asumiré que está usando un potenciómetro lineal y un microcontrolador para controlar la pantalla.

Si es así, podría medir la diferencia de voltaje para una vuelta del potenciómetro y usar el microcontrolador para eliminar vueltas completas. Para el potenciómetro lineal, será fácil. Simplemente mida qué tan grande es la diferencia de voltaje para un giro y luego haga un módulo de eso.

En C, eso sería algo en vivo Voltage= Input_Voltage % Turn_Voltage;y solo alimentaría el Voltaje a la rutina que calcula el número de grados.

Si el potenciómetro es logarítmico, tendrá que registrar su voltaje en todo el rango de movimiento y luego hacer una función que usará el microcontrolador para ver dónde está el dial. Algunos potenciómetros logarítmicos tienen en realidad dos (o más) elementos lineales diferentes en su interior, por lo que deberá obtener un gráfico de voltaje y número de vueltas.

Si no está usando un microcontrolador, también puede hacerlo usando componentes discretos, pero será más complicado. Además, no he hecho algo así durante bastante tiempo, así que no puedo darte ningún consejo.

Sería útil saber más sobre los antecedentes de su proyecto. El hecho de que desee que la pantalla se restablezca a 0 después de una rotación completa no es un problema, y ​​la implementación es sencilla. Sin embargo, esto implica que espera que el potenciómetro gire más de una vuelta completa. Pero, ¿cuántas rotaciones completas espera del usuario? 5? 10? ¿infinito?

El problema es que básicamente necesitarías una proporción de 1:1 desde las rotaciones de entrada (desde la perilla) hasta las rotaciones de salida (conectadas al potenciómetro) en un potenciómetro de varias vueltas, pero esto limitará la resolución de tu ángulo. Si desea 5 turnos, entonces necesita comprar un bote de 5 turnos, y toda la resistencia sobre los 5 turnos "comparte" el rango de ADC. En otras palabras, por cada N vueltas, reduce la resolución de su ángulo en 1/N. Sería decepcionante jugar con una perilla y solo ver incrementos de 15 grados. Por supuesto, esto también es una función de la resolución de su ADC.

Si necesita alta resolución y tiene un ADC de baja resolución, entonces probablemente quiera "bajar" la perilla. En otras palabras, una rotación de la perilla = N rotaciones de la olla. De esta manera, la única rotación de la perilla obtiene el rango completo de ADC. Pero entonces no obtendrías múltiples vueltas de la perilla.

Si necesita rotaciones infinitas, entonces necesita instalar un codificador incremental rotatorio. Algo como eso de un mouse viejo podría funcionar, y luego reduciría el sistema de manera similar. Luego implemente una tabla de búsqueda realmente simple en el microcontrolador para realizar un seguimiento de dónde se encuentra. Por supuesto, esto significa que también necesitará usar una entrada para establecer 0 grados.