Controlador digital con Pic

Amigos estoy implementando un controlador digital con pic tengo el diagrama de bloques adjunto del controlador digital y su planta en lazo cerrado quisiera implementar este controlador:
u(k+1)=0.5uk+70(e(k+1)-0.9ek) para la planta ====>1/s^2 +s en picccompiler gracias.
 

Adjuntos

  • planta.rar
    290.4 KB · Visitas: 18
Hola,

Lo primero es que como no podemos conocer los instantes k+1, tendríamos que transformar la ecuación del regulador para adaptarla a tiempos actuales y anteriores, es decir para k, k-1, k-2, etc. Por lo que la ecuación quedaría asi:
u(k+1)=0.5uk+70(e(k+1)-0.9ek) -> u(k)=0.5u(k-1)+70(ek-0.9e(k-1))

Ahora lo que habría que saber es como programarlo en piccompiler, yo personalmente nunca he hecho algo así (he usado DSP de TI), pero el código debería hacer lo siguiente:
1º inicializar los periféricos a utilizar: timers, conversores ADC, interrupts, etc
2º inicializar variables, necesitaremos una variable para la entrada, otra para la entrada anterior, otra para la salida actual de la planta y dos más para el error y para el error anterior, además de una referencia.
3º Bucle, en este bucle, se harán los siguientes pasos en orden: leer la entrada, calcular error actual comparando la salida real de la planta con la referencia, calcular la salida del regulador con la ecuación de arriba, y almacenar en sus correspondientes variables el error de este instante como error anterior y la entrada en este instante como entrada anterior.

Supongo que por internet habrán manuales y ejemplos en los que podrás saber como hacer el código para tu pic utilizando lo anterior. El esquema que he puesto arriba es muy basico... espero que te sirva para orientarte y poder buscar más información al respecto.

Un saludo.
 
Atrás
Arriba