Arduino, Tutorial PID untuk Air Heater dengan Sensor LM35 tanpa Library (Pengujian)

Hello Sahabat Anak Kendali

pada kesmepatan kali ini saya akan melanjutkan Tutorial Arduino, Tutorial PID untuk Air Heater dengan Sensor LM35 tanpa Library 

jika belum membaca Artikel Sebelumnya silahkan di baca dulu supaya bisa lebih nyambung dengan tutorialnya.
Arduino, Tutorial PID Air Hetar Bagian Identifikasi

Arduino, Tutorial PID untuk Air Heater dengan Sensor LM35 tanpa Library (Pengujian)

jika sudah membaca kita akan langsung menerapkan hasil KP, KI dan KD, pada program Arduino untuk Kendali Air Heater.

Parameter PID yang sudah kita dapatkan sebelumnya yaitu
Kp = 10
Ki = 0.38
Kd = 0

kita buat dalam program Arduino seperti berikut :

#define pinSensor A0
int val;
float suhu;
float Kp = 10;
float Ki = 0.38;
float Kd = 0;
float Sp = 50 ;
int power;
double error, error_1, sum_error;
void PID () {
  bacaSuhu();
  error_1 = error ;
  error =  suhu - Sp;
  sum_error += error;
  double P = Kp * error;
  double I = Ki * sum_error ;
  double D = (Kd / 100) * (error - error_1);
  power = P + I + D;
  if (power > 255){
    power = 255;
  }
  else if (power < 0){
    power = 0;
  }
  analogWrite(5, power);
}
void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
}
void loop() {
  // put your main code here, to run repeatedly:
  PID();
//  Serial.print(error);
//  Serial.print("  ");
//  Serial.print(error_1);
//  Serial.print("  ");
//  Serial.print(sum_error);
//  Serial.print("  ");
//  Serial.print(power);
//  Serial.print("  ");
  Serial.print(Sp);
  Serial.print("  ");
  Serial.println(suhu);
}
void bacaSuhu() {
  val = analogRead(pinSensor);
  suhu = val / 2.0479;
  delay(100);
}

dari program diatas, respon Suhu dengan Set Point 40 hasilnya masih berisolasi. sehingga perlu ada merubah nilai parameter Ki, karena Ki meningkatkan Overshoot dan juga meneyebabkan Osilasi
kemudian saya merubah nilai Ki = 0.08 dan Kp = 11

Baca Juga :  ESP8266, Cara Mengirim data Arduino ke VB

sehingga hasil yang di dapatkan seperti pada gambar dibawah.

kesimpulan dari hasil pada gambar diatas dengan nilai Kp = 11 Ki = 0.08 dan Kd=0
respon awal memang masih berisolasi sangat tinggi overshootnya juga tinggi, dari set point 50C menjadi 60C, namu lama kelamaan osilasiya membaik, dan mulai steady state.
jika dicari lagi parameter KP, KI dan KD nya bisa menghasilkan respon yang lebih baik lagi,

demikian tutorial langkah dalam membuat pengendali PID dari anakkendali.com . masih banyak metode mencari nilai KP KI KD pertama seperti metode zighler nichols, dan sebagainya. silahkan di kembangkan, dan jika terdapat kesalahan, silahkan beri masukanya, di kolom komentar, dan mari kita diskusikan bersama.

Baca Juga :  Arduino, Cara Mengakses Dot Matrix MAX7219
  lihat Video : https://www.facebook.com/anakkendali/videos/580750349039930/

(Visited 233 times, 1 visits today)