Autor Tema: Rastreador con PID  (Leído 2321 veces)

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

Desconectado arcadi

  • PIC12
  • **
  • Mensajes: 74
Rastreador con PID
« en: 23 de Diciembre de 2008, 12:53:06 »
Buenas,

estoy escogiendo un tema de proyecto de fin de carrera, y me estoy decantando a por un robot rastreador. Me gustaria implementar un
control PID a través de un PIC 18F452, pero no se como empezar... utilizaria todo un puerto para leer los 8 CYN70 (los sensores).

Ya hice anteriormente un rastreador, pero era pura logica binaria con dos sensores XD.

Por eso, pido si alguien me puede explicar como implementar un control PID en un rastreador.

Muchas gracias.
Anglès (Girona)

Desconectado cerebro

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 735
Re: Rastreador con PID
« Respuesta #1 en: 23 de Diciembre de 2008, 12:57:19 »
LAS MALVINAS SON ARGENTINAS!

Desconectado arcadi

  • PIC12
  • **
  • Mensajes: 74
Re: Rastreador con PID
« Respuesta #2 en: 23 de Diciembre de 2008, 13:30:51 »
El enlace anterior ya lo vi y me quede  :shock: la primera vez XD

He buscado en google y he encontrado estos enlaces que me ayudan mucho a entender el sistema:

http://www.jashaw.com/pid/code.htm

http://learncontrol.com/pid/code2.html

http://ww1.microchip.com/downloads/en/AppNotes/00937a.pdf

http://ww1.microchip.com/downloads/en/AppNotes/00964A.pdf
Anglès (Girona)

Desconectado arcadi

  • PIC12
  • **
  • Mensajes: 74
Re: Rastreador con PID
« Respuesta #3 en: 23 de Diciembre de 2008, 13:45:18 »
¿Alguien me puede decir si puedo seguir esta estructura?

Tendria 3 potenciometros para graduar Kd, Kp y Ki o un teclado 4x4.

Inicializar:

                Kd=valor1;
                Kp=valor2;
                Ki=valor3;
                ek=ek_1=ek_2=0;
                uk=uk_1=uk_int=0;

Calculo del PID:

si tenemos 8 sensores,  ( 1 2 3 4 5 6 7 8 )

-Caso 1: la linia negra esta en 4 y 5, no existirà error
-Caso 2: la linia negra esta en 3 y 4, error positivo (tengo que girar a la izquierda)
-Caso 3: la linia negra esta en 5 y 6, error negativo (tengo que girar a la derecha)

                uk=Kd*ek_2+(Kp+2*Kd)*ek_1+(Kp+Ki+Kd)*ek-uk_1;   // controlador pid

                ek_1=ek;
                ek_2=ek_1;
                uk_1=uk;
                uk_int=uk;
               

-Calculo del PWM:

               Segun el resultado de uk_int, se configurara el PWM de los dos motores CC.


Muchas gracias cerebro
Anglès (Girona)


 

anything