Mise en œuvre numérique de contrôle PID

C

coolchip

Guest
Je veux contrôler le régime d'un moteur brushless avec ESC (contrôleur électronique de vitesse)
à l'aide de codes PIC PID.
Supposons que mon moteur tourne à 2000 tr
/ min en utilisant la détection de capteur hall setup.Now je veux
qu'il fonctionne à 5000 rpm.The vitesse sera contrôlée par des signaux PWM généré par le module PWM (16-bit), en matériel PIC qui est alimenté à la CES.
Comment je vais utiliser les paramètres PID Kp, Ki et Kd à conduire le moteur désiré rpm?
= 5000 tr
/ min désiré
mesurée = 2000 tr
/ min
error = souhaitée - mesurée = 3000
C (t) = Kp * e * Ki ∫ e.dt Kd * de / dt sous forme numérique

 
coolchip

Générer la vitesse du moteur terme par l'une des méthodes suivantes:
~
.Prendre la réciproque de l'intervalle entre les impulsions.
.Ce nombre est proportionnel à la vitesse du moteur.Measureing
.le nombre d'impulsions dans un intervalle de temps fixe est plus straighforward,
.mais le plus souvent introduit trop de retard pour un contrôle en temps réel l'application.
.Ceci est votre vitesse variable
/ pc.L'erreur (e) terme est la différence
.La vitesse désirée et la vitesse est variable ch.e = es - ch.
~
Le "P" est juste une simple mise en œuvre de la 1ère période de votre équation.
~
Le "Integral" je peux être un contre-bas, le taux de compter étant proportionnel à la vitesse de terme d'erreur.
~
Les "produits dérivés" est la différence entre la vitesse du courant [ea (i)] et à la vitesse [/ pc (i-1)].de / dt = ch (i) - ch (i-1).
~
Les facteurs d'échelle des variables e, I, de / dt peut être absorbé dans l'échelle
facteurs Kp, Ki, Kd.
Observe,
KralAjouté après 2 heures 23 minutes:coolchip

Générer la vitesse du moteur terme par l'une des méthodes suivantes:
~
.Prendre la réciproque de l'intervalle entre les impulsions.
.Ce nombre est proportionnel à la vitesse du moteur.Mesurer
.le nombre d'impulsions dans un intervalle de temps fixe est plus straighforward,
.mais le plus souvent introduit trop de retard pour un contrôle en temps réel l'application.
.Ceci est votre vitesse variable
/ pc.L'erreur (e) terme est la différence
.La vitesse désirée et la vitesse est variable ch.e = es - ch.
~
Le "P" est juste une simple mise en œuvre de la 1ère période de votre équation.
~
Le "Integral" je peux être un contre-bas, le taux de compter étant proportionnel à la vitesse de terme d'erreur.
~
Les "produits dérivés" est la différence entre la vitesse du courant [ea (i)] et à la vitesse [/ pc (i-1)].de / dt = ch (i) - ch (i-1).
~
Les facteurs d'échelle des variables e, I, de / dt peut être absorbé dans l'échelle
facteurs Kp, Ki, Kd.
Observe,
Kral

 
Merci Kral.
Supposons que je calculer C (t) en numérique, alors que 16-bit de la valeur pwm dois-je mettre dans le registre?L'erreur a des unités de tr
/ min et le signal de contrôle est en PWM.

Comme dans le diagramme ci-dessous le signal d'erreur d'entrer dans contrôleur est en tr
/ min et le signal sortant devrait être en pwm.
Est-ce que le signal PWM outgoig = C (t) * erreur ou C (t) erreur ou C (t) [1 erreur]?

 
J'ai une requête simple maintenant: Supposons que je utiliser une commande proportionnelle à la conduite d'un moteur.Mesuré = 2000 tr
/ min, requis = 5000 tr
/ min, d'erreur = 3000.Control signal = K * Erreur.Maintenant, comment dois-je appliquer ce signal à l'augmentation de la tension de manière à atteindre le rpm?

 

Welcome to EDABoard.com

Sponsor

Back
Top