PID İLE TOPU DENGEDE TUTMA

 PID İLE TOPU DENGEDE TUTMA MEKANİZMASI PROJESİ




KULLANILAN MALZEMELER:

1- ARDUİNO MEGA
2- HRC SENSOR
3- MİCROSERVO MOTOR
4- DENGE DÜZENEĞİ
5- BREADBOARD
6- GEREKTİĞİ KADAR KABLO




KULLANILAN KODLAR:

const int servoPin = 9;                                               //Servo Pin Adresi

float Kp = 2.5;                                                    //Oransal Kazanç Başlat
float Ki = 0;                                                      //İntegral Kazanç Başlat
float Kd = 1.1;                                                    //Türev Kazanç Başlat

PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);           //PID nesnesini başlat

float readPosition() {
  delay(40);                                                //Okuma Gecikmesi (çok küçük ayarlamayın)

myPID.SetMode(AUTOMATIC);                                          //PID yi MyPID olarak ayarla
  myPID.SetOutputLimits(-80,80);                                     //Çıkış limitlerini -80 ve 80 olarak ayarla

Setpoint = 15;
Input = readPosition();                                          

myPID.Compute();                                                   //Çıktıyı -80 ve 80 arasında hesaplar

ServoOutput=102+Output;                                            //102 derece benim yatemim
myServo.write(ServoOutput);                                        //Çıkış değerini Servo ya yazar.


Kontrol Döngüsü





Bağlantı Şeması








                           







Hiç yorum yok:

Yorum Gönder