Asservissement

Le principe de l'asservissement est de permettre à un moteur d'atteindre un objectif donné par "l'utilisateur" (par exemple, atteindre telle position ou tenir telle vitesse, avec un certain degré de précision et de "rapidité" )

La théorie

La bible sur les principes généraux : PM-robotix

RCVA

L'implémentation

Pour réaliser un asserv en vitesse, il faut :

  1. Fournir des consignes vitesses au robot, par exemple en envoyant du PWM grâce aux drivers moteurs types MD10C/D13S (Exemple du code de 2022)
  2. Lire les données des encodeurs rotatifs, pour connaître la vitesse des moteurs Exemple en 2022, lecture software. (plus d'info sur les encodeurs)
  3. Prévoir une "interface" avec l'ordinateur (en serial par exemple), c'est-à-dire pouvoir envoyer sur le port serial les coefficients du PID et recevoir les données de l'encodeur, pour pouvoir tracer des graphes/enrengistrer les données sur l'ordinateur
  4. Régler l'asservissement grâce à des courbes, en envoyant des consignes depuis le PC et en voyant le résultat
  5. Méthode de réglage : une idée de méthode de l'UTC

Pour aller plus loin pour améliorer l'asserv

Pour l'instant, on s'arretait là, mais il peut être intéressant de tester un asserv en position directement (qui envoie des consignes vers le système qui asservit en vitesse), ou d'implémenter les solutions vues en dessous.

TODO Différence lecture hardware/software des encodeurs

Réglage plus fin du PID : PM-robotix

improving PID - ni.com

Réglage plus fin du coeff des roues : RCVA