Objectifs
- Savoir le fonctionnement d’un servomoteur
- Savoir comment contrôler un servomoteur avec Arduino
- Savoir utiliser un récepteur IR avec Arduino
- Etc.
Tx/Rx Infrarouge
- Consultez le projet « Commande de sens de rotation d’un moteur à CC avec Arduino«
Fonctionnement
Le mini projet est la deuxième application dédiée à l’utilisation de technologie infrarouge pour la commande et le contrôle des organes (voir le projet 19 dans la rubrique des projets microcontrôleurs). Dans le présent projet on essaye de mettre en pratique la commande d’un servomoteur en utilisant la liaison IR. On utilisera une télécommande IR composée de 21 touches, uniquement les touches « 1 » et « 2 » seront utilisées. Ci-dessous le cycle de fonctionnement du montage :
- Pa défaut, le servomoteur est orienté avec un ange de 10°, la LED bleue est allumée (LED verte est éteinte) indiquant la position initiale du servomoteur.
- Lorsqu’on appuie sur la touche « 1 » de la télécommande : On incrémente l’angle d’un pas égal à 10° pour chaque appui, au même temps on fait clignoter la LED verte afin d’indiquer l’incrémentation effective de l’angle et la réception de la commande par le récepteur IR. Lorsque le compteur e l’angle atteint 180°, on réinitialise à 10° puis on allume la LED bleue (position initiale).
- Lorsqu’on appuie sur la touche « 1 » de la télécommande : On réinitialise le moteur, autrement dit, a position le servomoteur à 10° puis on allume la LED bleue.
Note : Il est recommandé de ne pas faire fonctionner le servomoteur avec un angle au voisinage du zéro au risque d’instabilité (vibration). D’où le choix d’un angle initial égal à 10°.
Servomoteur SG90
Spécifications
Minuscule et léger avec une puissance de sortie élevée. Le servomoteur peut pivoter d’environ 180 degrés (90 dans chaque direction), et fonctionne comme les types standard avec un format plut petit. Vous pouvez utiliser n’importe quel code dédié aux servomoteurs, matériel ou bibliothèque pour contrôler ce type de moteur. Pratique pour débuter en robotique sans oublie son coût faible.
- Dimension: 22,2 x 11,8 x 31 mm environ.
- Couple de décrochage: 1,8 kgf cm
- Vitesse de fonctionnement: 0,1 s / 60 degrés
- Tension de fonctionnement: 4,8 V (~ 5 V)
- Largeur de la bande morte: 10 µs
- Plage de température: 0 ºC – 55 ºC
- Voir datasheet SG90
Commande
Le SG90 dispose de trois pins : Alimentation +5V (rouge), Masse (Marron) et le signal de commande (Orange). La commande du moteur est basée sur le signal PWM d’une fréquence égale à 50 Hz (période de 20 ms). Contrairement à la variation de la vitesse d’un moteur à CC dont on peut ajuster le rapport cyclique du 0% à 100%, le servomoteur n’autorise qu’une variation allant de 1 ms à 2 ms : D’une autre façon un rapport cyclique variant de 1 ms /20 ms=5% à 2 ms/20 ms=10%. Si on utilise le formalisme 0-180° alors : 1 ms (angle 0°), 1.5 ms (angle 90°) et 2 ms (angle 180°). Ci-dessous les étapes de programmation d’un servomoteur.