Tipik PD-rostlagichlarni tadqiq etish
Kirish.
Diferensial rostlagichlar odatda yopiq tizimining vaqtinchalik yaxshilash uchun ishlatiladi. Bunda faqat D boshqaruvidan foydalanilmaydi, chunki u keraksiz yuqori chastotali shovqinni kuchaytiradi. Hosilaviy harakat ko'tarilish vaqtini va tebranishlarni kamaytiradi. Biroq, bu yopiq tizimning barqaror holatiga yaxshi ta'sir qilmaydi.Yuqoridagi fikrlar shuni ko'rsatadiki, P-D boshqaruvi bilan barqaror holat xatosini nolga teng qilib bolmaydi. Diferensial boshqaruv odatda yopiq tizim chiqishlaridagi tebranishlarni kamaytirish uchun ishlatiladi.
PD-rostlagichlarni ishlash prinsipi bilan tanishish va ularni tadqiq etish
Bizdagi sodda kontroller (Arduino) bilan olib borilishi mumkin bo'lgan eng oddiy PID rostlagichi, nurga bog'liq qarshilik (fotorezistor LDR) tomonidan qabul qilingan yorug'lik darajasiga asoslangan yorug'lik tarqatuvchi diod (LED) tomonidan xosil qilingan yorug'lik darajasini boshqarishdir. Biroq, ushbu oddiy tajribani LDR datchigini va LED ijro mehanizimini almashtirish orqali boshqa holatlarga ham qollash mumkin. Masalan, laboratoriya jarayoni xaroratni rostlashda elektr qidirgich qizdiradi va termopara xaroratni o’lchaydi. Bunday holda biz LEDni qizdirgich bilan, LDRni esa termopara bilan almashtirishimiz kerak bo'ladi.
Boshlash uchun bizga quyidagilar kerak bo'ladi:
Arduino mikrokontroler
Breadboard
Ulash simlari
LED (nur diodi)
LDR (fotorezistor)
10kΩ potensiometr (o’zgaruvchan qarshilik)
330Ω qarshilik
10kΩ qarshilik
Qurilma yordmida SP () ni ma'lum qiymatga sozlaymiz va yorug‘lik nur diod i tarqatayotgan yorug‘lik shu SP ga to‘g‘ri kelishini kontroller (Arduino) fotorezistor yordami taqqoslab, rostlaydi. Biz yorug‘lik daraasini potensiometr yordamida o‘zgartirishimiz mumkin.
Qurilmaning ulanish sxemasi qo‘yidagicha:
Arduino ga fotorezistor, svetodiod, qarshiliklar va potensiometrni quyidagi sxema bo‘yicha uylaymiz. Fotrezistor va svetodiodni bir-biriga qarama-qarshi holatda bo‘lishini ta'minlaymiz.
PD rostlagichni ishini ta'minlovchi dastur qo‘yidagicha
#include
const int photores = A0; // LDR fotorezistor kirishi
const int pot = A1; // Potensiometer kirishi
const int led = 9; // LED nurdiodi chiqishi
double lightLevel;
// Tuning parameters
float Kp = 15; // Proporsional kuchaytirish koefisenti
float Ki = 0; // Integral kuchaytirish koefisenti
float Kd = 0.1; // Differensial kuchaytirish koefisenti
double Setpoint, Input, Output;
PID myPID(&Input, &Output, &Setpoint, Kp, Ki, Kd, DIRECT);
const int sampleRate = 1; // PID controller interval vaqti
const long serialPing = 500;
unsigned long now = 0;
unsigned long lastMessage = 0;
void setup()
{
lightLevel = analogRead(photores); // SP(set point) dan o’qish
Input = map(lightLevel, 0, 1023, 0, 255);
Setpoint = map(analogRead(pot), 0, 1023, 0, 255);
Serial.begin(9600);
myPID.SetMode(AUTOMATIC);
myPID.SetSampleTime(sampleRate);
Serial.println("Begin");
lastMessage = millis();
}
void loop()
{
Setpoint = map(analogRead(pot), 0, 1023, 0, 255);
lightLevel = analogRead(photores);
Input = map(lightLevel, 0, 1023, 0, 255);
myPID.Compute();
analogWrite(led, Output);
now = millis();
if(now - lastMessage > serialPing)
{
Serial.print("Setpoint = ");
Serial.print(Setpoint);
Serial.print(" Input = ");
Serial.print(Input);
Serial.print(" Output = ");
Serial.print(Output);
Serial.print("\n");
if (Serial.available() > 0)
{
for (int x = 0; x < 4; x++)
{
switch(x)
{
case 0:
Kp = Serial.parseFloat();
break;
case 1:
Ki = Serial.parseFloat();
break;
case 2:
Kd = Serial.parseFloat();
break;
case 3:
for (int y = Serial.available(); y == 0; y--)
{
Serial.read();
}
break;
}
}
Serial.print(" Kp,Ki,Kd = ");
Serial.print(Kp);
Serial.print(",");
Serial.print(Ki);
Serial.print(",");
Serial.print(Kd);
myPID.SetTunings(Kp, Ki, Kd);
}
lastMessage = now;
}
}
Bu dastur yordamida biz PD koeffisientlarini o‘zgartirib turli qiymatlarni quyishimiz mumkin va bu natijani serial portda kuzatishimiz mumkin.
Ishni bajarish tartibi:
Komp'yuterga Arduino ni uylaymiz va kodni yozamiz.
Dasturni yuklab bo‘lgach SP (potensiometr) yordamida kerakli kiymatni tanlaymiz.
Ishlashini tekshirish uchun svetodiod va fotorezistor orasiga yupqa nur o‘tkazuvchi material quyamiz, agar fotorezistorga nur kamayishi bilan svetodiod ko‘p nur chiqarsa, demak PD kontroller ishchi holatda bo‘ladi.
Do'stlaringiz bilan baham: |