Contrôler la vitesse d'un moteur de façon "logicielle"Pour la variation de la vitesse, tu peux en effet faire varier la tension d'alimentation du moteur, ou, plus efficace, envoyer des impulsions en pwm.
Même sans faire de la "vraie" PWM, j'ai essayé avec mon arduino ceci :
Le moteur tourne 10milisecondes
Le moteur n'est plus alimenté pendant 10ms
et on boucle. On constate bien une réduction de la vitesse de rotation, et en modifiant les réglages, on peut même régler le niveau sonore du moteur.
Cependant, ce n'est pas une boite de vitesse.
Principe de la boite de vitesseUne boite de vitesse (dans notre cas avec un rapport réducteur) sera composée d'engrenage et/ou courroies pour réduire le nombre de tours de la roue par
rapport à celui du moteur. Un rapport de 1/50 entrainera par exemple que pour 50 tours du moteur, on aura 1 tour de roue. Sachant que ces moteurs
sont généralement prévus pour effectuer quelques milliers de tours minute, c'est une bonne chose, car sans cela la précision des déplacements serait faible,
et le robot serait difficile à contrôler s'il se déplaçait aussi vite que sa roue ne tourne.
Utilité de la boite de vitesseMais le plus gros problème est que ces moteurs ont un couple très faible. Il est extrêmement facile de bloquer la roue dans sa rotation alors que le moteur
est alimenté. Donc en fait de tourner très vite, la roue risquerait de ne pas tourner du tout. Or, la boite de vitesse permet d'augmenter significativement le couple
obtenu en sortie. J'ignore si un moteur réducteur de 1/50 augmente le couple 50 fois, mais c'est en tous cas significatif, j'ai pu le tester.
Les servomoteurs intègrent une boite de vitesse. Et le résultat est impressionnant : mon plus petit servomoteur dégage une force réellement surprenante (de quoi
bouger facilement plusieurs centaines de grammes, alors qu'il ne pèse que... 6g!! Le moteur qui est dedans doit être minuscule, moins d'un centimètre de large!)
Comment faire une boite de vitesse? Il faut que ton moteur soit relié à un engrenage (disque de courroie) de très petit diamètre, qui entrainera un second engrenage (ou disque)
de bien plus grand diamètre. Ainsi, 10 tours (par exemple) du petit fixé au moteur entraineront un seul tour du grand. Ton grand disque peut etre surmonté d'un petit disque, qui
selon le même principe, entraînera troisième grand disque, réduisant d'autant le rapport...
Ou trouver une boite de vitesse?
Je n'ai aucune idée de l'endroit ou l'on peut en trouver ici à acheter, ou même des disques de courroies avec les courroies associées. En revanche,
j'ai trouvé une chose : dans les lecteurs/graveurs de CD/DVD, il y a systématiquement un moteur associé à une boite de vitesse avec un fort rapport de réduction. C'est la boite
qui entraîne le mécanisme d'ouverture du tiroir. J'ai démonté 4 lecteurs/graveurs morts, et j'ai pu récupérer ainsi 4 moteurs avec leurs boites de vitesse. Comme j'ai grillé mon second
servomoteur à rotation continue, je vais m'en servir pour faire un robot. J'ai donc deux paires de moteurs/boites de vitesse relativement similaires (deux identiques, et deux très proches).
Je vais poster des vidéos là dessus bientôt.
Il est à noter que si l'on utilise le mécanisme du tiroir du CD également, on dispose d'un effecteur linéaire : en envoyant du courant dans un sens, on fait avancer un objet le long d'un axe,
et en envoyant le courant dans l'autre sens, on fait reculer l'objet le long du même axe. Le lecteur CD peut donc nous fournir pas mal de choses :
- Un moteur avec boite de vitesse réductrice
- OU un effecteur linéaire (par exemple pour surélever/rentrer les senseurs du robot, ou même pour faire un bras qui pousse les obstacles..)
- ET un petit moteur pas à pas (celui qui contrôle le déplacement de la lentille laser)
- ET le moteur de rotation du CD (lui il a plein de fils, je ne vois pas comment l'utiliser pour le moment, ça à l'air d'être un moteur pas à pas plus complexe que le petit qui n'a que 4 fils)
En outre, il y a divers petits composants qui peuvent être utiles : des transistors, diodes, etc, mais aussi la molette de volume, qui est en fait un potentiomètre, et surtout un capteur de contact, à savoir le petit bouton qui détecte quand le tiroir est fermé. j'en ai trouvé différents modèles, et je pense qu'ils seront très bien sur les bords d'un robot pour détecter les collisions.
Les moteurs pas à pas
Un moteur pas à pas est assez différent. Dans le moteur DC, on a deux fils qui amènent le courant, et le mouvement du rotor fait que les champs magnétiques des aimants
permanents et des électroaimants sont décalés en phase ce qui entretient le mouvement. Le moteur pas à pas fonctionne sur le même principe, sauf que l'on a plusieurs paires de fils, pour chaque "step".
Contrairement au moteur DC, ou l'on balance du courant et le moteur tourne, ici, il faudra envoyer des impulsions aux différents bobinages de façon séquencée, pour faire bouger le moteur à la vitesse souhaitée.
L'avantage est qu'on peut contrôler l'avancée du moteur de façon précise, puisque si on envoie le courant pour une étape, le moteur tournera d'une étape, soit un angle précis. et bien sur on peut faire cela dans les deux sens.
Il faudra donc logiquement un circuit de commande pour réaliser cela, mais ce n'est pas nécessairement très compliqué, ça peut se faire avec une puce L293D (j'en ai, et les plans sont simples à trouver).
Du coup, ça vaut le coup de récupérer les imprimantes, car en outre, il y aura des mécanismes intéressants dedans (rien que les barres en métal sur lesquelles se déplacent les têtes d’impression)