Control de un motor DC para diferentes usos

From Qi-Hardware
Jump to: navigation, search

Contents

[edit] Calificación

Porcentaje Presentación 20% Informe 30% Funcionamiento 50%
1 Entrega 10% 0.5 0.5 0.5
2 Entrega 30% 0 0 0
3 Entrega 20% 1 1 0
4 Entrega 40% 1.5 1.5 1.5


En el curso de electrónica digital II dictado por la Universidad Nacional de Colombia, se trabajara una tarjeta de desarrollo SAKC o también conocida como SIE que por sus cualidades se hace muy conveniente para el aprendizaje del plasma además la hace una herramienta muy capaz para el desarrollo del proyecto ya que esta tarjeta tiene una cualidad muy grande y es que fue diseñada bajo el concepto de hardware libre por este motivo este proyecto tratara de enfocarse hacia este objetivo lo mas que se pueda.

[edit] Definición del proyecto. Mortor DC controlado

Consiste en la implementación de un sistema de control de un motor DC. Para este propósito las variables a controlar serán posición y velocidad, esto se piensa hacer utilizando un motor con encoder, un teclado matricial para que el usuario sea capaz de manejar el sistema de control y de una pantalla LCD 16x2 en la cual se van a indicar las diferentes características del sistema, la tarjeta de desarrollo SAKC cumple el trabajo mas importante, utilizando el procesador plasma poder controlar de una forma adecuada los diferentes periféricos.

[edit] Teoría

[edit] Modulación PWM

Su nombre significa Modulación de ancho de pulso, de sus siglas en inglés Pulse-width Modulation, es un método que tiene como objetivo alimentar con corriente eléctrica un dispositivo de manera eficiente y promediada entre pulsos de tensión pico y tensión cero. Esta técnica es relativamente nueva en el mundo de la electrónica, y sus excelentes resultados en el control de potencia para las máquinas industriales lo han hecho bastante popular no sólo a nivel productivo sino académico en los switches de potencia desde los años 60s, donde se recuerda una de sus primeras aplicaciones, el Sinclair X10, un amplificador de audio a 10W distribuido ampliamente a nivel comercial. El funcionamiento del PWM tiene como base de su operación una onda de forma rectangular que va a ser modulada como resultado de la manera en que varía el promedio de la onda y ofrece satisfactorios resultados en cuando a reducción de consumo de energía de los sistemas digitales.

El funcionamiento de la modulación por PWM se da básicamente por el envío de pulsos de manera digital al motor, ya que esta señal va a corresponder a únicamente dos valores, que son la tensión máxima o cero, por lo que la alimentación del mismo dependerá del constante envío de estas señales de unos y ceros, las cuales van a variar su ancho de banda según el porcentaje de energía total que se le quiera enviar. Por ejemplo, si solo se va a enviar el 10% de la energía total al motor, la señal tendrá un ancho de banda de el sólo 10% de su capacidad y así con porcentajes consecutivos como 50% o 90%, como se muestra en la siguiente figura:

Modulación por PWM

[edit] Control PID

Es un mecanismo de control de sistemas ampliamente utilizado en la industria, llegando a ser el tipo de control que dispone de un sistema de realimentación más usado. Funciona bajo la premisa de reconocer y reducir al mínimo posible el error en la variable que se está estudiando y llevar a la misma a trabajar dentro de una región definida. Para el caso del proyecto, el control PID permitirá que el motor funcione dentro de unos límites superiores e inferiores tanto de velocidad como de posición.

Este control se lleva a cabo con la implementación de tres distintos parámetros a los que va a ser sometida la señal original, estos son el Proporcional, el Integral y el Diferencial, donde cada uno con un distinto procesamiento de la señal va a aportar su resultado al control final de la variable. El proporcional va a determinar la reacción del sistema al error actual, el Integral va a determinar la reacción del sistema a la suma de todos los errores y el Diferencial va a determinar la taza de cambio a la que va a ser sometida una variable. La suma de todas estas determinaciones es usada para ajustar el proceso de control y hacerlo más efectivo. El diagrama de bloques del sistema básico para el control PID se muestra a continuación:

Control PID

[edit] Implementación

A continuación se presentan los diagramas básicos del sistema general propuesto y de los periféricos que se van a utilizar para el desarrollo del proyecto además del camino de las señales que hacen parte del mismo, permitiendose ver en las siguientes figuras:

La posición y la velocidad del motor se va implementar con un control PID (Proportional Integral Differential) además se piensa utilizar una modulación PWM del motor para la diferentes velocidades, también es muy importante decir que se tomo un puerto I2C, ya que es el puerto que debido a sus características nos va brindar mayor facilidad para estas tareas.

El control que se piensa realizar es un control de lazo cerrado el cual la retroalimentación se va hacer gracias al encoder del motor la planta como tal va ser el motor y el controlador lo va hacer la tarjeta de desarrollo.

Las siguientes imágenes presentan esquemas básicos del control PID, el PWM y los periféricos:

Para el caso del control, se tienen en cuenta los siguientes modos: 0001-Menú 0010-Borrar 0011-Control Velocidad 0100-Control Posición

[edit] Esquemático y pcb del proyecto

Las imágenes que se presentan a continuación pertenecen a los planos esquemáticos y de PCB del proyecto, realizados en el programa KiCad:

[edit] Modulos

[edit] Teclado matricial

Para desarrollar este modulo necesitamos definir una serie de direcciones y de registros, los cuales harán el trabajo de que la interfase con el usuaria se muy fácil de manejar, esta tarea va ser un tarea hardware ya que se va necesitar que la comparación de condicionales sea simultaneas.

Para su funcionamiento el modulo necesitara una variable tipo entero de 4 bits "Entrada" la cual sera manipulada por una maquina de estado, otra variable del mismo tipo (Salida) la cual dependiendo de la decisión del usuario tomara un valor, haciendo una comparación entre estas dos variable entrada y salida se le asignara a otra variable de 4 bits la cual dependiendo de ese valor ira a otro modulo a la toma de decisiones.

Como los el tipo de variable estarán cambiando a lo largo de la ejecución, y como este modulo que sera controlado directamente por el periférico teclado al periférico se le asignara un espacio de memoria dinámica y como el cual no sera mas de dos direcciones ya que estos espacio son de 32 bits mucho mas de lo que necesitamos en este periférico.


[edit] LCD

Este modulo sera es que controlara directamente al Periférico que maneja el LCD este solo necesita una variable de 4 bits que sera la encargada de indicarle al LCD que caracteres mande y también otras 3 variable de control las cuales son las encargadas de las diferentes habilitaciones para el LCD, por este motivo el espacio de memoria para el periférico del LCD sera también en la memoria dinámica.


Este código se va utilizar en cada en los diferentes modulos, ademas fue modificado de la siguiente fuente

[edit] Motor

Este periferico es el que mas espacio de memoria tomara ya que hay que almacenar datos que nos entregue el encoder además es muy importante no perder la referencia ni el camino que tomo para alcanzar la referencia para este periferico aun no se han definido todas las variable pero el espacio de memoria sera de la variable globales ya que van ha ser utilizados por varios módulos y son datos que permanecerán a lo largo de la ejecución del programa.

[edit] Herramientas

[edit] Hardware

  1. Tarjeta SIE
  2. Motor DC con encoder
  3. Teclado Matricial
  4. LCD 16x2


[edit] Software

  1. COMPILADOR MIPS­ELF­GCC
  2. Xilinx ISE WebPack
  3. Herramienta KiCAD

[edit] Calendario

Semana Fecha Actividad
S1 3-15 de ago Investigación
S2 17-22 de ago Establecimiento de las especificaciones
S3 25-29 de ago Diseño del circuito de potencia y el puente H
S4 31 ago-5 sept Escoger la mejor opción para la modulación PWM
S5 7-12 de sept Diseño de la PCB
S6 14-19 de sept Diseño del algoritmo del teclado y el LCD para los diferentes menús
S7 28 sept - 10 de oct Diseño del algoritmo del PID
S8 12-17 de oct Pruebas del PID y Realización del PCB
S9 19-24 de oct Pruebas y ajustes de PCB
S10 26-31 de oct programación hardware y software
S11 2-7 de nov Pruebas y ajustes
S12 9-14 de nov Integración del sistema completo
S13 16-21 de nov Pruebas y ajustes
S14 23-28 de nov Entrega proyecto final
Personal tools
Namespaces
Variants
Actions
Navigation
interactive
Toolbox
Print/export