TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: arcadi 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.
-
chequea esto
http://www.todopic.com.ar/foros/index.php?topic=14074.0
-
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
-
¿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