Différences entre versions de « Pololu-Romi-32U4-Carte-Moteur-et-encodeur »

De MCHobby - Wiki
Sauter à la navigation Sauter à la recherche
 
(10 versions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
 
{{Pololu-Romi-32U4-NAV}}
 
{{Pololu-Romi-32U4-NAV}}
  
{{traduction}}
+
== 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 {{polpl|1520}}. 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.
  
== Contrôleur moteurs ==
+
Pour plus d'information sur les contrôleurs moteurs, voyez la [https://www.pololu.com/file/0J806/drv8838.pdf fiche technique du DRV8838 ] (''1 Mio, pdf''). Popolu propose également une carte contrôleur moteur dit ''carrier board'' {{polpl|2990}} exploitant la DRV8838.
The Romi 32U4 Control Board has two Texas Instruments DRV8838 motor drivers that are used to power the Romi chassis’s two mini plastic gearmotors {{polpl|1520}}. Four Arduino pins are used to control the drivers:
+
 
* '''Digital pin 15''', or PB1, controls the '''right motor direction''' (LOW drives the motor forward, HIGH drives it in reverse).
+
La bibliothèque Romi32U4 offre des fonctions qui permet de contrôler facilement les moteurs (voir "[[Pololu-Romi-32U4-Programmer-AVRDUDE|Programmer avec avr-gcc et AVRDUDE]]").
* '''Digital pin 16''', or PB2, controls the '''left motor direction'''.
+
 
* '''Digital pin 9''', or PB5, controls the '''right motor speed''' with PWM (pulse width modulation) generated by the ATmega32U4’s Timer1.
+
Les connexions de la carte contrôleur Romi 32U4 expose des connecteurs prévu pour interfacer une {{pl|1452|paire d'encodeur rotatif pour Romi}} {{polpl|3542}}, 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).
* '''Digital pin 10''', or PB6, controls the '''left motor speed''' with PWM.
+
 
 +
{{ambox|text=Au fur et à mesure que les piles se déchargent, la tension VSW fournie au contrôleur moteur diminuera, ce qui ralentira le moteur. Il est tout à fait possible de gérer cela dans le code en surveillant la tension des piles (voir [[Pololu-Romi-32U4-Carte-Alimentation|section alimentation]]) '''OU''' en utilisant des encodeurs (ou autre capteurs) capable de surveiller les mouvements du robot.}}
  
For more information about the drivers, see the [https://www.pololu.com/file/0J806/drv8838.pdf DRV8838 datasheet] (''1MB pdf''). Popolu propose également une carte contrôleur moteur dit ''carrier board'' {{polpl|2990}} exploitant la DRV8838.
+
== 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 {{pl|1452|Paire d'encodeur rotatif pour Romi - CPR 12}} pour plus de détails.
  
The Romi32U4 library provides functions that allow you to easily control the motors (voir "[[Pololu-Romi-32U4-Programmer-AVRDUDE|Programmer avec avr-gcc et AVRDUDE]]").
+
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'''.
  
The motor driver connections are brought out to two pairs of headers that are intended to interface with the {{pl|1452|Paire d'encodeur rotatif pour Romi}} {{polpl|3542}}. A pair of low-profile female headers is included with the Romi 32U4 Control Board and can be soldered into either the outer or inner row of through-holes on each side. (Note that these headers must be soldered into the positions that match the male header installed on the encoder board).
+
[[Fichier:Pololu-Romi-32U4-Carte-Moteur-et-encodeur-00.png]]
  
{{ambox|text=As your batteries run out, the voltage supplied to the motor drivers (VSW) will decrease, which will make the motors slower. It is possible to account for this in your code by monitoring the battery voltage (see Section 3.5) or using the encoders and other sensors to monitor the movement of the robot.}}
+
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.  
  
 +
{{ambox|text=La description designe les signaux A et B comme libellé sur la carte de contrôle, qui place le signa A à l'avant des deux côtés de la carte.}}
  
 +
La bibliothèque Romi32U4 fournir les routines et fonctions popur lire les encodeur et maintenir les indexes de comptage (voir section "[[Pololu-Romi-32U4-Bibliotheque|Bibliothèque Arduino Romi 32U4]]").
  
 
{{Pololu-Romi-32U4-TRAILER}}
 
{{Pololu-Romi-32U4-TRAILER}}

Version actuelle datée du 4 juin 2019 à 08:41

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)