Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
fr:informatics:asservir_les_moteurs_en_vitesse [29/01/2025 22:19]
Keuronde [Finalisation]
fr:informatics:asservir_les_moteurs_en_vitesse [30/01/2025 12:52] (Version actuelle)
Keuronde [Partie centrale]
Ligne 68: Ligne 68:
   Temps_init()   Temps_init()
 Dans la boucle principale, utilisez les fonctions de temps pour n’exécuter votre code qu’à intervalles réguliers. Dans la boucle principale, utilisez les fonctions de temps pour n’exécuter votre code qu’à intervalles réguliers.
-  temps_ms=0 ;+  m_temps_ms=0 ;
   while(1){   while(1){
-    if(Temps_get_ms()!= temps_ms){ +    if(Temps_get_temps_ms()!= temps_ms){ 
-      if(Temps_get_ms() % pas_de_temps == 0){+      if(Temps_get_temps_ms() % pas_de_temps == 0){
         // Votre futur code ici         // Votre futur code ici
       }       }
Ligne 97: Ligne 97:
   float consigne_vitesse = 200; // Consigne en mm/s.   float consigne_vitesse = 200; // Consigne en mm/s.
   int demi_periode = 2000; // Temps haut ou bas du créneau (en ms)   int demi_periode = 2000; // Temps haut ou bas du créneau (en ms)
-A l’intérieur de votre « if(Temps_get_ms()!= temps_ms){ … } » : +A l’intérieur de votre « if(Temps_get_temps_ms()!= m_temps_ms){ … } » : 
-  if(Temps_get_ms() % demi_periode  == 0){+  if(Temps_get_temps_ms() % demi_periode  == 0){
     consigne_vitesse = - consigne_vitesse;     consigne_vitesse = - consigne_vitesse;
     AsserMoteur_setConsigne_mm_s(consigne_vitesse, MOTEUR_A);     AsserMoteur_setConsigne_mm_s(consigne_vitesse, MOTEUR_A);
Ligne 121: Ligne 121:
 Avec un tel réglage, vous devriez obtenir une réponse molle.  Avec un tel réglage, vous devriez obtenir une réponse molle. 
  
-#IMG :Ajouter image du graphique+{{ :fr:informatics:gainp_mou.png?direct&400 |}}
  
 Multiplier successivement votre gain par 2 jusqu’à avoir une réponse plus dynamique Multiplier successivement votre gain par 2 jusqu’à avoir une réponse plus dynamique
  
-#IMG gain_P dynamique.+{{ :fr:informatics:gainp_regle.png?direct&400 |}}
  
-Réglez ensuite votre gain I, en prenant comme première valeur gain_I = gain_P/10. Ajustez-le de la même manière que le gain_P+Réglez ensuite votre gain I, en prenant comme première valeur gain_I = gain_P/10. Ajustez-le de la même manière que le gain_P.
  
-#IMG gain_I réglé+Pour voir l’effet du gain I, nous augmentons la valeur de la consigne de vitesse à 400 mm/s et la fréquence de la consigne. 
 + 
 +{{ :fr:informatics:sans_gain_i.png?direct&400 |}} 
 + 
 +Nous observons que, sans gain I, la consigne n’est pas atteinte (ci-dessus). 
 + 
 +{{ :fr:informatics:avec_gaini.png?direct&400 |}} 
 + 
 +Lorsque nous réglons notre gain I, nous observons que la consigne est atteinte. Ceci au prix d’un petit dépassement.
  
 Pour le gain_D, débrouillez-vous ! Nous, nous ne nous en servons pas… Pour le gain_D, débrouillez-vous ! Nous, nous ne nous en servons pas…