Forum Sains Indonesia

Ilmu Terapan => Ilmu Teknik => Teknik Elektro => Topik dimulai oleh: dancyber pada Mei 01, 2010, 12:57:00 PM

Judul: PID Control
Ditulis oleh: dancyber pada Mei 01, 2010, 12:57:00 PM
Hello all FOrsa,,
Ada yang punya referensi buat belajar PID control ?
thanks
:) :) :) :) :) :) :) :) :) :) :) :) :)
Judul: Re: PID Control
Ditulis oleh: SubaruHoshikawa pada Mei 01, 2010, 01:07:35 PM
proportional–integral–derivative controller ya ??? bukannya tuh buat ngontrol mekanisme industri ???

kyknya sih ada di link ini www.expertune.com/tutor.html tapi bhs inggris :o
ane jg krg ngatri ttg PID.. :)
Judul: Re: PID Control
Ditulis oleh: dancyber pada Mei 02, 2010, 02:13:33 AM
yoi subaru PID itu proportional–integral–derivative controller,
ane jga lagi nyari PID yang bisa disimulasikan lewat matlab gitu. ada linknya gak??
Judul: Re: PID Control
Ditulis oleh: SubaruHoshikawa pada Mei 02, 2010, 02:50:30 AM
maksudnya software simulasinya gtu ?? nanti tak cari kalo gtu :o
Judul: Re: PID Control
Ditulis oleh: skuler pada Mei 02, 2010, 03:29:59 AM
nih... gw kasi link mentahnya... obok2 aja dalemnya... disono dijelasin mulai dari transformasi sistem fisis ke persamaan matematik sampe jadi fungsi transfer buat PID tuning...

http://www.facstaff.bucknell.edu/mastascu/

klo buat gw, yg jadi masala aplikasinya...

ada yg perna pake metode ziegler–nichols buat PID tuning d software twidosoft/twidosuite g?
Judul: Re: PID Control
Ditulis oleh: dancyber pada Mei 02, 2010, 04:44:46 AM
maksudnya software simulasinya gtu ?? nanti tak cari kalo gtu :o
maksud ane bukan softwarenya, tapi ebook atau situs yang bahas gimana cara mensimulasikan PID di matlab.
thanks ya  ;) ;) ;) ;) ;) ;) ;) ;)

nih... gw kasi link mentahnya... obok2 aja dalemnya... disono dijelasin mulai dari transformasi sistem fisis ke persamaan matematik sampe jadi fungsi transfer buat PID tuning...

http://www.facstaff.bucknell.edu/mastascu/

klo buat gw, yg jadi masala aplikasinya...

ada yg perna pake metode ziegler–nichols buat PID tuning d software twidosoft/twidosuite g?

apalagi tu metode ziegler–nichols? ane pakenya software matlab gan..
Judul: Re: PID Control
Ditulis oleh: kuin pada Mei 02, 2010, 05:33:09 AM
PID untuk apaan dulu? kalo rumus PID walaupun cari dimanapun tetep sama aja....aplikasinya mau yang dimana? kalo GW sih pake di Line Folower
Judul: Re: PID Control
Ditulis oleh: dancyber pada Mei 02, 2010, 05:37:46 AM
PID untuk apaan dulu? kalo rumus PID walaupun cari dimanapun tetep sama aja....aplikasinya mau yang dimana? kalo GW sih pake di Line Folower

sama ane juga mau pake buat LF, ada contohnya?
Judul: Re: PID Control
Ditulis oleh: skuler pada Mei 06, 2010, 04:28:01 AM
apalagi tu metode ziegler–nichols? ane pakenya software matlab gan..

gw jg kurang ngerti istilah bakunya, tapi stau gw metode Z-N itu tuning Kp, Ti, Td scara coba2... eniwei, ada yg perna pake fungsi PID di software twidosuite g? bingung nih... kok uda disetting tapi tuningnya ga jalan2... :(
Judul: Re: PID Control
Ditulis oleh: kuin pada Mei 11, 2010, 06:50:38 PM
PID untuk apaan dulu? kalo rumus PID walaupun cari dimanapun tetep sama aja....aplikasinya mau yang dimana? kalo GW sih pake di Line Folower



sama ane juga mau pake buat LF, ada contohnya?

ada....ni potongan program PD kontroller saya...kalo PID masih nyoba tuning belom ketemu yang cocok.

int scanx()  //oke
{   
   sendat&=0b01111111;
   switch(sendat)         
   {   
   //jika logika 1 berarti sensor aktif
   //lihat bit: 7--6.5.4.3.2.1.0     
   //0 = sensor kanan 
   //6 = sensor kiri
   //7 = kosong digunakan untuk cek baterai
   
      case 0b00000001:   e=0;    led=off;  break;
      case 0b00000011:   e=0;       led=off; break; 
      case 0b00000010:   e=0;    led=off;   break;
      case 0b00000110:   e=4;   x=1;   led=off; break; 
      case 0b00000100:   e=3;    x=1;   led=off; break;       
      case 0b00001100:   e=2;    x=1;   led=off; break;
      case 0b00001000:   e=1;           led=off; break;
      case 0b00011100:   e=1;           led=off; break;
      case 0b00011000:   e=-2;    x=0;   led=off; break;
      case 0b00010000:   e=-3;    x=0;   led=off; break;
      case 0b00110000:   e=-4;    x=0;  led=off; break;
      case 0b00100000:   e=0;       led=off;  break;
      case 0b01100000:   e=0;        led=off; break;
      case 0b01000000:   e=0;       led=off; break;   
      /*
           case 0b00000001:   e=0;       x=1; led=on;  break;
      case 0b00000011:   e=0;       x=1; led=on;     break;
      case 0b00000010:   e=0;     x=1;  led=on;    break;
      case 0b00000111:   e=0;    x=1;    led=on;  break; 
      case 0b00000110:   e=0;     x=1;  led=on;    break;
      case 0b00000100:   e=0;    x=1;    led=on;  break; 
      case 0b00001110:   e=0;    x=1;   led=on;   break;       
      case 0b00001100:   e=0;    x=1;   led=on;   break;
      case 0b00001000:   e=0;            led=on;  break;
      case 0b00011100:   e=0;           led=on;   break;
      case 0b00011000:   e=0;    x=0;   led=on;   break;
      case 0b00111000:   e=0;    x=0;  led=on;    break;
      case 0b00010000:   e=0;    x=0;   led=on;   break;
      case 0b00110000:   e=0;     x=0;  led=on;    break;
      case 0b01110000:   e=0;     x=0;  led=on;    break;
      case 0b00100000:   e=0;     x=0;  led=on;    break;
      case 0b01100000:   e=0;     x=0;  led=on;    break;
      case 0b01000000:   e=0;     x=0;  led=on;   break;    
           */                                       
           case 0b01111111:        e=4;      led=on;    break;
                case 0b00000000:        e=0;      led=off;    break; 
                                       
                                        /*
                                        if(x)           
                                        {   
                                           bkanan(255,255);
                                           break;
                                        }                  
                              else           
                              { 
                                 bkiri(255,255);
                                 break;
                              }       
                                        */
   }
   return(e);



void pdc(void)
{
  float Kp1=kpx,Kp2=kpx;
  float Kd1=kdx,Kd2=kdx;
 
  hitsen();
  get_sensor=scanx();
  Vref=speedx;
  error=set_point - get_sensor;
  d_error=error - old_error;
  u1=Vref+(int)(Kp1*(float)error)+(int)(Kd1*(float)d_error);
  u2=Vref-(int)(Kp2*(float)error)-(int)(Kd2*(float)d_error); 
 
  old_error = error;   

  if (u1<0) u1=0;
  if (u1>255) u1=255;
  if (u2<0) u2=0;
  if (u2>255) u2=255;
     
  if (get_sensor==0)
  {         
        if(x)           
        {   
                bkanan(cpx,plusx);
        }                  
        else           
        { 
                bkiri(plusx,cpx);
        }
  } 
 
  else {maju(u2,u1);}
 
  lcd_gotoxy(0,0);
  sprintf(buffpwmki,"%d    ",u2);
  lcd_puts(buffpwmki); 
  lcd_gotoxy(0,1);
  sprintf(buffpwmka,"%d    ",u1);
  lcd_puts(buffpwmka);
}   
Judul: Re: PID Control
Ditulis oleh: eki_crazy89 pada Juni 09, 2010, 01:23:52 PM
PID apa dlu, tergantung parameter yang dibutuhkan sih.. kadang bisa PI, PD, P doank..

coba simulasiin dlu aja di MatLab PID lift. kalo ngga suspensi..