Está en la página 1de 15

Grado en Ingeniería Mecánica y Electrónica Industrial

PRÁCTICA 1: IMPLEMENTACIÓN DE UN
SISTEMA DE DETECCIÓN DE PROXIMIDAD
CON IDE, MATLAB® Y SIMULINK® EN
ARDUINO

ISCA (Implementación de sistemas de control


automático)

Autores: Oriol Ruiz Vilarroya y Mimoun Ouhna Asakkach


Profesor: Victor Repecho/Joaquim Blesa
Data de entrega: 11/03/2022
Informe 1 Implementació de Sistemes de Control Automàtic

ÍNDICE

1. Introducción i marco teórico.........................................................2

2. Descripción del equipo utilizado..................................................5

3. Procedimiento experimental y resultados obtenidos....................12

4. Conclusiones................................................................................13

5. Bibliografía...................................................................................14

1
Informe 1 Implementació de Sistemes de Control Automàtic

1. Introducción i marco teórico

Para empezar el informe de esta práctica hemos pensado adecuado hacer una breve introducción
teórica sobre los programas y conceptos básicos que vamos a ver durante el desarrollo de la siguiente
práctica o sesión de laboratorio.

Para empezar, queríamos hablar sobre la electrónica; La electrónica es una rama de la física aplicada
que comprende la física, la ingeniería, la tecnología y las aplicaciones que tratan con la emisión, el
flujo y el control de los electrones (u otras partículas cargadas eléctricamente) en el vacío y la materia.

La electrónica trata con circuitos eléctricos que involucran componentes eléctricos activos como
tubos de vacío, transistores, diodos, circuitos integrados, optoelectrónica y sensores, asociados con
componentes eléctricos pasivos y tecnologías de interconexión. Generalmente los dispositivos
electrónicos contienen circuitos que consisten principalmente, o exclusivamente, en semiconductores
activos complementados con elementos pasivos; tal circuito se describe como un circuito electrónico.

En esta sesión de laboratorio realizaremos diferentes aplicaciones con una serie de programas. Al fin
y al cabo, la programación es: todo proceso que involucra el diseño, codificación, mantenimiento, y
protección de cualquier fuente de programas. El objetivo principal de la programación informática
es la creación de softwares, con el fin de ser ejecutados a través de computadoras, programas o
plataformas.

Para el desarrollo de esta primera práctica de la asignatura de Implementación de Sistemas de Control


Automático; usaremos tres entornos diferentes para el desarrollo de las diferentes aplicaciones que
nos va haciendo seguir el guion de la presente práctica que nos ha facilitado el profesorado de la
asignatura de ISCA:
1. IDE
2. MATLAB
3. SIMULINK

Todos ellos utilizados para implementar un sistema de detección de seguridad en Arduino.


Utilizaremos una placa Arduino Uno. Esencialmente la placa Arduino Uno es una placa electrónica
basada en el chip de Atmel ATmega328. Tiene 14 pines digitales de entrada / salida, de las cuales 6
los puede utilizar como salidas PWM, 6 entradas analógicas, un oscilador de cristal de 16 MHz, una
conexión USB, un conector de alimentación, una cabecera ICSP y un botón de reset.

El software de la placa incluye un controlador USB que puede simular un ratón, un teclado y el puerto
serie.

Esta placa tiene todo lo necesario para apoyar el microcontrolador basta con conectarlo a un
ordenador con un cable USB o con un adaptador. El Arduino Uno se diferencia de todas las placas
anteriores en que no utiliza el FTDI USB a serie driver chip. En lugar de ello, cuenta con el
Atmega8U2 programado como convertidor de USB a serie.

2
Informe 1 Implementació de Sistemes de Control Automàtic

2. Descripción del equipo utilizado

En el siguiente apartado del informe realizaremos la mención y análisis del equipo utilizada en la
práctica 1.

PARTE I:

En la primera parte de esta práctica implementaremos una aplicación básica para la introducción de
la programación a los microprocesadores: “blinking led” (Parpadeo Led). Que consistirá en conectar
un led a una salida del microprocesador (Salida 9) y hacerlo parpadear con intervalos de 0.5 segundos.
Para realizar esta tarea utilizaremos los siguientes elementos y entornos de programación:

● LED RGB: Usa varias combinaciones de LED para poder emitir luz en diferentes colores. Con
los LEDs RGB se pueden obtener diversos efectos de luz multicolor.

Figura 1. LED RGB.

● Protoboard: Una Protoboard o breadboard es una tabla rectangular de plástico con un montón de
pequeños agujeros en ella. Estos agujeros permiten insertar fácilmente componentes electrónicos
para hacer un prototipo de un circuito electrónico, como por ejemplo con una batería, un
interruptor, una resistencia y un LED.

Figura 2. Protoboard.

● Arduino UNO: Se trata de la placa más popular de Arduino, y se puede conectar directamente al
Puerto USB de nuestro ordenador. Buscando por internet, hemos podido ver como se trata de un
producto accesible para el gran público ya que tiene un precio que ronda los 20€.

Figura 3. Placa Arduino.

3
Informe 1 Implementació de Sistemes de Control Automàtic

● Resistencias: Las resistencias que utilizaremos en esta experiencia son de entre 220 Ohms y 470
Ohms.

Para el desarrollo de la práctica, tanto de esta primera parte, como de la segunda. Utilizaremos tres
programas para realizar todos los pasos que nos indica el guion de la práctica, y así hacerla
correctamente; se tratan de:
● Matlab:

● Simulink:

● IDE:

PARTE II:

En la segunda parte de la práctica disponemos de una aplicación de control de posición de piezas del
programa IDE. Con este, nos permitirá mediante un sensor de ultrasonidos HC‐SR04 saber a qué
distancia tenemos un objeto. Además, realizaremos un programa para que vaya cambiando la luz,
tanto de color si está a menos de 5cm o más de 15cm de distancia, como progresivamente a medida
que se va alejando el objeto del sensor.

● Sensor de ultrasonidos HC‐SR04

Este sensor genera un pulso de ultrasonidos de varios ciclos de 40 kHz cuando recibe por el puerto
triger una señal de activación de duración 10 us. Después, el sensor espera el eco de esta señal
producido por algún objeto cercano y situado en la misma dirección en la que están orientados los
transductores. Mientras el sensor espera el eco, mantiene la salida echo en estado alto y lo baja cuando
llega la señal de regreso.

De este modo, midiendo la duración de la señal se puede estimar la distancia del objeto desde la que
ha rebotado respecto al objeto.
Si suponemos que la velocidad del sonido es de 340 m/s, esto significa que son necesarios 29 us para
que el sonido viaje 1 cm y el doble, 58 us, para que haga el camino de ida y vuelta.
Por lo tanto, para calcular la distancia (en cm) del objeto, habrá que dividir el tiempo (en us) que la
señal echo está activada por la constante 58.

d[cm] = t [us] / 58

4
Informe 1 Implementació de Sistemes de Control Automàtic

Figura 4. Señales del sensor HC-SR04. Figura 5. Sensores Ultrasonidos HC-SR04

Las principales características del HC-SR04 son las siguientes:

- Tensión de alimentación: +5V DC.


- Rango: 2cm - 400cm.
- Resolución: 0.3 cm.
- Salida: Digital, pulso de ancho variable.

3. Procedimiento experimental

PARTE I:

Como ya hemos comentado anteriormente, en esta primera parte trataremos de familiarizarnos con
el entorno de programación de los diferentes programas (Matlab, IDE, Simulink) mediante
aplicativos relativamente sencillos, siguiendo los pasos descritos en el informe de la práctica subido
en atenea.

Primero, realizamos el montaje del circuito; dónde conectamos nuestra resistencia, el LED RGB
(conectamos la salida 9 de la placa Arduino al ánodo correspondiente del LED rojo y el cátodo común
a GND) y lo testeamos mediante la salida de 5V de la placa Arduino.

Seguidamente, ejecutamos el programa e implementamos la aplicación de parpadeo de led descrita


en la Figura 3 del guion de la práctica. En todo momento debemos tener en cuenta el puerto donde
tenemos conectada la placa, en nuestro caso el puerto 5.

Figura 6. Conexión led RGB con Arduino.

5
Informe 1 Implementació de Sistemes de Control Automàtic

Figura 7. Aplicación parpadeo de IDE.

A continuación, realizamos la implementación de la aplicación de parpadeo LED en Matlab:

- Hay que verificar que tengamos instaladas las siguientes librerías:

Figura. “MATLAB Home>Add-ons>Librerías Hardware (Arduino) instaladas”.

Figura 8. Programa de parpadeo LED en Matlab.

6
Informe 1 Implementació de Sistemes de Control Automàtic

Por último, tenemos la comunicación mediante la aplicación Simulink, cabe destacar que cada vez
que pasamos a otro modo de programación para arduino, es conveniente cerrar el anterior para que
no interferir en la comunicación con el arduino, para pasar del Matlab al Simulink, podemos borrar
la comunicación poniendo “clear a” en el “Command Window”.

Para esta primera parte solo nos hará falta un bloque del tipo “Pulse Generator”, donde su
configuración será la siguiente:

- Pulse type → Sample Based.


- Sample Time → Ts

Donde el tiempo de muestreo es de Ts=0.1s, cumpliendo el criterio de Shanon, ya que la señal trabaja
1
a 1 Hz, y se cumple 0.1<2 · 𝑓

Figura 9. Diagrama de bloques del parpadeo de LED en Simulink.

Después de montar el diagrama de bloque, procedemos a la configuración del Simulink para que
tenga la conexión con arduino UNO en el puerto correspondiente y que trabaje en tiempo discreto
con un periodo de muestreo de Ts=0.1s.

En primer lugar, definimos la variable Ts=0.1 en la función “InitFcn” que se encuentra dentro de
“Model Properties”.

A continuación, debemos de configurar el modelo para que trabaje en tiempo discreto y que tenga
una conexión Simulink-Arduino, que se deberá de seguir los siguientes pasos:

Figura 10. Paso 1: Model Configuration Parameters.

7
Informe 1 Implementació de Sistemes de Control Automàtic

Figura. Paso 2: Parámetros “Solver” definiendo tiempo de muestreo Ts.

Figura 11. Paso 3: Parámetros Hardware configurados con placa Arduino Uno en puerto COM3, el nuestro
es el COM5.

Una vez Cambiado los parámetros, el modelo creado se podrá ejecutar de dos maneras: “External
mode” (Figura ) y “Deploy to hardware” (Figura ).

8
Informe 1 Implementació de Sistemes de Control Automàtic

Figura 12. Modelo en modo externo.

Figura 13. Modelo en modo “Deploy to Hardware”.

La diferencia que hay entre ambos modos, es que el modo externo, por ejemplo, ejecuta el programa
de encendido de LED una vez, y en cambio el modo “Deploy to Hardware” ejecuta el programa una
serie de veces, es decir entra en bucle.

9
Informe 1 Implementació de Sistemes de Control Automàtic

PARTE II:

En esta segunda parte, como ya hemos comentado en el apartado anterior y mencionado su


funcionamiento y características fundamentales, trabajaremos con un sensor HC‐SR04.

Al inicio de esta segunda parte de la práctica se nos facilita una aplicación implementada en IDE que
nos indica si la distancia, la hemos llamado ‘d’, es correcta en el caso que: (d>=15 cm) o incorrecta
(d<=5). Un diodo led RGB, nos señalará la distancia según su color (Rojo/Verde=> d incorrecta)
conectado a los Pines 3,5 y 6 (como salidas PWM) Además este programa nos proporcionará al led
un color entre Rojo y Verde de manera gradual si la distancia “d” se encuentra en el rango [5,15] cm.

Figura 14. Programa Arduino IDE Sistema de control de posición Piezas.

10
Informe 1 Implementació de Sistemes de Control Automàtic

Realizamos el montaje correspondiente e indicado en el guion de la práctica en la parte I, pero esta


vez integramos el sensor conectándolo a la placa Arduino mediante 4 cables “hembra‐macho” (VCC
a 5 V, Gnd a Gnd y salidas Trig/Echo a Pines 12 y 11).

Una vez realizado el montaje y picado el programa en IDE, comprobamos el funcionamiento de este
en el programa. Podemos ver cómo además de ir cambiando el color del LED según varia la distancia,
comentando una serie de líneas de código en el programa, nos va indicando la distancia real a la que
se encuentra el objeto en cuestión.

Seguidamente realizaremos la implementación de este programa en el entorno de Matlab y simulink.

Como modo de ayuda usamos la librería que nos facilitó la comprensión de la comunicación con el
sensor: <ultrasonic.h>.

En el caso del código que conseguimos en Matlab, lo realizamos en un script (después de crearlo
usando la ayuda <ultrasonic.h> lo ejecutamos para comprobar su correcto funcionamiento), que
posteriormente usaremos para introducir en la embedded function del esquema que propusimos para
Simulink.

Finalmente mostramos el resultado de la implementación que creamos de la aplicación en Matlab y


Simulink:

Figura 15. Código Matlab para la implementación del sistema de control de posición Piezas.

11
Informe 1 Implementació de Sistemes de Control Automàtic

Figura 16. Modelo Simulink basado en una embedded MATLAB Functión y bloque “To Workspace”.

12
Informe 1 Implementació de Sistemes de Control Automàtic

4. Conclusiones

Una vez realizado el informe correspondiente a la práctica 1 de la asignatura de Implementación de


Sistemas de Control Automático, podemos decir que hemos asimilado los conceptos y objetivos
relativos marcados al inicio de esta práctica. Además, hemos ido siguiendo todos los pasos
estipulados en el guion de esta práctica por parte del profesorado en Atenea.

Una vez realizado el informe correspondiente a la práctica 1 de la asignatura de Implementación de


Sistemas de Control Automático, podemos decir que hemos asimilado los conceptos y objetivos
relativos marcados al inicio de esta práctica. Además, hemos ido siguiendo todos los pasos
estipulados en el guion de esta práctica por parte del profesorado en Atenea.

Durante el transcurso de la práctica hemos realizado dos partes claramente diferenciadas:

· PARTE I: Durante toda la parte uno hemos ido siguiendo los puntos claramente diferenciados
en el guion de la práctica. Hemos conseguido los resultados de los programas y de las diferentes
aplicaciones deseadas al comiendo de esta. No hemos tenido problemas durante el transcurso de esta
parte. Todos los pasos estaban claramente marcados y perfectamente explicados.

· PARTE II: En esta parte ya encontramos algún problema más, puesto que nuestro ordenador no
detecta bien los puertos de conexión y teníamos que ir al panel de control de dispositivos
constantemente para comprobar si estábamos en el puerto correcto.

Pensamos que esta parte podría estar explicada más detalladamente paso a paso, puesto que por
ejemplo en el caso de nuestro grupo; uno de los miembros proviene de la rama mecánica y nos
costaba más coger el ritmo de la clase.

A pesar de estas dificultades, finalmente pensamos que pudimos obtener unos programas
suficientemente buenos e implementados para llegar al resultado deseado.

Para concluir, siguiendo el hilo de lo comentado anteriormente; pensamos que sobre todo en la parte
II se podría tratar de, como en el caso de la parte I, ser más explícito y esquemático con los pasos a
seguir en esta. Así los estudiantes que provienen de un grado que no han tocado tanto la programación
o la rama electrónica, no vayan tan perdidos y puedan seguir el ritmo de la clase más fluidamente.

13
Informe 1 Implementació de Sistemes de Control Automàtic

5. Bibliografía

https://descubrearduino.com/arduino-uno/

https://es.mathworks.com/help/matlab/programming-and-data-types.html

https://es.wikipedia.org/wiki/Electr%C3%B3nica

https://concepto.de/programacion/

https://www.unir.net/ingenieria/revista/ide-programacion/

http://www.ardublog.com/library‐for‐arduino‐ultrasonic‐ranging‐hc‐sr04/

https://es.mathworks.com/support/learn‐with‐matlab‐tutorials.html

https://es.mathworks.com/help/pdf_doc/supportpkg/arduinoio/arduinoio_ug.pdf

https://www.arduino.cc/en/Reference/Board

14

También podría gustarte