Pid boshqaruv algoritmi - bu keng qo'llaniladigan nazorat algoritmi, PID nazorati sozlanadigan parametrlarning afzalliklariga, barcha dasturlarning keng doiralarining afzalliklariga ega. Amaliyotda PID algoritmi elektromexanik nazorat, sanoat avtomatlashtirish, robotlarni boshqarish, mikroprosessor nazorati va boshqa ko'plab sohalarga nisbatan qo'llanilishi mumkin.
Pid algoritmining uchta parametrlari to'g'rilanadi: mutanosib kp, integral vaqt doimiy vaqt, differentsial vaqt doimiy vaqt doimiy td. Turli xil tizimlar turli xil PID parametrlarini o'rnatishi kerak va odatda tajriba va disklash orqali optimal parametrlarni olish kerak. Tenglik doimiy kp mutanosiblikni sozlaydi, boshqaruv tizimida chiqish va fikrlash xatosining nisbati; Intiztali vaqt doimiy ravishda o'zgaruvchanlikni o'rnatadi, boshqaruv tizimida xatolar to'planishini sozlaydi; Differentsial vaqt doimiy td differentsialni o'rnatadi, boshqaruv tizimida xato o'zgartirish tezligini o'zgartirish.
Mikrokontroller bilan Pid algoritmini anglash g'oyasi nima
Mikrokontrollerda PID boshqaruv algoritmini anglash uchun quyidagilar amalga oshirishning umumiy g'oyasi:
1. ** PID parametrlarini aniqlang **:
- haqiqiy boshqarish ob'ektining xususiyatlari va ehtiyojlariga ko'ra, moslashuv vaqtini (KP), integratsiya vaqtini (TI) va farqlash vaqti (TD) ni tanlang.
2. ** sensor ma'lumotlarini sotib olish **:
Real vaqtda boshqarish ob'ektidan aloqa ma'lumotlarini to'plash uchun tegishli sensorlar (masalan, harorat sensori, pozitsiyasi, pozitsiyasi va boshqalar) dan foydalaning.
3
- fikr-mulohazamning qiymatini (kerakli qiymat) taqqoslang va xato qiymatini (xato) hisoblang.
4. ** PID hisoblash **:
- Boshqarish miqdori (chiqish) Pid=KP * Xato + Ki ← Xato DT + KD * D (xato)
- KP, Ki va KD - bu xato qiymatidir, ∫ Integral atama va Dt integral atamani anglatadi
5. ** cheklovni cheklash ** (ixtiyoriy):
- ba'zi dasturlar uchun - boshqaruv ob'ektining maqbul diapazonidan oshmasligi uchun mahsulot turini cheklash kerak bo'lishi mumkin.
6. ** Chiqish nazorati signali **:
- Hisoblangan nazorat miqdori aktuatorga (masalan, motor, klapan va boshqalar) boshqarish ob'ektini boshqarish va boshqarishni amalga oshirish uchun boshqaruv signalidir.
7. ** Nazorat chastotasini o'rnating **:
- muayyan dasturlarning ehtiyojlariga ko'ra, algoritmning ijrosi tsikini boshqarish uchun tegishli nazorat chastotasini o'rnating.
8. ** Pid algoritmining tsikli qatlami **:
- Real {{1} Vaqt tsiklida yuqorida ko'rsatilgan qadamlar bir necha bor amalga oshiriladi, ob'ektning barqaror nazoratini amalga oshirish uchun nazorat qilish signalini qayta-qayta ishlab chiqing.
Mikrokontroller dasturlashda siz mikrokontrolter modeli va rivojlanish platformasiga ko'ra siz tegishli rivojlanish vositalari va dasturlash vositalarini (masalan, C yoki Assambley tili) tanlashingiz mumkin. Ta'kidlash joizki, amaliy dasturlarda PID algoritmini optimallashtirish va takomillashtirish usullari, masalan, ajralish, moslashuvchan Pid va boshqalar.
PID nazorati tamoyili va ish oqimi
PID nazoratchisi uch qismdan iborat: mutanosib (p), integratsion (i) va differentsial (I) va tizimni o'zgartirish tezligini boshqarish, boshqarish chiqishi va boshqaruv chiqishini hosil qiladi. Uning ish oqimlari quyidagi bosqichlarni o'z ichiga oladi:
- Maqsadli va fikr-mulohaza qiymatlarini olish
- Xatoni hisoblang
- mutanosiblik koeffitsienti, integral muddati va differentsial holat asosida boshqaruv chiqishini hisoblang.
- boshqaruvchi parametrlarni yangilash
- Chiqish vositasi
STM32 Kodeksni amalga oshirish
Quyidagi stm32 mikrokontroler yordamida PID boshqaruvchisini loyihalashtirish va amalga oshirish uchun namunaviy kod:
```c
#include "stm32f4xx.h"
// pid boshqaruvchi parametrlarini aniqlang
suzuvchi kp=0.5; // o'lchov omili
suzuvchi ki=0.2; // Integral koeffitsient
suzuvchi kd=0.1; // differentsial koeffitsient
// Saqlash o'zgaruvchisini aniqlang
suzuvchi setpoint=50.0; // maqsadli qiymat
suzuvchi fikrlar=0.0; // Qayta aloqa qiymati
suzish xatosi=0.0; // xato
suzish oxirgi_Error=0.0; // oxirgi xato
suzuvchi integral=0.0; // integral atama
// PID Controler chiqish funktsiyasi
suzuvchi pidccontroler (suzuvchi dt)
suzuvchi pidcontroller (suzuvchi dt) {
// xatoni hisoblang
Xato=PRETPORT - // integral atamani hisoblang.
// integral atamani hisoblang
Integral += Xato * DT; // differentsial atamani hisoblash
// differentsialni hisoblang
suzuvchi hosilasiativ=(- oxirgi_ dt; // boshqarish chiqishini hisoblash.
// boshqaruv chiqishini hisoblang
suzish=KP * Xato + Ki * Integral + KD * Diforativ; // boshqaruv chiqishini hisoblang.
// oxirgi xatoni yangilash
Last_Error=Xatolik; // oxirgi xatoni yangilash.
Last_Error=Xatolik; Qayta ishlash; // boshqaruv chiqishini hisoblang.
}
ST asosiy (vol)
{
vaqt (1)
{
// fikr qiymatini oling
// vaqt oralig'ini oling
// PID chiqishini hisoblang
suzuvchi dt=0.01; // 0,01s misolda vaqt oralig'ida
suzuvchi boshqaruv=PidController (DT); // Boshqarish signalini chiqaring.
// Boshqarish signalini chiqaring
// ma'lum bir vaqt uchun boshqarish signalini kechiktiring
uchun (i int i {{{= 0; Men "10000; i++").
}
0 qaytish; }
}




