pednulodocx

Upload: tacomedinaoscar

Post on 06-Mar-2016

219 views

Category:

Documents


0 download

DESCRIPTION

pednulodocx

TRANSCRIPT

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 retroalimentacinen 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 rotacinpara 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 . porel 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 esimpulsado 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 sedesequilibrarse 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".

PIDPara el sistema de control de posicin PID , se utiliza la Figura 4 para modelar el sistema .

R ( t) = referencia de punto de ajuste deseadoY ( t) = respuesta MedidoE ( t) = ErrorC ( 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 lavelocidad a la que el motor se apagar .

PID EN UN SISTEMA DIGITALConversin 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 elpendiente 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 elctricasistemas 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 pnduloA fin de simplificar todo esto, utilizar una simple regla de pulgar. Seleccionar un motor (con un par adecuado, rpm yrelacin de transmisin a la rueda motriz) que pueden acelerar el plataforma de base tan rpido como el pndulo puede caer. losaceleracin 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 cuandoel 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 hardwarelmite para MAX es fijado por la ganancia de la Bessel Filtrar; con una ganancia de 6 , el lmite es de 30 o 0,523radianes. Esto se puede limitar an ms en el software. Los software, que acompaa esta nota de aplicacin , mslmites 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 esEPU9, 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 pequeaciclos de trabajo del PWM. Correr en aproximadamente el doble de la tensin de entrada designado no es una preocupacindebido 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 disminuirMAX en el software o aumentar la longitud del pndulo; esto reducir la aceleracin mxima de lapndulo. 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 procesarinformacin 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 izquierdase 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 TABLALos 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 recargael registro TMR0 , en la rutina de servicio de interrupcin , el Timer0 interrupcin se produce cada 3,9 milisegundos ocada 7808 instrucciones ( 255-11 ) * 32 . Como se ha indicado anteriormente en esta nota de aplicacin , hay2 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 relacina 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 PIDlos trminos derivados acta como un anticipador. Al marcar el error actual contra el error anterior, el controladorpuede 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 latrminos proporcional e integral, sino a un efecto menor. Si el trmino de error es cada vez ms pequeo, este trmino restardesde 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 elaproximacin 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 fraccionalrepresentacin de KD, no slo un nmero entero. (Escala Similar factores tambin se utilizan en el clculo de la integral ytrminos 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 lamedida 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, estela 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 potencimetrosen sentido horario hasta que se encienda . Esto establece toda laconstantes a cero.2. Encienda el dispositivo mediante un 12V ( mnimo de un 3amp) fuente de alimentacin.3. Sosteniendo el botn Reset abajo , levante el pnduloa la posicin vertical y suelte elBotn y pndulo Restablecer al mismo tiempo .4. El pndulo debe liberar cada y la base de voluntadno moverse. Esto verifica que todas las constantes sonleer correctamente como ceros .5. Aumentar la constante KP girando el potencimetrohacia la izquierda y repita el paso 3 .6. Mantenga pasos 3-5 repitiendo hasta hay un pocooscilacin en la base. Si el trmino KP es demasiado pequeo,la plataforma base perseguir la parte superior del pndulomientras sigue aumentando. KP serdemasiado grande si la rueda motriz se libera o elde base oscila a una alta tasa de velocidad

7. Inicie el aumento de la KI la misma manera que KP hastael pndulo se puede equilibrar durante varios segundosbajo una condicin de oscilacin constante.Cuando se aade el KI , la base ser ahora acelerarms rpido que el pndulo causando a cambiar desde un ngulo positivo a un ngulo negativo(o viceversa). El pndulo comenzar a caerhacia atrs. La base debe cambiar de direcciny, de nuevo , acelerar ms rpido que el pndulohasta cambia de signo y el ciclo completorepite . Esto se conoce como el sobreimpulsocondicin.8. Aumentar la KD de la misma manera como KP y Kihasta que la condicin Sobreimpulso se ha ido y elpndulo permanece equilibrada.9. Una vez que todo rebasamiento se ha ido, el controlador PID essintonizado

CDIGO DE CONVERSIN DE ASAMBLEAPara aquellos que prefieren programar en ensamblador , hayun archivo de ensamblaje que se puede utilizar tambin . Al programaren el montaje , es esencial para asegurarse de quelos resultados de las funciones matemticas tienen el signo correctoy las matemticas no registra desbordamiento. A fin de queacelerar el lazo PID , todas las rutinas se multiplican tienenha limitado a un 8x8 firmado rutina se multiplican con un 16-poco resultado firm . Para ello, se midi por el 10-bit A / D con el 2 LSb siendo ignorada . El 8 -bit A / Dentonces resultado fue convertido a un nmero de 8 bits con signo poraadiendo 128 decimal y haciendo caso omiso de la bandera de acarreo . losconstantes , KP , KI y KD estn limitados a un positivo 8-bits con signo nmero o 0-127 . Aparte de estas tecla 2cambios, el programa de montaje sigue el mismo flujogrfico como el cdigo C .

Nota : Al limitar las rutinas se multiplican a poco 8x8matemticas firmado , el cdigo Asamblea puede ejecutarel bucle PID en aproximadamente 215 mu sdonde como el cdigo C tarda 1,4 ms .

CONCLUSINMediante el uso de PECC del dispositivo PIC16F684 y los mdulos A / Dsomos capaces de demostrar cmo implementar uncontrolador PID de posicin para poner inherentemente inestablesistema en la estabilidad. Las claves para la implementacin de este controles tener una comprensin bsica de la mecnicasistema , e identificar el trmino derivado sera unafactor crtico en la estabilidad general del sistema. losotras teclas , con respecto al software , estaban haciendode que nuestros registros no desbordamiento, y recogiendo lafrecuencia del bucle PID que es una potencia de 2 , as quepodra tener una multiplicacin rpida y dividir la rutina utilizando ladesviacin a la izquierda y la derecha.