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

jika sudah membaca kita akan langsung menerapkan hasil KP,

KI dan KD, pada program Arduino untuk Kendali Air Heater.

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

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

Kunjungi  Tutorial Menggunakan Arduino MKR Wifi 1010 lengkap !

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,

Kunjungi  Arduino,Mengakses sensor dht11,suhu dan kelembaban

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.

Kunjungi  Desain 3D Box LCD 20x4 Arduino
  lihat Video : https://www.facebook.com/anakkendali/videos/580750349039930/

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *