Régulation de vitesse en boucle fermée d'un moteur à courant continu
Dans un circuit en boucle fermée, un régulateur compare essentiellement les valeurs désirées et réelles des variables qui nous intéressent et ajuste l'effort de régulation afin que la valeur réelle corresponde à la valeur souhaitée.
Dans cet exemple, un régulateur de vitesse est déployé sur une carte de microcontrôleur Arduino Uno. La vitesse réelle du moteur est mesurée à l'aide d'un encodeur. La vitesse souhaitée est réglée à l'aide d'un potentiomètre. L'alimentation du moteur s'effectue à l'aide d'un blindage moteur. Enfin, la vitesse de référence et la vitesse réelle sont transmises sur un bus en série RS-232 qui sera lu à l'aide de la structure.
Le modèle du moteur à courant continu.
Concevez un régulateur PID avec une période d'échantillonnage de 0,25 seconde.
L'encodeur indique 12 temps par tour et la boîte de vitesse du moteur a un rapport de transmission de 9,86. Créez un modèle pour afficher la lecture de l'encodeur en tr/min.
La référence est réglée par un potentiomètre dans la plage 0-5 V. Rééchelonnez-le pour lire de 0 à 500 tr/min.
Le comparateur compare la vitesse de référence et la vitesse réelle de l'encodeur.
La sortie du microcontrôleur vers le moteur est basée sur le rapport cyclique du signal MLI. La tension réelle à travers le moteur provient du blindage du moteur. Ci-dessous, vous trouverez la relation entre la tension et le rapport cyclique basé sur un ajustement par morceaux des données mesurées.
Le modèle inverse du blindage qui associe la tension au facteur de marche.
Le schéma fonctionnel de l'Arduino, du blindage, du moteur et des entrées et sorties.
Le contrôleur qui doit être déployé sur l'Arduino possède 2 entrées et 3 sorties.
La première entrée correspond à la vitesse de référence réglée par la valeur du potentiomètre. La deuxième entrée représente la vitesse réelle mesurée par l'encodeur.
La première sortie correspond au facteur de marche du signal MLI qui pilote le moteur. Les deux autres représentent la vitesse de référence et la vitesse réelle transmises via une connexion en série RS-232.
Déployez le code.
Établissez une connexion en série avec le périphérique.
Créez une tâche planifiée pour lire les valeurs toutes les 0,25 secondes.
Tracez les résultats montrant le comportement des valeurs de référence et des perturbations définies.
Supprimez la tâche et mettez fin à la connexion avec l'appareil.