Pololu-Romi-32U4-Carte-Moteur-et-encodeur

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche

Contrôleur moteurs

La carte contrôleur ROMI 32U4 est équipé de deux contrôleur moteur DRV8838 de Texas Instruments qui sont utilisés pour la puissance délivrée aux deux mini moteurs plastique avec boîte de vitesse lien pololu. Quatres broches de l'Arduino sont utilisées pour piloter les contrôleurs:

  • Broche digital 15 (ou PB1) contrôle le sens de rotation du moteur droit (LOW drives the motor forward, HIGH drives it in reverse).
  • Broche digital 16 (ou PB2) contrôle le sens de rotation du moteur gauche.
  • Broche digital 9 (ou PB5) contrôle la vitesse du moteur droit avec du PWM (Pulse Width Modulation, modulation de longueur d'impulsion) généré par le Timer1 de l'ATmega32U4.
  • Broche digital 10 (ou PB6) contrôle la vitesse du moteur gauche avec du PWM.

Pour plus d'information sur les contrôleurs moteurs, voyez la fiche technique du DRV8838 (1 Mio, pdf). Popolu propose également une carte contrôleur moteur dit carrier board lien pololu exploitant la DRV8838.

La bibliothèque Romi32U4 offre des fonctions qui permet de contrôler facilement les moteurs (voir "Programmer avec avr-gcc et AVRDUDE").

Les connexions de la carte contrôleur Romi 32U4 expose des connecteurs prévu pour interfacer une paire d'encodeur rotatif pour Romi lien pololu, connecteurs présent par paire (un rangée vers "l'intérieur" et une rangée vers "l'extérieur"). Une paire de connecteurs femelles bas-profile est inclus avec la carte contrôleur Romi 32U4, connecteurs qui peuvent être soudés sur chaque côté de la carte Romi (soit dans la rangée de connecteur "intérieur", soit sur le connecteur "extérieur"). Note: les connecteurs doivent être soudés dans la position correspondant au connecteur mâle présent sur l'encodeur rotatif).

Encodeurs à quadrature

La carte Contrôleur Romi 32U4 est configurée pour connecter les sorties des encodeurs à quadrature du kit "Encodeur pour Romi" sur le microcontrôleur ATmega32U4. Les encodeurs peuvent être utilisé pour surveiller la vitesse de rotation et le sens de rotation des roues du robot. Ils fournissent une résolution de comptage de 12 événements par révolution de l'axe moteur (il faut compter les flan montant et descendant sur les deux canaux), ce qui correspond approximativement à un comptage de 1440 événements par révolution d'une roue Romi (roue montée derrière une boîte de réduction). Voyez les détails de la page produit Paire d'encodeur rotatif pour Romi - CPR 12 pour plus de détails.

Les transitions d'un encodeur à quadrature sont souvent détectés en surveillant directement les deux canaux de l'encodeur. Cependant, sur un Romi, ces transitions sont produites à un fréquence très élevée (plusieurs milliers par secondes) lorsque les moteurs fonctionnent, il est nécessaire d'utiliser les interruptions sur les broches de l'AVR ou interruption externe pour lire les encodeurs. Pour réduire le nombre de broches d'interruption nécessaires, la carte de contrôle Romi 32U4 fait une opération XOR des deux canaux de chaque encodeur et connecte le signal résultat sur une broche d'interruption, alors que le canal B de chaque encodeur est connecté sur une broche d'entrée non-interrupt:

  • Broche digital 7 (ou PE6) lit le signal XOR de l'encodeur droit en utilisant l'interruption externe INT6 (external interrupt).
  • Broche digital 8 (ou PB4) lit le signal XOR de l'encodeur gauche en utilisant l'interruption PCINT4 (change interrupt).
  • Digital pin 23 (broche analogique 5 ou PF0) pour lire l'encodeur le canal B de l'encodeur droit.
  • La broche PE2 lit la canal B de l'encodeur gauche.

Pololu-Romi-32U4-Carte-Moteur-et-encodeur-00.png

Le signal en XOR et le signal du canal B peut être utiliser pour reconstruire le signal du canal A avec une nouvelle operation XOR: (A XOR B) XOR B = A. Pour les deux encodeurs, la canal B précède le canal A lorsque le moteur tourne en marche avant; Cela signifie que, le signal B monte avant que A monte ET que le signal B descendant avant que A descende. Le diagramme ci-dessous est produit lors d'une rotation vers l'avant.

La bibliothèque Romi32U4 fournir les routines et fonctions popur lire les encodeur et maintenir les indexes de comptage (voir section "Bibliothèque Arduino Romi 32U4").


Basé sur "Guide utilisateur de la carte de contrôle Romi 32U4" de Pololu (https://www.pololu.com/docs/0J69) - Traduit en Français par shop.mchobby.be CC-BY-SA pour la traduction
Toute copie doit contenir ce crédit, lien vers cette page et la section "crédit de traduction". Traduit avec l'autorisation expresse de Pololu (www.pololu.com)

Based on "Pololu Romi 32U4 Control Board User’s Guide" from Pololu (https://www.pololu.com/docs/0J69) - Translated to French by shop.mchobby.be CC-BY-SA for the translation
Copies must includes this credit, link to this page and the section "crédit de traduction" (translation credit). Translated with the Pololu's authorization (www.pololu.com)