<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="fr">
	<id>https://wiki.mchobby.be/index.php?action=history&amp;feed=atom&amp;title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur</id>
	<title>Pololu-Romi-32U4-Carte-Moteur-et-encodeur - Historique des versions</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.mchobby.be/index.php?action=history&amp;feed=atom&amp;title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur"/>
	<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;action=history"/>
	<updated>2026-08-28T11:49:34Z</updated>
	<subtitle>Historique des révisions pour cette page sur le wiki</subtitle>
	<generator>MediaWiki 1.35.0</generator>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28244&amp;oldid=prev</id>
		<title>Admin le 4 juin 2019 à 08:41</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28244&amp;oldid=prev"/>
		<updated>2019-06-04T08:41:28Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 4 juin 2019 à 08:41&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot; &gt;Ligne 1 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 1 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-NAV}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-NAV}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{traduction}}&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Contrôleur moteurs ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Contrôleur moteurs ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28243&amp;oldid=prev</id>
		<title>Admin : /* Encodeurs à quadrature */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28243&amp;oldid=prev"/>
		<updated>2019-06-04T08:41:13Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Encodeurs à quadrature&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 4 juin 2019 à 08:41&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l29&quot; &gt;Ligne 29 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 29 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Pololu-Romi-32U4-Carte-Moteur-et-encodeur-00.png]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Pololu-Romi-32U4-Carte-Moteur-et-encodeur-00.png]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The XORed &lt;/del&gt;signal &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and the channel &lt;/del&gt;B signal &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;can be used to reconstruct the channel &lt;/del&gt;A &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;signal by simply XORing them again&lt;/del&gt;: '''(A XOR B) XOR B = A'''. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;For both encoders&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;channel &lt;/del&gt;B &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;leads channel &lt;/del&gt;A &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;when the motor is rotating in the forward direction&lt;/del&gt;; &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;that is&lt;/del&gt;, B &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rises before &lt;/del&gt;A &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;rises and &lt;/del&gt;B &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;falls before &lt;/del&gt;A &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;falls&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(The waveforms in the diagram above would be produced by forward &lt;/del&gt;rotation&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;.) Note that this description designates the A and B signals as labeled on the control board itself, which puts A in front on both sides&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Le &lt;/ins&gt;signal &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;en XOR et le signal du canal &lt;/ins&gt;B &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;peut être utiliser pour reconstruire le &lt;/ins&gt;signal &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;du canal &lt;/ins&gt;A &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;avec une nouvelle operation XOR&lt;/ins&gt;: '''(A XOR B) XOR B = A'''. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pour les deux encodeurs&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;la canal &lt;/ins&gt;B &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;précède le canal &lt;/ins&gt;A &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;lorsque le moteur tourne en marche avant&lt;/ins&gt;; &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Cela signifie que&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;le signal &lt;/ins&gt;B &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;monte avant que &lt;/ins&gt;A &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;monte ET que le signal &lt;/ins&gt;B &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;descendant avant que &lt;/ins&gt;A &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;descende&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Le diagramme ci-dessous est produit lors d'une &lt;/ins&gt;rotation &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vers l'avant&lt;/ins&gt;.  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The &lt;/del&gt;Romi32U4 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;library provides appropriate interrupt service &lt;/del&gt;routines &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;and functions for reading the encoders and keeping track of their counts &lt;/del&gt;(voir section &amp;quot;[[Pololu-Romi-32U4-Bibliotheque|Bibliothèque Arduino Romi 32U4]]&amp;quot;).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;{{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.}}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;La bibliothèque &lt;/ins&gt;Romi32U4 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;fournir les &lt;/ins&gt;routines &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;et fonctions popur lire les encodeur et maintenir les indexes de comptage &lt;/ins&gt;(voir section &amp;quot;[[Pololu-Romi-32U4-Bibliotheque|Bibliothèque Arduino Romi 32U4]]&amp;quot;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28242&amp;oldid=prev</id>
		<title>Admin : /* Encodeurs à quadrature */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28242&amp;oldid=prev"/>
		<updated>2019-06-04T08:15:46Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Encodeurs à quadrature&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 4 juin 2019 à 08:15&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l21&quot; &gt;Ligne 21 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 21 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La carte Contrôleur Romi 32U4 est configurée pour connecter les sorties des encodeurs à quadrature du kit &amp;quot;Encodeur pour Romi&amp;quot; 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.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;La carte Contrôleur Romi 32U4 est configurée pour connecter les sorties des encodeurs à quadrature du kit &amp;quot;Encodeur pour Romi&amp;quot; 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.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt; XORs together both channels of each encoder and connects the resulting &lt;/del&gt;signal &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to an interrupt pin&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;while channel &lt;/del&gt;B &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;of each encoder is connected to a &lt;/del&gt;non-interrupt &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pin&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;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 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;fait une opération XOR des deux canaux de chaque encodeur et connecte le &lt;/ins&gt;signal &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;résultat sur une broche d'interruption&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;alors que le canal &lt;/ins&gt;B &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;de chaque encodeur est connecté sur une broche d'entrée &lt;/ins&gt;non-interrupt:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Digital pin &lt;/del&gt;7'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, or &lt;/del&gt;PE6&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, reads the &lt;/del&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;right encoder XORed &lt;/del&gt;signal''' &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;using &lt;/del&gt;external interrupt &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;INT6&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Broche digital &lt;/ins&gt;7''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(ou &lt;/ins&gt;PE6&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) lit le &lt;/ins&gt;'''signal &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;XOR de l&lt;/ins&gt;'&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;encodeur droit''' en utilisant l'interruption externe INT6 (&lt;/ins&gt;''external interrupt&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'')&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Digital pin &lt;/del&gt;8'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, or &lt;/del&gt;PB4&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, reads the &lt;/del&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;left encoder XORed &lt;/del&gt;signal''' &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;using pin &lt;/del&gt;change interrupt &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;PCINT4&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Broche digital &lt;/ins&gt;8''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(ou &lt;/ins&gt;PB4&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) lit le &lt;/ins&gt;'''signal &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;XOR de l'encodeur gauche''&lt;/ins&gt;' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;en utilisant l'interruption PCINT4 (&lt;/ins&gt;''change interrupt&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'')&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Digital pin 23''' (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;analog pin &lt;/del&gt;5)&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, or PF0, reads the &lt;/del&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;right encoder channel &lt;/del&gt;B'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Digital pin 23''' (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;broche analogique &lt;/ins&gt;5 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ou PF0&lt;/ins&gt;) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;pour lire l'encodeur &lt;/ins&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;le canal &lt;/ins&gt;B &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;de l'encodeur droit&lt;/ins&gt;'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Pin &lt;/del&gt;'''PE2''' &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;reads the &lt;/del&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;left encoder channel &lt;/del&gt;B'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;La broche &lt;/ins&gt;'''PE2''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;lit &lt;/ins&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;la canal &lt;/ins&gt;B &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;de l'encodeur gauche&lt;/ins&gt;'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Pololu-Romi-32U4-Carte-Moteur-et-encodeur-00.png]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Pololu-Romi-32U4-Carte-Moteur-et-encodeur-00.png]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28241&amp;oldid=prev</id>
		<title>Admin le 4 juin 2019 à 07:59</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28241&amp;oldid=prev"/>
		<updated>2019-06-04T07:59:17Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 4 juin 2019 à 07:59&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l19&quot; &gt;Ligne 19 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 19 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Encodeurs à quadrature ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Encodeurs à quadrature ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The &lt;/del&gt;Romi 32U4 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Control Board is configured to connect the &lt;/del&gt;quadrature &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;encoder outputs from the &lt;/del&gt;Romi &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Encoder Pair Kit to the &lt;/del&gt;ATmega32U4 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;microcontroller&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The encoders can be used to track the rotational speed and direction of the robot’s drive wheels&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;They provide a resolution of &lt;/del&gt;12 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;counts per revolution of the motor shaft when counting both edges of both channels&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;which corresponds to approximately &lt;/del&gt;1440 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;counts per revolution of the Romi’s wheels&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;For more information about the specifications of the &lt;/del&gt;Romi &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;encoders, please see the Romi Encoder Pair Kit product page&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;La carte Contrôleur &lt;/ins&gt;Romi 32U4 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;est configurée pour connecter les sorties des encodeurs à &lt;/ins&gt;quadrature &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;du kit &amp;quot;Encodeur pour &lt;/ins&gt;Romi&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;&amp;quot; sur le microcontrôleur &lt;/ins&gt;ATmega32U4. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Les encodeurs peuvent être utilisé pour surveiller la vitesse de rotation et le sens de rotation des roues du robot&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Ils fournissent une résolution de comptage de &lt;/ins&gt;12 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;événements par révolution de l'axe moteur (il faut compter les flan montant et descendant sur les deux canaux)&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ce qui correspond approximativement à un comptage de &lt;/ins&gt;1440 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;événements par révolution d'une roue Romi (roue montée derrière une boîte de réduction)&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Voyez les détails de la page produit {{pl|1452|Paire d'encodeur rotatif pour &lt;/ins&gt;Romi &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;- CPR 12}} pour plus de détails&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Quadrature encoder &lt;/del&gt;transitions &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;are often detected by monitoring both encoder channels directly&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;However&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;since &lt;/del&gt;transitions &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;on the Romi’s encoders can occur at high frequencies &lt;/del&gt;(&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;several thousand per second&lt;/del&gt;) &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;when its motors are running&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;it is necessary to use the AVR’s pin change interrupts or external interrupts to read the encoders&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;To reduce the required number of interrupt pins&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the &lt;/del&gt;Romi 32U4 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Control Board &lt;/del&gt;XORs together both channels of each encoder and connects the resulting signal to an interrupt pin, while channel B of each encoder is connected to a non-interrupt pin:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Les &lt;/ins&gt;transitions &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;d'un encodeur à quadrature sont souvent détectés en surveillant directement les deux canaux de l'encodeur&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Cependant&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sur un Romi, ces &lt;/ins&gt;transitions &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sont produites à un fréquence très élevée &lt;/ins&gt;(&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;plusieurs milliers par secondes&lt;/ins&gt;) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;lorsque les moteurs fonctionnent&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;il est nécessaire d'utiliser les interruptions sur les broches de l'AVR ou interruption externe pour lire les encodeurs&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pour réduire le nombre de broches d'interruption nécessaires&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;la carte de contrôle &lt;/ins&gt;Romi 32U4 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt; &lt;/ins&gt;XORs together both channels of each encoder and connects the resulting signal to an interrupt pin, while channel B of each encoder is connected to a non-interrupt pin:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Digital pin 7''', or PE6, reads the '''right encoder XORed signal''' using external interrupt INT6.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Digital pin 7''', or PE6, reads the '''right encoder XORed signal''' using external interrupt INT6.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Digital pin 8''', or PB4, reads the '''left encoder XORed signal''' using pin change interrupt PCINT4.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''Digital pin 8''', or PB4, reads the '''left encoder XORed signal''' using pin change interrupt PCINT4.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28240&amp;oldid=prev</id>
		<title>Admin : /* Quadrature encoders */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28240&amp;oldid=prev"/>
		<updated>2019-06-03T22:20:25Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Quadrature encoders&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 3 juin 2019 à 22:20&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot; &gt;Ligne 18 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 18 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{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.}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{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.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Quadrature encoders &lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Encodeurs à quadrature &lt;/ins&gt;==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Romi 32U4 Control Board is configured to connect the quadrature encoder outputs from the Romi Encoder Pair Kit to the ATmega32U4 microcontroller. The encoders can be used to track the rotational speed and direction of the robot’s drive wheels. They provide a resolution of 12 counts per revolution of the motor shaft when counting both edges of both channels, which corresponds to approximately 1440 counts per revolution of the Romi’s wheels. For more information about the specifications of the Romi encoders, please see the Romi Encoder Pair Kit product page.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Romi 32U4 Control Board is configured to connect the quadrature encoder outputs from the Romi Encoder Pair Kit to the ATmega32U4 microcontroller. The encoders can be used to track the rotational speed and direction of the robot’s drive wheels. They provide a resolution of 12 counts per revolution of the motor shaft when counting both edges of both channels, which corresponds to approximately 1440 counts per revolution of the Romi’s wheels. For more information about the specifications of the Romi encoders, please see the Romi Encoder Pair Kit product page.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28239&amp;oldid=prev</id>
		<title>Admin : /* Contrôleur moteurs */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28239&amp;oldid=prev"/>
		<updated>2019-06-03T22:19:35Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Contrôleur moteurs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 3 juin 2019 à 22:19&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l4&quot; &gt;Ligne 4 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 4 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Contrôleur moteurs ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Contrôleur moteurs ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The Romi &lt;/del&gt;32U4 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Control Board has two &lt;/del&gt;Texas Instruments &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;DRV8838 motor drivers that are used to power the Romi chassis’s two &lt;/del&gt;mini &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;plastic gearmotors &lt;/del&gt;{{polpl|1520}}. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Four &lt;/del&gt;Arduino &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pins are used to control the drivers&lt;/del&gt;:&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;La carte contrôleur ROMI &lt;/ins&gt;32U4 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;est équipé de deux contrôleur moteur DRV8838 de &lt;/ins&gt;Texas Instruments &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;qui sont utilisés pour la puissance délivrée aux deux &lt;/ins&gt;mini &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;moteurs plastique avec boîte de vitesse &lt;/ins&gt;{{polpl|1520}}. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Quatres broches de l'&lt;/ins&gt;Arduino &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sont utilisées pour piloter les contrôleurs&lt;/ins&gt;:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Digital pin &lt;/del&gt;15'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, or &lt;/del&gt;PB1&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, controls the &lt;/del&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;right motor direction&lt;/del&gt;''' (LOW drives the motor forward, HIGH drives it in reverse).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Broche digital &lt;/ins&gt;15''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(ou &lt;/ins&gt;PB1&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) contrôle le &lt;/ins&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sens de rotation du moteur droit&lt;/ins&gt;''' (LOW drives the motor forward, HIGH drives it in reverse).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Digital pin &lt;/del&gt;16'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, or &lt;/del&gt;PB2&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, controls the &lt;/del&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;left motor direction&lt;/del&gt;'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Broche digital &lt;/ins&gt;16''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(ou &lt;/ins&gt;PB2&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) contrôle le &lt;/ins&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sens de rotation du moteur gauche&lt;/ins&gt;'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Digital pin &lt;/del&gt;9'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, or &lt;/del&gt;PB5&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, controls the &lt;/del&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;right motor speed&lt;/del&gt;''' &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;with &lt;/del&gt;PWM (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;pulse width &lt;/del&gt;modulation) &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;generated by the ATmega32U4’s &lt;/del&gt;Timer1.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Broche digital &lt;/ins&gt;9''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(ou &lt;/ins&gt;PB5&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) contrôle la &lt;/ins&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vitesse du moteur droit&lt;/ins&gt;''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;avec du &lt;/ins&gt;PWM (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;''Pulse Width Modulation'', &lt;/ins&gt;modulation &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;de longueur d'impulsion&lt;/ins&gt;) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;généré par le &lt;/ins&gt;Timer1 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;de l'ATmega32U4&lt;/ins&gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Digital pin &lt;/del&gt;10'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, or &lt;/del&gt;PB6&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;, controls the &lt;/del&gt;'''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;left motor speed&lt;/del&gt;''' &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;with &lt;/del&gt;PWM.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* '''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Broche digital &lt;/ins&gt;10''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;(ou &lt;/ins&gt;PB6&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;) contrôle la &lt;/ins&gt;'''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;vitesse du moteur gauche&lt;/ins&gt;''' &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;avec du &lt;/ins&gt;PWM.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;For more &lt;/del&gt;information &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;about the drivers&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;see the &lt;/del&gt;[https://www.pololu.com/file/0J806/drv8838.pdf DRV8838 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;datasheet&lt;/del&gt;] (''&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;1MB &lt;/del&gt;pdf''). Popolu propose également une carte contrôleur moteur dit ''carrier board'' {{polpl|2990}} exploitant la DRV8838.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Pour plus d'&lt;/ins&gt;information &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;sur les contrôleurs moteurs&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;voyez la &lt;/ins&gt;[https://www.pololu.com/file/0J806/drv8838.pdf &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;fiche technique du &lt;/ins&gt;DRV8838 ] (''&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;1 Mio, &lt;/ins&gt;pdf''). Popolu propose également une carte contrôleur moteur dit ''carrier board'' {{polpl|2990}} exploitant la DRV8838.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The &lt;/del&gt;Romi32U4 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;library provides functions that allow you to easily control the motors &lt;/del&gt;(voir &amp;quot;[[Pololu-Romi-32U4-Programmer-AVRDUDE|Programmer avec avr-gcc et AVRDUDE]]&amp;quot;).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;La bibliothèque &lt;/ins&gt;Romi32U4 &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;offre des fonctions qui permet de contrôler facilement les moteurs &lt;/ins&gt;(voir &amp;quot;[[Pololu-Romi-32U4-Programmer-AVRDUDE|Programmer avec avr-gcc et AVRDUDE]]&amp;quot;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;The motor driver connections are brought out to two pairs of headers that are intended to interface with the &lt;/del&gt;{{pl|1452|&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Paire &lt;/del&gt;d'encodeur rotatif pour Romi}} {{polpl|3542}}. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;A pair of low&lt;/del&gt;-profile &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;female headers is included with the &lt;/del&gt;Romi 32U4 &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;Control Board and can be soldered into either the outer or inner row of through-holes on each side&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;(&lt;/del&gt;Note &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;that these headers must be soldered into the positions that match the male header installed on the encoder board&lt;/del&gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Les connexions de la carte contrôleur Romi 32U4 expose des connecteurs prévu pour interfacer une &lt;/ins&gt;{{pl|1452|&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;paire &lt;/ins&gt;d'encodeur rotatif pour Romi}} {{polpl|3542}}&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, connecteurs présent par paire (un rangée vers &amp;quot;l'intérieur&amp;quot; et une rangée vers &amp;quot;l'extérieur&amp;quot;)&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Une paire de connecteurs femelles bas&lt;/ins&gt;-profile &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;est inclus avec la carte contrôleur &lt;/ins&gt;Romi 32U4&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;, connecteurs qui peuvent être soudés sur chaque côté de la carte Romi (soit dans la rangée de connecteur &amp;quot;intérieur&amp;quot;, soit sur le connecteur &amp;quot;extérieur&amp;quot;)&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''&lt;/ins&gt;Note&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;:''' les connecteurs doivent être soudés dans la position correspondant au connecteur mâle présent sur l'encodeur rotatif&lt;/ins&gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{ambox|text=&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;As your batteries run out&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;the voltage supplied to the motor drivers (&lt;/del&gt;VSW&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;) will decrease&lt;/del&gt;, &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;which will make the motors slower&lt;/del&gt;. &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;It is &lt;/del&gt;possible &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;to account for this in your &lt;/del&gt;code &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;by monitoring the battery voltage &lt;/del&gt;(voir [[Pololu-Romi-32U4-Carte-Alimentation|section alimentation]]) &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;or using the encoders and other sensors to monitor the movement of the &lt;/del&gt;robot.}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{ambox|text=&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Au fur et à mesure que les piles se déchargent&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;la tension &lt;/ins&gt;VSW &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;fournie au contrôleur moteur diminuera&lt;/ins&gt;, &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;ce qui ralentira le moteur&lt;/ins&gt;. &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;Il est tout à fait &lt;/ins&gt;possible &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;de gérer cela dans le &lt;/ins&gt;code &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;en surveillant la tension des piles &lt;/ins&gt;(voir [[Pololu-Romi-32U4-Carte-Alimentation|section alimentation]]) &lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;'''OU''' en utilisant des encodeurs (ou autre capteurs) capable de surveiller les mouvements du &lt;/ins&gt;robot.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Quadrature encoders ==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Quadrature encoders ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28222&amp;oldid=prev</id>
		<title>Admin : /* Quadrature encoders */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28222&amp;oldid=prev"/>
		<updated>2019-05-21T19:03:32Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Quadrature encoders&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 21 mai 2019 à 19:03&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l32&quot; &gt;Ligne 32 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 32 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The XORed signal and the channel B signal can be used to reconstruct the channel A signal by simply XORing them again: '''(A XOR B) XOR B = A'''. For both encoders, channel B leads channel A when the motor is rotating in the forward direction; that is, B rises before A rises and B falls before A falls. (The waveforms in the diagram above would be produced by forward rotation.) Note that this description designates the A and B signals as labeled on the control board itself, which puts A in front on both sides.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The XORed signal and the channel B signal can be used to reconstruct the channel A signal by simply XORing them again: '''(A XOR B) XOR B = A'''. For both encoders, channel B leads channel A when the motor is rotating in the forward direction; that is, B rises before A rises and B falls before A falls. (The waveforms in the diagram above would be produced by forward rotation.) Note that this description designates the A and B signals as labeled on the control board itself, which puts A in front on both sides.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Romi32U4 library provides appropriate interrupt service routines and functions for reading the encoders and keeping track of their counts (&lt;del class=&quot;diffchange diffchange-inline&quot;&gt;see Section 6&lt;/del&gt;).&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Romi32U4 library provides appropriate interrupt service routines and functions for reading the encoders and keeping track of their counts (&lt;ins class=&quot;diffchange diffchange-inline&quot;&gt;voir section &amp;quot;[[Pololu-Romi-32U4-Bibliotheque|Bibliothèque Arduino Romi 32U4]]&amp;quot;&lt;/ins&gt;).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28219&amp;oldid=prev</id>
		<title>Admin : /* Quadrature encoders */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28219&amp;oldid=prev"/>
		<updated>2019-05-21T18:58:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Quadrature encoders&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 21 mai 2019 à 18:58&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l29&quot; &gt;Ligne 29 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 29 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Pololu-Romi-32U4-Carte-Moteur-et-encodeur-00.png]]&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Fichier:Pololu-Romi-32U4-Carte-Moteur-et-encodeur-00.png]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The XORed signal and the channel B signal can be used to reconstruct the channel A signal by simply XORing them again: '''(A XOR B) XOR B = A'''. For both encoders, channel B leads channel A when the motor is rotating in the forward direction; that is, B rises before A rises and B falls before A falls. (The waveforms in the diagram above would be produced by forward rotation.) Note that this description designates the A and B signals as labeled on the control board itself, which puts A in front on both sides.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The Romi32U4 library provides appropriate interrupt service routines and functions for reading the encoders and keeping track of their counts (see Section 6).&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28218&amp;oldid=prev</id>
		<title>Admin : /* Quadrature encoders = */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28218&amp;oldid=prev"/>
		<updated>2019-05-21T18:55:29Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Quadrature encoders =&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 21 mai 2019 à 18:55&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot; &gt;Ligne 18 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 18 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{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 (voir [[Pololu-Romi-32U4-Carte-Alimentation|section alimentation]]) or using the encoders and other sensors to monitor the movement of the robot.}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{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 (voir [[Pololu-Romi-32U4-Carte-Alimentation|section alimentation]]) or using the encoders and other sensors to monitor the movement of the robot.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt;−&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Quadrature encoders &lt;del class=&quot;diffchange diffchange-inline&quot;&gt;=&lt;/del&gt;==&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;== Quadrature encoders ==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Romi 32U4 Control Board is configured to connect the quadrature encoder outputs from the Romi Encoder Pair Kit to the ATmega32U4 microcontroller. The encoders can be used to track the rotational speed and direction of the robot’s drive wheels. They provide a resolution of 12 counts per revolution of the motor shaft when counting both edges of both channels, which corresponds to approximately 1440 counts per revolution of the Romi’s wheels. For more information about the specifications of the Romi encoders, please see the Romi Encoder Pair Kit product page.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Romi 32U4 Control Board is configured to connect the quadrature encoder outputs from the Romi Encoder Pair Kit to the ATmega32U4 microcontroller. The encoders can be used to track the rotational speed and direction of the robot’s drive wheels. They provide a resolution of 12 counts per revolution of the motor shaft when counting both edges of both channels, which corresponds to approximately 1440 counts per revolution of the Romi’s wheels. For more information about the specifications of the Romi encoders, please see the Romi Encoder Pair Kit product page.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l28&quot; &gt;Ligne 28 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 28 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pin '''PE2''' reads the '''left encoder channel B'''.&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* Pin '''PE2''' reads the '''left encoder channel B'''.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Fichier:Pololu-Romi-32U4-Carte-Moteur-et-encodeur-00.png]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
	<entry>
		<id>https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28217&amp;oldid=prev</id>
		<title>Admin : /* Contrôleur moteurs */</title>
		<link rel="alternate" type="text/html" href="https://wiki.mchobby.be/index.php?title=Pololu-Romi-32U4-Carte-Moteur-et-encodeur&amp;diff=28217&amp;oldid=prev"/>
		<updated>2019-05-21T18:55:00Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Contrôleur moteurs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left diff-editfont-monospace&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;fr&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Version précédente&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Version du 21 mai 2019 à 18:55&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot; &gt;Ligne 18 :&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Ligne 18 :&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{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 (voir [[Pololu-Romi-32U4-Carte-Alimentation|section alimentation]]) or using the encoders and other sensors to monitor the movement of the robot.}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{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 (voir [[Pololu-Romi-32U4-Carte-Alimentation|section alimentation]]) or using the encoders and other sensors to monitor the movement of the robot.}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== Quadrature encoders ===&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The Romi 32U4 Control Board is configured to connect the quadrature encoder outputs from the Romi Encoder Pair Kit to the ATmega32U4 microcontroller. The encoders can be used to track the rotational speed and direction of the robot’s drive wheels. They provide a resolution of 12 counts per revolution of the motor shaft when counting both edges of both channels, which corresponds to approximately 1440 counts per revolution of the Romi’s wheels. For more information about the specifications of the Romi encoders, please see the Romi Encoder Pair Kit product page.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Quadrature encoder transitions are often detected by monitoring both encoder channels directly. However, since transitions on the Romi’s encoders can occur at high frequencies (several thousand per second) when its motors are running, it is necessary to use the AVR’s pin change interrupts or external interrupts to read the encoders. To reduce the required number of interrupt pins, the Romi 32U4 Control Board XORs together both channels of each encoder and connects the resulting signal to an interrupt pin, while channel B of each encoder is connected to a non-interrupt pin:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* '''Digital pin 7''', or PE6, reads the '''right encoder XORed signal''' using external interrupt INT6.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* '''Digital pin 8''', or PB4, reads the '''left encoder XORed signal''' using pin change interrupt PCINT4.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* '''Digital pin 23''' (analog pin 5), or PF0, reads the '''right encoder channel B'''.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot;&gt; &lt;/td&gt;&lt;td class='diff-marker'&gt;+&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* Pin '''PE2''' reads the '''left encoder channel B'''.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;td class='diff-marker'&gt; &lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Pololu-Romi-32U4-TRAILER}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Admin</name></author>
	</entry>
</feed>