Pwm con arduino y potenciometro

Pwm con arduino y potenciometro

Pwm con arduino y potenciometro

arduino frecuencia pwm

Un potenciómetro es una forma estupenda y sencilla de crear una entrada variable cuando se utiliza un microcontrolador como un Arduino. Esta pequeña guía le mostrará cómo conectar un potenciómetro a un Arduino y algún código simple sobre cómo utilizarlo como una entrada variable en un circuito simple. Vamos a crear un circuito que hace parpadear un LED en el que el intervalo de tiempo entre parpadeos se establece utilizando la posición del potenciómetro.

La conexión de los componentes entre sí y con el Arduino no es demasiado compleja. Utilizaremos el potenciómetro como entrada analógica y el LED como salida digital para que actúe como indicador visual de la posición del potenciómetro.

Cuando conectes los componentes asegúrate de comprobar la polaridad del LED asegurándote de que el ánodo (la pata más larga) está conectado al positivo a través de la resistencia. Los pines de los potenciómetros suelen ser los mismos (GND, Vout, Vcc), pero te recomendamos que consultes la hoja de datos por si acaso. Deberás anotar los pines analógicos y digitales que utilizas, ya que los necesitaremos cuando programemos el Arduino.

biblioteca pwm de arduino

El motor de corriente continua es el más utilizado en proyectos de robótica y electrónica. Para controlar la velocidad del motor DC tenemos varios métodos, como la velocidad puede ser controlada automáticamente en base a la temperatura, pero en este proyecto se utilizará el método PWM para controlar la velocidad del motor DC. Aquí, en este proyecto de control de velocidad del motor Arduino, la velocidad puede ser controlada por la rotación de la perilla del potenciómetro.

¿Qué es PWM?  PWM es una técnica mediante la cual podemos controlar la tensión o la potencia. Para entenderlo de forma más sencilla, si aplicas 5 voltios para conducir un motor, entonces el motor se moverá con cierta velocidad, ahora si reducimos el voltaje aplicado en 2 significa que aplicamos 3 voltios al motor entonces la velocidad del motor también disminuye. Este concepto se utiliza en el proyecto para controlar el voltaje usando PWM. Hemos explicado PWM en detalle en este artículo.  También revisa este circuito donde el PWM es usado para controlar el brillo del LED:  Regulador de LED de 1 vatio.

Ahora, si el interruptor en la figura se cierra continuamente durante un período de tiempo, entonces el motor estará continuamente encendido durante ese tiempo. Si el interruptor se cierra durante 8ms y se abre durante 2ms en un ciclo de 10ms, entonces el motor estará en ON sólo en el tiempo de 8ms. Ahora el promedio del terminal a través de un período de 10ms = Tiempo de encendido/ (Tiempo de encendido + Tiempo de apagado), esto se llama ciclo de trabajo y es del 80% (8/ (8+2)), por lo que el voltaje promedio de salida será el 80% del voltaje de la batería. Ahora el ojo humano no puede ver que el motor está encendido durante 8ms y apagado durante 2ms, por lo que parecerá que el motor de CC está girando con un 80% de velocidad.

ejemplo de arduino pwm

Tengo una de estas antiguas estaciones de juego Mentor con el juego de tenis (Pong). En lugar de utilizar los controladores con un poti me gustaría utilizar el puerto PWM de Arduino para establecer una tensión entre 0 y 5 voltios. Sin embargo, esto no funciona, por lo que no hay movimiento de la paleta. He probado varias posibilidades, pero ahora me pregunto si el PWM y el poti están haciendo lo mismo.

No, no lo hacen. El poti establece un voltaje constante en algún lugar entre otros dos voltajes, y el PWM impulsa pulsos de 0V y 5V en rápida sucesión, ajustando el período de tiempo durante el cual la señal es de 0V y 5V para obtener un voltaje promedio en algún lugar entre los dos.

Que esta diferencia sea significativa (y parece serlo, ya que la paleta no se mueve) dependerá de dos cosas: El circuito de detección del hardware que anteriormente utilizaba el pote, y el filtrado que se aplica a la señal PWM.

El circuito de detección debe utilizar los mismos niveles de tensión que el PWM. 0V debe ser equivalente para ambos circuitos (atados juntos), y el voltaje máximo debe ser inferior a 5V. Tu Arduino generará voltajes cercanos a 0V y cercanos a 5V, pero no precisamente esos voltajes – Eso debería estar bien. El juego Pong puede consumir más corriente de la que tu Arduino es capaz de proporcionar, lo que llevaría a voltajes más bajos (incluso una salida constante de 0V) – Eso sería un problema.

código pwm de arduino

El PWM puede hacer el trabajo, más o menos. Necesitas un filtro de paso bajo (LPF) para convertir el PWM en un voltaje analógico y un amplificador para llevarlo de 0-5 a 0-10V. O puedes conseguir un chip dedicado de digital a analógico (DAC) pero eso será obviamente más caro que una resistencia y un condensador para el LPF.

Entonces necesitas básicamente duplicar el voltaje. Eso se hace con un amplificador operacional. Las resistencias que elijas para el amplificador operacional establecen su «ganancia», en este caso quieres que sea de 2 para poder pasar de ~5v (salida máxima) a 10v.

Por lo tanto, si tenemos 5 V viniendo de D3 tendremos 10 V a la salida del op-amp. Necesitamos suministrar un poco más de 10 V al pin de alimentación del op-amp (pin 8) porque este no es un op-amp rail-to-rail, es decir, no puede salir hasta su tensión de alimentación.

Por lo que he podido entender de la hoja de datos, las entradas 1, 2 y 3 se utilizan para conectar un pote que controlará la velocidad del motor. Es el POTENZIOMETRO DI COMANDO de la figura enlazada en la pregunta.

El datasheet también especifica (en la figura de abajo) que puedes conectar el terminal 3 a tierra y alimentar el terminal 2 con una tensión de 0 a 10Vcc, que controlará el motor. Así es como se controla el motor usando una MCU, supongo.

Acerca del autor

admin

Ver todos los artículos