Cours:TPS 2103 tp servoMoteur

De troyesGEII
Révision datée du 26 mai 2020 à 08:14 par Bjacquot (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à : navigation, rechercher
ArduinoPinout.png

datasheet atmega328p

Nous allons créer une sorte de télécommande pour voiture de modélisme.

Les actionneurs pour avion/voitures radiocommandées sont souvent des servomoteurs ou se comportent comme tel.

Nous ne ferons pas ici de transmission sans fil mais nous verrons le principe de communication entre l'émetteur et le récepteur en utilisant une liaison série.

Servomoteur

Les servomoteurs possèdent généralement un connecteur à 3 contacts qui sont :

  • rouge : VCC (ici et en général +5V)
  • noir : GND
  • jaune : signal de consigne/commande

Les servomoteurs utilisés ici sont commandés en position, c'est à dire que suivant la consigne, le moteur tourne jusqu'à la valeur désirée.

Il existe également des commandes en vitesse, et dans ce cas c'est la vitesse de rotation qui est fonction de la commande.

Le signal de consigne est tel qu'indiqué sur la figure ci-dessous : TiemposServo

MLI

On constate sur la figure qu'il est nécessaire de générer un signal MLI (ou PWM) dont la fréquence (ou période) est indiquée sur la figure.

Remarquons que le rapport cyclique ne devra varier que dans une certaine plage, et non de 0% à 100%.

Question.jpg Écrire un programme qui fait varier la position du servomoteur entre ses positions extrêmes.

Remarques

  • Vous devez choisir un timer
  • Vous devez configurer ce timer
  • Il existe pour la plupart des TIMERs un mode PWM dont la valeur maximum du TIMER est réglable
    • mode 7 pour TIMER0/TIMER2
    • mode 14 pour TIMER1

Potentiomètre

Can atmega328.png

Nous souhaitons maintenant commander la position du servomoteur au travers d'un potentiomètre.

On reliera bien évidemment ce potentiomètre sur une entrée analogique du µcontrôleur.

Question.jpg Écrire un programme répondant au cahier des charges


Transmission de données

se référer au sujet sur la liaison série

Consommation

On souhaite bien évidemment réduire au maximum la consommation du µcontrôleur.

Attention à ne pas mesurer la consommation du servomoteur lors des mesures réalisées.

Question.jpg Faire en sorte de minimiser la consommation