Mikrokontroller tomonidan PID boshqaruvini qanday amalga oshirish kerak

Jun 25, 2025 Xabar QOLDIRISH

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; }

}

So'rov yuborish

whatsapp

Telefon

Elektron pochta

So'rov