contrôle de la vitesse du moteur à courant continu à l'aide de l'algorithme pid (stm32f4)
Maison » Blogue » Contrôle de la vitesse du moteur à courant continu à l'aide de l'algorithme pid (stm32f4)

contrôle de la vitesse du moteur à courant continu à l'aide de l'algorithme pid (stm32f4)

Vues : 0     Auteur : Éditeur du site Heure de publication : 2020-09-02 Origine : Site

Renseigner

bouton de partage Facebook
bouton de partage Twitter
bouton de partage de ligne
bouton de partage WeChat
bouton de partage LinkedIn
bouton de partage Pinterest
bouton de partage WhatsApp
bouton de partage Kakao
bouton de partage Snapchat
bouton de partage de télégramme
partager ce bouton de partage

Bonjour à tous, je suis tahir ul haq d'un autre projet.
Cette fois, c'était le moment de faire le MC qui a été utilisé le 2017-11-407.
C'est la fin du programme de mi-parcours.
J'espère que vous l'aimerez.
Cela nécessite beaucoup de concepts et de théories, alors regardons-le d'abord.
Avec l’émergence des ordinateurs et des processus industrialisés, des recherches ont été menées dans l’histoire de l’être humain pour développer des méthodes permettant de redéfinir le processus et, plus important encore, pour utiliser des machines pour contrôler le processus de manière autonome.
L’objectif est de réduire la participation humaine à ces processus, réduisant ainsi les erreurs dans ces processus.
C’est ainsi qu’est né le domaine de « l’ingénierie des systèmes de contrôle ».
L'ingénierie des systèmes de contrôle peut être définie comme l'utilisation de diverses méthodes pour contrôler le fonctionnement du processus ou le maintien d'un environnement constant et privilégié, qu'il soit manuel ou automatique.
Un exemple simple est de contrôler la température de la pièce.
Le contrôle manuel fait référence à la présence d'une personne qui vérifie les conditions actuelles sur place (capteur)
, avec les attentes (traitement)
et prend les mesures appropriées pour obtenir la valeur souhaitée (actionneur).
Le problème de cette approche est qu’elle n’est pas très fiable car on est sujet aux erreurs ou à la négligence au travail.
De plus, un autre problème est que la vitesse du processus lancé par l'actionneur n'est pas toujours uniforme, ce qui signifie qu'elle peut parfois être plus rapide que la vitesse requise, et parfois elle peut être lente.
La solution à ce problème consiste à utiliser un microcontrôleur pour contrôler le système.
Selon les spécifications données, le microcontrôleur est programmé pour contrôler le processus de connexion dans le circuit (
discuter plus tard)
de la valeur ou de l'état, contrôlant ainsi le processus pour maintenir la valeur souhaitée.
L’avantage de ce processus est qu’il n’y a pas besoin d’intervention humaine dans ce processus.
De plus, la vitesse de ce processus est constante.
Avant de continuer, il est crucial de déterminer les différents termes à ce stade : Contrôle de rétroaction : Dans ce système, l'entrée à un moment donné dépend d'une ou plusieurs variables, y compris la sortie du système.
Rétroaction négative : Dans ce système, référence (entrée)
En guise de rétroaction, l'erreur est soustraite et la phase de l'entrée est de 180 degrés.
Rétroaction positive : dans ce système,
des erreurs de référence (entrée) sont ajoutées lorsque la rétroaction et l'entrée sont en phase.
Signal d'erreur : la différence entre la sortie souhaitée et la sortie réelle.
Capteur : appareil utilisé pour détecter un certain nombre d’appareils dans un circuit.
Il est généralement placé dans la sortie ou partout où nous souhaitons effectuer des mesures.
Processeur : partie du système de contrôle traitée sur la base d'algorithmes de programmation.
Cela nécessite une certaine entrée et produit une certaine sortie.
Actionneur : dans le système de contrôle, l'actionneur est utilisé pour effectuer des événements basés sur le signal généré par le microcontrôleur pour affecter la sortie.
Système en boucle fermée : un système avec une ou plusieurs boucles de rétroaction.
Système en boucle ouverte : il n’existe pas de système de boucle de rétroaction.
Temps de montée : temps nécessaire pour que la sortie passe de 10 % de l'amplitude maximale du signal à 90 %.
Temps de chute : le temps nécessaire pour que la sortie passe de 90 % à 10 %.
Dépassement de crête : le dépassement de crête est la quantité de sortie dépassant sa valeur d'état stable (
normal pendant la réponse transitoire du système).
Temps stable : temps nécessaire à la sortie pour atteindre un état stable.
Erreur d'état stable : la différence entre la sortie réelle et la sortie attendue une fois que le système atteint l'état stable. L'image ci-dessus montre une version très simplifiée du système de contrôle.
Le microcontrôleur est au cœur de tout système de contrôle.
Il s’agit d’un composant très important, il doit donc être soigneusement sélectionné en fonction des exigences du système.
Le microcontrôleur reçoit les entrées de l'utilisateur.
Cette entrée définit les conditions requises pour le système.
Le microcontrôleur reçoit également les entrées du capteur.
Le capteur est connecté à la sortie et ses informations sont renvoyées à l'entrée.
Cette entrée peut également être appelée rétroaction négative.
Les commentaires négatifs ont été expliqués plus tôt.
Sur la base de sa programmation, le microprocesseur effectue divers calculs et sorties vers l'actionneur.
L'usine de contrôle des actionneurs basée sur la sortie tente de maintenir ces conditions.
Un exemple peut être le pilote de moteur entraînant le moteur, où le pilote de moteur est le pilote et le moteur est l'usine.
Le moteur tourne donc à une vitesse donnée.
Le capteur connecté lit l'état de l'usine actuelle et le renvoie au microcontrôleur.
Le microcontrôleur est à nouveau comparé et calculé, la boucle est donc répétée.
Le processus est répétitif et sans fin, et le microcontrôleur peut maintenir les conditions souhaitées.
Voici deux manières principales de contrôler la vitesse du moteur à courant continu)
Contrôle manuel de la tension : dans les applications industrielles, le mécanisme de contrôle de la vitesse du moteur à courant continu est essentiel.
Parfois, nous pouvons avoir besoin de vitesses supérieures ou inférieures à la normale.
Nous avons donc besoin d’une méthode efficace de contrôle de la vitesse.
Le contrôle de la tension d'alimentation est l'une des méthodes de contrôle de vitesse les plus simples.
Nous pouvons changer la tension pour changer la vitesse. b)
Contrôler PWM à l'aide de PID : un autre moyen plus efficace consiste à utiliser un microcontrôleur.
Le moteur à courant continu est connecté au microcontrôleur via le pilote de moteur.
Le pilote de moteur est un circuit intégré recevant une entrée PWM (
modulation de largeur d'impulsion)
du microcontrôleur et une sortie vers le moteur à courant continu en fonction de l'entrée. Figure
1.2 : Chapitre 1 du signal PWM.
Introduction 3 En considérant le signal PWM, le fonctionnement du PWM peut être expliqué en premier.
Il s'agit d'impulsions continues pendant une certaine période de temps.
La période de temps est le temps passé par un point se déplaçant à une distance égale à une longueur d'onde.
Ces impulsions ne peuvent avoir que des valeurs binaires (HIGH ou LOW).
Nous avons également deux autres grandeurs, la largeur d'impulsion et le rapport cyclique.
La largeur d'impulsion est le moment où la sortie PWM est élevée.
Le rapport cyclique est le pourcentage de la largeur d'impulsion par rapport à la période de temps.
Pour le reste de la période, le rendement est faible.
Le rapport cyclique contrôle directement la vitesse du moteur.
Si le moteur à courant continu fournit une tension positive pendant une certaine période de temps, il se déplacera à une certaine vitesse.
Si une tension positive est fournie pendant une période plus longue, la vitesse sera plus grande.
Par conséquent, le cycle de service du PWM peut être modifié en modifiant la largeur d'impulsion.
En modifiant le cycle de service du moteur à courant continu, la vitesse du moteur peut être modifiée.
Contrôle de vitesse pour les problèmes de moteur à courant continu : le problème avec la première méthode de contrôle de vitesse est que la tension peut changer avec le temps.
Ces changements signifient une vitesse inégale.
La première méthode n’est donc pas souhaitable.
Solution : Nous utilisons la deuxième méthode pour contrôler la vitesse.
Nous utilisons l'algorithme PID pour compléter la deuxième méthode.
PID représente la dérivée intégrale proportionnelle.
Dans l'algorithme PID, la vitesse actuelle du moteur est mesurée et comparée à la vitesse souhaitée.
Cette erreur est utilisée pour des calculs complexes visant à modifier le cycle de service du moteur en fonction du temps.
Il y a ce processus dans chaque cycle.
Si la vitesse dépasse la vitesse souhaitée, le rapport cyclique est réduit et le rapport cyclique augmente si la vitesse est inférieure à la vitesse souhaitée.
Ce réglage n'est effectué que lorsque la meilleure vitesse est atteinte.
Vérifiez et contrôlez constamment cette vitesse.
Voici les composants du système utilisés dans ce projet et une brève introduction aux détails de chaque composant.
STM 32F407 : microcontrôleur conçu par ST Micro-section.
Cela fonctionne sur le ARM Cortex. MArchitecture.
Il est en tête de sa famille avec une fréquence d'horloge élevée de 168 MHz.
Pilote de moteur L298N : Ce circuit intégré est utilisé pour faire fonctionner le moteur.
Il dispose de deux entrées externes.
Un du microcontrôleur.
Le microcontrôleur lui fournit un signal PWM.
La vitesse du moteur peut être ajustée en ajustant la largeur d'impulsion.
Sa deuxième entrée est la source de tension nécessaire au pilotage du moteur.
Moteur CC : Le moteur CC fonctionne sur l’alimentation CC.
Dans cette expérience, le moteur à courant continu fonctionne à l’aide d’un couplage photoélectrique connecté au pilote du moteur.
Capteur infrarouge : le capteur infrarouge est en fait un émetteur-récepteur infrarouge.
Il envoie et reçoit des ondes infrarouges qui peuvent être utilisées pour effectuer diverses tâches.
Coupleur optique d'encodeur IR 4N35 : le coupleur optique est un dispositif utilisé pour isoler la partie basse tension du circuit et la partie haute tension.
Comme son nom l’indique, il fonctionne grâce à la lumière.
Lorsque la partie basse tension reçoit le signal, le courant circule dans la partie haute tension.
Le système est un système de contrôle de vitesse.
Comme mentionné précédemment, le système est implémenté en utilisant le PID de proportionnelle intégrale et dérivée.
Le système de contrôle de vitesse comprend les composants ci-dessus.
La première partie est le capteur de vitesse.
Le capteur de vitesse est un circuit émetteur et récepteur infrarouge.
Lorsque le solide passe à travers la fente en forme de U, le capteur entre dans un état bas.
Normalement, il est dans un état élevé.
La sortie du capteur est connectée à un filtre passe-bas pour éliminer l'atténuation provoquée par le transitoire généré lorsque l'état du capteur change.
Le filtre passe-bas est constitué de résistances et de condensateurs.
Les valeurs ont été sélectionnées selon les besoins.
Le condensateur utilisé est de 1100nf et la résistance utilisée est d'environ 25 ohms.
Le filtre passe-bas élimine les conditions transitoires inutiles qui peuvent entraîner des lectures supplémentaires et des valeurs parasites.
Le filtre passe-bas est ensuite transmis via le condensateur à la broche numérique d'entrée du microcontrôleur stm.
L'autre partie est le moteur contrôlé par pwm fourni par le microcontrôleur stm.
Ce réglage a été doté d'une isolation électrique à l'aide du coupleur optique ic.
Le coupleur optique comprend une LED qui émet de la lumière à l'intérieur du boîtier IC, et lorsqu'une impulsion élevée est donnée à la borne d'entrée, elle court-circuite la borne de sortie.
La borne d'entrée donne du PWM via une résistance qui limite le courant de la LED connectée au coupleur optique.
Une résistance abaisseur est connectée à la sortie de sorte que lorsque la borne est court-circuitée, la tension est générée au niveau de la résistance abaisseur et la broche connectée à la borne de la résistance reçoit un état haut.
La sortie du coupleur photoélectrique est connectée à l'IN1 du circuit intégré du pilote de moteur qui maintient la hauteur de la broche d'activation.
Lorsque le cycle de service PWM change à l'entrée du coupleur optique, la broche du pilote du moteur commute le moteur et contrôle la vitesse du moteur.
Après le PWM fourni au moteur, le pilote du moteur fournit généralement une tension de 12 volts.
Le pilote de moteur permet ensuite au moteur de fonctionner.
Présentons l'algorithme que nous avons utilisé dans la mise en œuvre de ce projet de régulation de la vitesse du moteur.
Le pwm du moteur est assuré par une seule minuterie.
La configuration de la minuterie est effectuée et réglée pour fournir du pwm.
Lorsque le moteur démarre, il fait tourner la fente fixée à l'arbre du moteur.
La fente traverse la cavité du capteur et produit une faible impulsion.
Aux impulsions faibles, le code démarre et attend que la fente bouge.
Une fois la fente disparue, le capteur fournit un état haut et le minuteur commence à compter.
Le timer nous donne le temps entre les deux créneaux.
Désormais, lorsqu'une autre impulsion basse apparaît, l'instruction IF s'exécute à nouveau, en attendant le prochain front montant et en arrêtant le compteur.
Après avoir calculé la vitesse, calculez la différence entre la vitesse et la valeur de référence réelle et donnez le pid.
Pid calcule la valeur du rapport cyclique qui atteint la valeur de référence à un instant donné.
Cette valeur est fournie au CCR (
registre de comparaison).
En fonction de l'erreur, la vitesse du temporisateur est réduite ou augmentée.
Le code Atollic Truestudio a été implémenté.
Le studio STM devra peut-être être installé pour le débogage.
Importez le projet dans le studio STM et importez les variables que vous souhaitez afficher.
Le léger changement concerne le 2017-11-4xx.
Changez la fréquence d'horloge avec précision en un fichier h à 168 MHz.
L'extrait de code a été fourni ci-dessus.
La conclusion est que la vitesse du moteur est contrôlée via PID.
Cependant, la courbe n’est pas exactement une ligne lisse.
Il y a plusieurs raisons à cela : bien que le capteur connecté au filtre passe-bas présente encore certains défauts, ceux-ci sont dus à des raisons inévitables liées aux résistances non linéaires et aux appareils électroniques analogiques, le moteur ne peut pas tourner en douceur à faible tension ou PWM.
Il fournit des connards qui peuvent amener le système à saisir une valeur erronée.
En raison de la gigue, le capteur peut manquer une fente qui fournit une valeur plus élevée, et la principale raison d'une autre erreur peut être la fréquence d'horloge principale du stm.
L'horloge centrale de Stm est de 168 MHz.
Bien que ce problème ait été abordé dans ce projet, il existe un concept holistique de ce modèle qui ne fournit pas une fréquence aussi élevée.
La vitesse en boucle ouverte fournit une ligne très fluide avec seulement quelques valeurs inattendues.
Le PID fonctionne également et offre un temps de stabilité du moteur très faible.
Le PID du moteur a été testé à différentes tensions qui maintenaient la vitesse de référence constante.
Le changement de tension ne modifie pas la vitesse du moteur, ce qui indique que le PID fonctionne.
Voici quelques segments de la sortie finale du PID. a)
Boucle fermée à 110 tr/minb)
Boucle fermée à 120 tr/minCe projet n'aurait pas pu être réalisé sans l'aide des membres de mon groupe.
Je tiens à les remercier.
Merci d'avoir regardé ce projet.
J'espère pouvoir vous aider.
S'il vous plaît, attendez avec impatience d'en savoir plus.
Continuez à bénir avant ça :)

Le groupe HOPRIO, fabricant professionnel de contrôleurs et de moteurs, a été créé en 2000. Siège social du groupe dans la ville de Changzhou, province du Jiangsu.

Liens rapides

Contactez-nous

WhatsApp : +86 18921090987 
Tél : +86- 18921090987 
Ajouter : No.19 Mahang South Road, district de haute technologie de Wujin, ville de Changzhou, province du Jiangsu, Chine 213167
Laisser un message
CONTACTEZ-NOUS
Copyright © 2024 ChangZhou Hoprio E-Commerce Co., Ltd. Tous droits réservés. Plan du site | politique de confidentialité