Curso:
Microprocesadores y Microcontroladores
INFORME:
Motores cc
Docente
Ing. Sergio Orlando Mestas Ramos
Alumnos:
Daz Zegarra Mario Jess
Grupo 3
Arequipa-Per
2017
Arduino Practica Motores cc
1 OBJETIVO
Aprender a manejar las entradas y salidas analgicas.
Conectar sensores y actuadores analgicos a la placa Arduino.
Implementar conocimientos anteriores
2 DESARROLLO
Se desarrollara la practica con Arduino Uno con el fin de familiarizarse con la interfaz de usuario y la
programacion en C que presenta la aplicacin, directamente a la placa de desarrollo del pic de Atmel, el
ATMEGA 328P-PU.
Empleando ahora potenciometros, transistores de baja potencia, relee, motores de cc, integrado L293D/B y
adicionales, con el fin de familiarizarce con sistemas de control de potencia y protecciones a emplear cuando
se trabaja de cc a ca.
Esquema principal
Eq matematica a emplear:
salida y entrada
300
250
200
150
100
50
0
0 7650 15300 22950 30600
Primera Tabla
// PROGRAMA:
int valor = 0; // variable que contiene el valor a sacar por el terminal analgico
void loop() {
delay(30);
delay(30);}}
//FIN
Esquema Principal
Eq matematica a emplear:
int valor = 0;
int pot = 0;
void setup() {
void loop() {
valor = (analogRead(pot));
analogWrite(motor, valor);
delay(30);
Como ventana en este montaje podremos mover el motor en los dos sentidos de giro cosa
que con el anterior montaje no podamos.
El funcionamiento ser como el primer montaje del motor anterior es decir vamos a
crear una rampa de subida de tensin y una de bajada con el fin de que el motor
modifique su velocidad de modo automtico.
Chip L293D/B (puente H):
Es un circuito integrado o chip, que puede ser utilizado para controlar simultneamente
la velocidad y direccin de dos motores de continua (contiene dos puentes H). La
diferencia entre el modelo L393D y L293B, es que el primero viene con diodos de
proteccin que evita los daos producidos por los picos de voltaje que puede producir el
motor.
Diagrama del controlador L293D/B
Opcin 1:
Programa en arduino
Codigo del programa:
int valor = 0; // variable que contiene el valor
int motorAvance = 10; // Avance motor --> PIN 10
int motorRetroceso = 11; // Retroceso motor --> PIN 11
void setup() { } // No es necesario
void loop() {
analogWrite(motorRetroceso, 0); // Motor hacia delante ... sube la velocidad
for(valor = 0 ; valor <= 255; valor+=5) { //salida anloga de 0 a 255
analogWrite(motorAvance, valor); //imprecion del valor analogo
delay(30);//retraso
}
for(valor = 255; valor >=0; valor-=5) { //salida anloga de 255 a 0
analogWrite(motorAvance, valor); //imprecion del valor analogo
delay(30); //retraso
}
analogWrite(motorAvance, 0); // Motor hacia detrs ... sube la velocidad
for(valor = 0 ; valor <= 255; valor+=5) { //salida anloga de 0 a 255
analogWrite(motorRetroceso, valor); // imprecion del valor analogo
delay(30); // retraso
}
for(valor = 255; valor >=0; valor-=5) { // Motor hacia detrs ... baja la velocidad
analogWrite(motorRetroceso, valor); //imprecion del valor analogo
delay(30); //retraso
}
}
CONTROL DOS MOTORES CON L293D/B
Codigo:
delay(50); // espera 30 ms
void setup() {
}
//pinMode(dirpinA, OUTPUT);
//pinMode(dirpinB, OUTPUT);
for(value = 255; value >=0; value-
} =5) {
void loop() { analogWrite(pwmpinA, value);
if (directionB) { analogWrite(pwmpinB, value);
digitalWrite(dirpinB,HIGH); delay(50);
} else { }
digitalWrite(dirpinB,LOW); }
}
2.4 RELE ELECTROMAGENETICO
Este sencillo ejemplo ensea como encender una bombilla de 220V de corriente alterna
(AC) mediante un circuito de 5V de corriente continua (DC) gobernado por Arduino. Se
puede utilizar con cualquier otro circuito de 220V con un mximo de 10A (con el rel
del ejemplo).
Esquema principal
Programa en Arduino
Codigo:
int relayPin = 8; // PIN al que va conectado el rel
void setup(){
pinMode(relayPin, OUTPUT);//se declara la salida
}
void loop() {
digitalWrite(relayPin, HIGH); // ENCENDIDO
delay(2000); //retrasp
digitalWrite(relayPin, LOW); // APAGADO
delay(2000);//retraso
}