Essays.club - Ensayos gratis, notas de cursos, notas de libros, tareas, monografías y trabajos de investigación
Buscar

Uso de un RTOS en seguidor de linea plataforma Freescale Fredom

Enviado por   •  13 de Abril de 2018  •  1.639 Palabras (7 Páginas)  •  399 Visitas

Página 1 de 7

...

[pic 4]

Objetivo

El objetivo de esta práctica es el desarrollo de un kit de seguidor de línea el cual con el auxilio de una interfaz gráfica hará más intuitivo el uso del seguidor, se hará énfasis en las 3 principales características de un sistema embebido las cuales son portabilidad, reconfigurabilidad y escalabilidad, queriendo decir con esto que el proyecto no se ejecutará solo en la plataforma con la cual se ha venido trabajando a lo largo del semestre la FRDM KL25Z sino que además este proyecto será compatible con la tarjeta de desarrollo FRDM KL46Z.

Desarrollo

Se comenzó creado un nuevo proyecto de MQX-Lite, este se usó como el proyecto base para hacerlo funciona en ambas plataformas.

Se configuro el reloj del sistema 48MHz.

Se agregaron tres tareas el proyecto, las cuales son:

Sensores_task: Se encarga de hacer la lectura de la retro alimentación y obtener el error mediante el setpoint y la retro alimentación.

Control_task: En esta tarea se encuentra el algoritmo de control.

Motor_taks: Se convierte la salida del controlador al valor de los PWM necesarios.

Se añadieron 8 componentes de Bit los cuales se configuraron como entradas para los sensores infra rojos y 4 componentes de PWM que se configuraron con un periodo de 10us para el drivers de los motores.

Se crearon dos librerías, una para los sensores infra rojos y otro para los pwm:

Sensores infra rojos: Se realizó una función para leer todos los sensores, la linealización del mismo para que cumplan dentro del sistema de 0 a 100 depende de su posición y la funciones para 4, 6 u 8 sensores.

PWM o Motores: Se realizaron dos funciones una para cada lado Izquierda y Derecha, las cuales se les puede introducir valores de -65535 a 65535, el cual un valor negativa indica ir hacia atrás y un valor positivo hacia adelante, el 0 un ciclo de trabajo del 0% y 65535 del 100%.

Se hizo el código base en cada una de las tareas y se utilizó la siguiente ecuación de control PID

[pic 5]

Se probó el código en la plataforma KL25Z, una vez que fue funcional, se creó otro proyecto de MQX-Lite pero ahora para la plataforma KL46Z.

[pic 6]

Se agregaron los mismos componentes de Bits y PWM, llamados de la misma forma, pero en esta plataforma no tenemos los mismo pines libres que en la KL25, por lo tanto se tuvieron que reacomodar los pines teniendo en cuenta el mismo puerto de GPIOS.

Quedaron acomodados de la siguiente forma:

KL25Z

[pic 7]

KL46Z

[pic 8]

Y lo más importante para la portabilidad, se verificaron una por una las librerías generadas en cada uno de los proyectos buscando diferencias para agregar esas diferencias y condicionarlas para cada tipo de plataforma, al final de modificaron las siguientes librerías:

- BitIoLdd5.c y .h

- BitIoLdd6.c y .h

- BitIoLdd7.c y .h

- BitIoLdd8.c y .h

Librerías de los componentes Bit, las librerías de BitIoLdd1, BitIoLdd2, BitIoLdd3, BitIoLdd4 no se modificaron debido a que son los mismo pines en ambas plataformas.

- Cpu.c y .h

- IO_Map.h

Son las librerías principales de las funciones del microprocesador de cada plataforma.

- TU1.c y .h

En esta librería se configura hacia que pin va cada PWM que se tiene en el proyecto.

En este proyecto se cuentan con dos versiones:

- Estándar: Funciona solamente con KL25Z

- Extendida: Funciona con KL25Z y KL46Z

Se hizo una interfaz visual con el software Visual Studio la cual es un gestor de descargas, en donde se encuentra la versión estándar y extendida, los archivos están alojados en el servidor de la institución.

Gestor de descargas

[pic 9]

Además otras dos interfaces gráficas hachas con Visual Studio para cada una de las versiones la cual permite seleccionar cada una de las opciones que hay en el proyecto las cuales son:

Tipo de control

- P, PD, PI, PID.

Numero de sensores

- 4, 6 u 8.

Valores de cada una de las constantes KP, KI, KD

Interfaz

[pic 10]

Version Estandar

[pic 11]

Versión Extendida

La pantalla de inicio de esta interfaz es exactamente igual a la versión estándar.

[pic 12]

Con esto hacemos un software muy didáctico y sencillo de usar.

Generamos un archivo de cabecera llamada versiones.h en el cual con 0 desactivamos alguna opción y con 1 la activamos.

Nota.- Todo el manejo de la interfaz así como del seguidor son explicados a fondo en la guía de uso anexa a este reporte.

Resultados

Se obtuvieron los resultados esperados para el proyecto, al tener el archivo versiones.h tenemos un control de versiones de todo el sistema haciendo que el sistemas pueda funcionar con 4, 6 u 8 sensores, diferentes tipos de control y dos plataformas diferentes, sin necesidad de hacer cambio alguno al código o algoritmos implementados.

...

Descargar como  txt (11.3 Kb)   pdf (59.4 Kb)   docx (18.5 Kb)  
Leer 6 páginas más »
Disponible sólo en Essays.club