+ All Categories
Home > Documents > Control PID de posicion de un motor mediante AVR

Control PID de posicion de un motor mediante AVR

Date post: 02-Feb-2016
Category:
Upload: karlosvm
View: 73 times
Download: 1 times
Share this document with a friend
Description:
Se realizo un proyecto de control de posición de un motor mediante un control PID, el cual se lo relazara mediante AVR y programación en lenguaje C
Popular Tags:
5
Microcontroladores y Microprocesadores Abstract— This article demonstrates the use of AVR's for the PID position control of a DC motor , by programming the AVR perform complete control of the position of this , this article will show how you should perform detail the PID control. This paper shows the application of a PID algorithm , implemented on a microcontroller compatible with AVR embedded FPGA dedicated to position control of a DC motor RESUMEN: Este articulo muestra el uso de los AVR´s para realizar el control PID de posición de un motor DC, mediante la programación del AVR realizamos el control completo de la posición de este, este articulo mostrara como se debe realizar detalladamente el control PID. El presente trabajo, muestra la aplicación de un algoritmo tipo PID, implementado sobre un microcontrolador compatible con un AVR, embebido en FPGA, dedicado al control de posición de un motor de corriente continua I.INTRODUCCIÓN Los controladores PID, son ampliamente usados desde hace varias décadas, en el control de todo tipo de sistemas lineales, dada su alta eficacia, simplicidad y su fácil aplicación. En este caso, se ve aplicado al control de posición de un motor de corriente continua, pero mediante ligeras modificaciones, puede aplicarse a cualquier tipo de sistema lineal. Es por esto que se seleccionó este tipo de algoritmo. Dicha filosofía de trabajo, aplicada sobre una FPGA, trae grandes beneficios, entre ellos, la fácil implementación e integración del sistema completo de control, la simplicidad con la que se añaden modificaciones al mismo, etc. La forma en la que se reparten las tareas entre el hardware y el software, logra encontrar un equilibrio que utiliza el mínimo de recursos, alcanzando la funcionalidad deseada. [1, 2] II. OBJETIVOS OBJETIVO GENERAL: Realizar el control PID de un motor DC mediante la utilización de AVR´s ATMEGA16 para reforzar los conocimientos adquiridos. OBJETIVOS ESPECIFICOS: Se realiza el diseño de la planta (motor) que deseamos controlar. Control Proporcional Integral Derivativo de Posición mediante AVR´s MIRANDA Pablo: [email protected] PULLOQUINGA Bladimir: [email protected] VELA Juan Carlos: [email protected] 1
Transcript
Page 1: Control PID de posicion de un motor mediante AVR

Microcontroladores y Microprocesadores

Abstract— This article demonstrates the use of AVR's for the PID position control of a DC motor , by programming the AVR perform complete control of the position of this , this article will show how you should perform detail the PID control.This paper shows the application of a PID algorithm , implemented on a microcontroller compatible with AVR embedded FPGA dedicated to position control of a DC motor

RESUMEN:

Este articulo muestra el uso de los AVR´s para realizar el control PID de posición de un motor DC, mediante la programación del AVR realizamos el control completo de la posición de este, este articulo mostrara como se debe realizar detalladamente el control PID.El presente trabajo, muestra la aplicación de un algoritmo tipo PID, implementado sobre un microcontrolador compatible con un AVR, embebido en FPGA, dedicado al control de posición de un motor de corriente continua

I. INTRODUCCIÓN

Los controladores PID, son ampliamente usados desde hace varias décadas, en el control de todo tipo de sistemas lineales, dada su alta eficacia, simplicidad y su fácil aplicación. En este caso, se ve aplicado al control de posición de un motor de corriente continua, pero mediante ligeras modificaciones, puede aplicarse a cualquier tipo de sistema lineal. Es por esto que se seleccionó este tipo de algoritmo. Dicha filosofía de trabajo, aplicada sobre una FPGA, trae grandes beneficios, entre ellos, la fácil implementación e integración del sistema completo de control, la simplicidad con la que se añaden modificaciones al mismo, etc. La forma en la que se reparten las tareas entre el hardware y el software, logra encontrar un equilibrio que utiliza el mínimo de recursos, alcanzando la funcionalidad deseada. [1, 2]

II.OBJETIVOS

OBJETIVO GENERAL:

Realizar el control PID de un motor DC mediante la utilización de AVR´s ATMEGA16 para reforzar los conocimientos adquiridos.

OBJETIVOS ESPECIFICOS:

Se realiza el diseño de la planta (motor) que deseamos controlar.

Una vez realizada todos los cálculos correspondientes, se procede a simular el circuito a implementar.

Adquirimos todos los componentes a utilizar Implementamos el circuito de control PID del motor. Realizamos varias pruebas para verificar su correcto uso Elaboración del informe del trabajo final correspondiente a

la tercera unidad.

III. MARCO TEORICO

A. Algoritmo PID

Donde Kp es la constante proporcional, Ki la integral y Kd la derivativa. Cada una de estas constantes tiene un impacto diferente en el control [3]

Spid=Kpe (t )+Ki∫0

t

e (τ )d τKp dx

dt

Término proporcional: (Kp) es el encargado de indicar que tan lejos se ubica actualmente el sistema, con respecto al valor deseado. Se puede ver que mientras más alta sea la constante proporcional, menor será el tiempo que tarde en reducir el error del sistema, pero tendrá oscilaciones subamortiguadas alrededor del valor deseado. En cambio si la constante es pequeña, puede que el sistema no tenga oscilaciones, pero nunca alcanzará al valor deseado (error de offset).

Término integral: (Ki) almacena información sobre las actividades pasadas del sistema. Esta información es de vital importancia, ya que le brinda al sistema de control, una memoria resumida, sobre como fue evolucionando el error del mismo. Es capaz de

Control Proporcional Integral Derivativo de Posición mediante AVR´s

MIRANDA Pablo: [email protected]

PULLOQUINGA Bladimir:[email protected]

VELA Juan Carlos: [email protected]

1

Page 2: Control PID de posicion de un motor mediante AVR

Microcontroladores y Microprocesadores

corregir el error de offset, dado por la parte proporcional, en un tiempo de actuación que es inversamente proporcional a la constante Ki . Si esta última, resulta muy grande (Ki>1), el sistema presentará oscilaciones antes de alcanzar el valor deseado.

Término derivativo: (Kd) hace una comparación entre el error pasado y el actual, con lo que obtiene, una noción de como seguirá respondiendo el sistema. La misma, es utilizada, para contrarrestar variaciones abruptas que puedan ser nocivas, como las oscilaciones. El tiempo de anticipación del cálculo, depende de Kd, mientras mayor sea la misma, el sistema se anticipará más rápido. [4]

Microcontrolador

Arquitectura

El AVR es un microcontrolador del tipo RISC de 8 bits con dos espacios de memoria completamente independientes: memoria de programa y memoria de datos. En la memoria de programas se encuentra el c código a ejecutar. Es una memoria de 16 bits y la mayor parte de las instrucciones son de este tamaño. Algunas instrucciones necesitan dos posiciones de memoria (32 bits). La memoria de datos es de 8 bits y se divide en tres secciones. Existen instrucciones específicas para acceder a cada una de estas secciones de memoria, pero también hay instrucciones que pueden acceder a todo el espacio de memoria indistintamente. La parte más baja de esta memoria alberga 32 registros de 8 bits, seis de los cuales pueden agruparse de a pares para formar tres registros de 16 bits, usualmente usados como punteros. A continuación se encuentra el espacio de entrada/salida, con un total de 64 posiciones de 8 bits. El resto de la memoria es RAM. A partir de la segunda generación la línea AVR implementa un stack pointer. El mismo es decrementico cada vez que se guarda algo en la pila, usualmente se lo inicializa con la dirección mas alta de memoria RAM. Este recurso facilita el compilado de aplicaciones en lenguaje C. La mayor parte de las instrucciones se ejecutan en un ciclo de reloj, pero algunas pueden tomar hasta cuatro ciclos, como en el caso del CALL. El stack pointer y el registro de estados se encuentran mapeados en el espacio de memoria de entrada y salida. La ALU implementa las operaciones básicas de suma, resta y desplazamiento.

UNL2003A

Es una matriz de transistores Darlington de alto voltaje, y alta corriente.

Se compone de siete pares de NPN Darlington que cuentan con salidas de alto voltaje con diodos de retorno de cátodo común para la conmutación de cargas inductivas.

Es muy similar a la ULN2801A, ULN2802A, ULN2803A, [3] ULN2804A y ULN2805A, sólo difieren en los niveles de entrada de lógica (TTL, CMOS, OGP) y el número de entradas (8).

Los controladores pueden conectar en paralelo para una mayor capacidad de corriente, incluso apilar un chip en la parte superior de otro, tanto eléctrica y físicamente se ha

hecho. Por lo general, también se puede utilizar para la interconexión con motor paso a paso, en el que el motor requiere altos índices de audiencia que no pueden ser proporcionados por otros dispositivos de interfaz.

IV. MATERIALES

ProtoBoard

Cables

Multímetro

Motor en DC

Potenciómetros y resistencias de varios valores

Teclado ATMEGA16 LCD de 2*16 Pequeña Maqueta

2

Page 3: Control PID de posicion de un motor mediante AVR

Microcontroladores y Microprocesadores

PROCEDIMIENTO

1. Investigar cómo realizar un control PID con ATMEGA 16.2. Desarrollar el diseño de este control de posición del motor

de mejor manera que se pueda preciar.3. Se procede a simular el circuito ya con todos los

parámetros necesarios4. Una vez implementado, quemamos el ATMEGA16 con el

programa correspondiente 5. Se implementa con el resto del circuito

6. Realizamos algunas pruebas para ver su correcto funcionamiento.

7. Realizar el informe del proyecto para ser calificado por su respectivo docente.

V. CONCLUSIONES

CÁLCULO DEL ERROR

Para: Kp=10, Kd=0.8 y Ki=0.4

Error=V real−V medido

V real

∗100 %

Error=360−349360

∗100 %

Error=3.055 %

Se puede observar de qué manera varia la intensidad del foco según el tipo de controlador seleccionado, de este modo cumple que el foco se enciende y se apaga cuando seleccionamos el PD caso pero el error en estado estable no es muy bueno, caso contrario sucede cuando se selecciona el PI el foco titila pero mantiene el error en un valor considerable para considerar que esta con un error en estado estable menor al 2% según la diferenciación de voltajes obtenidos.

Para una fina sintonía, se realizó la sintonización aplicando el método de ganancia al límite.

Nuestro controlador trabaja muy bien y existe un error mínimo.

REFERENCES

[1] M. A. Moreno, "Apuntes de control PID," LA PAZ ENERO, 2001.[2] D. M. Caruso and S. E. Tropea, "Controlador tipo PID, sobre

microcontrolador embebido en FPGA," in Congreso de Microelectrónica Aplicada, 2010.

[3] C. Verrastro, S. Alberino, and P. Folino, "Control PID con esquema adaptivo de filtrado de ruido."

[4] G. Reynoso-Meza, X. Blasco, and J. Sanchis, "Diseño multiobjetivo de controladores pid para el benchmark de control 2008–2009," Revista Iberoamericana de Automática e Informática Industrial RIAI, vol. 6, pp. 93-103, 2009.

3

Page 4: Control PID de posicion de un motor mediante AVR

Microcontroladores y Microprocesadores

ANEXOS

A. Circuito implementado en Protoboard

B.Prueba de

funcionamiento en Labview

Como se puede apreciar el error en estado estable es mínimo

Podemos ver la respuesta del sistema a la modificación del set point.

C.Circuito en Proteus

4


Recommended