Está en la página 1de 4

INFORME PROYECTO FINAL

PWM CONTROL DE MOTOR


Alexis Rodríguez Acuña, 71815
Julián Alejandro Rojas Daza, 53547
Santiago Suaza Forero, 69946

Universidad ECCI
Actuadores
26 de mayo del 2019

Resumen
Contexto. En el presente informe se va a mostrar el desarrollo para la elaboración de un proyecto con
variedad de componentes donde vamos a contar las vueltas y las rpm de un motor DC, con un sensor el
cual mandara una señal a una pantalla lcd para que esta muestre los valores. Estos datos se tomarán
invirtiendo el sentido de giro del motor y la velocidad.
también se mostrarán anexos donde podremos analizar los resultados obtenidos.

Objetivos. -Comprobar que el programa arduino nos permite realizar códigos con características
específicas para cada uno de los componentes utilizados. Para finalmente enlazarlos y obtener el
funcionamiento constante de todos los componentes unidos.

-Analizar y practicar el funcionamiento del programa arduino.

-comprender el funcionamiento de cada uno de los componentes utilizados para este proyecto.

Métodos. En este proyecto se usaron los siguientes elementos: lcd 16x2, puente H, potenciómetro,
jumpers, arduino uno, diodo receptor y emisor, resistencias, motor DC, rueda agujerada, protoboard,
programa arduino, pinzas, silicona, pela cable, etc… realizamos los respectivos códigos de cada uno de
los componentes luego de ello los unimos dejando un solo código para el total funcionamiento del
proyecto finalmente hicimos la respectiva conexión de los componentes y cargar el código al arduino.

1. Introducción funcionamiento incluyendo el cambio de


Para el proyecto final de actuadores se sentido de giro y de la velocidad del motor.
necesita un microcontrolador o arduino. En
este caso se decidió usar un arduino uno, A continuación, se mostrarán los
para realizar tal proyecto que consta en instrumentos y circuitos correspondientes
controlar(variar) el sentido de giro y la para la realización del proyecto:
velocidad de un motor cuando llegue a
cierta cantidad de vueltas, con un puente H
y un sensor infra rojo el cual se encarga de
tomar la cantidad de vueltas y las rpm del
motor, para ello el motor debe llevar un
disco con agujeros el cual permite que el
sensor envié la señal .
Señales las cuales son enviadas al arduino
para ser procesadas y mostradas en la
pantalla lcd 16x2.
Imagen 1: circuito electrico general del
proyecto.
2. Método experimental
Para el desarrollo del proyecto se tomaron
los elementos correspondientes para la
creación y se realizaros las respectivas
conexiones. Seguido de ello se cargó el
programa al arduino uno y a cada uno de los
componentes, para así obtener el debido
Grafica de ciclo útil:

Imagen 2: elementos y inicio a hacer el


montaje del proyecto. Imagen 5: grafica del ciclo útil (señal vs
tiempo)

4. Resultados.
Con el código en general cargado en el
arduino, los conceptos y funcionamientos
de los componentes que adquirimos.
pudimos realizar dicho proyecto de tal
manera que funciona como lo requería el
docente del curso.
A continuación, se mostrarán imágenes del
proceso y cambios que se hicieron en el
proyecto:
Imagen 3: programación de cada uno de los
elementos, creación del código en general,
y cargar el código al arduino uno.

Imagen 4: circuito electrico del sensor de


herradura, el cual persive una señal y la
emite al arduino para ser mostrada en la
lcd. Imagen 6: este fue el primer montaje
obtenido usando como sensor un diodo
emisor y un diodo receptor. Y un puente H
3.Cálculos y gráficos comercial de menos conexiones.
Cálculo de ciclo útil.
otro no nos permitía realizar el cambio del
sentido de giro del motor con el
potenciómetro ni variar la velocidad,
también se le agregó un potenciómetro que
nos permitiera variar la velocidad y hacer
la variación del sentido de giro.

5. Discusión
según lo sucedido en cada paso de la
realización del proyecto creemos que hay
componentes de la misma especie, pero
cada uno tiene su cualidad que lo hace
diferente en cada labor y tiene su cualidad
que lo caracteriza.

Realizando el proyectó nos hemos podido


dar cuenta lo mucho que podemos crear con
el programa arduino y contando con los
componentes

imagen 7: este montaje tiene como 6. Conclusiones


diferencia el sensor ya que con el otro no -concluimos que con un disco que tenga
nos funcionaba y decidimos cambiarlo por mayor cantidad de agujeros podemos
un sensor de herradura. También se le obtener resultados más precisos de las rpm
cambio el disco, se le puso uno con más del motor.
agujeros para obtener un valor más -concluimos que en el programa arduino,
precisó. en el monitor serial podemos identificar los
segundos, rpm, pulso, y la velocidad en
km/h. mirando así la velocidad máxima a la
que es expuesto el motor y como va
disminuyendo la velocidad.
-el proyecto ayuda a nivel industrial y
laboral a persiver los estados en que se
encuentre un motor.
-concluimos que antes de empezar a
realizar el proyecto debemos investigar
bien sobre la variedad de componentes que
existen y que nos sirven para así iniciar de
una vez con el que más se acopla.

7. código:

#include <LiquidCrystal.h>

int pinMotorB=9;
int pinMotorA=10;
int pinpot=A3;

int valorpot;
int adelante;
Imagen 8: Este es el montaje final con el int atras;
que finalmente funciono como el profesor
lo deseaba. En este se hicieron diferentes
cambios, se cambió el puente H ya que el volatile int contador = 0;
Serial.println("RPM ");
const int rs = 12, en = 11, d4 = 6, d5 = 5, d6 velocidad=(contador*20);
= 4, d7 = 3; lcd.setCursor(0, 1);
LiquidCrystal lcd(rs, en, d4, d5, d6, d7); lcd.print("RPM:");
lcd.print(velocidad);
int velocidad; contador = 0;

void setup() { counting begins with 0):


lcd.setCursor(10,1);
pinMode(pinMotorB,OUTPUT); lcd.print("Seg:");
pinMode(pinMotorA,OUTPUT);
lcd.setCursor(14,1);
lcd.begin(16, 2); lcd.print(millis() / 1000);
lcd.home();
Serial.begin(57600); delay(999);
attachInterrupt(0,interrupcion0,RISING);
//LOW, }
CHANGE, RISING, FALLING void interrupcion0()
{
contador++;
lcd.print("Actuadores"); }
delay(2000);
lcd.clear();
}

void loop() {
/*valorPot = analogRead(pinPot);
//leemos el valor del pot
if(valorPot < 904) {
digitalWrite(pinMotorA, HIGH);
//giramos a la izquierda
digitalWrite(pinMotorB, LOW);
} else if(valorPot > 520) {
digitalWrite(pinMotorA, LOW);
//giramos a la derecha
digitalWrite(pinMotorB, HIGH);
} else {
digitalWrite(pinMotorA, LOW);
//apagamos el motor
digitalWrite(pinMotorB, LOW);
}
*/
valorpot= analogRead(pinpot);
adelante = map (valorpot,0,1023,0,255);
atras = map (valorpot,0,1023,255,0);
analogWrite(pinMotorB,adelante);
analogWrite(pinMotorA, atras);
lcd.clear();
lcd.home();
lcd.print("Ciclo Util:");
lcd.print(contador/10);
lcd.print("%");

Serial.print(contador*60);

También podría gustarte