Selamat datang di ForSa! Forum diskusi seputar sains, teknologi dan pendidikan Indonesia.

Welcome to Forum Sains Indonesia. Please login or sign up.

Maret 29, 2024, 01:51:30 AM

Login with username, password and session length

Topik Baru

Artikel Sains

Anggota
Stats
  • Total Tulisan: 139,653
  • Total Topik: 10,405
  • Online today: 102
  • Online ever: 1,582
  • (Desember 22, 2022, 06:39:12 AM)
Pengguna Online
Users: 2
Guests: 107
Total: 109

Aku Cinta ForSa

ForSa on FB ForSa on Twitter

PID Control

Dimulai oleh dancyber, April 30, 2010, 09:57:00 PM

« sebelumnya - berikutnya »

0 Anggota dan 1 Pengunjung sedang melihat topik ini.

dancyber

Hello all FOrsa,,
Ada yang punya referensi buat belajar PID control ?
thanks
:) :) :) :) :) :) :) :) :) :) :) :) :)
--------------------------------------_____________________

SubaruHoshikawa

proportional–integral–derivative controller ya ??? bukannya tuh buat ngontrol mekanisme industri ???

kyknya sih ada di link ini [pranala luar disembunyikan, sila masuk atau daftar.] tapi bhs inggris :o
ane jg krg ngatri ttg PID.. :)
" LET'S BUST 'EM GOOD BUDDY !! "

dancyber

yoi subaru PID itu proportional–integral–derivative controller,
ane jga lagi nyari PID yang bisa disimulasikan lewat matlab gitu. ada linknya gak??
--------------------------------------_____________________

SubaruHoshikawa

maksudnya software simulasinya gtu ?? nanti tak cari kalo gtu :o
" LET'S BUST 'EM GOOD BUDDY !! "

skuler

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...

[pranala luar disembunyikan, sila masuk atau daftar.]

klo buat gw, yg jadi masala aplikasinya...

ada yg perna pake metode ziegler–nichols buat PID tuning d software twidosoft/twidosuite g?
"Who controls the present now controls the past. Who controls the past now controls the future."-- RATM, 1999.

dancyber

Kutip dari: SubaruHoshikawa pada Mei 01, 2010, 11:50:30 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  ;) ;) ;) ;) ;) ;) ;) ;)

Kutip dari: skuler pada Mei 01, 2010, 12:29:59 PM
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...

[pranala luar disembunyikan, sila masuk atau daftar.]

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..
--------------------------------------_____________________

kuin

PID untuk apaan dulu? kalo rumus PID walaupun cari dimanapun tetep sama aja....aplikasinya mau yang dimana? kalo GW sih pake di Line Folower

dancyber

Kutip dari: kuin pada Mei 01, 2010, 02:33:09 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?
--------------------------------------_____________________

skuler

Kutip dari: dancyber pada Mei 01, 2010, 01:44:46 PMapalagi 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... :(
"Who controls the present now controls the past. Who controls the past now controls the future."-- RATM, 1999.

kuin

Kutip dari: dancyber pada Mei 01, 2010, 02:37:46 PM
Kutip dari: kuin pada Mei 01, 2010, 02:33:09 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);
}   

eki_crazy89

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..