Conception de solutions et préparation à la sélection
Dans le contrôle industriel, les servocontrôleurs sont essentiels pour entraîner des moteurs dans des applications nécessitant un positionnement et un contrôle précis. Cette approche est particulièrement adaptée aux applications qui exigent un contrôle précis de la rotation du moteur ou du mouvement de l'équipement vers des positions spécifiques. Une compréhension approfondie des principes du contrôle de conduite est essentielle avant de se lancer dans le processus de sélection.
Nous devons générer une forme d'onde PWM et émettre un signal DIR. Le choix d'un modèle de servomoteur approprié, tel que la série T3a/T3L, offre un avantage significatif en termes de coût-performances. La forme d'onde PWM peut être implémentée à l'aide de minuteries avancées (telles que TIM1/TIM8), qui prennent en charge une sortie complémentaire et un contrôle des temps morts-, ce qui les rend idéales pour piloter des ponts H-. De plus, le signal de retour du codeur peut être obtenu en utilisant TIM2/TIM3/TIM4/TIM5 pour lire le signal ABZ du codeur incrémental.
Génération de forme d'onde PWM et mise en œuvre d'algorithmes de servomoteur
La fréquence PWM est généralement sélectionnée entre 10 et 20 kHz pour éviter le bruit audible et réduire les pertes de commutation. Pour la génération de forme d'onde PWM, nous pouvons facilement initialiser le minuteur TIM à l'aide de l'outil cubemx. Vous trouverez ci-dessous un exemple d'extrait de code d'initialisation PWM, en prenant le canal 1 de TIM1 comme exemple :
htim1.Instance=TIM1 ;
htim1.Init.Prescaler=0 ;
htim1.Init.CounterMode=TIM_COUNTERMODE_UP ;
htim1.Init.Période=8399 ; // Réglez la fréquence PWM sur 20 kHz.
htim1.Init.ClockDivision=TIM_CLOCKDIVISION_DIV1;
HAL_TIM_PWM_Init(&htim1);
TIM_OC_InitTypeDefsConfigOC ;
sConfigOC.OCMode=TIM_OCMODE_PWM1 ;
sConfigOC.Pulse=0 ; // Le rapport cyclique initial est défini sur 0%
sConfigOC.OCPolarity=TIM_OCPOLARITY_HIGH ;
HAL_TIM_PWM_ConfigChannel(&htim1, &sConfigOC, TIM_CHANNEL_1);
Nous discuterons de la mise en œuvre de l’algorithme d’asservissement. Le servocontrôle est généralement basé sur une stratégie de contrôle à trois-boucles de position, de vitesse et de courant. Cette stratégie garantit que le système peut contrôler avec précision le servomoteur en fonction des retours de position, de vitesse et de courant.
Le contrôleur PID effectue un contrôle proportionnel, intégral et dérivé via un calcul d'erreur pour générer un signal PWM. Lors d'une interruption de minuterie, nous lisons la position du codeur, calculons l'erreur et appelons la fonction PID_Update pour mettre à jour les contrôleurs de position et de vitesse. Enfin, sur la base de la commande actuelle, le cycle de service du signal PWM est ajusté pour obtenir un contrôle précis du servomoteur.
Lors de l'ajustement des paramètres clés, il est nécessaire de prendre en compte de manière exhaustive les caractéristiques dynamiques, la stabilité et les exigences de vitesse de réponse du système :
- Ajustement des paramètres de la boucle de position : tout d'abord, ajustez progressivement Kp jusqu'à ce que le système commence à présenter de légères oscillations, puis réglez-le à 60 % de la valeur critique pour garantir la stabilité du système et la vitesse de réponse.
- Considérations sur la conception de la boucle de vitesse : La bande passante de la boucle de vitesse est généralement réglée à 5 à 10 fois celle de la boucle de position pour garantir un contrôle de vitesse rapide et précis.
- Traitement de la boucle de courant : la boucle de courant a généralement la vitesse de réponse la plus rapide et, dans la plupart des cas, ce traitement est automatiquement géré en interne par le servocontrôleur.
Au cours du processus de conception du matériel et des logiciels, il est essentiel de prendre pleinement en compte et de mettre en œuvre des mesures pour traiter divers facteurs d'interférence potentiels afin de garantir la stabilité et la fiabilité du système. Lors de la phase de conception du PCB, il est crucial de garantir une séparation efficace de l'alimentation du moteur et de la masse du signal, en utilisant une méthode de mise à la terre en un seul point-. De plus, des câbles à paire torsadée-ou blindés doivent être utilisés pour les lignes de signal PWM afin d'améliorer les capacités anti-anti-interférences du signal. Pour l'entrée du signal du codeur, un circuit de filtre RC (tel qu'une combinaison d'une résistance de 100 Ω et d'un condensateur de 100 pF) est recommandé pour filtrer le bruit.
Dans la conception de logiciels, une attention particulière doit être accordée aux lectures du codeur de débruitage. Un algorithme de filtrage par moyenne mobile est recommandé pour minimiser l'impact du bruit sur les performances du système.
Construisons votre système de servo
