Sie sind auf Seite 1von 11

INTRODUCCIN

El propsito de esta nota de aplicacin es describir cmo un PIC16F684 se puede utilizar para
implementar un posicional Proporcional - Integral- Derivativo ( PID ) de control de retroalimentacin
en un sistema intrnsecamente inestable. Un invertida pndulo se utiliza para demostrar este tipo de
control.
El pndulo invertido se compone de tres partes principales :
la plataforma de base, el pndulo y el controlador tablero, como se muestra en la Figura 1 .

PLATAFORMA DE BASE

La plataforma de base es una plataforma de 3 puntos , 2 ruedas (una de los cuales est orientado y
fijado a un motor de corriente continua ) y una conector de audio. Cuando el motor de corriente
continua est activada, la base plataforma girar alrededor de un crculo con el centro de el eje de
rotacin es el conector de audio. El conector de audio sirve 2 fines; primero se utiliza como el eje de
rotacin
para la plataforma de base y segundo , se utiliza para lograr potencia conmutado a la tarjeta del
controlador.
PNDULO
El pndulo se une a la plataforma de base por una 360 potencimetro giratorio libre . La base del
pndulo est unido al potencimetro de una manera tal que cuando el pndulo se equilibra
( completamente vertical) , la toma central del potencimetro est sesgado a VREF / 2 . por
el resto de esta nota de aplicacin se utilizar para denotar el ngulo de desplazamiento del
pndulo con respecto a el eje vertical.

La tarjeta de conexin tiene 2 funciones principales, para medir

y para accionar el motor de corriente continua. La fuente de alimentacin necesaria para ejecutar el
sistema est dictada por la seleccin de la motor. El motor es controlado por un puente en H que es
impulsado por la captura PIC16F684 Mejorado / comparacin / Mdulo PWM (PECC). Las salidas del
PECC son conectado a los conductores FET que producen la unidad adecuada tensiones y reducir los
tiempos de transicin para los FET en el H-puente.
Hay 5 potencimetros situados en el controlador bordo, 3 de los cuales se utilizan para ajustar las
constantes PID (KP, KI y KD) y uno para medir . El quinto potencimetro se utiliza en conjuncin con
el filtro de entrada de referencia. El filtro de entrada es un filtro de Bessel de paso bajo con una
frecuencia de corte de 60 Hz y tiene un voltaje Se necesita ganancia de 6. Un filtro de paso bajo para
eliminar cualquier ruido de alta frecuencia en la medicin de ngulos que el trmino derivado del
controlador PID es extremadamente sensible a. El filtro de Bessel se utiliza porque tiene la mejor
respuesta a una funcin escalonada. (Una vez que el pndulo es equilibrado, un desplazamiento
repentino que hace que se
desequilibrarse se ver como una funcin de paso). El frecuencia de corte fue elegido para ser al
menos el doble frecuencia esperada del pndulo. La ganancia de la filtro fue elegido para aumentar la
resolucin de la Analog- a digital (A / D). Con el potencimetro 360 y un convertidor A / D de 10 bits,
sin ganancia, un LSB es igual a 0.35 . Con la ganancia ajustada a 6, el desplazamiento ngulo se
limita a 30 , lo que da una resolucin de 0.059 por LSB. Controla el quinto potencimetro de la la
referencia del filtro de entrada para producir un verdadero desplazamiento 0 ngulo cuando el
pndulo est en posicin vertical. Sin esto potencimetro, cualquier ngulo ligero desplazamiento
har que el de base para aumentar poco a poco su velocidad y eventualmente tomar el sistema en un
estado inestable. Para ms informacin en la placa del controlador, consulte los esquemas de
Apndice A: "Esquemas".
PID
Para el sistema de control de posicin PID , se utiliza la Figura 4 para modelar el sistema .

R ( t) = referencia de punto de ajuste deseado


Y ( t) = respuesta Medido
E ( t) = Error
C ( t) = respuesta Controller
El punto R establecer deseada (t ) de este sistema se produce cuando Theta = 0 . En este estado , el
pndulo se balancea . Desde la respuesta deseada del sistema es 0 , cualquier ngulo miden distinto
de 0 es el error o Y (t ) = E ( t) .
En la ejecucin del controlador PID , hay 3 trminos que se basan fuera de la medicin de error.
Plazo proporcional: KPE (t ) - , donde KP es la constante proporcional
Plazo Integral :

KI es la integral constante

En este sistema, la seal de salida del controlador , C ( t), determinar la direccin en la que el motor
se enciende .
La magnitud de C (t ) se corresponde directamente con el deber ciclo de la PWM en el mdulo PECC ,
la determinacin de la
velocidad a la que el motor se apagar .
PID EN UN SISTEMA DIGITAL
Conversin a un sistema digital, Y ( t) se mide por un convertidor A / D . Con el fin de implementar el
controlador PID ,
el microcontrolador PICmicro tendr que hacer algunas aproximaciones de los trminos integrales y
derivados.
Comenzando con el trmino derivado , podemos utilizar el siguiente diferencia ecuaciones para
nuestra aproximacin .

Donde E ( n ) es el error de corriente , E (n- 1 ) es el anterior error y TS es nuestro periodo de


muestreo . La ecuacin 2 es el
pendiente aproximada de la lnea tangente en E ( t) ( subida / run ) .
Para el trmino integral utilizar la aproximacin de Ecuacin 3 .

Con estas aproximaciones podemos reescribir C ( t) como muestra en la Ecuacin 4 .

Modelando el INVERTIDO PNDULO


Con el fin de aplicar correctamente el algoritmo de control, el usuario tiene que mirar cmo la
mecnica y elctrica
sistemas van a interactuar entre s. Dinmica modelar el pndulo invertido no es una tarea sencilla.
Estas son algunas de las variables que deben ser mirado con el fin de modelar el sistema:

Posicin Bases '


Bases de velocidad '
Aceleracin Bases '
momento de inercia Bases '
coeficiente de friccin Bases '
Bases de masas '
Longitud Bases '
constante gravitacional de la Tierra
La posicin de Pndulo
la velocidad del pndulo
El momento de pndulo de inercia
Coeficiente de pndulo de friccin
Masa del pndulo
La longitud del pndulo
A fin de simplificar todo esto, utilizar una simple regla de pulgar. Seleccionar un motor (con un par
adecuado, rpm y
relacin de transmisin a la rueda motriz) que pueden acelerar el plataforma de base tan rpido como
el pndulo puede caer. los
aceleracin angular del pndulo con respecto a el ngulo de desplazamiento es:

Nota : Vea el Apndice B: " Derivacin de Ecuacin 5 "para la derivacin de esta ecuacin.
Como la aceleracin del pndulo no es constante, utilizar la aceleracin mxima del pndulo cuando
el uso de esta regla de oro . La aceleracin mxima de el pndulo se producir cuando es el ngulo
ms grande en ,
el controlador tratar y corregir ( MAX ) . MAX es controlada por tanto de hardware como de
software. El hardware
lmite para MAX es fijado por la ganancia de la Bessel Filtrar; con una ganancia de 6 , el lmite es de
30 o 0,523
radianes. Esto se puede limitar an ms en el software. Los software, que acompaa esta nota de
aplicacin , ms
lmites MAX a 20 0,349 radianes. Esto se hace para eliminar la posibilidad de golpear el lmite
hardware

El motor utilizado en este sistema que cumple con este criterio es de MAXX Products, Inc. El nmero
de modelo es
EPU9, con una relacin de 8,6 a 1 marcha unido a un 2 pulgadas rueda. La tensin nominal de este
motor es de 4,8 a 7,2 V,
pero para este ejemplo, el motor funcionar a 12V. Este es hacer para obtener una mejor respuesta
del motor a pequea
ciclos de trabajo del PWM. Correr en aproximadamente el doble de la tensin de entrada designado no
es una preocupacin
debido a que el motor nunca estar en un estado constante donde el ciclo de trabajo del PWM es
mayor que 50%.

Si encontrar un motor que cumple con este criterio es difcil, hay algunas soluciones. Una solucin es
disminuir
MAX en el software o aumentar la longitud del pndulo; esto reducir la aceleracin mxima de la
pndulo. Otra posible solucin es aumentar la coeficiente de friccin entre la rueda motriz y la base. Si
el motor es de tamao amplio, el coeficiente de friccin de la rueda motriz ser el factor limitante en
la forma rpida de la base puede acelerar. Cambiar el coeficiente de friccin, cambiando la rueda
motriz de un material diferente o aadir una superficie abrasiva a la plataforma.
Para obtener una estimacin aproximada de la rapidez con las necesidades de bucle PID que ser
actualizado, colocar un objeto, similar en longitud del pndulo, en fin en la palma de una mano y
tratar de equilibrar ello. El objeto puede o no puede ser posible equilibrar.
Cuanto ms corto sea el objeto, ms difcil es equilibrar.
En la prueba de este mtodo, la longitud ms corta equilibrada para un perodo sostenido fue de 0,5
metros de longitud. Equilibrio un objeto de tal manera se basa principalmente en la sentido de la
vista. Desde la visin humana slo puede procesar
informacin a aproximadamente el 30 Hz, 30 Hz ser la lnea de base para la velocidad mnima a las
necesidades del circuito de control para funcionar a. La frecuencia del bucle de control PID tambin va
a ser seleccionado para simplificar las rutinas matemticas. La Integral plazo, en la Ecuacin 3,
muestra que las necesidades de cada trmino de error debe multiplicarse por el perodo de muestreo
(que es el mismo que dividir por la frecuencia de muestreo). Por elegir una frecuencia de muestreo en
potencias de 2 de, muy rutina de divisin rpida se puede hacer mediante el desplazamiento a la
derecha comando, donde cada desplazamiento a la derecha es una divisin por 2. Es muy similar para
el trmino derivativo, excepto la desviacin a la izquierda
se usara para una multiplica por 2. Sabiendo esto, elegir 256 Hz como frecuencia de muestreo. Esto
es 8 veces ms rpido que la frecuencia mnima estimada y debe permitir suficiente espacio para
variar la longitud de la pndulo, si se desea.
C CDIGO DE FLUJO DE TABLA
Los siguientes diagramas de flujo muestran una versin simplificada de el cdigo C para el pndulo
invertido . Para una completa Descripcin del cdigo, ver el cdigo fuente AN964 archivo.

Sutilezas en EL SOFTWARE
La rutina de servicio de interrupcin se utiliza para controlar el la velocidad del bucle PID . La rutina de
servicio de interrupcin es configurado para ejecutarse fuera del Timer0 interrupcin . Timer0 es un
nio de 8 bits temporizador que incrementar el TMR0 cada registro reloj de la instruccin . Cuando
los desbordamientos de registro TMR0 , la interrupcin de la bandera Timer0 se configura . La
velocidad a la cual la interrupcin debe ocurrir es cada 3.9 milisegundos ( 1/256 Hz) . Ya que estamos
usando el 8 MHz interna oscilador interno , vamos a tener una instruccin de 2 MHz reloj o 0,5 mu s
por instruccin . Esto produce que la interrupcin se debe ejecutar cada 7812 instrucciones. Al
establecer el prescaler TMR0 a 32 y 11 a la recarga
el registro TMR0 , en la rutina de servicio de interrupcin , el Timer0 interrupcin se produce cada 3,9
milisegundos o
cada 7808 instrucciones ( 255-11 ) * 32 . Como se ha indicado anteriormente en esta nota de
aplicacin , hay
2 forma bsica del PID que puede ser implementado y Ellos son:

Cuanto ms tarde se utiliza debido a un cambio en la proporcional constante no afectar a la


respuesta polo del controlador.
Si se espera que las variaciones en las tensiones de alimentacin, tales como las aplicaciones que
funcionan con batera, sera posible para cambiar la constante proporcional sobre la marcha para
compensar estas variaciones de suministro. La relacin
a la constante proporcional y la tensin de alimentacin al motor sera inversamente proporcional.
El trmino derivado es crucial para llevar la inherentemente sistema inestable en la estabilidad. En
ningn control PID
los trminos derivados acta como un anticipador. Al marcar el error actual contra el error anterior, el
controlador
puede sentir si el trmino de error es cada vez ms grande o ms pequeo.
Si el trmino de error es cada vez ms grande, el trmino derivado se suma a la salida del controlador
muy parecido al de la
trminos proporcional e integral, sino a un efecto menor. Si el trmino de error es cada vez ms
pequeo, este trmino restar
desde la salida del control en previsin de un sobreimpulso condicin. Sin el trmino derivado del
sistema siempre ser inestable porque no hay manera de compensar la condicin de rebasamiento. El
seguimiento es el cdigo C real utilizado para calcular la derivada trmino.

Cuando se hizo la aproximacin para la derivada plazo, afirm que la aproximacin sera:

Al revisar el cdigo en la Figura 6 , se puede determinar que la aproximacin , mostrada en la


Ecuacin 7 , no es el
aproximacin utilizada . La ecuacin real que se utiliz para calcular el trmino derivado es el
siguiente:

Ecuacin 8 escrito ms precisa sera:

Con un 10-bit A / D, KD se mide como un entero entre 0 y 1023. El trmino X permite una fraccional
representacin de KD, no slo un nmero entero. (Escala Similar factores tambin se utilizan en el
clculo de la integral y
trminos proporcionales). El 3 * TS viene del hecho de que estamos triplicando nuestra perodo de
muestreo mediante el uso de E (n) - E (n- 3) no E (n) - E (n-1). Por qu utilizar E (n) - E (n-3) en lugar
de E (n) - E (n-1)? La principal razn para hacer esto es para limitar la variacin en la medicin del
ngulo de error. Habr siempre ser una cantidad de incertidumbre asociada a la
medida de error, algunos de los cuales se puede atribuir a Un error / D, Bessel rendimiento del filtro,
vibraciones mecnicas,
etc. Dado que la incertidumbre de las mediciones de error ser el mismo para todos los trminos de
error, este
la incertidumbre se puede disminuir efectivamente la triplicacin perodo de muestreo. La verdadera
clave es que el trmino derivado Todava se actualiza a 256 Hz tasa. Si lo hace, le da el beneficio del
ritmo ms lento un trmino derivado ms precisa,
pero a la frecuencia de muestreo ms rpido deseado. El lado afecta de hacer esto es la adicin de
aproximadamente 4 milisegundos de quedarse con el trmino derivado, que en este caso es
aceptable.
KP * X * 3 * TS ha sido precalculado para ser 32 a aumentar la velocidad del bucle PID.
ADAPTAR EL CONTROLADOR PID
Utilice los siguientes pasos para ajustar las constantes PID :
1. Gire el KP , KI y KD potencimetros
en sentido horario hasta que se encienda . Esto establece toda la
constantes a cero.
2. Encienda el dispositivo mediante un 12V ( mnimo de un 3
amp) fuente de alimentacin.
3. Sosteniendo el botn Reset abajo , levante el pndulo
a la posicin vertical y suelte el
Botn y pndulo Restablecer al mismo tiempo .

4. El pndulo debe liberar cada y la base de voluntad


no moverse. Esto verifica que todas las constantes son
leer correctamente como ceros .
5. Aumentar la constante KP girando el potencimetro
hacia la izquierda y repita el paso 3 .
6. Mantenga pasos 3-5 repitiendo hasta hay un poco
oscilacin en la base. Si el trmino KP es demasiado pequeo,
la plataforma base perseguir la parte superior del pndulo
mientras sigue aumentando. KP ser
demasiado grande si la rueda motriz se libera o el
de base oscila a una alta tasa de velocidad
7. Inicie el aumento de la KI la misma manera que KP hasta
el pndulo se puede equilibrar durante varios segundos
bajo una condicin de oscilacin constante.
Cuando se aade el KI , la base ser ahora acelerar
ms rpido que el pndulo causando a
cambiar desde un ngulo positivo a un ngulo negativo
(o viceversa). El pndulo comenzar a caer
hacia atrs. La base debe cambiar de direccin
y, de nuevo , acelerar ms rpido que el pndulo
hasta cambia de signo y el ciclo completo
repite . Esto se conoce como el sobreimpulso
condicin.
8. Aumentar la KD de la misma manera como KP y Ki
hasta que la condicin Sobreimpulso se ha ido y el
pndulo permanece equilibrada.
9. Una vez que todo rebasamiento se ha ido, el controlador PID es
sintonizado
CDIGO DE CONVERSIN DE ASAMBLEA
Para aquellos que prefieren programar en ensamblador , hay
un archivo de ensamblaje que se puede utilizar tambin . Al programar
en el montaje , es esencial para asegurarse de que
los resultados de las funciones matemticas tienen el signo correcto
y las matemticas no registra desbordamiento. A fin de que
acelerar el lazo PID , todas las rutinas se multiplican tienen
ha limitado a un 8x8 firmado rutina se multiplican con un 16poco resultado firm . Para ello, se midi por el 10bit A / D con el 2 LSb siendo ignorada . El 8 -bit A / D
entonces resultado fue convertido a un nmero de 8 bits con signo por
aadiendo 128 decimal y haciendo caso omiso de la bandera de acarreo . los
constantes , KP , KI y KD estn limitados a un positivo 8bits con signo nmero o 0-127 . Aparte de estas tecla 2
cambios, el programa de montaje sigue el mismo flujo
grfico como el cdigo C .
Nota : Al limitar las rutinas se multiplican a poco 8x8
matemticas firmado , el cdigo Asamblea puede ejecutar
el bucle PID en aproximadamente 215 mu s
donde como el cdigo C tarda 1,4 ms .
CONCLUSIN
Mediante el uso de PECC del dispositivo PIC16F684 y los mdulos A / D
somos capaces de demostrar cmo implementar un
controlador PID de posicin para poner inherentemente inestable

sistema en la estabilidad. Las claves para la implementacin de este control


es tener una comprensin bsica de la mecnica
sistema , e identificar el trmino derivado sera una
factor crtico en la estabilidad general del sistema. los
otras teclas , con respecto al software , estaban haciendo
de que nuestros registros no desbordamiento, y recogiendo la
frecuencia del bucle PID que es una potencia de 2 , as que
podra tener una multiplicacin rpida y dividir la rutina utilizando la
desviacin a la izquierda y la derecha.

Das könnte Ihnen auch gefallen