0% encontró este documento útil (0 votos)
325 vistas

PWM Con Arduino

Este documento explica cómo generar señales PWM con Arduino y sus aplicaciones. Arduino puede generar señales PWM en diferentes pines dependiendo del modelo, y se controla con el comando "analogWrite" seguido del pin y valor entre 0-255. Las señales PWM se usan comúnmente para controlar velocidad de motores y brillo de luces debido a que emulan señales análogas.

Cargado por

Lervin Castillo
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
325 vistas

PWM Con Arduino

Este documento explica cómo generar señales PWM con Arduino y sus aplicaciones. Arduino puede generar señales PWM en diferentes pines dependiendo del modelo, y se controla con el comando "analogWrite" seguido del pin y valor entre 0-255. Las señales PWM se usan comúnmente para controlar velocidad de motores y brillo de luces debido a que emulan señales análogas.

Cargado por

Lervin Castillo
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Geek Electrónica
Explicaciones, tutoriales y noticias sobre electrónica y tecnología en general

 ELECTRÓNICA ANÁLOGA
 ELECTRÓNICA DIGITAL
 ARDUINO
 MICROCONTROLADORES
 NOTICIAS

Arduino Microcontroladores

PWM CON ARDUINO


marzo 26, 2016 Iván Cuadros Acosta 4 comentarios Arduino, Electrónica, Electrónica Digital,Microcontroladores, Programación, PWM, PWM
con Arduino
La modulación por ancho de pulsos más conocida como PWM, es una técnica mediante la
cual se modifica el ciclo de trabajo de una señal periódica, esta modificación se puede hacer
para controlar la cantidad de energía que le va a ser entregada a una carga o para
comunicación.

Esta señal PWM por lo general es producida por un circuito digital como por ejemplo un
microcontrolador, dicho circuito genera una señal cuadrada a la que le puede variar el ciclo
útil y con lo cual emular una señal análoga de diferentes amplitudes de voltaje con la cual
controlar la carga que desee, algunas de las aplicaciones en las que más se usa el PWM es el
control de velocidad de motores o el control de intensidad de brillo de un bombillo.
El ciclo útil o ciclo de trabajo de la señal viene determinado por los tiempos que dura en alto
la señal cuadrada, respecto al periodo de la señal.

Donde:
D= Ciclo útil o ciclo de trabajo
t1= Tiempo que la señal dura en valor alto (en un periodo)
T= Periodo de la señal

(Señal PWM generada por


Arduino con ciclo util del 50%)

El resultado de ese ciclo útil es un valor de porcentaje que representará el porcentaje del
valor máximo de la señal que le será entregado a la carga que se quiere controlar. Por ejemplo
si se tiene un ciclo útil del 50% y un valor máximo de señal de 5 voltios, el valor análogo
emulado es de 2,5 voltios.

Arduino cuenta con la posibilidad de generar señales PWM, la cantidad de señales que puede
generar depende de la tarjeta que se esté utilizando, por ejemplo la tarjeta Arduino UNO
puede generar hasta 6 señales PWM (Pines 3, 5, 6, 9, 10, 11) o para el caso del Arduino MEGA
puede generar hasta 15 señales PWM (Pines 2 al 13 y 44 al 46).

El comando utilizado para generar dicha señal PWM es el comandoanalogWrite(pin,


valor) donde pin representa el terminal en el cual se va a generar la señal y valor representa el
valor de ciclo útil que se le quiere asignar al PWM.

Los PWM de Arduino tienen una resolución de 8 bits, ósea que puede representar 256 valores
(0 a 255), estos valores entre 0 y 255 son los que acepta el comandoanalogWrite en el
parámetro de valor para especificar el ciclo útil, lo que quiere decir que si se quiere ajustar un
ciclo útil del 100% se deberá colocar 255 en el espacio del parámetro que antes indicamos
como valor.
En la línea de código anterior se está configurando una señal PWM que va a ser generada por
el pin 13 del Arduino y que va a tener un ciclo útil de 49.8%, se puede calcular de forma
sencilla el ciclo útil del PWM o el valor que se debe colocar en la
instrucción analogWrite mediante una sencilla regla de 3, teniendo en cuenta que un ciclo útil
del 100% debe ser representado como un 255 dentro del comandoanalogWrite.

Es importante tener claro ya que es algo que suele confundir a quienes están comenzando en
electrónica, que aunque la traducción literal del comandoanalogWrite sea “Escritura análoga”,
en ningún momento se está generando una señal análoga por el arduino, la señal PWM que se
genera es una señal de tipo digital que puede emular de cierta forma a una señal análoga sin
llegar a serlo.

Una de las formas de hacer control de velocidad de motores o de luminosidad de bombillos


por medio de un PWM es utilizar como valor de referencia del ciclo útil del PWM un valor de
entrada análogo, con el cual dependiendo de ese valor de entrada se pueda variar el ciclo útil
del PWM.

A continuación se muestra un código de programación para arduino, donde se toma un valor


análogo y este valor es utilizado posteriormente para ajustar el ciclo útil del PWM.

(Código
Ejemplo de PWM con Arduino)

Hay que tener en cuenta que si se va a utilizar una lectura de un canal análogo del Arduino
como medio de control del ciclo útil del PWM, que ambos dispositivos (ADC y PWM) trabajan
con resoluciones diferentes, mientras el convertidor análogo a digital del arduino trabaja por
defecto con una resolución de 10 bits (1024 valores), el PWM de Arduino trabaja con una
resolución de 8 bits (256 valores), por lo cual es necesario implementar alguna estrategia para
que los valores del ADC de 10 bits puedan ser utilizados para controlar el ciclo útil del PWM
de 8 bits. Para el caso especifico del código anterior se opto por dividir el valor de convertidor
análogo a digital entre 4.01176.

A continuación se presenta un esquema de conexión de Arduino para controlar la


luminosidad de un LED mediante un potenciómetro.
(Esquema circuito de prueba de PWM con Arduino)
 ← LCD CON ARDUINO
 SIMULACIÓN DE SENSOR ULTRASÓNICO EN PROTEUS →

Iván Cuadros Acosta


Licenciado en Electrónica y Especialista en Edumática con experiencia en docencia universitaria. Apasionado por la
electrónica y la programación.

4 comentarios sobre “PWM CON ARDUINO”

luis ferral garcía

el mayo 1, 2017 a las 7:48 pm

Permalink
buenas tardes muy bien explicado sobre la señal PWM.
disculpe soy principiante en arduino y me interesa saber como puedo realizar un proyecto de un sensor CKP(sensor
del árbol de levas) y CMP (sensor del sigueñal), esto en el área automotriz. ya que me gustaria realizar un proyecto
de un simulador de ECU (computadora autromotriz).

para poder realizar hay que poder simular todos los sensores de un vehiculo como son:

sensor CKP
sensor CMP
sensor TPS
sensor IAC
valvula IAC
inyectores, con la explicacion del PWM que comento usted ya tengo una idea.
bobinas
ETC,ETC.

pero quiero hacerlo con arduino, quiero saber si se puede realizar.

le agradecería si pudiera orientarme.

Respuesta

Iván Cuadros AcostaAutor


el mayo 2, 2017 a las 11:02 am
Permalink
Hola buen día y gracias por visitar el blog.

Para poder ayudarte me gustaría que me dijeras cuales son las referencias de los sensores que vas a utilizar y así
observar el modo de funcionamiento de los mismos, con esto ya me podría hacer una idea de las funciones o
características de arduino que se podrían utilizar.

Respuesta

Willton

el septiembre 12, 2017 a las 8:27 am

Permalink
Buen dia compañero quisiera saber si es posible generar una onda senoidal de frecuencia varíable y cual seria el min
y max de esta frecuencia. Gracias por la atención.

Respuesta

o
Iván Cuadros AcostaAutor
el septiembre 12, 2017 a las 2:24 pm
Permalink
Hola buen día y gracias por visitar el blog.

Si se puede generar una señal senoidal a partir de una señal PWM generada por arduino, pero no es un proceso
directo, sino que por el contrario hay que seguir varias etapas.

* Determinar una relación entre los valores de la señal senoidal y los valores del ciclo util del PWM. Los valores
mas pequeños de la señal senoidal van a representar menores valores de ciclo util y viceversa.
* Generar el PWM con arduino utilizando los valores de ciclo util determinados en el punto anterior.
* A la salida del arduino en el pin que genera el PWM implementar un filtro pasabajos para que a la salida del
filtro si se pueda ver la señal senoidal.

En cuanto a la frecuencia de las señales va a depender de la frecuencia del PWM que para el caso de arduino, el
valor de frecuencia del PWM por defecto es 490 Hz, esta frecuencia se podría cambiar pero ya se tendría que
empezar a modificar los valores de configuración del microcontrolador.

Por el momento te puedo dejar el siguiente enlace de un articulo donde explican paso a paso como hacer el
proceso de utilizar un PWM para generar una señal
senoidal. http://revistas.utp.edu.co/index.php/revistaciencia/article/view/551/289
Espero que te sirva y recuerda que puedes seguirnos en Facebook, Twitter y Youtube para estar al día de todas las
publicaciones de Geek Electrónica.

También podría gustarte