Está en la página 1de 22

FUNDACION UNIVERSITARIA SAN MARTIN

PRECESADORES

CARRO ARDUINO

Ingeniera de sistemas
Bogot D.C Colombia

FUNDACION UNIVERSITARIA SAN MARTIN


PRECESADORES
CARRO ARDUINO

Presentado por
Julio Cesar Garcia Correa
Mauricio

Ingeniera de sistemas Programa abierto y a distancia


Bogot D.C Colombia
8 de septiembre - 2016

INTRODUCCION
Con el desarrollo de este proyecto de Carro remoto, nos ha permitido adquirir el
conocimiento de la funcin de un puente H, la necesidad de rectificar fuentes de
voltaje para conseguir la tensin requerida, el manejo y control de motores
mediante aplicacin diseada en androi bajo una comunicacin va Bluetooth
donde se suministran las instrucciones de giro del mismo. De igual manera,
seguiremos afianzando los conceptos de programacin y funcionamiento del
sistema Arduino UNO para conectar a cada uno de sus puertos segn las
necesidades de trabaj.
OBJETIVO GENEAL
1. Definir el ensamble de componentes electrnicos, para disear un puente
H, que permita generar tensiones, corrientes requeridas para el
funcionamiento de motores.
2. Desde un montaje (hardware) poder realizar el propsito de las tareas
requeridas.
3. Saber el manejo de los circuitos y saber la funcin de los elementos qu
vamos a utilizar para lograr nuestro objetivo.
OBJETIVOS ESPECIFICOS
1. Sobre el sistema Arduino UNO, disear un circuito que controle los motores
para el movimiento de un carrito, interpretando las rdenes suministradas
por la aplicacin androi.
2. Adquirir destreza en los ensambles teniendo en cuenta la intervencin de
mecanismos complejos como son motores elctricos y compuertas.
3. Adquirir destreza en la simulacin de un caso real, como es el
funcionamiento de un cuerpo controlado por motores elctricos y ordenes
suministradas desde una app.

MARCO TERICO

MOTOR
Un motor es un conjunto de elementos, piezas y sistemas, capaces de transformar
una energa (elctrica, de combustibles, qumica, etc) en energa mecnica, la cual
puede realizar un trabajo. Algunos de los motores elctricos son reversibles,
pueden transformar energa mecnica en energa elctrica funcionando como
generadores. Los motores elctricos de traccin usados en locomotoras o en
automviles hbridos realizan a menudo ambas tareas, si se los equipa con frenos
regenerativos.

PUENTE H
Un Puente H, o Puente en H, es un circuito electrnico que permite a un motor
elctrico DCgirar en ambos sentidos, avance y retroceso
Son ampliamente usados en robtica y como convertidores de potencia. Los
puentes H estn disponibles como circuitos integrados, pero tambin pueden
construirse a partir de componentes discretos. Como hemos dicho el puente H se
usa para invertir el giro de un motor, pero tambin puede usarse para frenarlo (de
manera brusca), al hacer un corto ntrelas bornas del motor, o incluso puede
usarse para permitir que el motor frene bajo su propia inercia, cuando
desconectamos el motor de la fuente que lo alimenta.
PILA / BATERIA
Dispositivo que suministra una corriente elctrica contina a partir de una reaccin
qumica. Las pilas permiten que los aparatos elctricos funciones sin necesidad de
estar conectados a la electricidad con un cable.
ARDUINO
Arduino es un sistema digital programable con un micro-controlador con el
propsito de facilitar la parte electrnica en el desarrollo de diferentes proyectos.
Est compuesto por una placa AVR de la familia de micro-controladores RISC de
la compaa de semiconductores ATMEL, as mismo la eleccin de los
procesadores usados en la placa est guiada por la sencillez y precio bajo,
permitiendo desarrollar diferente tipos de sistemas. El IDE con el que Arduino
trabaja es fcil de aprender y utilizar, as como el lenguaje de programacin es
sencillo, ya que el pblico clave de este sistema es aquellos con conocimientos
bsico en el mbito electrnico para el desarrollo de objetos o entornos
interactivos. La forma en el que el sistema trabaja es mediante la recepcin de
datos a travs de sus pines, los cuales pueden ser conectados una gran cantidad
de sensores, y puede devolver el manejo de luces, motores u otros actuadores.
Los entornos desarrollados en el sistema pueden ejecutarse sin la necesidad de
estar conectado a una computadora, obteniendo la corriente de voltaje por tanto
corriente alterna como directa.
PROTOBOARD O BREADBORD
Es una especie de tablero con orificios, en la cual se pueden insertar componentes
electrnicos y cables para armar circuitos. Como su nombre lo indica, esta tableta
sirve para experimentar con circuitos electrnicos, con lo que se asegura el buen
funcionamiento del mismo.

CABLES JUMPER
En electrnica y especialmente en computacin, un jumper es un elemento
conductor usado para conectar dos terminales para cerrar un circuito elctrico. Los
jumpers son generalmente empleados para configurar o ajustar circuitos impresos.

MATERIALES
Puente H L293D
Arduino UNO R3
Protoboard
Motorreductores 1,5Kg de fuerza, 100RPM 3-12Vdc
Llantas para Motorreductores.
Base bateria 9Vdc
Modulo Bluetooth HC06
Cables de conexin jumper

DISEO DEL CIRCUITO

PLANO EN PROTEUS
Ruta para cargar el programa y lograr la simulacin con los motore.

"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-


objcopy" -O ihex -R .eeprom
"C:\Users\JULIO\AppData\Local\Temp\build17a0c4f29a023b2c05799
9ee11ed1f30.tmp/Prueba_Motores.ino.elf"
"C:\Users\JULIO\AppData\Local\Temp\build17a0c4f29a023b2c05799
9ee11ed1f30.tmp/Prueba_Motores.ino.hex"
Se realiza doble click sobre el Arduino y aparecer lo siguiente.
En la parte Program Filie pegamos la ruta del archivo .hex
EJECUCION
PROCEDIMIENTO DE ENSAMBLE
Para realizar este proceso realice los siguientes pasos:
1. Tomar la protoboard para iniciar con la distribucin de los dispositivos.
2. Ubicar la placa Arduino en uno de los extremos de la protoboard,
fijndola con ligas elsticas.
3. Ubicar el puente H en la protoboard de tal forma que podamos realizar
las conexiones con la placa Arduino UNO.
4. Usando los cables Jumper establecer las conexiones con el puente H,
teniendo en cuenta los pines del circuito segn la imagen:

.
5. Posteriormente se desarrolla el cdigo en la plataforma de Arduino el
cual tiene las siguientes instrucciones:

Frente 2 segundos
Derecha 0,5 segundos
Izquierda 0,5 segundos
Detiene los Motores
Reversa 2 segundos
Cdigo:

ARDUINO L293D (Puente H)


5 10
6 15
9 7
10 2
5V 1, 9, 16
GND 4, 5, 12, 13

El motor 1 se conecta a los pines 3 y 6 del Puente H


El motor 2 se conecta a los pines 11 y 14 del Puente H

La fuente de alimentacin de los Motores se conecta a tierra y


El positivo al pin 8 del puente H.

*/
int izqA = 5;
int izqB = 6;
int derA = 9;
int derB = 10;
int vel = 255; // Velocidad de los motores (0-255)

void setup() {
pinMode(derA, OUTPUT);
pinMode(derB, OUTPUT);
pinMode(izqA, OUTPUT);
pinMode(izqB, OUTPUT);
}

void loop() {
analogWrite(derB, 0); // Detiene los Motores
analogWrite(izqB, 0);
delay (500);
analogWrite(derA, vel); // Frente 2 segundos
analogWrite(izqA, vel);
delay (2000);

analogWrite(derA, vel); // Derecha 0,5 segundos


analogWrite(izqA, 0);
delay (500);

analogWrite(derA, 0); // Izquierda 0,5 segundos


analogWrite(izqA, vel);
delay (500);

analogWrite(derA, 0); // Detiene los Motores


analogWrite(izqA, 0);
delay (500);
analogWrite(derB, vel); // Reversa 2 segundos
analogWrite(izqB, vel);
delay (2000);
}
6. Se realiza la conexin de la placa arduino al PC para realizar la
descarga del cdigo ya relacionado.
7. Se realiza la configuracin del puerto que reconoce la placa arduino y se
realiza la configuracin de compilacin y carga, esto con el fin de cargar
y compilar el cdigo en el sistema arduino.
8. Realizar pruebas de funcionamiento del carro ya ensamblado.
9. Ruta para ejecutar la simulacin en proteus:

"C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avr-


objcopy" -O ihex -R .eeprom
"C:\Users\JULIO\AppData\Local\Temp\build17a0c4f29a023b2c05799
9ee11ed1f30.tmp/Prueba_Motores.ino.elf"
"C:\Users\JULIO\AppData\Local\Temp\build17a0c4f29a023b2c05799
9ee11ed1f30.tmp/Prueba_Motores.ino.hex"
10. Se experimentan errores porque almomento de subir el programa a
la placa de arduino se encontraba conectado el modulo bluetooth
esto genera el siguiente error en Arduino:

11. Este error se soluciona desconectando los puentes TX RX de la


placa de Arduino.
12. Se inicia nuevamente el proceso de subir el programa a la placa y
el resultado es el siguiente:

13. Se desconecta el carro del puerto USB y se procede a conectar la pila


de 9v al puerto Vin del Arduino.
14. El corro anda segn las instrucciones del cdigo.
15. Se procede a realizar la conexin del mdulo bluetooth y el sensor
ultrasonido.
16. Despus de esta conexin se escribe el cdigo inicializando los pines
correspondientes para que el carro responda al mdulo bluetooth y no
se choque con obstculos.
17. Codigo final:
ARDUINO L293D(Puente H)
5 10
6 15
9 7
10 2
5V 1, 9, 16
GND 4, 5, 12, 13

El motor 1 se conecta a los pines 3 y 6 del Puente H


El motor 2 se conecta a los pines 11 y 14 del Puente H

La fuente de alimentacion de los Motores se conecta a tierra y


el positivo al pin 8 del puennte H.
Conexion del Modulo Bluetooth HC-06 y el Arduino
ARDUINO Bluetooth HC-06
0 (RX) TX
1 (TX) RX
5V VCC
GND GND
!!Cuidado!! Las conexiones de TX y RX al modulo Bluetooth deben
estar desconectadas
en el momento que se realiza la carga del codigo (Sketch) al
Arduino.

Conexion Sensor Ultrasonido HC-SR04


ARDUINO Ultrasonido HC-SR04
2 Echo
3 Trig
5V VCC
GND Gnd
*/
int izqA = 5;
int izqB = 6;
int derA = 9;
int derB = 10;
int vel = 255; // Velocidad de los motores (0-255)
int estado = 'g'; // inicia detenido

int pecho = 2; // define el pin 2 como (pecho) para el


Ultrasonido
int ptrig = 3; // define el pin 3 como (ptrig) para el Ultrasonido
int duracion, distancia; // para Calcular distacia

void setup() {
Serial.begin(9600); // inicia el puerto serial para comunicacion
con el Bluetooth
pinMode(derA, OUTPUT);
pinMode(derB, OUTPUT);
pinMode(izqA, OUTPUT);
pinMode(izqB, OUTPUT);

pinMode(pecho, INPUT); // define el pin 2 como entrada (pecho)


pinMode(ptrig,OUTPUT); // define el pin 3 como salida (ptrig)
pinMode(13,OUTPUT);
}

void loop() {

if(Serial.available()>0){ // lee el bluetooth y almacena en estado


estado = Serial.read();
}
if(estado=='a'){ // Boton desplazar al Frente
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, vel);
analogWrite(izqA, vel);
}
if(estado=='b'){ // Boton IZQ
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, vel);
}
if(estado=='c'){ // Boton Parar
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, 0);
}
if(estado=='d'){ // Boton DER
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(izqA, 0);
analogWrite(derA, vel);
}

if(estado=='e'){ // Boton Reversa


analogWrite(derA, 0);
analogWrite(izqA, 0);
analogWrite(derB, vel);
analogWrite(izqB, vel);
}

if (estado =='f'){ // Boton ON, se mueve sensando distancia

digitalWrite(ptrig, HIGH); // genera el pulso de trigger por 10us


delay(0.01);
digitalWrite(ptrig, LOW);

duracion = pulseIn(pecho, HIGH); // Lee el tiempo del


Echo
distancia = (duracion/2) / 29; // calcula la distancia en
centimetros
delay(10);
if (distancia <= 15 && distancia >=2){ // si la distancia es menor
de 15cm
digitalWrite(13,HIGH); // Enciende LED

analogWrite(derB, 0); // Parar los motores por 200


mili segundos
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, 0);
delay (200);

analogWrite(derB, vel); // Reversa durante 500 mili


segundos
analogWrite(izqB, vel);
delay(500);

analogWrite(derB, 0); // Girar durante 1100


milisegundos
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, vel);
delay(1100);

digitalWrite(13,LOW);
}
else{ // Si no hay obstaculos se desplaza al frente
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, vel);
analogWrite(izqA, vel);
}
}
if(estado=='g'){ // Boton OFF, detiene los motores no hace
nada
analogWrite(derB, 0);
analogWrite(izqB, 0);
analogWrite(derA, 0);
analogWrite(izqA, 0);
}
}
IMGENES