Arduino es la mejor manera de controlar el potenciómetro externo del dispositivo

Tengo un equipo de consumo que tiene una perilla y un potenciómetro giratorio para controlar el elemento calefactor. Todavía no he desarmado el dispositivo para ver el valor exacto del bote, pero busco algunos consejos sobre cuál es la mejor manera de hacer que esto sea controlado por arduino y mantener intacta la funcionalidad manual.

Se me ocurren 2 ideas:

  1. Control de motor paso a paso (esto obviamente funcionaría pero no hay mucho espacio dentro de la caja y los elementos mecánicos pueden romperse con el tiempo)

  2. Usando algún tipo de FET para emular la resistencia del potenciómetro

Si quiero que los valores establecidos de arduino y los valores del potenciómetro externo estén sincronizados, la única forma que veo de hacerlo es sacar por completo el potenciómetro original del circuito, conectar el control de arduino allí y luego usar (preferiblemente el mismo ) pot para hacer lo mismo a través del arduino para que pueda anular los valores del software cuando lo desee.

maceta

También agregaría un interruptor de encendido/apagado adicional para decidir qué valor debería ser el relevante, el de arduino o los potenciómetros externos. Obviamente, en los reinicios, siempre se sobrescribirá con lo que el bote externo le da al Ardu al principio.

obviamente, al reiniciar, leería una configuración de nivel seguro predeterminada de EEPROM y la usaría, como lo hace mi estéreo para el control de volumen, en caso de que el potenciómetro se haya configurado al máximo mientras el sistema se ha apagado
Hay circuitos integrados de potenciómetros digitales que puede conectar directamente a un arduino para lograr lo que desea. Sin embargo, debe estudiar el dispositivo para obtener el valor de resistencia, verificar si los valores de voltaje funcionan directamente desde el IC, verificar si el potenciómetro no tiene que manejar la corriente de carga completa (en cuyo caso probablemente será demasiado para el IC para manejar), etc... Por lo tanto, creo que desarmar el dispositivo sería lo primero que se debe hacer para verificar cuál es la mejor solución.
También debería echar un vistazo a la perilla del equipo final. Si pudiera ser un potenciómetro, o un actuador lineal giratorio simple, entonces las suposiciones quedan anuladas. ¿Cuál es la pregunta?
Los sistemas de calefacción en Europa, que he visto, usan potenciómetros para configurar y cambiar diferentes modos de calefacción. Interno al circuito, había un generador de corriente constante que solía generar un voltaje equivalente, que luego se conectaba al ADC del controlador. Si puedes hackear un poco el circuito, será más fácil. De lo contrario, se podrían explorar los potenciómetros programables mencionados por dim. ¿Cuál es el rango de resistencia que midió de mínimo a máximo?
La serigrafía clara muestra Gnd Vcc Sig, lo que significa un potenciómetro analógico, no un codificador de cuadratura, también muestra Min y Max en cada lado, pero ambas flechas en la misma dirección CW. (OOPS) Recuerden esto muchachos... si un bote está numerado 1,2,3, el limpiaparabrisas va de 1 a 3 en la dirección CW. "fácil como 123" @reaverx consigue un DMM

Respuestas (3)

¿Qué tal usar un codificador de rotación continua para el control manual y usar LED para fines de indicación? Digikey tiene algunos de esos codificadores rotatorios:

http://www.telectronics.com/sites/default/files/download-files/Datasheet_RotaryEncoder_EN12Series.pdf

http://www.digikey.com/product-detail/en/tt-electronics-bi/EN12-HN22AF18/987-1193-ND/2408771

Estos se pueden rotar continuamente y le darán cierto número de pulsos por revolución. Cuando desee el control manual, puede capturar la rotación usando arduino y encender una cierta cantidad de LED para indicar el nivel actual. Una vez alcanzado el nivel completo, la rotación en esa dirección no tendrá efecto. Sin embargo, una vez que el usuario comienza a girar en la dirección opuesta, continúa y apaga los LED en secuencia para dar una respuesta para la reducción del nivel. Una vez alcanzado el nivel mínimo, la rotación en esa dirección no tendrá efecto.

Cuando se desea el control automático, simplemente puede configurar el nivel y encender esa cantidad de LED para indicar el nivel.

Tenga en cuenta que la mayoría de los equipos de consumo están diseñados para lograr el mínimo costo de construcción absoluto. En el caso de un producto calefactor con control de temperatura variable, existe una posibilidad extremadamente alta de que el control no sea un potenciómetro. Lo más probable es que sea un control de termostato giratorio con un conjunto mecánico de contactos que se abren y cierran en relación con la temperatura establecida. Estos contactos cambian directamente la alimentación de CA al elemento calentador. Dichos controles son resistentes, confiables por décadas de uso y adecuados para el recuento mínimo de componentes en el calentador.

Si su calentador tiene este tipo de control, no será sencillo reemplazarlo de inmediato con un simple potenciómetro analógico. El reemplazo requeriría que prevea el encendido y apagado de la alimentación de CA al calentador. Un relé de estado sólido (SSR) puede ser aplicable a este uso. También se necesitará un sensor de temperatura para proporcionar retroalimentación a la MCU de su Arduino para que su software pueda implementar un control de temperatura de circuito cerrado y saber cuándo encender y apagar el SSR.

También tenga en cuenta que es muy probable que el circuito del calentador, ya sea que el control sea un termostato giratorio o un potenciómetro analógico real, esté directamente conectado y referenciado a la fuente de alimentación de la línea de CA sin aislamiento. Tenga mucho cuidado cuando juegue con tales circuitos para no mutilarse o electrocutarse. Cualquier cosa que haga debe proporcionar aislamiento por motivos de seguridad. En el caso de utilizar un SSR, por ejemplo, seleccione uno que tenga aislamiento óptico entre sus terminales de control y los terminales de conmutación de CA.

Suponiendo que abre el dispositivo y encuentra un potenciómetro simple adentro: la salida del pin SIG será un voltaje continuo entre GND y VCC. Lo más probable es que el dispositivo que lee esta salida sea una entrada analógica de alta impedancia.

Una forma sencilla de anular la señal del pin SIG sería conectar una salida analógica del Arduino al pin SIG. Cuando desee usar la perilla normalmente, simplemente configure el pin como puerto de entrada, y cuando desee anular la perilla, configure el pin como puerto de salida y emita una señal entre GND y VCC desde el pin analógico.

Hay algunas trampas que debe tener en cuenta:

  • Debe tener una resistencia entre el pin SIG y el pin de salida analógica en el Arduino para evitar extraer demasiada corriente del pin de salida analógica cuando la perilla está en cualquiera de los extremos.
  • Debe asegurarse de que la salida máxima del Arduino no exceda el VCC medido en el pin VCC en la perilla. Recomendaría que sondee VCC y GND en la perilla dentro de su dispositivo y se asegure de que VCC esté por debajo de 5 voltios.
"La salida del pin SIG será un voltaje continuo entre GND y VCC". Hay muchos casos en los que esta suposición podría ser incorrecta: si el bote es parte de algún ciclo de retroalimentación, por ejemplo. Y en este caso, realmente desea que el elemento controlado sea una resistencia, no un voltaje constante.
Eso es verdad. Bajo el supuesto de que la salida del potenciómetro está conectada a un microcontrolador, existe una probabilidad muy alta de que sea suficiente un voltaje constante simple, pero incluso en ese caso no es un hecho.