Moteurs SDK¶
Le SDK propose plusieurs méthodes de contrôle et de communication avec les moteurs, ainsi que quelques méthodes cachées auxquelles il est facile d’accéder.
Explication générale¶
Contrôleur de moteur¶
Tous les ports de moteur sont contrôlés par ce que l’on appelle un contrôleur de moteur à pont en H, un circuit qui peut être utilisé pour faire varier la tension de sortie ainsi que le signe (négatif ou positif) de la tension. Une tension négative dans un moteur à courant continu inverse le mouvement du moteur, tandis qu’une tension positive le fait avancer. La puissance du moteur SDK (de -1 à 1) représente un multiplicateur de la tension d’entrée qui est émise par le port du moteur. Les différentes tensions sont créées par PWM, où le port est activé et désactivé rapidement pour créer une tension moyenne plus faible.
En outre, il est possible de configurer le comportement du moteur à puissance nulle, c’est-à-dire le comportement du moteur lorsqu’il n’est pas alimenté. En mode FLOAT, le contrôleur de moteur s’éteint simplement, fournissant une résistance supplémentaire minimale. En mode FREIN, les deux fils du moteur sont court-circuités en interne. En raison de la propriété inhérente à tous les moteurs à courant continu à balais de générer de l’électricité lorsque l’arbre tourne, le fait de court-circuiter les fils provoque une inversion de puissance qui arrête le moteur rapidement et résiste aux forces extérieures.
Note
Le contrôleur de moteur utilise la tension d’entrée, ce qui signifie que sur une batterie de 13 volts, une puissance de 1 créera une tension de sortie de 13 volts. De même, sur une batterie de 11 volts, une puissance de 1 créera une tension de sortie de 11 volts.
Encodeur de moteur¶
Important
Il n’existe pas vraiment de terminologie normalisée pour les encodeurs en quadrature. Nous utilisons ici les termes « count » et « tick » pour représenter une seule action ascendante ou descendante dans l’onde en quadrature. Certaines fiches techniques mentionnent également des « impulsions », qui peuvent aller de 1 « compte » à 4 « comptes ». Soyez prudent lorsque vous lisez des fiches techniques !
Les encodeurs FTC® utilisent le format quadrature à deux fils pour transmettre les informations relatives de l’encodeur. En quadrature, il y a deux fils de signal, A et B. Lorsqu’ils se déplacent, A et B génèrent tous deux des ondes carrées à 90 degrés l’une de l’autre, c’est-à-dire qu’une onde carrée commence à mi-chemin de l’autre onde carrée et se termine à mi-chemin de l’autre onde carrée. Dans une direction, l’onde carrée du fil A précède l’onde carrée du fil B, et dans l’autre direction, l’onde carrée du fil B précède l’onde carrée du fil A. Les deux ondes sont combinées dans la fonction XOR. Les deux ondes sont combinées en XOR pour produire l’onde de sortie, où chaque action montante et descendante correspond à un « tick », et plus l’onde est rapide, plus l’encodeur se déplace rapidement.
Le hub REV compte les impulsions et calcule la vitesse en utilisant un « tampon circulaire » de 5 valeurs, auquel une nouvelle valeur est ajoutée toutes les 10 ms. Ces 5 valeurs sont ensuite utilisées pour calculer la vitesse actuelle.
Avertissement
Il est recommandé de connecter les encodeurs en quadrature à des ports spéciaux décodés par le matériel pour qu’ils puissent être lus correctement. L’expansion hub contient du matériel spécial pour lire les encodeurs en quadrature, mais comme il n’y a que deux de ces contrôleurs, deux des broches sont connectées en « logiciel » à la place (les ports sont décodés en logiciel au lieu d’être décodés en matériel). Cela signifie que les ports 0 et 3, les deux ports connectés aux ports spéciaux en quadrature, liront toujours avec précision. Les ports 1 et 2 sont connectés aux ports « logiciels » moins précis, ce qui signifie qu’avec les codeurs CPR élevés (encodeurs qui produisent plus de 4000 coups par tour, tels que l’encodeur à alésage traversant REV ou le codeur SRX Talon), ils peuvent « perdre des pas » et dériver.
Exemple d’onde en quadrature, avec le canal A précédant le canal B. Chaque compte est un « compte » ou un « tic »¶