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

Practica 6 Arduino

Este documento describe la modulación por ancho de pulso (PWM), que es una técnica que usa señales digitales para emular señales analógicas y controlar dispositivos como motores y LEDs. Explica cómo la variación del ciclo de trabajo de una señal periódica puede controlar la energía que recibe una carga. Luego detalla cómo el PWM se puede usar para controlar la posición de un servomotor variando la anchura de los pulsos, y la intensidad luminosa de un LED variando el tiempo que la señal está en alto y b

Cargado por

carlos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
93 vistas

Practica 6 Arduino

Este documento describe la modulación por ancho de pulso (PWM), que es una técnica que usa señales digitales para emular señales analógicas y controlar dispositivos como motores y LEDs. Explica cómo la variación del ciclo de trabajo de una señal periódica puede controlar la energía que recibe una carga. Luego detalla cómo el PWM se puede usar para controlar la posición de un servomotor variando la anchura de los pulsos, y la intensidad luminosa de un LED variando el tiempo que la señal está en alto y b

Cargado por

carlos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

INTRODUCCIÓN.

PWM es la modulación por ancho de pulso (en inglés pulse width modulation
PWM), es un tipo de señal de voltaje utilizada para enviar información o para
modificar la cantidad de energía que se envía a una carga.
Esta acción tiene en cuenta la modificación del proceso de trabajo de una señal de
tipo periódico.
Puede tener varios objetivos, como tener el control de la energía que se
proporciona a una carga o llevar a cabo la transmisión de datos.
Si el ciclo de trabajo es del 25% se pasa el 25% de su periodo arriba y el 75%
abajo. El periodo es lo que dura la onda sin repetirse. Por eso se va repitiendo con
el tiempo porque el periodo se repite durante todo el tiempo. El periodo es la suma
de la parte alta y baja una vez, cuando vuelve a subir ya es otro periodo y la onda
vuelve a empezar otra vez.
El ancho de la onda y su altura, siempre es la misma. De 0 a 5 Volts. Lo único que
varía es el tiempo que está en ON/OFF (Encendido ó Apagado).
Para emular una señal analógica se cambia el ciclo de trabajo, de tal manera que
el valor promedio de la señal sea el voltaje aproximado que se desea obtener,
pudiendo entonces enviar voltajes entre 0[V] y el máximo que soporte el
dispositivo PWM utilizado.
Por ejemplo:  variar la velocidad de giro de un motor,  variar la intensidad de
emisión un LED, o transmitir los grados de giro de un servo, entre otros ejemplos.
Para todo esto nos servirá las PWM, que emula una señal analógica a partir de
una señal digital.
Servomotores controlados por PWM.

¿Qué es un Servomotor?

Un motor eléctrico es una máquina que transforma la energía eléctrica en energía


mecánica rotativa continua. Le llamamos servomotor a un tipo de actuador que
tiene un eje rotatorio que es capaz de quedarse quieto en una posición
determinada. Controlamos la posición de dicho eje enviando periódicamente
pulsos de una duración específica al control del servo.

La señal de control es dada por los pines digitales PWM. Para controlar el
servomotor se le envía pulsos cada 20 ms es decir a 50Hz. La anchura del pulso
es lo que determinará el ángulo de giro, es decir lo que se conoce como PWM.
Esta anchura varía según el servomotor, pero normalmente va entre 0.5 y 2.5 ms
aunque puede variar. Esto hace que el servomotor tenga un margen de operación,
por lo que se puede mover entre 0º (pulso con una anchura de 0.5 ms) y un
máximo, que suele ser, de 180º (pulso con una anchura de 2.5ms).
Intensidad luminosa de un LED controlada por PWM.

Para encender el LED solo necesitamos de una señal en estado alto ( 1 ) y para
apagarlo una señal en estado bajo ( 0 ).

Sin embargo, existe la posibilidad de ajustar la intensidad del nivel de salida


mediamte el control de una señal por el PWM, la cantidad de tiempo que la señal
estará en 1 o en 0, dentro de un periodo de tiempo, por lo que la señal final será
mas intensa o menos intensa.
OBJETIVO: Realizar un programa que utilice una infraestructura interna, para
producir una señal eléctrica de un ciclo de trabajo variable, mediante un
PWM y aplicarla a un dispositivo servo motor ó a un LED para controlar la
variacion de intensidad luminosa mediante una señal PWM.

(Debido a la falta de un servo motor, se utilizo en esta practica el control de


luminosidad en el LED.)

DESARROLLO:
Materiales:
 LED´S de cualquier color.
 Resistencias de 330Ω.
 Protoboard.
 Cables para realizar las conexiones.
 Microprocesador Arduino.

MONTAJE DEL CIRCUITO.

CODIGO:
El codigo inicialmente se relizo para probar intensidad luminosa de un solo LED,
pero se decidio colocar un LED mas, modificando el codigo de modo que una vez
que encendiaera al maximo y descendiera a lo minimo la luminosaidad de un led,
se pasara a realizar la misma operacion pero con el segundo LED.
const int led = 3; //Declaracion de una constante donde el led esta conectado en el pin 3

const int led2 = 5; //Declaracion de una constante para un segundo led en el pin 5

int brillo; //Variable para ajuste del brillo en el led

void setup() {

pinMode ( led, OUTPUT); //declaramos el led como salida

pinMode ( led2, OUTPUT); //declaracion de un segundo led tambien como salida

void loop() {

//Un ciclo for para repetir la instruccion de encendido de led,

for( brillo = 0; brillo < 255; brillo++) { //aumentando la intensidad de brillo

analogWrite( led, brillo); // Se declara el led que va a encender

delay(20); // El tiempo que tardara en encender de 0 al maximo el led

for( brillo = 255; brillo >= 0 ; brillo--) { //Unciclo for ahora para llegar a el apagado del led

analogWrite( led, brillo); // El led que va a apagarce

delay(20); //Tiempo que tardara en irse apagando

for( brillo = 0; brillo < 256; brillo++) { //misma instrucciones pero ahora un segundo led, se

//encienda despues del apagado del primero

analogWrite( led2, brillo); //El led #2 se va a encender

delay(20); //Tiempo que tardara en encender de 0 al maximo el led

for( brillo = 255; brillo >= 0 ; brillo--) { //Unciclo for ahora para llegar a el apagado del led

analogWrite( led2, brillo); // El led que va a apagarce

delay(20); // Tiempo que va a apagarce que va a apagarce

}
RESULTADOS DE OPERACION DE UN LED CONTROLADA POR PSW, CON
ARDUINO.

Codigo cargado en Arduino

Comienzo del encendido


del primer led (0)

Aumento de luminocidad
del led hasta el punto maximo

Disminucion de luminosidad
del led hasta llegar a cero
Aumento de luminocidad
del segundo led hasta el punto
maximo

Disminucion de luminosidad
del led hasta llegar a cero

También podría gustarte