0% encontró este documento útil (0 votos)
128 vistas7 páginas

Conferencia Matlab Arduino

Este documento describe el desarrollo de un prototipo de sistema de control de ventilación utilizando una tarjeta Arduino y MATLAB. Se explica cómo comunicar sensores y actuadores con MATLAB a través de Arduino y cómo implementar un controlador PID en Simulink para regular la velocidad de un ventilador basado en la temperatura medida.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
128 vistas7 páginas

Conferencia Matlab Arduino

Este documento describe el desarrollo de un prototipo de sistema de control de ventilación utilizando una tarjeta Arduino y MATLAB. Se explica cómo comunicar sensores y actuadores con MATLAB a través de Arduino y cómo implementar un controlador PID en Simulink para regular la velocidad de un ventilador basado en la temperatura medida.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Fabiola

Covarrubias
A00808920
Laboratorio de control mvil con hardware de bajo coste y MATLAB
Julio de Lafuente
Ingeniero de Aplicacin
MultiON Consulting SA de CV

El objetivo de esta practica es introducir una herramienta que ofrece Matlab a


desarrollar prototipos de sistemas de control utilizando hardware externo; es
decir adems de hardware de la computadora, se hace uso de tarjetas de
prototipo externos.
Las aplicaciones mas inmediatas de control con hardware externo son por
ejemplo robtica, sistemas de seguridad, sistemas de ventilacin, ya que a
travs del uso del hardware externo se va a lograr censar diferente factores
fsicos y controlar as mismo dispositivos que cuenten con mecanismos de
movimiento, energizados, es decir motores con el propsito de compensar
situaciones que se encuentren fuera de rango.

Un sistema de control moderno puede incluir un compensador TID, adems


de dispositivos mviles el cual es portado por el sistema que se desea
controlar. Teniendo un cdigo, un programa que defina las tareas
inconscientes que va a realizar el sistema, el procesamiento de informacin
por ejemplo, acto seguido requerimos aventar a este programa, con las
diversas formas de interactuar con el exterior para recuperar o enviar seales
desde o hacia el exterior. Este envo de seales se logran mediante la
entrada y salida de informacin, las entradas recuperan informacin desde un
sensor fsico a travs del controlador hacia el programa o cdigo, las salidas
emiten seales desde el microcontrolador para comunicarles a uno de los
controladores a que realice una accin la cual va a ser completada
finalmente por un actuador. Desarrollar por lo pronto las acciones descritas
hace unos momentos se logran mediante el uso de un microocontrolador.

Fabiola Covarrubias
A00808920

Normalmente un programa se carga en un microcontrolador el cual va a


tener capacidades de memoria para almacenar este programa las cuales
pueden ser memoria RAM, ROM. Ah en esas memorias se almacena un
programa ya compilado, las acciones que realice el microcontrolador se van a
revisar cada cierto tiempo, llamados intervalos de muestreo los cuales van a
estar marcados por uno o varios relojes internos los cuales son otro de los
componentes internos que vamos a encontrar dentro del microcontrolador.
Los puertos de entrada y salida que pueden ser analgicos o digitales,
tambin los va incorporar y tambin puertos auxiliares, como seria el puerto
USB para comunicarse con memorias externas, el microcontrolador que va a
comunicar es por seales de 0 a 5 voltios y utilizando corrientes de alrededor
de 20 miliamperes.

Se dise un prototipo de
sistema de control para
ventilar
un
espacio
delimitado, este sistema
va
a
implementar
mltiples
entradas
y
salidas
alrededor
de
microcontroladores.
El
controlador
recibe
seales de los microsensores y matlab acta como base de datos de
laboratorio adems de utilizar la tarjeta arduino. Con una tarjeta programable
y matlab, se pueden realizar las siguientes tareas como ejemplo:

Comunicar matlab con sensores y actuadores para producir


movimiento a su alrededor
Caracterizar o verificar la respuesta de un ventilador de 4 terminales a
los diferentes pulsos o seales de entrada del ventilador
Llevar seales desde sensores externos hacia Simulink a travs de el
microcontrolador

Fabiola Covarrubias
A00808920

Procesar las seales de estos sensores y obtener una accin


correctiva desde simulink
Implementar un condesador de tiop PID dentro de Simulink

Para controlar la velocidad de giro de un ventilador se puede dar por


modulacin de pulsos. Se prefiere la regulacin por pulsos por eficiencia y
por lo econmico. Sirve para identificar que el ventilador de una
computadora por ejemplo, este girando dentro de los parmetros requeridos.
Introduccin a Arduino
Para el prototipo
se maneja una tarjeta Arduino modelo
duemilanove(significa 2009). En matlab soporta el uso de esta tarjeta va
USB gracias a su soporte para hardware externos.
Para utilizar la tarjeta Arduino se pueden seguir los siguientes pasos:

Seleccionar Add-Ons
Get Hardware Support Package
Elegir Instalar desde internet
Buscar la parte de ardiuno (existen varias opciones)

Establece comunicacin con la tarjeta Arduino desde la lnea de comandos o


desde Simulink, as mismo va a incluir programas predefinidos para que
Arduino colabore con matlab.
Para iniciar conexin, se le pone nombre de variable, y el puerto en el que se
encuentra.
Se le puede agregar adems entradas analgicas (sealado como analog in),
la entradas digitales no estn sealadas con ninguna leyenda en el arduino.
El software que este cargado dentro de este microcontrolador va a definir la
forma en que va a trabajar Arduino, para trabajar en conjunto con matlab,
existen 2 formas una es cargar un cdigo dentro de Arduino que permita
convertirlo en un servidor que escuche instrucciones desde matlab y por va
del USB y la otra opcin es sin estar conectado a Matlab haber cargado un
modelo de Simulink en Arduino para que pueda correr este modelo sin tener
que estar conectado a la computadora. En este caso se utiliz como un
servidor para que pueda recibir comandos prcticamente al instante desde
Matlab o simulink, vamos a tener la ventaja de no tener que alimentar a
Arduino de forma adicional ms que del puerto USB.

Fabiola Covarrubias
A00808920
Prototipo de control utilizado para ejemplificar en esta conferencia

Una condicin importante que se debe cumplir es que todas las tierras del
proyecto deben ser comunes. Se utiliz un sensor LM35 conectado al
Arduino.
Necesitar seal de pulsos de 22kHz al cual decidir la velocidad de
operacin del ventilador entre los 800 rpm y 3000 rpm. La seal requerida
tendr un ciclo de trabajo, cuando sea mnimo ser de 0% es decir 0V, y el
mximo es 100%, es decir, seal constante de 5V (cable azul).
En Arduino, el software en el que se trabaja se llama motor_v1 custom

Fabiola Covarrubias
A00808920
Arduino va a medir el voltaje de una terminal del sensor LM35, el voltaje es
proporcional a la temperatura la cual esta registrando el sensor.
Se utiliza una funcin que aumente la resolucin del termmetro.
Instrucciones iniciales:

Cuando se corra el programa, se puede empezar a operar el sistema. Se


enciende el ventilador con la fuente externa, el cual va a entrar con velocidad
mnima (por configuracin del usuario). Para la verificacin de que est
funcionando correctamente, se corre un script el cual contiene un programa
en el que tiene un loop y se ponen diferentes rangos de operacin
dependiendo del pulso en la entrada, ser el resultado de la salida como su
velocidad.
Grfica de respuesta del ventilador

Eje horizontal es el ciclo del trabajo (cable azul)


Eje vertical es respuesta del ventilador en velocidad

Fabiola Covarrubias
A00808920

Arduino detecta cuando el sensor est activo, entonces hay una correlacin
del 99.34% con lo que podemos validar que hay una relacin lineal. El
ventilador est operando correctamente conforme al script.
Hasta ahorita los cdigos trabajados han sido el de Arduino y el de Matlab
(script); para implementar otro cdigo por ejemplo en Simulink, enviar y
recibir seales desde Arduino.

Este modelo interacta con Arduino a travs de dos bloques, uno llamado
write y otro read. Para construir un modelo que funcione con Arduino,
pusimos dos bloques uno llamado Real time pacer y el otro llamado Setup,
el cual especifica parmetros propios de Simulink, mientras el otro, adapta la
velocidad de el modelo en tiempo real para que no se ejecute muy rpido.
Este modelo de control tiene un parmetro deseado y un parmetro
registrado . la diferencia entre ellas ser detectada por un controlador PID y
este va a transmitir una seal correctamente la cual ser aplicada por la seal
PWM por Arduino para que sea un ciclo de trabajo mayor, menor y el
ventilador pueda operar ms rpido o lento
Se corri el programa y el sensor capto una temperatura de 23.52 C, valor
indicado al final del modelo de bloques como temperatura read. Se

Fabiola Covarrubias
A00808920
corroboraron todos los parmetros introducidos, los cuales fueron correctos y
se fueron cambiando los parmetros para observar el comportamiento.
-- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- En la sesin de preguntas realic la siguiente pregunta:
Es posible que el programa sea compatible con otra tarjeta programable que
no se Arduino o es nicamente con esta tarjeta?

La cual fue respondida de la siguiente manera:


El programa en s, solo funciona con Arduino por que contiene bloques que
se comunican nicamente con el hardware de Arduino, en caso de querer
conectarlo con otra tarjeta habra que hacer un cdigo distinto.

También podría gustarte