Πώς να πραγματοποιήσετε τον έλεγχο pid από μικροελεγκτή

Jun 25, 2025 Αφήστε ένα μήνυμα

Ο αλγόριθμος ελέγχου PID είναι ένας ευρέως χρησιμοποιούμενος αλγόριθμος ελέγχου, ο έλεγχος PID έχει τα πλεονεκτήματα των ρυθμιζόμενων παραμέτρων, του ευρέος φάσματος εφαρμογών, της υψηλής ακρίβειας ελέγχου. Στην πρακτική μηχανική, ο αλγόριθμος PID μπορεί να εφαρμοστεί σε ηλεκτρομηχανολογικό έλεγχο, βιομηχανικό αυτοματισμό, έλεγχο ρομπότ, έλεγχο μικροεπεξεργαστή και πολλά άλλα πεδία.


Προσαρμόζονται οι τρεις παράμετροι του αλγορίθμου PID: σταθερά αναλογικότητας Kp, σταθερά ολοκλήρωσης χρόνου Ti, διαφορική χρονική σταθερά Td. Διαφορετικά συστήματα πρέπει να ορίσουν διαφορετικές παραμέτρους PID και είναι γενικά απαραίτητο να ληφθούν οι βέλτιστες παράμετροι μέσω πειραμάτων και εντοπισμού σφαλμάτων. Η σταθερά αναλογικότητας Kp προσαρμόζει την αναλογία, προσαρμόζοντας την αναλογία του σφάλματος εξόδου και ανάδρασης στο σύστημα ελέγχου. η σταθερά του ακέραιου χρόνου Ti προσαρμόζει το ολοκλήρωμα, ρυθμίζοντας τη συσσώρευση σφαλμάτων στο σύστημα ελέγχου. η διαφορική χρονική σταθερά Td ρυθμίζει το διαφορικό, προσαρμόζοντας τον ρυθμό μεταβολής του σφάλματος στο σύστημα ελέγχου.


Ποια είναι η ιδέα της υλοποίησης του αλγορίθμου pid με μικροελεγκτή


Για την υλοποίηση του αλγόριθμου ελέγχου PID σε έναν μικροελεγκτή, η ακόλουθη είναι η γενική ιδέα υλοποίησης:


1. **Προσδιορίστε τις παραμέτρους PID**:


- Σύμφωνα με τα χαρακτηριστικά και τις ανάγκες του πραγματικού αντικειμένου ελέγχου, επιλέξτε τον κατάλληλο συντελεστή αναλογικότητας (Kp), χρόνο ολοκλήρωσης (Ti) και χρόνο διαφοροποίησης (Td).


2. **Λήψη δεδομένων αισθητήρα**:


- Χρησιμοποιήστε κατάλληλους αισθητήρες (π.χ. αισθητήρες θερμοκρασίας, αισθητήρες θέσης κ.λπ.) για τη συλλογή δεδομένων ανάδρασης από το αντικείμενο ελέγχου σε πραγματικό χρόνο.


3. **Ορισμός τιμής και σύγκρισης τιμής ανάδρασης**:


- Συγκρίνετε την καθορισμένη τιμή (επιθυμητή τιμή) με την τιμή ανάδρασης και υπολογίστε την τιμή σφάλματος (Σφάλμα).


4. **Υπολογισμός PID**:


- Το ποσό ελέγχου (έξοδος) υπολογίζεται σύμφωνα με τον τύπο αλγορίθμου PID: PID=Kp * Σφάλμα + Ki * ∫ Σφάλμα dt + Kd * d(Σφάλμα)/dt.


- Τα Kp, Ki και Kd είναι οι παράμετροι PID, Σφάλμα είναι η τιμή σφάλματος, ∫ Σφάλμα dt υποδηλώνει τον ολοκληρωτικό όρο και d(Σφάλμα)/dt τον διαφορικό όρο.


5. **Χειρισμός ορίων** (προαιρετικό):


- Για ορισμένες εφαρμογές, μπορεί να είναι απαραίτητο να περιοριστεί το εύρος της τιμής εξόδου για να αποφευχθεί η υπέρβαση του αποδεκτού εύρους του αντικειμένου ελέγχου.


6. **Σήμα ελέγχου εξόδου**:


- Η υπολογισμένη ποσότητα ελέγχου εξέρχεται ως σήμα ελέγχου στον ενεργοποιητή (π.χ. κινητήρας, βαλβίδα κ.λπ.) για να πραγματοποιηθεί η ρύθμιση και ο έλεγχος του αντικειμένου ελέγχου.


7. **Ρύθμιση συχνότητας ελέγχου**:


- Σύμφωνα με τις ανάγκες συγκεκριμένων εφαρμογών, ορίστε την κατάλληλη συχνότητα ελέγχου για τον έλεγχο του κύκλου εκτέλεσης του αλγορίθμου.


8. **Κύκλος εκτέλεσης αλγορίθμου PID**:


- Στον πραγματικό-χρονικό κύκλο, τα παραπάνω βήματα εκτελούνται επανειλημμένα για την συνεχή παρακολούθηση της τιμής ανάδρασης, τον υπολογισμό της ποσότητας ελέγχου και την έξοδο του σήματος ελέγχου για να πραγματοποιηθεί ο σταθερός έλεγχος του αντικειμένου.


Στον πραγματικό προγραμματισμό μικροελεγκτή, μπορείτε να επιλέξετε τα κατάλληλα εργαλεία ανάπτυξης και τη γλώσσα προγραμματισμού (όπως C ή γλώσσα assembly) σύμφωνα με το συγκεκριμένο μοντέλο μικροελεγκτή και την πλατφόρμα ανάπτυξης. Θα πρέπει να σημειωθεί ότι σε πρακτικές εφαρμογές θα υπάρχουν πολλές τεχνικές βελτιστοποίησης και βελτίωσης του αλγόριθμου PID, όπως ολοκληρωτικός διαχωρισμός, προσαρμοστικό PID κ.λπ., οι οποίες μπορούν να ερευνηθούν περαιτέρω και να εφαρμοστούν σύμφωνα με συγκεκριμένες ανάγκες.


Αρχή και ροή εργασιών ελεγκτή PID


Ο ελεγκτής PID αποτελείται από τρία μέρη: αναλογικό (P), αναπόσπαστο (I) και διαφορικό (D), και παράγει την έξοδο ελέγχου επεξεργάζοντας το σφάλμα, την απόκλιση και τον ρυθμό μεταβολής του συστήματος. Η ροή εργασιών του περιλαμβάνει τα ακόλουθα βήματα:


- Λήψη τιμών στόχου και σχολίων

- Υπολογίστε το σφάλμα

- Υπολογίστε την έξοδο ελέγχου με βάση τον συντελεστή αναλογικότητας, τον ολοκληρωτικό όρο και τον διαφορικό όρο.

- Ενημέρωση των παραμέτρων του ελεγκτή

- Έξοδος σημάτων ελέγχου

 


Υλοποίηση κώδικα STM32


Το παρακάτω είναι δείγμα κώδικα για το σχεδιασμό και την υλοποίηση ενός ελεγκτή PID με χρήση μικροελεγκτή STM32:


```c

#include "stm32f4xx.h"

// Καθορίστε τις παραμέτρους του ελεγκτή PID

float Kp=0.5; // συντελεστής κλίμακας

float Ki=0.2; // Ολοκληρωτικό συντελεστή

float Kd=0.1; // Διαφορικός συντελεστής

// Ορισμός μεταβλητών αποθήκευσης

float setpoint=50.0; // τιμή στόχου

float feedback=0.0; // τιμή ανατροφοδότησης

σφάλμα float=0.0; // σφάλμα

float last_error=0.0; // τελευταίο σφάλμα

float ολοκλήρωμα=0.0; // Ολοκληρωμένος όρος

// Συνάρτηση υπολογισμού εξόδου ελεγκτή PID

float pidController (float dt)

float pidController(float dt) {

// Υπολογίστε το σφάλμα

Σφάλμα=σημείο ρύθμισης - σχόλια. // Υπολογίστε τον ολοκληρωτικό όρο.

// Υπολογίστε τον ολοκληρωτικό όρο

ολοκληρωτικό += σφάλμα * dt; // Υπολογίστε τον διαφορικό όρο

// Υπολογίστε τη διαφορά

παράγωγο float=(σφάλμα - last_error) / dt; // Υπολογίστε την έξοδο ελέγχου.

// Υπολογίστε την έξοδο ελέγχου

έξοδος float=Kp * σφάλμα + Ki * ολοκλήρωμα + Kd * παράγωγο; // Υπολογίστε την έξοδο ελέγχου.

// Ενημέρωση τελευταίου σφάλματος

last_error=σφάλμα; // ενημέρωση τελευταίου σφάλματος.

last_error=σφάλμα; επιστροφή εξόδου? // Υπολογίστε την έξοδο ελέγχου.

}

int main (κενό)

{

ενώ (1)

{

// Λάβετε την τιμή ανατροφοδότησης

// Λήψη του χρονικού διαστήματος

// Υπολογίστε την έξοδο PID

float dt=0.01; // 0,01 δευτ. ως χρονικό διάστημα στο παράδειγμα

float control_output=pidController(dt); // εξάγει το σήμα ελέγχου.

// Έξοδος του σήματος ελέγχου

// Καθυστέρηση του σήματος ελέγχου για ορισμένο χρονικό διάστημα

για (int i=0; i 《 10000;i++).

}

επιστροφή 0; }

}

Αποστολή ερώτησής

whatsapp

Τηλέφωνο

Ηλεκτρονικό ταχυδρομείο

Εξεταστική