facultad de ingeniería - u.n.sdea.unsj.edu.ar/ultrasonido/pdfs/trabajos finales...el motor paso a...

12
Facultad de Ingeniería - U.N.S.J Aplicaciones Industriales de Ultrasonido Trabajo Final de Materia: “Obtención de Perfil de Alturas Mediante Sensor Ultrasónico”. Alumnos: Doncel, Mario Reg.: 24031 Escribá, Pablo Reg.: 24190 Gerlini, Luis Reg.: 24151 Docente a Cargo: Dr. Ing. Angel Veca Diciembre 2014

Upload: others

Post on 01-Apr-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Facultad de Ingeniería - U.N.S.J

Aplicaciones Industriales de Ultrasonido

Trabajo Final de Materia:

“Obtención de Perfil de Alturas Mediante

Sensor Ultrasónico”.

Alumnos: Doncel, Mario Reg.: 24031

Escribá, Pablo Reg.: 24190

Gerlini, Luis Reg.: 24151

Docente a Cargo: Dr. Ing. Angel Veca

Diciembre 2014

Page 2: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido i

Contenido

1. Objetivos ............................................................................................................................................. 1

2. Introducción ........................................................................................................................................ 1

3. Diseño ................................................................................................................................................. 2

3.1 Sensor de Ultrasonido HC-SR04 .................................................................................................. 2

3.2 Microcontrolador ........................................................................................................................ 3

3.3 Motor Paso a Paso ...................................................................................................................... 4

3.4 Driver motor PaP ......................................................................................................................... 4

3.5 Estructura .................................................................................................................................... 5

4. Pruebas y prototipos ........................................................................................................................... 5

5. Resultados........................................................................................................................................... 6

6. Conclusión........................................................................................................................................... 7

7. Apéndices ........................................................................................................................................... 7

7.1 Software Microcontrolador ......................................................................................................... 7

7.1 Función de Matlab ...................................................................................................................... 9

Page 3: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 1

1. Objetivos

Investigación, diseño, realización y puesta a punto de un dispositivo que realiza

mediciones utilizando como sensor un transductor ultrasónico.

Dicho dispositivo es un prototipo capaz de realizar sobre una superficie un barrido en una

dirección y ofrecer vía USB hacia una PC el registro de alturas medido, y por medio de

Matlab graficar un perfil de la superficie a estudiar. Si bien el barrido se realiza en una sola

dirección y se obtiene un perfil, se dejan ya implementadas las herramientas para ampliarlo

a dos dimensiones.

2. Introducción

Se realizó una investigación con el fin de obtener ideas para la realización del proyecto, en

las cuales se obtuvieron distintos proyectos que podrían ser interesantes para desarrollar

entre los cuales y con la ayuda del docente a cargo se seleccionó el que será detallado en

las próximas páginas.

El sistema cuenta con una estructura con dimensiones a escala pequeña para probar el

prototipo. Dicha estructura cuenta con un riel por el que se desplaza el sensor para tomar

las mediciones y un motor montado al final de una varilla roscada que hace mover el

sensor. El dispositivo donde se monta el sensor también carga con el driver y el

microcontrolador. Este puede moverse de forma manual mediante dos teclas para dicho fin

y también en forma automática cuando se lo comanda mediante la función de Matlab

detallada más adelante.

Se utiliza un micro controlador para hacer el procesamiento de señales y enviar estos datos

vía USB a la PC en formato serie, siendo estos recibidos y mostrados en forma gráfica por

una función de Matlab (.m) diseñada y programada también para la ocasión.

Page 4: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 2

3. Diseño

A continuación se encuentra un detalle del diseño y del montaje del prototipo. El sensor

está montado a 30cm de altura en referencia al plano de medición. La estructura tiene

40cm de ancho pero el área de medición está limitada a unos 28cm aproximadamente por

lo cual el sistema realiza 28 mediciones cada 1cm. Como se mencionó anteriormente se

cuenta con 2 pulsadores (PD y PI) para poder desplazar el carrete en forma manual sobre el

riel a la derecha o izquierda. Una vez posicionado, se inicia el proceso de medición a través

de la función de Matlab comandada por el usuario. En cada una de las 28 posiciones el

sensor toma 40 mediciones, se eliminan las de los extremos y se realiza un promedio, el

cual es enviado a la PC para el procesamiento y obtener el gráfico. Cuando el sistema

termina su proceso, vuelve en forma automática a la posición inicial esperando una nueva

instrucción.

3.1 Sensor de Ultrasonido HC-SR04

Este módulo contiene tanto el emisor como el receptor, y también la electrónica asociada.

El manejo del mismo es muy sencillo ya que posee 2 pines, uno de TRIG por el cual se

emite un pulso el cual es enviado al transductor y otro de ECO por el cual se recibe un

pulso cuando hay retorno de la señal enviado. Luego con un microcontrolador se mide el

tiempo desde que se generó el pulso en TRIG hasta que se obtiene el pulso en ECO y

mediante la siguiente formula se obtiene la distancia del objeto a medir:

Sensor de

Ultrasonido

Motor

PAP

Driver

Motor

uC PC Gráfico

En Pantalla

PD PI

Page 5: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 3

𝐷 = 0.017 ∗ 𝑇 ∗ 100 (1)

donde de D es la distancia [cm] y T es el tiempo entre el pulso de TRIG y ECO.

También se debe destacar que este tiene un bajo costo aunque su desempeño no es óptimo.

3.2 Microcontrolador

Se utilizó una placa arduino UNO, que posee un microcontrolador ATmega 328 de 8bits y

que nos permite conectarnos vía USB a la pc y manejar el driver del motor y el sensor de

ultrasonido.

Page 6: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 4

3.3 Motor Paso a Paso

El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de

alto torque comúnmente usado para aplicaciones como las impresoras 3d.

3.4 Driver motor PaP

El driver del motor PAP es el POLOLU A4988. Este driver permite el control del motor

PaP con un paso de corriente de hasta 1A y un rango de tensión de 12v a 35v. El manejo

del mismo re realiza con solo 2 líneas de control, una de dirección y otra de paso.

Page 7: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 5

3.5 Estructura

4. Pruebas y prototipos

Para llegar al prototipo final presentado se pasó previamente por pequeños prototipos que

nos permitieron probar y ajustar a las necesidades los distintos módulos que componen el

sistema.

Las primeras pruebas fueron con el sensor de ultrasonido, el cual luego de estudiar y

analizar el datasheet, se conectó a una placa arduino UNO y se realizaron pruebas para

medir distancias conocidas. Debido a que los resultados de las pruebas fueron

satisfactorios se procedió a elegir este sensor para el prototipo final.

La siguiente prueba fue conectando el arduino UNO al driver y el motor PAP al driver,

luego de analizar el datasheet de cada uno se realizaron pruebas sacando conclusiones de

la velocidad máxima que se podía alcanzar y del correcto comando del mismo.

Page 8: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 6

Luego se realizó la estructura donde se montaría el sistema, la misma fue realizada en

madera con los rieles hechos con dos varillas y una varilla roscada para desplazar el

sensor de lado a lado. Se dejó previsto una futura ampliación para agregarle otro grado de

libertad de movimiento al sistema.

Por último se montó el sistema completo y se realizaron diversas pruebas hasta que se

logró un ajuste satisfactorio del funcionamiento del sistema tanto a nivel de hardware

como a nivel de software.

5. Resultados

Tras varias pruebas y distintos procedimientos de filtrado, ya que como se mencionó

anteriormente, el sensor es bastante impreciso se lograron resultados satisfactorios.

A continuación se muestra una imagen con los resultados obtenidos en la medición de dos

objetos de distintas alturas.

* Puntos de cada medición Objetos y plano real

Page 9: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 7

6. Conclusión

Se cumplió con los objetivos previstos. Fue posible diseñar un sistema práctico que haga

uso del ultrasonido, y se obtuvieron resultados satisfactorios.

El sistema realizado no sirve para determinar con exactitud la forma del objeto estudiado

debido a las imprecisiones del sensor utilizado, pero sí sirve para utilizarlo como detector

de objetos, es decir si este sistema se implementara en un espacio que contenga líquidos y

no se pueda visualizar el contenido interior de dicho espacio, se podría utilizar este sistema

para hacer un barrido en el espacio y detectar la presencia de objetos en el mismo. Para ello

sería necesario la utilización de un sensor de ultrasonido que pueda ser sumergido en el

líquido.

7. Apéndices

7.1 Software Microcontrolador

#define TRIG 6

#define ECO 7

#define dir 3

#define st 2

#define derecha 4

#define izquierda 5

int a = 0;

int total = 0;

int count=0;

long distancia;

long tiempo;

long tiempo_aux=0;

int mayor=0;

int menor=30000;

long auxx;

byte comando;

void setup() {

pinMode(TRIG, OUTPUT);

pinMode(ECO, INPUT

pinMode(dir, OUTPUT);

pinMode(st, OUTPUT);

pinMode(derecha, INPUT);

Page 10: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 8

pinMode(izquierda, INPUT);

digitalWrite(TRIG,LOW);

digitalWrite(st,LOW);

digitalWrite(dir,HIGH);

Serial.begin(9600);

}

void loop() {

digitalWrite(dir, HIGH);

//if (digitalRead(derecha) == HIGH){

if (Serial.available()>0){ //si hay datos disponibles en el serial

delay(50); //esperemos a que se terminen de recibir

comando=Serial.read(); //leemos el primer datos –byte-

if(comando==49){

Serial.flush();

digitalWrite(dir,LOW);

delay(250);

//

for (total=0; total < 28 ; total++){

for (a=0; a<1400;a++ ){

digitalWrite(st,HIGH);

delay(1);

digitalWrite(st,LOW);

delay(1);

}

delay(200);

for(int i=0;i<40;i++){ //Realizamos las 40 mediciones

delay(10);

digitalWrite(TRIG,LOW);

delayMicroseconds(5);

digitalWrite(TRIG, HIGH);

auxx=pulseIn(ECO, HIGH);

tiempo_aux=tiempo_aux + auxx;

if(auxx>mayor)

mayor=auxx;

if(auxx<menor)

menor=auxx;

}

tiempo=(tiempo_aux-menor-mayor)/38; //Eliminamos las muestras

tiempo_aux=0; // de los extremos y prom.

distancia= int(0.017*tiempo*100); //Convertimos a cm

Page 11: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 9

Serial.println(distancia); // Enviamos datos a Matlab

}

for (total=0; total < 28 ; total++){ //Retornamos a la

for (a=0; a<1400;a++ ){ //posicion inicial

digitalWrite(dir, HIGH);

digitalWrite(st, HIGH);

delay(1);

digitalWrite(st, LOW);

delayMicroseconds(500);

}

}

}

}

// Tecla para mover el carrete a la izquierda

if (digitalRead(izquierda) == HIGH){

digitalWrite(st, HIGH);

//delayMicroseconds(800);

delay(1);

digitalWrite(st, LOW);

delayMicroseconds(500);

//delay(1);

}

// Tecla para mover el carrete a la derecha

if (digitalRead(derecha) == HIGH){

digitalWrite(dir,LOW);

digitalWrite(st, HIGH);

//delayMicroseconds(800);

delay(1);

digitalWrite(st, LOW);

delayMicroseconds(500);

//delay(1);

}

}

7.1 Función de Matlab

function Matlab_Arduino(numero_muestras)

close all; clc; y=zeros(1,1000); %Vector donde se guardarán los datos

Page 12: Facultad de Ingeniería - U.N.Sdea.unsj.edu.ar/ultrasonido/pdfs/Trabajos finales...El motor paso a paso usado es el NEMA 17 con paso de 1.8°. Este es un motor pequeño de alto torque

Doncel – Escribá - Gerlini Trabajo Final Ultrasonido 10

%Inicializo el puerto serial que utilizaré delete(instrfind({'Port'},{'COM6'})); puerto_serial=serial('COM6'); puerto_serial.BaudRate=9600; set(puerto_serial,'Baudrate',9600); set(puerto_serial,'DataBits',8); set(puerto_serial,'Parity','none'); set(puerto_serial,'StopBits',1); set(puerto_serial,'FlowControl','none'); warning('off','MATLAB:serial:fscanf:unsuccessfulRead');

%Abro el puerto serial fopen(puerto_serial);

%Declaro un contador del número de muestras ya tomadas contador_muestras=1;

%Envio comando de inicio para el microcontrolador

fprintf(puerto_serial,'%s','1');

%Creo una ventana para la gráfica xlabel('Número de muestra'); ylabel('Altura (cm)'); grid on; hold on;

%Bucle while para que tome y dibuje las muestras que queremos while contador_muestras<=numero_muestras ylim([0 30]); xlim([0 30]); valor_leido=fscanf(puerto_serial,'%d')'; y(contador_muestras)= 30 -(valor_leido(1)/100); disp(valor_leido(1)/100) plot(contador_muestras,y(contador_muestras),'X-r'); drawnow contador_muestras=contador_muestras+1; end

%Cierro la conexión con el puerto serial y elimino las variables fclose(puerto_serial); delete(puerto_serial); clear all;

end