Depto. Arquitectura

(Informática Industrial)
Diseño con Microcontroladores

Curso Cuatrimestre Carácter Créditos
Tercero Primero Optativa 6

Curso 2021/2022

Temario Talleres Prácticas Arduino Visual Micro VMLAB Material de Apoyo

Normas

Tutorías Calificaciones


Coordinador: Manuel Nieto

Profesorado: Juan Zamorano, Manuel Nieto

Temario

  1. Introducción al diseño de sistemas basados
    en microcontroladores.
    Microcontrolador AVR Atmega32U4.
    • Arquitectura.
    • Juego de instrucciones.
    • Módulos de E/S.

  2. Arduino Leonardo.
    • IDE de Arduino.
    • Programación en C.
    • Prácticas propuestas.

  3. Entrada/Salida digital (Presentación).
    • Activación de LED's.
    • Lectura de pulsadores.
    • Teclado (lectura digital y analógica).
    • Control de dispositivos.
    • Encoder en cuadratura.
    • Ejemplos.

  4. Control de módulos LCD.
  1. Gestión de interrupciones en AVR ATmega.

  2. Temporizadores programables (Presentación).
    • Pulse Width Modulation (PWM).
    • Filtros PID.
    • Control de motores y servomotores.
    • Detección de paso por cero (ZCD).
      Gestión de potencia.

  3. Entrada/Salida serie.
    • USART (RS-232).
    • I2C.
    • SPI.

  4. Cadena de E/S Analógico/Digital (Presentación).
    • Convertidores.
    • Ejemplos.

  5. Ejemplos prácticos.

Talleres

Los días viernes 19 y martes 23 de noviembre se realizarán dos talleres para comenzar a usar y conectar el software y el material de las prácticas. Para esos días deberán estar formados todos los grupos, con las prácticas y su material elegido y entregado. Los talleres se realizarán en el aula habitual de las clases. Cada grupo deberá llevar un ordenador portátil y el material de su práctica.

Para completar los talleres, debéis preparar un vídeo en el que aparezca el diodo led parpadeando y el módulo LCD funcionando y mostrando su funcionalidad tal como hicimos durante el taller o de forma semejante. El vídeo debéis enviarlo por email a dmc@datsi.fi.upm.es incluyendo el fichero .ino con el código. La fecha tope es el lunes 29.

Equipo de Teams para buscar compañero de prácticas (Código 4tkvlsb).

Prácticas

La prácticas consistitrán en la implementación de un pequeño sistema de control basado en una placa Arduino Leonardo. Se realizarán en grupos de dos alumnos. Cada grupo deberá elegir una de las prácticas que se presentarán durante las primeras clases.

Las prácticas propuestas para este curso basadas en el sistema Arduino son las siguientes: Todas ellas incluyen el control de un pequeño teclado y un módulo LCD para los que se dispone de varias alternativas en función de los deseos y espectativas de cada grupo, desde el uso de un módulo arduino ya construido con toda la funcionalidad requerida, hasta el completo diseño y construcción de un módulo similar.

Los alumnos que así lo deseen podrán plantear prácticas alternativas de similar o mayor complejidad.


Gracias a la "amabilidad" de vuestro compañero Eric Mozo Ruiz, "podéis encontrar a vuestra disposición" la práctica que realizó durante el curso 2017/18 Control de servo motores, práctica que obtuvo la sobrevalorada calificación de 5 puntos.
Confiamos en la sensatez y buen criterio de todos los alumnos de la asignatura, esperando que no hagan uso de este material ni de cualquier otro inapropiado que conduzca a la aplicación de lo previsto para los casos de prácticas o examenes copiados.

Sistema Arduino

http://arduino.cc/es: "Arduino es una plataforma de electrónica abierta para la creación de prototipos basada en software y hardware flexibles y fáciles de usar. Se creó para artistas, diseñadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos."

Esta es una versión en español de la página oficial de arduino que se puede usar para dar los primeros pasos. Sin embargo, no está actualizada, por lo que se recomienda usar la versión en ingles: http://arduino.cc/en. En ella se puede encontrar información de la placa Leonardo usada en clase, instrucciones para la descarga, instalación y uso del software de desarrollo (IDE), la referencia del lenguaje de arduino y ejemplos de uso.

El software de arduino está implementado sobre la librería AVR Libc, que es un subconjunto de la librería estándar libc adaptada a la familia de microcontroladores AVR de 8 bits. Todos sus módulos pueden ser usados junto con las librerías de arduino.

Plugin Visual Micro. Depurador

Dos de los inconvenientes del sistema arduino son que su IDE es muy sencillo y, fundamentalmente, que no dispone de ninguna ayuda para la depuración del software. Atmel, la empresa que diseñó y fabricaba los microcontroladores en que se basan los distintos modelos de arduino, ha desarrollado varias herramientas de libre disposición que incluyen un IDE, Atmel Studio, que tiene integrados simuladores para varios microcontroladores (entre los que no se encuentra el Atmega32U4 usado por arduino Leonardo). Atmel fue comprada por la empresa Microchip y está migrando Atmel Studio a una nueva versión, Microchip Studio. La última versión de Atmel Studio es la 7 (Instalador para Windows, User Guide en pdf).

La empresa Visual Micro ha desarrollado un plugin que integra toda la funcionalidad del IDE de arduino en Atmel Studio combinando la simplicidad del primero con todas las ayudas que proporciona el segundo. Este plugin es de libre disposición y se puede descargar e instalar directamente desde Atmel Studio (Tools->Extensions and Updates: "Arduino Ide for Atmel Studio 7").

Visual Micro incluye un depurador que facilita el desarrollo de software para el sistema arduino. Utiliza de forma totalmente transparente la misma vía de comunicación con el microcontrolador que el IDE de arduino mostrando los mensajes de depuración en ventanas independientes. Amplía el concepto de punto de ruptura (breakpoint) insertando código C oculto que determina en qué momentos se dispara el breakpoint, qué información muestra, qué acciones se toman y qué variables se puede modificar durante la ejecución del programa.

La funcionalidad de depuración de Visual Micro no está incluida en la versión libre, salvo para su evaluación durante 45 dias. Tiene un coste no demasiado alto para particulares y un poco mas elevado para empresas.

El orden de instalación de estos tres componentes es:

  1. arduino
  2. Atmel Studio
  3. Visual Micro

Simulador VMLAB

VMLAB es un IDE para la familia AVR que integra un depurador simbólico de alto nivel y un simulador interactivo de los microcontroladores AVR, de sus módulos de E/S, de los periféricos más usuales y que dispone de herramientas para modelar y simular el comportamiento de otros periféricos.

Para el desarrollo del software está integrado con WinAVR, que incluye el compilador GCC de GNU, el mismo que usa el sistema arduino.

El orden de instalación de estos dos componentes es:

  1. WinAVR
  2. VMLAB

Si no funciona correctamente en Windows 10, sustituir el fichero \WinAVR\utils\bin\msys-1.0.dll por este otro.

Material de Apoyo

IMPORTANTE: Casi toda la información de esta sección está sacada de internet. Es bien sabido por todo el mundo que cualquiera puede poner información en la red sin necesidad de pasar controles de fiabilidad. Los manuales de los fabricantes y la documentación de los paquetes de software pueden contener erratas, pero son a todas luces fiables. El resto de la información, en general, también lo es, pero contiene inexactitudes, alguna tontería y está bastante sesgada hacia el mundo de los pcs, así que usadla con cautela.

Pinnacle 52. Simulador de microcontroladores de la familia 8052. Sólo para windows.

Documentación sobre el 8052. Contiene manuales de las familias AT89C51 y AT89C52 de Atmel (versiones del 8051 y 8052). También contiene manuales de varios microcontroladores.

Documentación de Dallas Semiconductors.

Documentación del bus i2c.

Documentación sobre Displays de cristal líquido (Módulos LCD).

Eagle Layout Software. Software de diseño de circuitos lógicos y placas. Versión Freeware.

Información sobre el estandard RS-232 y otros interfaces.

Información sobre el 8052.

The PC technology guide. Información sobre el pc, periféricos y todo lo que le rodea.

Normas

DESARROLLO DEL CURSO

La asistencia a clase es obligatoria. A lo largo de esta parte del curso se irán presentando distintos aspectos relacionados con el diseño de sistemas basados en microcontroladores y se irán realizando ejemplos usando el sistema arduino y el simulador vmlab. Su instalación, configuración y uso se ilustrará, de forma somera, durante las exposiciones en el aula. Una buena parte de las explicaciones y ejemplos estarán relacionados directamente con la práctica que deberán completar los alumnos en grupos de dos. Aquellos alumnos que realicen prácticas especiales deberán hacer una presentación de las mismas al final de esta parte del curso.

EXÁMENES

Para aprobar la asignatura se deberá realizar una práctica, entregar una memoria de la misma y realizar un examen, debiéndose aprobar en la misma convocatoria. En caso de suspender alguna de las partes, se considerará la asignatura suspensa y se deberá realizar una nueva práctica, entregar la memoria y realizar un nuevo examen.

No se devolverán las memorias de las prácticas, por lo que se aconseja a los alumnos que conserven una copia.

Para la admisión de los alumnos al examen de la asignatura será necesario que hayan realizado la práctica en su totalidad.

REVISIÓN DE EXÁMENES Y PRÁCTICAS

Una vez publicadas las notas de la asignatura, se abrirá un plazo de solicitud de revisión (2 días hábiles) para aquellos alumnos que consideren que existe algún error en la calificación. Esta solicitud de revisión se realizará conectándose al URL (WEB) http://www.datsi.fi.upm.es/docencia/Informatica_Industrial/DMC/rev_dmc.html. El alumno deberá rellenar los datos que se requieran. Una vez hecha la revisión por los profesores, se publicará la lista de notas revisadas. Si el alumno desea revisión presencial, deberá acudir al lugar y hora que se establecerá en su momento.

Se recuerda a los alumnos que la revisión de exámenes tiene por objeto detectar y subsanar los posibles errores que puedan surgir en el proceso de calificación. No se trata de explicar individualmente cómo se resuelve el examen ni de variar ni discutir los criterios de corrección para una persona determinada.

PRÁCTICAS o EXÁMENES COPIADOS

Los exámenes se realizarán a nivel personal y la práctica en los grupos establecidos. Si se detecta que algún alumno ha copiado en algún examen o algún grupo ha copiado en la realización de la práctica, se le calificará como suspenso en esa convocatoria y en la siguiente. En particular, en el caso de la práctica, se tendrá en cuenta que la responsabilidad de la práctica está compartida por todos los miembros del grupo, por lo que en caso de detectar alguna copia la norma se aplicará a todos los miembros de todos los grupos involucrados en la copia (tanto los que copian como los que se dejan copiar). Para evitar problemas y reclamaciones que no se podrán atender se recomienda a los alumnos que sean especialmente cuidadosos con los ficheros que se utilicen para la realización de la práctica, puesto que de ello depende que la práctica pueda o no ser copiada. En concreto, utilice siempre dispositivos extraibles cuando trabaje en un PC del Centro de Cálculo (no deje los ficheros en el disco duro ni siquiera de forma transitoria) y haga uso de los mecanismos que proporciona el sistema operativo cuando estos estén disponibles (máquinas Unix).


Página modificada el 05/01/2022