Proyecto Integrador presentado por Frederick Yair Jiménez Aragón [frederick.jimenezan@udlap.mx]

Licenciatura en Ingeniería en Electrónica y Comunicaciones. Departamento de Ingeniería en Computación, Electrónica y Mecatrónica. Escuela de Ingeniería, Universidad de las Américas Puebla.

Jurado Calificador

Presidente: Dr. Jorge Rodríguez Asomoza
Secretario y Director: Dr. José Luis Vázquez González
Vocal: M.C. Eduardo Javier Jiménez López

Cholula, Puebla, México a 11 de mayo de 2016.

Resumen

Este trabajo muestra las diferencias entre los microcontroladores Microchip de 8 bits y los ARM de 32 bits y de esta manera empezar a considerarlos para proyectos futuros, para ello se realizó un pequeño brazo con servomotores, dicho brazo se mueve de manera suave de modo que podría montarse una pequeña cámara. Asimismo, se plantea explicar que es un sistema embebido y por qué son tan socorridos en algunas tareas.

La tarjeta empleada es una Freescale FRDM KL25Z que cuenta con un microcontrolador con arquitectura Córtex ARM0+. Dicho microcontrolador emplea una lógica de 3.3V, por lo tanto, se tuvo que realizar un pequeño arreglo para el PWM de los servomotores.

Durante el desarrollo de este trabajo se desarrollaron algunas funciones para configurar ciertos módulos, como los timers, el ADC y el I2C, además se observó la dificultad de atender diversas fuentes de interrupción y mantener el control del programa. Hay que remarcar que el programar estos microcontroladores es algo tedioso de realizar pues presentan una gran variedad de configuraciones para cada uno de sus módulos, por lo que la manera óptima de programarlos es por medio de un generador de código, como el HALCOGEN de Texas Instruments o en su defecto utilizar drivers (conjuntos de funciones) para configurar algunos módulos tal como lo realiza KEIL en algunas de sus distintas tarjetas de sistemas embebidos.

En el primer capítulo se expondrán las características y estructura interna con la que cuentan los ya conocidos microcontroladores PIC de 8 bits como el PIC16F877A. En el segundo capítulo se abordará a explicar los detalles de la arquitectura ARM Córtex M0+. En el tercer capítulo se explicará la configuración de los módulos del microcontrolador, así como los dispositivos externos conectados. En el cuarto capítulo se explicar el algoritmo para generar el PWM de los servomotores y el menú para la introducción de datos por medio del teclado. En el capítulo 5 se hablará de las pruebas realizadas y las distintas modificaciones realizadas para el control de los servomotores.

Palabras clave: ARM, KL25Z, Keil, CMSIS.

Índice de contenido

Índices (archivo pdf, 71 kb)

Introducción (archivo pdf, 251 kb)

Capítulo 1. Introducción a los PIC de 8 bits (archivo pdf, 241 kb)

  • 1.1 Memorias y Registros
  • 1.2 Manejo de pila y formato de instrucciones
  • 1.3 Ciclos de instrucción y diagrama a bloques
  • 1.4 Conociendo el PIC16F877A

Capítulo 2. Conociendo ARM (archivo pdf, 570 kb)

  • 2.1 Introducción
  • 2.2 Características de la tarjeta
  • 2.3 ARM Córtex M0+
  • 2.4 CMSIS

Capítulo 3. Diseño del mecanismo y desarrollo funciones (archivo pdf, 681 kb)

  • 3.1 Diseño del mecanismo
  • 3.2 Utilizando Keil
  • 3.3 Configuración de Módulos
  • 3.4 Dispositivos externos

Capítulo 4. Desarrollo del proyecto (archivo pdf, 279 kb)

  • 4.1 Introducción
  • 4.2 Algoritmo para calculo PWM
  • 4.3 Menú display
  • 4.4 Configuración inicial de módulos
  • 4.5 Pruebas
  • 4.6 Resultados y conclusiones

Referencias (archivo pdf, 88 kb)

Apéndice A. Cuadros (archivo pdf, 122 kb)

Jiménez Aragón, F. Y. 2016. Control de movimiento de una estructura de tres grados de libertad mediante PWM y tarjeta ARM Freescale FRDM-KL25Z. Proyecto Integrador Licenciatura. Ingeniería en Electrónica y Comunicaciones. Departamento de Ingeniería en Computación, Electrónica y Mecatrónica, Escuela de Ingeniería, Universidad de las Américas Puebla. Mayo. Derechos Reservados © 2016.