REPORTE TECNICO CARRITO.docx

23
UNIVERSIDAD TECNOLÓGICA DE PUEBLA CARRERA: INGENIERÍA EN MECATRÓNICA MATERTIA: INSTRUMENTACION VIRTUAL PROFESOR: FERNANDO RODRIGUEZ GARCIA PROYECTO: CARRO AUTOMATICO-MANUAL CON ANDROID ALUMNOS: JUAN MARTIN VALENCIA ROMERO HUMBRTO JAVIER CASTILLO ROMÁN JOSÉ ARMANDO DE JESUS GONZALEZ CUATRIMESTRE: 7° GRUPO: A

Transcript of REPORTE TECNICO CARRITO.docx

Page 1: REPORTE TECNICO CARRITO.docx

UNIVERSIDAD TECNOLÓGICA DE PUEBLA

CARRERA: INGENIERÍA EN MECATRÓNICA

MATERTIA: INSTRUMENTACION VIRTUAL

PROFESOR: FERNANDO RODRIGUEZ GARCIA

PROYECTO:

CARRO AUTOMATICO-MANUAL CON ANDROID

ALUMNOS:

JUAN MARTIN VALENCIA ROMERO

HUMBRTO JAVIER CASTILLO ROMÁN

JOSÉ ARMANDO DE JESUS GONZALEZ

CUATRIMESTRE: 7° GRUPO: A

Page 2: REPORTE TECNICO CARRITO.docx

INDICE:1) INTRODUCCION

2) MATERIALES

3) MARCO TEÓRICO

4) PROGRAMACION EN ARDUINO

5) DIAGRAMA DE BLOQUES DE ANDROID

6) DESARROLLO

7) CONCLUCIÓN

8) BIBLIOGRAFIAS DE MATERIALES

Page 3: REPORTE TECNICO CARRITO.docx

INTRODUCCION:El carrito automático-manual es un proyecto cuyo fin es acercarse a un prototipo de robot que es guiado por medio de un control para personas con dificultades de movimiento, ya sea en movimiento o en distancia.

Para ello hemos diseñado un carrito que es guiado por un sensor ultrasónico con el que puede detectar distancias programadas y evadirlas hasta llegar a un cierto punto, ya que en algunas ocasiones no podrá llegar sin ayuda del operador, en estos casos le implementamos el modo “manual” para que el mismo pueda manipular el carrito y llevarlo a donde quiera.

MATERIALES:1) MODULO ARDUINO UNO R3 / ARDUINO NANO

2) L293D (PUENTE H)

3) MODULO DE BLUETOOTH HC-06

4) SENSOR ULTRASÓNICO ARDUINO HC-SR04

5) 2 SERVO MOTORES DE 1K

6) CABLES DE CONECCIÓN

7) FUENTE DE ALIMENTACION DE 9-5V---

Page 4: REPORTE TECNICO CARRITO.docx

MARCO TEÓRICO ARDUINO R3

Arduino es una herramienta para hacer que los ordenadores puedan sentir y controlar el mundo físico a través de tu ordenador personal. Es una plataforma de desarrollo de computación física (physical computing) de código abierto, basada en una placa con un sencillo microcontrolador y un entorno de desarrollo para crear software (programas) para la placa.

Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores físicos. Los proyectos con Arduino pueden ser autónomos o comunicarse con un programa (software) que se ejecute en tu ordenador. La placa puedes montarla tú mismo o comprarla ya lista para usar, y el software de desarrollo es abierto y lo puedes descargar gratis desde la página

www.arduino.cc/en/.

El Arduino puede ser alimentado a través de la conexión USB o con una fuente de alimentación externa. La fuente de alimentación se selecciona automáticamente.

Especificaciones técnicas Microcontroller ATmega328 Operating Voltage 5V Input Voltage (recommended) 7-12V Input Voltage (limits) 6-20V Digital I/O Pins 14 (of which 6 provide PWM output) Analog Input Pins 6 DC Current for I/O Pin 40 mA DC Current for 3.3V Pin 50 mA Flash Memory 32 KB (ATmega328) SRAM 2 KB (ATmega328) EEPROM 1 KB (ATmega328) Clock Speed 16 MHz

Page 5: REPORTE TECNICO CARRITO.docx

Power, Inputs and Outputs.Pines de alimentation (Power Pins)

Bien alimentemos al arduino mediante la conexión USB o mediante una fuente externa (recomendada de 7-12V), vamos a tener unas salidas de tensión continua debido a unos reguladores de tensión y condensadores de estabilización.Estos pines son:VIN: se trata de la fuente tensión de entrada que contendrá la tensión a la que estamos alimentando al Arduino mediante la fuente externa.5V: fuente de tensión regulada de 5V, esta tensión puede venir ya sea de pin VIN a través de un regulador interno, o se suministra a través deUSB o de otra fuente de 5V regulada.3.3V: fuente de 3.3 voltios generados por el regulador interno con un consumo máximo de corriente de 50mA.GND: pines de tierra.

Digital Inputs/Outputs

Cada uno de los 14 pines digitales se puede utilizar como una entrada o salida. Cada pin puede proporcionar o recibir un máximo de 40 mA y tiene una resistencia de pull-up (desconectado por defecto) de 20 a 50 kOhm. Además, algunos pines tienen funciones especializadas como:Pin 0 (RX) y 1 (TX). Se utiliza para recibir (RX) y la transmisión (TX) de datos serie TTL.Pin 2 y 3. Interrupciones externas. Se trata de pines encargados de interrumpir el programa secuencial establecido por el usuario.Pin 3, 5, 6, 9, 10 y 11. PWM (modulación por ancho de pulso).Constituyen 8 bits de salida PWM con la función analogWrite ().Pin 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines son de apoyo a la comunicación SPI.Pin 13. LED. Hay un LED conectado al pin digital 13. Cuando el pin es de alto valor, el LED está encendido, cuando el valor está bajo, es apagado.

Page 6: REPORTE TECNICO CARRITO.docx

Analog Inputs

El Arduino posee 6 entradas analógicas, etiquetadas desde la A0 a A5, cada una de las cuales ofrecen 10 bits de resolución (es decir, 1024 estados). Por defecto, tenemos una tensión de 5V, pero podemos cambiar este rango utilizando el pin de AREF y utilizando la función analog Reference (), donde le introducimos una señal externa de continua que la utilizara como referencia.

L293D

El dispositivo es de un alto voltaje integrado monolítico, controlador de cuatro canales de alto voltaje diseñado para aceptar niveles DTL o lógicas TTL estándar y manejar cargas inductivas (como relés, solenoides DC y st.

Características principales

Salida 600ma capacidad actual por canal

1.2a corriente de salida peak (no repetitivo) por canal

Activar las instalaciones

Sobre temperatura protección

Lógico "0" conectar señales hasta 1,5 V (alta inmunidad al ruido)

Diodos de fijación Eternas

DIAGRAMA DEL CIRCUITO:

Page 7: REPORTE TECNICO CARRITO.docx

MODULO DE BLUETOOTH HC-06

Mainstream chips CSR Bluetooth, normas de protocolo Bluetooth V2.0 2 , serie 3.3V voltaje de funcionamiento del módulo.

La velocidad de transmisión para 1200, 2400, 4800, 9600, 19200, 38400 y los usuarios pueden ajustar, tamaño módulo principal: 28 mm x 15 mm x 2,35 mm.

El trabajo actual: 40mA, Corriente del sueño: <1mA, para el sistema de navegación GPS, sistema de lectura de contador de servicios, el campo industrial, la recolección y sistema de control.

Con un ordenador portátil Bluetooth al adaptador de Bluetooth, PDA y otros dispositivos para conectar a la perfección, Host y esclavo del módulo, el anfitrión y el esclavo comunicación emparejamiento de la máquina y de la máquina o entre el huésped y el anfitrión no puede comunicarse, función de comunicación y los ordenadores, Distinción principal: 1, si el chip no se especifica en las luces parpadean lenta y los ordenadores, teléfonos móviles y otro esclavo compra emparejamiento Bluetooth predeterminado, requiere que los el anfitrión debe indicarse]

El principal rápido de; Septiembre 2,2009, todo huésped fabricados estarán jugando en el CI un gancho o pega Hay el "principal" personajes, no hay buenas o no colocada en la palabra "maestro" es el esclavo. La fecha de fabricación puede obtenerse a partir de la dirección de Bluetooth].

SENSOR ULTRASONICO HC-SR04

El HC-SR04 es un sensor ultrasónico de bajo costo que no sólo puede detectar si un objeto se presenta, como un sensor PIR (Passive Infrared Sensor), sino que también puede sentir y transmitir la distancia al objeto.

Tienen dos transductores, básicamente, un altavoz y un micrófono.  Ofrece una excelente detección sin contacto (remoto) con elevada precisión y lecturas estables en un

formato fácil de usar. El funcionamiento no se ve afectado por la luz solar o el material negro como telémetros ópticos

(aunque acústicamente materiales suaves como telas pueden ser difíciles de detectar). La velocidad del sonido en el aire (a una temperatura de 20 °C) es de 343 m/s. (por cada grado

centígrado que sube la temperatura, la velocidad del sonido aumenta en 0,6 m/s)

Características técnicas:

Page 8: REPORTE TECNICO CARRITO.docx

Los módulos incluyen transmisores ultrasónicos, el receptor y el circuito de control. Número de pines:

VCC: Alimentación +5V (4.5V min – 5.5V max) TRIG: Trigger entrada (input) del sensor (TTL) ECHO: Echo salida (output) del Sensor (TTL) GND

Corriente de reposo: < 2mA Corriente de trabajo: 15mA Ángulo de medición: 30º Ángulo de medición efectivo: < 15º Detección de 2cm a 400cm o 1" a 13 pies (Sirve a más de 4m, pero el fabricante no garantiza una buena

medición). “Resolución” La precisión puede variar entre los 3mm o 0.3cm. Dimensiones: 45mm x 20mm x 15mm Frecuencia de trabajo: 40KHz

Funcionamiento:

1. Enviar un Pulso "1" de al menos de 10uS por el Pin Trigger (Disparador).2. El sensor enviará 8 Pulsos de 40KHz (Ultrasonido) y coloca su salida Echo a alto (seteo), se debe

detectar este evento e iniciar un conteo de tiempo.3. La salida Echo se mantendrá en alto hasta recibir el eco reflejado por el obstáculo a lo cual el sensor

pondrá su pin Echo a bajo, es decir, terminar de contar el tiempo.4. Se recomienda dar un tiempo de aproximadamente 50ms de espera después de terminar la cuenta.5. La distancia es proporcional a la duración del pulso y puedes calcularla con las siguiente formula

(Utilizando la velocidad del sonido = 340m/s):

Distancia en cm (centímetros) = Tiempo medido en us x 0.017

Page 9: REPORTE TECNICO CARRITO.docx

SERVO MOTOR TOWER PRO SG9g

Información Básica

o Modulación: Analógicoo Torque: 4.8V: 25,0 oz-in (1,80 kg-cm)o La Velocidad: 4.8V: 0.10 sec / 60 °o Peso: 0,32 oz (9,0 g)o Dimensiones: Longitud: 0,91 in (23,1 mm) Ancho: 0,48 in (12,2 mm) Altura: 1,14 in (29,0 mm)o Tipo de motor: 3 poloso Tipo de arte: Plásticoo Rotación / Soporte: Buje

Especificaciones adicionales

o Rango de rotación: 180 °o Ciclo de Pulso:?o Ancho de Pulso: 500-2400 mSo Tipo de conector:?

CABES DE CONECCION :

DUPONT DOBLE MACHO:

FUENTE DE ALIMENTACION DE 9-5V---

Page 10: REPORTE TECNICO CARRITO.docx

PROGTAMACION EN ARDUINO/* Carro Inalambrico Bluetooth

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;

Page 11: REPORTE TECNICO CARRITO.docx

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);

Page 12: REPORTE TECNICO CARRITO.docx

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

Page 13: REPORTE TECNICO CARRITO.docx

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);

}

}

Page 14: REPORTE TECNICO CARRITO.docx

DIAGRAMA DE BLOQUES EN ANDROIDA continuación mostraremos en una serie de imágenes el proceso de como hicimos nuestro programa en “.apk” para el control en Android en un software llamado “app inventor”.

Este es nuestro control de botones dando dirección de las flechas, a cada una se le asignó un valor que tiene que enviar al módulo de bluetooth.

El valor que manda cada botón es el siguiente:

Este botón da la dirección de adelante y envía el valor de “a”.

Este botón da la dirección de izquierda y envía el valor de “b”.

Este botón da la opción de detener los motores y envía el valor de “c”.

Este botón da la dirección de derecha y envía el valor de “d”.

Este botón da la dirección de retroceder y envía el valor de “e”.

Este botón activa el modo automático y envía el valor de “f”.

Este botón desactiva el modo automático y envía el valor de “g”.

Este botón es un comando de app inventor llamado “listpicker” el cual se conecta de manera

Automática al módulo de bluetooth HC-06.

ON

OFF

Bluetooth

Page 15: REPORTE TECNICO CARRITO.docx

A CONTINUACION NUESTRO DIAGRAMA DE BLOQUES:

En la imagen se muestra como a cada botón se le asignó un carácter a enviar.

DESARROLLOPara el desarrollo de nuestra práctica mostraremos el progreso de construcción del proyecto:

Para empezar programamos el ARDUINO UNO R3 o ARDUINO NANO con el código mostrado anteriormente, de acuerdo a los pines hacemos nuestras conexiones en un protoboard para corregir errores.

En un inicio probamos con el ARDUINO UNO y este es nuestro diagrama de conexiones:

Page 16: REPORTE TECNICO CARRITO.docx

Pero decidimos utilizar el ARDUINO NANO ya que es menor de peso que el UNO.

Ahora procedemos a montarlo en el protoboard:

Montamos primero el NANO con el L293D para comprobar que nuestro programa funciona, ingresamos una rutina pregrabada que comprueba el funcionamiento y dirección de los motores, dando 5 segundos de giro hacia adelante, 3 segundos detenidos, 2 segundos girando a izquierda y 2 segundos más para giro de derecha.

El programa si funcionó al momento solo que tuvimos problemas con los motores ya que tenemos que enviar los pulsos por giro.

Rectificamos el problema y nuestro programa funciona bien.

Después de la primera prueba procedemos a aplicarlo en una placa para dejarlo unido y en funcionamiento.

Primero ingresamos en la placa lo que es el puente H con sus respectivas conexiones:

Page 17: REPORTE TECNICO CARRITO.docx

Después se conectó el módulo de bluetooth HC-RS04 en la placa de tal forma que esté en un espacio considerable de la placa.

Page 18: REPORTE TECNICO CARRITO.docx

A continuación procedimos a montar el servo motores en la base que podría decirse que es nuestro carro:

Después montamos el sensor dentro de nuestro carrito de tal forma que no haga interferencia con alguna parte del armazón del carrito.

Luego procedemos a cerrar el circuito dentro del carro y así es como debe quedar dentro del carrito:

Page 19: REPORTE TECNICO CARRITO.docx

Después cerramos el carrito e hicimos la primera prueba de funcionamiento, los motores hacen el cambio de giro correspondiente de acuerdo al valor recibido, pero hubo una complicación en base a la batería, no se desempeñaba al valor requerido, su funcionamiento era muy limitado, mientras conseguimos otro tipo de batería utilizaremos fuentes de 5v---.

Finalmente el carrito funciona y recibe los valores enviados del programa, y así se presenta nuestro carrito:

Page 20: REPORTE TECNICO CARRITO.docx

Tomamos en cuenta que para el funcionamiento del Arduino, su alimentación es de 3.3v---, así que se implementó un divisor de voltaje para la alimentación adecuada del circuito, y los motores fueron alimentados por 5v--- directos.

CONCLUSIONBueno para concluir, aprendimos sobre el funcionamiento de Arduino aplicándolo en un proyecto y como una interfaz de diferentes softwares puede mejorar la calidad y presentación de un proyecto, el único defecto que tuvimos fue la batería que lamentablemente no logramos conseguir con tiempo y forma, el resto del proyecto fue desarrollado normalmente como fue planeado.

BIBLIOGRAFIA DE LOS MATERIALES:

l293d:(http://www.st.com/web/catalog/sense_power/FM142/CL851/SC1790/SS1555/PF63141)

Hc-06:(http://42bots.com/tutorials/hc-06-bluetooth-module-datasheet-and-configuration-with-arduino/)

Sensor ultrasónico:(http://bkargado.blogspot.mx/2013/09/todosobrehc-sr04.html)

Servos:(http://www.servodatabase.com/servo/towerpro/sg90)