Hogyan valósítja meg a mikrokontroller a PID-szabályozást?

Jul 23, 2026 Hagyjon üzenetet

A PID szabályozási algoritmus jelenleg az egyik legszélesebb körben használt vezérlési algoritmus. A PID szabályozás olyan előnyöket kínál, mint az állítható paraméterek, az alkalmazások széles skálája és a nagy szabályozási pontosság. A gyakorlati tervezésben a PID algoritmus számos területen alkalmazható, beleértve az elektromechanikus vezérlést, az ipari automatizálást, a robotikát és a mikroprocesszoros vezérlést.


A PID algoritmus három paramétere: a Kp arányos erősítés, a Ti integrál időállandó és a Td derivált időállandó. A különböző rendszerek eltérő PID-paramétereket igényelnek, és az optimális paramétereket általában kísérletezéssel és hibakereséssel érik el. A Kp arányos állandó beállítja az arányos erősítést, szabályozva a rendszer kimenetének és a működés közbeni visszacsatolási hibának az arányát; a Ti integrálási időállandó beállítja az integrál erősítést, szabályozva a hibák felhalmozódását a rendszer működése során; és a Td derivált időállandó beállítja a derivált erősítést, szabályozva a vezérlőrendszerben előforduló hibák változási sebességét.


Mi a PID-algoritmus megvalósításának módja egy mikrokontrolleren?


A PID vezérlési algoritmus mikrokontrolleren való megvalósításához az általános megközelítés a következő:

1. **Határozza meg a PID-paramétereket**:

- Válassza ki a megfelelő arányos erősítést (Kp), az integrálási időt (Ti) és a deriválási időt (Td) az aktuális vezérelt objektum jellemzői és követelményei alapján.


2. **Érzékelő adatgyűjtés**:

- Használjon megfelelő érzékelőket (például hőmérséklet-érzékelőket, helyzetérzékelőket stb.) a valós idejű-visszacsatolási adatok gyűjtéséhez a vezérelt objektumtól.


3. **Az alapjel és a visszacsatolási értékek összehasonlítása**:

- Hasonlítsa össze az alapjelet (kívánt értéket) a visszacsatolási értékkel a hiba (Hiba) kiszámításához.


4. **PID-számítás**:

- Számítsa ki a vezérlőváltozót (kimenetet) a PID algoritmus képletével: PID=Kp * Hiba + Ki * ∫ Hiba dt + Kd * d(Hiba)/dt.

- Kp, Ki és Kd PID paraméterek; Az Error a hiba értéke; ∫ A dt hiba az integrál tagot jelöli; és d(Hiba)/dt jelenti a származékos kifejezést.


5. **Korlátozás** (opcionális):

- Bizonyos alkalmazások esetén szükség lehet a kimeneti érték tartományának korlátozására, hogy az ne lépje túl a vezérelt objektum elfogadható tartományát.


6. **Kimeneti vezérlőjel**:

- A számított vezérlőváltozót a rendszer vezérlőjelként használja, és elküldi a működtetőelemnek (például motornak vagy szelepnek) a vezérelt objektum szabályozására és vezérlésére.


7. **Állítsa be a vezérlési frekvenciát**:

- Állítsa be a megfelelő vezérlési gyakoriságot-a vezérlőalgoritmus végrehajtási ciklusát- az alkalmazási követelmények alapján.


8. **Iterálja meg a PID algoritmust**:

- Valós idejű hurokban, ismételten hajtsa végre a fenti lépéseket a visszacsatolási érték folyamatos figyeléséhez, a vezérlőváltozó kiszámításához és a vezérlőjel kiadásához a rendszer stabil vezérlése érdekében.


A tényleges mikrokontroller-programozás során kiválaszthatja a megfelelő fejlesztőeszközöket és programozási nyelveket (például C vagy assembly nyelvet) az adott mikrovezérlő modell és fejlesztői platform alapján. Megjegyzendő, hogy a gyakorlati alkalmazásokban számos technika létezik a PID algoritmus optimalizálására és javítására, mint például az integrált elválasztás és az adaptív PID, amelyek tovább kutathatók és speciális követelményeknek megfelelően implementálhatók.

 

A PID-szabályozók alapelvei és működése


A PID-szabályozó három összetevőből áll: arányos (P), integrál (I) és derivált (D). A rendszer hibájának, eltérésének és változási sebességének feldolgozásával vezérlőkimenetet állít elő. Működése a következő lépésekből áll:


- Szerezze meg az alapjelet és a visszacsatolási értékeket

- Számítsa ki a hibát

- Számítsa ki a vezérlőkimenetet az arányos erősítés, az integráltag és a derivált tag alapján

- Frissítse a vezérlő paramétereit

- Kiadja a vezérlőjelet


STM32 kód implementáció

 

A következő példakód egy PID-szabályozó STM32 mikrokontrollerrel történő tervezéséhez és megvalósításához:

```c

#include "stm32f4xx.h"

// PID-szabályozó paramétereinek meghatározása

float Kp=0.5; // Arányos nyereség

úszó Ki=0.2; // Integrális nyereség

float Kd=0.1; // Derivatív nyereség

// Tárolási változók meghatározása

float alapjel=50.0; // Alapjel

float feedback=0.0; // Visszacsatolási érték

float error=0.0; // Hiba

float last_error=0.0; // Előző hiba

float integrál=0.0; // Integrált kifejezés

// PID-szabályozó kimenet számítási funkciója

float pidController(float dt)

{

// Hibaszámítás

hiba=setpoint - visszajelzés;

// Integráltag kiszámítása

integrál += hiba * dt;

// A derivált kifejezés kiszámítása

float derivált=(hiba - last_error) / dt;

// Vezérlő kimenet kiszámítása

float output=Kp * hiba + Ki * integrál + Kd * derivált;

// Frissítse az előző hibát

last_error=error;

visszatérő kimenet;

}

int main(üres)

{

míg (1)

{

// Visszajelzési érték lekérése

// Időintervallum beállítása

// A PID kimenet kiszámítása

float dt=0.01; // Ebben a példában az időintervallum 0,01 s

float control_output=pidController(dt);

// Kiadja a vezérlőjelet

// Késleltetés egy ideig

for (int i=0; i < 10000; i++);

}

visszatérés 0;

}

A szálláslekérdezés elküldése

whatsapp

Telefon

E-mailben

Vizsgálat