L'électronique de commande des moteurs.

Les moteurs possèdes des codeurs incrémentaux, il faudra donc gérer ces informations pour l’asservissement de la vitesse des moteurs. Il faudra utiliser un circuit de puissance pour les commandes de moteurs. Il faudra raccorder le moteur à une pont en H pour contrôler la vitesse et la rotation du moteur.

Mesure de la vitesse de rotation avec un codeur incrémental

Le codeur incrémental fournit deux signaux carrés en quadrature, comme sur la capture ci-dessous:

Ces deux signaux permettent de mesurer à la fois la vitesse et le sens de rotation.

Calcul de la vitesse

La mesure de la vitesse se fait simplement en comptant le nombre d’impulsions pendant un temps fixe. Les données du problème sont les suivantes :

 (celui utilisé pour l'entraînement). Le rapport de réduction étant 30:1, l’arbre moteur fait 30 tours lorsque l’arbre « principal » en fait 1.

Par conséquent, lorsque l’arbre principal fait un tour, le codeur génère :

30 * 11 = 330 impulsions.

Si N est le nombre d’impulsions comptées en 0.01 s, la vitesse est (en rad/s, l’unité standard, sachant qu’un tour fait 2*π radians) :2*π*N/(0.01*330).

Comptage du nombre d’impulsions

Compter le nombre d’impulsions du codeur revient à compter le nombre de fronts montants et descendants des signaux jaune et bleu représentés sur l’image ci-dessus. Pour ce faire, la seule méthode viable consiste à brancher les deux signaux (les fils jaune et blanc sur le codeur utilisé) sur deux entrées « interruption » de la carte Arduino. Les deux autres fils (bleu et vert) seront respectivement branchés sur le 3.3 V et sur la masse du circuit ESP12.

L’intérêt d’une ligne d’interruption est qu’elle permet, comme son nom l’indique, d’interrompre le déroulement des calculs sur le micro-contrôleur pour effectuer un traitement spécifique, en l’occurrence la mise à jour du compteur d’impulsions, avant de rendre la main à la boucle principale.

La seule « difficulté » est de savoir s’il faut incrémenter ou décrémenter le compteur dans le traitement de l’interruption. Il suffit pour cela d’observer les courbes ci-dessus, obtenues alors que le moteur tourne dans le sens positif. On constate que:

Quand le moteur tourne dans le sens positif, lors d’une interruption sur la voie A, les niveaux de A et B sont donc inversés. En ce qui concerne l’interruption liée à la voie B, c’est l’inverse :

source: blog.3sigma.fr

Les composants utilisées:

L’intelligence se fera autour d’un ESP32.

Les moteurs seront raccordé a un circuit de puissance L293.

Les caractéristiques:

Le schéma version 2: