Autor Tema: Ayuda teórico/práctica con un PID  (Leído 6676 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Ayuda teórico/práctica con un PID
« Respuesta #15 en: 13 de Junio de 2012, 10:41:30 »
Hola gente, estoy trabajando en un controlador PID para un péndulo invertido y quisiera hacer una consulta.

He ajustado la medición del ángulo de inclinación y la respuesta de los motores es correcta. Pero hasta el momento no he logrado estabilizar el péndulo. Estoy trabajando con control proporcional-derivativo.

Actualmente, tengo unprograma cíclico que no tiene un tiempo fijo. Lo que hago es medir ciclo a ciclo la duración del ciclo anterior y usar ese tiempo para mi control.

La duda que tengo ahora es, el ciclo de mi controlador debería ser fijo o no tiene influencia en el control?


Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: Ayuda teórico/práctica con un PID
« Respuesta #16 en: 13 de Junio de 2012, 10:53:58 »
Suele ser fijo, pero hay controles que mejoran con tiempo de control no fijo porque así se evitan resonancias.

Siempre que midas bien el tiempo entre ciclos y que sea menor que 0.1 veces el tiempo de respuesta mecánica del sistema, imagino que puede funcionar.

De todas formas con tiempos fijos se simplifica mucho el control ¿Por qué no utilizar tiempo fijo?


Saludos.

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Ayuda teórico/práctica con un PID
« Respuesta #17 en: 13 de Junio de 2012, 11:09:47 »
En principio no utilice tiempos fijos porque me pareció más sencillo medir el tiempo de ciclo y pensé que no afectaba el tiempo de ciclo variable al controlador.

Por otro lado no tengo bien en claro que procesos tengo que hacer con un tiempo determinado, es decir, medir señales, controlador, envío de referencia a motores... etc.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: Ayuda teórico/práctica con un PID
« Respuesta #18 en: 13 de Junio de 2012, 11:22:29 »
En principio no utilice tiempos fijos porque me pareció más sencillo medir el tiempo de ciclo y pensé que no afectaba el tiempo de ciclo variable al controlador.

Por otro lado no tengo bien en claro que procesos tengo que hacer con un tiempo determinado, es decir, medir señales, controlador, envío de referencia a motores... etc.

Hay que hacer todo eso ( medir señales, controlador, envío de referencia a motores... etc. ) por ejemplo 50 veces por segundo.


Saludos.

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Ayuda teórico/práctica con un PID
« Respuesta #19 en: 13 de Junio de 2012, 11:39:01 »
Mi programa actual tiene una duración aproximada de 6mseg.

Podría hacer que mi programa se ejecutará cada 10mseg? Que sería más eficiente, llamar con una interrupción o generar un delay al final de mi programa para el próximo ciclo de ejecución?

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5892
    • Picuino
Re: Ayuda teórico/práctica con un PID
« Respuesta #20 en: 13 de Junio de 2012, 11:55:59 »
Una interrupción es más estable y precisa.

Saludos.

Desconectado marito

  • PIC16
  • ***
  • Mensajes: 217
Re: Ayuda teórico/práctica con un PID
« Respuesta #21 en: 13 de Junio de 2012, 12:02:40 »
Buenísimo! Voy a trabajar en ello y luego comento los resultados!

Muchas gracias por tu ayuda Picuino!

Saludos