Autor Tema: tengo este programa del control pid mirenlo y comenten  (Leído 1404 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado miguech1

  • PIC10
  • *
  • Mensajes: 7
tengo este programa del control pid mirenlo y comenten
« en: 23 de Mayo de 2004, 17:12:00 »
#include <16f877a.h>
#use delay(clock=2000000)
#fuses hs
#include <lcd.c>
#byte portc=7
#byte portb=6
#use fast_io(b)
//respueta rapida de puerto b
int val1,val2,val3,setp,val_med;
float a0,a1,a2,xn_1,xn_2,yn,yn_1,kp,ki,kd,ts,xn;
main(){

setup_adc_ports(all_analog);
setup_adc(adc_clock_div_32);
setup_ccp1(ccp_pwm);
setup_ccp2(ccp_pwm);
setup_timer_2(t2_div_by_1,255,1);

lcd_init();
while(true){
   while((input(pin_b0))){  // si es un cero
set_adc_channel(2);
val1=read_adc();
delay_us(10);
set_adc_channel(3);
val2=read_adc();
delay_us(10);
set_adc_channel(4);
val3=read_adc();
delay_us(10);
kp=(float)val1;
ki=(float)val2;
kd=(float)val3;
ts=0,01;
a0=kp+ki*ts+kd/ts;
a1=kp+2*kd/ts;
a2=ki/ts;

lcd_gotoxy(1,1);
printf(lcd_putc,"p:%1.1f,i:%1.1f,d:%1.1f",kp,ki,kd);}lcd_putc("f";

while((!input(pin_b0))){
set_adc_channel(0);
setp=read_adc();
delay_us(1);

Desconectado pic_patagonia

  • PIC10
  • *
  • Mensajes: 21
RE: tengo este programa del control pid mirenlo y comenten
« Respuesta #1 en: 04 de Marzo de 2005, 06:02:00 »
Hola. Quisiera preguntarte si has tenido oportunidad de probar el código trascripto . Recién lo veo y aún no lo he analizado, pero dado el tiempo que tiene el mensaje quizás hayas hecho alguna prueba y sacado ya algunas conclusiones sobre el mismo.
Aguardo tu respuesta.
Saludos.

Desconectado fer_zone

  • PIC12
  • **
  • Mensajes: 74
RE: tengo este programa del control pid mirenlo y comenten
« Respuesta #2 en: 10 de Marzo de 2005, 20:47:00 »
Yo tambien mire este codigo hace tiempo, seguramente esta incompleto, ya que solo realiza una etapa de configuración de los parametros PID tomando los valores de las esntradas analogicas, pero en si no hay ningun tipo de control en este programa.


 

anything