Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Uso de Simulink y Arduino PDF
Uso de Simulink y Arduino PDF
J.E. Gil Lozano, A.J. Munoz Ramrez, V. Torres Lopez, y J.M. Gomez de Gabriel
1. Introduccion
El aprendizaje basado en proyectos es un metodo
de ensenanza que implica a los estudiantes en la
resolucion de problemas de ingeniera reales [10].
Para que sea eficaz, el profesor debe identificar un
problema de una extension adecuada y con una Figura 1: Plataforma robotica educativa PIERO
dificultad suficiente para estimular el proceso de basada en Arduino programable mediante Simu-
aprendizaje. Si ademas, el proyecto esta apoyado link
con equipos fsicos, frente a los modelos de simu-
Entre las materias impartidas por el Departamen-
lacion, se proporciona al alumno una version com-
to de Ingeniera de Sistemas y Automatica de la
pleta del problema a resolver, en lugar de limitar
Universidad de Malaga, existen diversas asigna-
su trabajo a un modelo simplificado, a la vez que
turas relacionadas con la robotica, y el modelado
aumenta su motivacion [11]. Desafortunadamente,
y control de robots moviles y manipuladores. En
muchos sistemas de desarrollo hardware son com-
estas se incluyen practicas de control, cinematica
plejos y distraen al alumno y al profesor con la
y dinamica, que a menudo se realizan mediante
resolucion de problemas hardware de bajo nivel
calculos y simulacion en MATLAB y Simulink.
que no suelen estar relacionados con el objeto de
estudio. El principal beneficio esperado es que el entorno
de desarrollo elegido, al resultar familiar tanto a
Sin embargo, recientemente ciertas herramien-
profesores como a alumnos, reduzca el tiempo ne-
tas reconocidas en el ambito academico, como
cesario de preparacion de practicas y de aprendi-
MATLAB y Simulink, usadas en el diseno y si-
zaje debido a que no se requiere el aprendizaje de
mulacion de sistemas de control de robots, se han
otros lenguajes ni herramientas de programacion
visto potenciadas por la incorporacion de capaci-
adicionales [8]. Asimismo se espera que la realiza-
dades para programar de forma transparente las
cion de las practicas en laboratorio sea mas eficien-
plataformas de desarrollo hardware de bajo cos-
te debido a que el mismo modelo que se construye
te mas populares, como son los sistemas Arduino
para simular el robot se utiliza para controlarlo.
[5], Lego NXT, Beaglebone y Raspberry Pi, entre
Por ultimo un beneficio adicional esperado con-
otras [4].
siste en el reducido coste economico del hardware
La solucion ideal tanto para el profesor como pa- utilizado. Ademas, este artculo pretende servir de
ra el alumno es disponer de una herramienta de ayuda o referencia a los profesores interesados en
2. La Plataforma Movil
Se ha disenado la PieroShield. Una placa de co- El microcontrolador cuenta con cuatro puertos se-
nexiones compatible con Arduino Mega2560 que rie, de los cuales uno es utilizado por Simulink pa-
se ha disenado usando el software de diseno de ra la carga de programas y la ejecucion en modo
circuitos impresos Eagle [6]. A esta placa de co- externo.
nexiones se le han anadido los siguientes puertos
La ejecucion en modo externo permite ejecutar el
de conexion (todos ellos con lneas de tierra y ali-
modelo de simulacion simultaneamente en el hard-
mentacion incorporadas):
ware externo (el robot) y en el computador para
16 puertos digitales dobles hacer la simulacion (ejecucion) interactiva, mos-
8 puertos analogicos dobles trando valores y graficas de evolucion de las varia-
2 puertos para encoders bles, y tambien para modificar valores de parame-
1 puerto de mando para el modulo del L298 tros del modelo, lo que permite depuracion y ajus-
3 puertos UARTS te de controladores durante el funcionamiento del
4 puertos I2C sistema. Esto se efectua de manera transparente,
r.p.m.
179 180
100 178 160
90 177 140
80 120
176
70 100
175
60 ms ms(Di) s(Di) s ms ms(Di) s(Di) s
50
ms ms(Di) s(Di) s
Figura 15: Dispersion en los valores de velocidad
Figura 14: Desviacion del valor del reloj para un angular maxima del motor con o sin compensacion
tiempo de muestreo de 100 ms durante 100 seg. de jitter para un tiempo de muestreo de 100 ms
(ms indica el uso de la instruccion millis(), s indi- durante 10 seg (ms indica el uso de la instruccion
ca el uso de la instruccion micros(), (Di) indica la millis(), s indica el uso de la instruccion micros(),
deshabilitacion de interrupciones en el Arduino). (Di) indica la deshabilitacion de interrupciones en
el Arduino).