Micro-robots communicants : Différence entre versions

De Wiki d'activités IMA
(Liste de composants)
(Semaine 6)
 
(121 révisions intermédiaires par 2 utilisateurs non affichées)
Ligne 9 : Ligne 9 :
 
==== <span style="color:#6A6AFF">Description du stage</span> ====
 
==== <span style="color:#6A6AFF">Description du stage</span> ====
  
Pour mon stage on va réaliser une carte petite qui peut contrôler le robot qui a trois types de motorisations:
+
L'objectif de mon stage est de réaliser une petite carte de contrôle de robot mobile. Les robots pourront avoir trois types de motorisations : vibreurs, servo-moteurs continus et micro-moteurs.
vibreurs, servo-moteurs continus et micro-moteurs
 
  
D'abord, il faut concevoir la carte par modifier la carte existe déjà. Il faut que je retirer le chip Ethernet et le convertisseur de niveau logique et les composants qui on n'a pas besoin, pour faire la carte plus petites possible. Il faut aussi ajouter un contrôleur de moteur TB6612. Comme l'on veut une carte petites pour un robot compact, on va mettre le contrôleur de moteur sur la face inférieure.
+
I faut d'abord concevoir la carte en se basant sur les cartes déjà conçues à l'école. Il m'est demandé de partir d'une carte basée sur un ATMega328p et un contrôleur Ethernet. J'ai retiré ce dernier, le convertisseur de niveaux et d'autres composants inutiles pour mon projet. Il faut ajouter un contrôleur de moteur (TB6612), des détecteurs infrarouges (3 TSOP IR) , une LED infrarouge et des lignes pour les servo-moteurs. La carte doit être la plus petite possible, il a été un temps envisagé de positionner le contrôleur de moteurs sur la face inférieure.
  
Ensuite, il faut écrire un programme pour réaliser 2 PWM sur le ATMega328p pour gérer les servo-moteurs.
+
Par la suite, il faudra écrire le code ATMega328p pour générer les PWM nécessaires aux servo-moteurs ou au contrôleur de moteurs. Pour la communication nous utiliserons le protocole RC5 qui permet une certaine immunité à la lumière ambiante.
Et pour la communication entre les robots, on utilisera de l'infrarouge, donc il faut prévoir une LED infrarouge sur la carte et au moins 3récepteurs(TSOP) sur la carte.
 
  
Enfin, on va tester les trois motorisations: vibreurs, servo-moteurs continus et micro-moteurs pour voir que la carte est bien fonctionné.
+
Enfin, nous allons tester les trois motorisations: vibreurs, servo-moteurs continus et micro-moteurs pour vérifier le bon fonctionnement de la carte. Si plusieurs robots fonctionnent certains seront programmés pour repérer les autres et les poursuivre.
 
 
==== <span style="color:#6A6AFF">Choix techniques</span> ====
 
 
 
===== Matériel =====
 
*Micro Servo moteur a rotation continu - FS90 [http://www.robotshop.com/eu/fr/micro-servomoteur-9g-48v.html] 
 
(Dimensions : 23,2 X 12,5 X 22 mm)
 
 
 
===== Logiciel =====
 
Fritzing
 
 
 
===== Outil=====
 
  
 
== <span style="color:#D94600">Avancement du stage</span> ==
 
== <span style="color:#D94600">Avancement du stage</span> ==
 
=== <span style="color:#6FB7B7">Semaine 1</span> ===
 
=== <span style="color:#6FB7B7">Semaine 1</span> ===
  
Pour la première semaine, j'ai vu quelques documents pour mieux comprendre ce projet.
+
Durant la première semaine, j'ai d'abord consulté quelques documents pour mieux comprendre ce projet.
 +
 
 +
Ensuite j'ai réalisé le schématique de la carte contrôleur à l'aide du logiciel Fritzing principalement en ajoutant la partie contrôle de moteurs.
  
Et j'ai fait le schématique de la carte de contrôleur sur le logicielle fritzing. (à la référence de les projets d'avant, j'ai ajouté la partie moteur)
+
Les figures suivantes constituent la schématique de la carte :
  
[[Fichier:xxy1.png]]
+
<gallery widths=600px heights=300px>
 +
Fichier:xxy2.png|Partie alimentation
 +
Fichier:xxy1.png|Partie moteurs
 +
</gallery>
  
[[Fichier:xxy2.png]]
+
<gallery widths=600px heights=300px>
 +
Fichier:xxy3.png|Partie USB
 +
Fichier:xxy4.png|Partiemicro-controleur à la prémière version
 +
</gallery>
  
[[Fichier:xxy3.png]]
+
Après la schématique, je me suis attaqué au routage de la carte.
  
[[Fichier:xxy4.png]]
+
=== <span style="color:#6FB7B7">Semaine 2</span> ===
  
 +
Dans la deuxième semaine, j'ai modifié un peu la partie micro-contrôleur de la schématique pour ajouter un quartz de plus faibles dimensions, comme ça, lors du soudage de la carte on pourra choisir de souder l'un ou l'autre.
  
 +
Et j'ai ajouté les leds aussi.
  
=== <span style="color:#6FB7B7">Semaine 2</span> ===
+
J'ai ensuite terminé le routage.
  
J'ai ajouté un petit quartz, comme ça, lors du soudage de la carte on pourra choisir de
+
[[Fichier:xxy5.png|thumb|600px|left|Partie micro-contrôleur modifiée avec 2 quartz]]
souder l'un ou l'autre.
 
  
[[Fichier:xxy5.png]]
+
[[Fichier:xxy6.png|thumb|400px|right|Carte routée]]
  
 +
<br style="clear: both;" />
  
Après, j'ai fini le routage de PCB:
+
===Liste de composants===
  
[[Fichier:xxy6.png]]
+
Il m'a été demandé la liste exhaustive des composants nécessaires pour les micro-robots.
  
===Liste de composants===
+
Le micro servo-moteur a rotation continue sélectionné est un FS90 [http://www.robotshop.com/eu/fr/micro-servomoteur-9g-48v.html]. Ses dimensions sont 23,2 X 12,5 X 22 mm.
  
 
{| class="wikitable"
 
{| class="wikitable"
Ligne 70 : Ligne 67 :
 
| 1
 
| 1
 
| http://fr.farnell.com/atmel/atmega328p-au/mcu-8bit-atmega-20mhz-tqfp-32/dp/1715486
 
| http://fr.farnell.com/atmel/atmega328p-au/mcu-8bit-atmega-20mhz-tqfp-32/dp/1715486
| déjà eu
+
| <font style="color: green;">disponible</font>
|-
 
 
|-
 
|-
 
| Condensateur 100nF
 
| Condensateur 100nF
Ligne 79 : Ligne 75 :
 
| 11
 
| 11
 
| http://fr.farnell.com/multicomp/mc0201x104k6r3ct/condensateur-mlcc-x5r-100nf-6/dp/2320753
 
| http://fr.farnell.com/multicomp/mc0201x104k6r3ct/condensateur-mlcc-x5r-100nf-6/dp/2320753
|
+
|  
|-
 
 
|-
 
|-
 
| Condensateur 10uF
 
| Condensateur 10uF
Ligne 88 : Ligne 83 :
 
| 2
 
| 2
 
| http://fr.farnell.com/wurth-elektronik/885012106006/condesateur-mlcc-x5r-10uf-6-3v/dp/2495147
 
| http://fr.farnell.com/wurth-elektronik/885012106006/condesateur-mlcc-x5r-10uf-6-3v/dp/2495147
|
+
|  
 
|-  
 
|-  
|-
 
 
| Condensateur 22pF
 
| Condensateur 22pF
 
| AVX
 
| AVX
Ligne 97 : Ligne 91 :
 
| 2
 
| 2
 
| http://www.mouser.fr/ProductDetail/AVX/06036A220KAT2A/?qs=sGAEpiMZZMs0AnBnWHyRQKdiqyDPVQdATEC6RfUr2zQ%3d
 
| http://www.mouser.fr/ProductDetail/AVX/06036A220KAT2A/?qs=sGAEpiMZZMs0AnBnWHyRQKdiqyDPVQdATEC6RfUr2zQ%3d
|
+
|  
 
|-  
 
|-  
|-
 
 
| Rectifier Diode
 
| Rectifier Diode
 
| Vishay Semiconductors
 
| Vishay Semiconductors
Ligne 106 : Ligne 99 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/Vishay-Semiconductors/GL34G-E3-83/?qs=sGAEpiMZZMutXGli8Ay4kH9ZXA1Qtv9UOwbhSBXDb18%3d
 
| http://www.mouser.fr/ProductDetail/Vishay-Semiconductors/GL34G-E3-83/?qs=sGAEpiMZZMutXGli8Ay4kH9ZXA1Qtv9UOwbhSBXDb18%3d
|
+
|  
 
|-  
 
|-  
|-
 
 
| FA238
 
| FA238
 
| EPSON
 
| EPSON
Ligne 115 : Ligne 107 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/Epson-Timing/TSX-3225-160000MF09Z-AC3/?qs=sGAEpiMZZMsBj6bBr9Q9acukpafrIaZ1%2fpqCtYImzz0%3d
 
| http://www.mouser.fr/ProductDetail/Epson-Timing/TSX-3225-160000MF09Z-AC3/?qs=sGAEpiMZZMsBj6bBr9Q9acukpafrIaZ1%2fpqCtYImzz0%3d
|
+
| <font style="color: green;">disponible</font>
 
|-  
 
|-  
|-
 
 
| Servo moteur
 
| Servo moteur
 
| Fitec
 
| Fitec
Ligne 124 : Ligne 115 :
 
| 2
 
| 2
 
| http://www.robotshop.com/eu/fr/micro-servomoteur-9g-48v.html
 
| http://www.robotshop.com/eu/fr/micro-servomoteur-9g-48v.html
|
+
|  
|-
 
 
|-
 
|-
 
| Blue LED
 
| Blue LED
Ligne 133 : Ligne 123 :
 
| 2
 
| 2
 
| http://www.mouser.fr/ProductDetail/Kingbright/APHB1608LVBDZGKC/?qs=sGAEpiMZZMseGfSY3csMkcwbVq2rhH5Mu7mYFMpmGAhvgXBy5N%252b7kA%3d%3d
 
| http://www.mouser.fr/ProductDetail/Kingbright/APHB1608LVBDZGKC/?qs=sGAEpiMZZMseGfSY3csMkcwbVq2rhH5Mu7mYFMpmGAhvgXBy5N%252b7kA%3d%3d
|
+
|
|-
 
 
|-
 
|-
 
| Green LED
 
| Green LED
Ligne 142 : Ligne 131 :
 
| 2
 
| 2
 
| http://www.mouser.fr/ProductDetail/Kingbright/APT1608SGC/?qs=sGAEpiMZZMseGfSY3csMkeytxqHAv00AcF6Dm1xSW98%3d
 
| http://www.mouser.fr/ProductDetail/Kingbright/APT1608SGC/?qs=sGAEpiMZZMseGfSY3csMkeytxqHAv00AcF6Dm1xSW98%3d
|
+
|  
 
|-  
 
|-  
|-
 
 
| Red LED
 
| Red LED
 
| KingBright
 
| KingBright
Ligne 151 : Ligne 139 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/Kingbright/APHB1608ZGSURKC/?qs=sGAEpiMZZMseGfSY3csMkdKNYmh3uDipxtOOfF4A5sw%3d
 
| http://www.mouser.fr/ProductDetail/Kingbright/APHB1608ZGSURKC/?qs=sGAEpiMZZMseGfSY3csMkdKNYmh3uDipxtOOfF4A5sw%3d
|
+
|  
 
|-  
 
|-  
|-
 
 
| Yellow LED
 
| Yellow LED
 
| KingBright
 
| KingBright
Ligne 160 : Ligne 147 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/Kingbright/APT1608SYCK/?qs=sGAEpiMZZMsQtlBhqKq43Wn3QbM4OLG1
 
| http://www.mouser.fr/ProductDetail/Kingbright/APT1608SYCK/?qs=sGAEpiMZZMsQtlBhqKq43Wn3QbM4OLG1
|
+
|  
|-
 
 
|-
 
|-
 
| Orange LED
 
| Orange LED
Ligne 169 : Ligne 155 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/Kingbright/APTD1608SECK/?qs=sGAEpiMZZMt82OzCyDsLFNLWq0AjqZj1Bh9swU8LC68%3d
 
| http://www.mouser.fr/ProductDetail/Kingbright/APTD1608SECK/?qs=sGAEpiMZZMt82OzCyDsLFNLWq0AjqZj1Bh9swU8LC68%3d
|
+
|  
|-
 
 
|-
 
|-
 
| White LED 6200K
 
| White LED 6200K
Ligne 178 : Ligne 163 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/OSRAM-Opto-Semiconductors/LW-L283-Q1R2-3K8L-1-Z/?qs=sGAEpiMZZMsgSGrx0WqTbPUyJ8s29bGV
 
| http://www.mouser.fr/ProductDetail/OSRAM-Opto-Semiconductors/LW-L283-Q1R2-3K8L-1-Z/?qs=sGAEpiMZZMsgSGrx0WqTbPUyJ8s29bGV
|
+
|  
|-
 
 
|-
 
|-
 
| Infrarouge
 
| Infrarouge
| Vishay Semiconductors
+
| OSRAM Opto Semiconductors
| VSLY3850
+
| SFH 4845
| Mouser
+
| mouser
 
| 1
 
| 1
| http://www.mouser.fr/ProductDetail/Vishay-Semiconductors/VSLY3850/?qs=sGAEpiMZZMvAL21a%2fDhxMu7oPpuRpqzwjbEZVOa9v2c%3d
+
| http://fr.rshttp://fr.rs-online.com/web/p/phototransistors/6548047/-online.com/web/p/phototransistors/6548047/
|
+
|  
|-
 
 
|-
 
|-
 
| 1kΩ Resistor
 
| 1kΩ Resistor
Ligne 196 : Ligne 179 :
 
| 2
 
| 2
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ102/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejvfM9hA7acow%3d
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ102/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejvfM9hA7acow%3d
|
+
|  
|-
 
 
|-
 
|-
 
| 10kΩ Resistor
 
| 10kΩ Resistor
Ligne 205 : Ligne 187 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ103/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejZIagwiN2IRk%3d
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ103/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejZIagwiN2IRk%3d
|
+
|  
|-
 
 
|-
 
|-
 
| 1MΩ Resistor
 
| 1MΩ Resistor
Ligne 214 : Ligne 195 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ105/?qs=sGAEpiMZZMu61qfTUdNhG79AcIiSWYOgHx87yIE%2f9KKMdGhl9FJu5g%3d%3d
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ105/?qs=sGAEpiMZZMu61qfTUdNhG79AcIiSWYOgHx87yIE%2f9KKMdGhl9FJu5g%3d%3d
|
+
|  
|-
 
 
|-
 
|-
 
| 470Ω Resistor
 
| 470Ω Resistor
Ligne 223 : Ligne 203 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/KTR03EZPJ471/?qs=sGAEpiMZZMu61qfTUdNhGwzMi690UM7UxxZFBtRl4vg%3d
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/KTR03EZPJ471/?qs=sGAEpiMZZMu61qfTUdNhGwzMi690UM7UxxZFBtRl4vg%3d
|
+
|  
|-
 
 
|-
 
|-
 
| 330Ω Resistor
 
| 330Ω Resistor
Ligne 232 : Ligne 211 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ331/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejYH%2fBWzzt0Tg%3d
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ331/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejYH%2fBWzzt0Tg%3d
|
+
|  
|-
 
 
|-
 
|-
 
| 220Ω Resistor
 
| 220Ω Resistor
Ligne 241 : Ligne 219 :
 
| 8
 
| 8
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ221/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejce8FZC1%2fFYU%3d
 
| http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ221/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejce8FZC1%2fFYU%3d
|
+
|  
|-
 
 
|-
 
|-
 
| switch
 
| switch
Ligne 250 : Ligne 227 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/ALPS/SKQGADE010/?qs=sGAEpiMZZMsqIr59i2oRcrO5GDYRXDIX6cdtN26xmPE%3d
 
| http://www.mouser.fr/ProductDetail/ALPS/SKQGADE010/?qs=sGAEpiMZZMsqIr59i2oRcrO5GDYRXDIX6cdtN26xmPE%3d
| déjà eu
+
| <font style="color: green;">disponible</font>
|-
 
 
|-
 
|-
 
| USB Chip
 
| USB Chip
Ligne 259 : Ligne 235 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/FTDI/FT232RL-REEL/?qs=sGAEpiMZZMs5ceO8zL%252bTxyQLQIH6hE7q
 
| http://www.mouser.fr/ProductDetail/FTDI/FT232RL-REEL/?qs=sGAEpiMZZMs5ceO8zL%252bTxyQLQIH6hE7q
| déjà eu
+
| <font style="color: green;">disponible</font>
|-
 
 
|-
 
|-
 
| USB Connecteur
 
| USB Connecteur
Ligne 268 : Ligne 243 :
 
| 1
 
| 1
 
| /
 
| /
| déjà eu
+
| <font style="color: green;">disponible</font>
 
|-
 
|-
 
|-
 
|-
| LM1117
+
| LM1117IMPX-5
| /
+
| Régulateur 5v
 
| /
 
| /
 
| /
 
| /
 
| 1
 
| 1
 
| /
 
| /
| déjà eu
+
| <font style="color: green;">disponible</font>
 
|-
 
|-
 
|-
 
|-
 
| TB6612FNG
 
| TB6612FNG
| /
+
| Contrôleur moteurs
 
| /
 
| /
 
| /
 
| /
 
| 1
 
| 1
 
| /
 
| /
| déjà eu
+
| <font style="color: green;">disponible</font>
 
|-
 
|-
 
|-
 
|-
| cristal
+
| Quartz
 
| ECS
 
| ECS
 
| ECS-160-20-3X-TR
 
| ECS-160-20-3X-TR
Ligne 295 : Ligne 270 :
 
| 1
 
| 1
 
| http://www.mouser.fr/ProductDetail/ECS/ECS-160-20-3X-TR/?qs=sGAEpiMZZMvAbnEMxb34PZ9bYWrwSXiB
 
| http://www.mouser.fr/ProductDetail/ECS/ECS-160-20-3X-TR/?qs=sGAEpiMZZMvAbnEMxb34PZ9bYWrwSXiB
| déjà eu
+
| <font style="color: green;">disponible</font>
 +
|-
 +
| infrarouge récepteur
 +
| Vishay Semiconductors
 +
| TSOP38238
 +
| Mouser
 +
| 3
 +
| http://www.mouser.fr/ProductDetail/Vishay-Semiconductors/TSOP38238/?qs=sGAEpiMZZMvAL21a%2fDhxMtgKho2n4%2fgBkajAZHPY5lE%3d
 +
|
 +
|-
 +
| Batteries 9V
 +
| Panasonic
 +
| 6LF22XWA/B12
 +
| Mouser
 +
| 1
 +
| http://www.mouser.fr/ProductDetail/Panasonic-Battery/6LF22XWA-B12/?qs=sGAEpiMZZMsra%2fh506hF%252bITISQoCasqh1k2eJLis9sg%3d
 +
|
 +
|-
 +
| Vibration motor
 +
| Parallax
 +
| 28821
 +
| Mouser
 +
| 2
 +
| http://www.mouser.fr/ProductDetail/Parallax/28821/?qs=sGAEpiMZZMu7pzTmx5q0Qavt7B3%252b7HBc
 +
| <font style="color: green;">disponible</font>
 +
|-
 +
| Roue de balance
 +
| Pololu
 +
| RB-pol-91
 +
| Robotshop
 +
| 1
 +
| http://www.robotshop.com/eu/fr/roulette-bille-pololu-0375-po-metal.html
 +
|
 
|-
 
|-
 
|}
 
|}
  
=== <span style="color:#6FB7B7">Semaine 2</span> ===
+
===Chassis===
 +
 
 +
Après avoir établie la liste des composants, j'ai commencé à concevoir les 2 chassis :
 +
 +
*un chassis pour le robot avec servo-moteurs ;
 +
*un chassis pour le robot avec les vibreurs.
 +
 
 +
Les chassis ont été réalisés avec une découpeuse laser sur du plexiglass. Les découpes ont été dessinées avec le logiciel <code>inkscape</code>.
 +
 
 +
[[Fichier:xxy88.png|thumb|600px|left|Chassis servo-moteurs]]
 
   
 
   
 +
[[Fichier:xxy7.png|thumb|600px|right|Chassis vibreurs]]
  
 +
<br style="clear: both;" />
  
 
=== <span style="color:#6FB7B7">Semaine 3</span> ===
 
=== <span style="color:#6FB7B7">Semaine 3</span> ===
  
 +
*Après beaucoup d'essais j'ai fabriqué le chassis comme montré sur la figure suivante :
  
 +
[[Fichier:xxy18.png|thumb|500px|left|Chassis servo-moteurs]]
 +
[[Fichier:xxy28.png|thumb|500px|right|Chassis vibreurs]]
 +
<br style="clear: both;" />
 +
 +
*Dans la troisième semaine, j'ai soudé les composants de la carte.
 +
 +
[[Fichier:xinyue14.png|thumb|400px|left|la carte]]
 +
<br style="clear: both;" />
  
 
=== <span style="color:#6FB7B7">Semaine 4</span> ===
 
=== <span style="color:#6FB7B7">Semaine 4</span> ===
  
 +
*Dans la quatrième semaine, j'ai assemblé le robot et testé les fonctionnements des servo-moteurs et les vibreurs. Et ça marche bien.
 +
 
 +
[[Fichier:xxy123.png]]
 +
 +
*J'ai étudié les codes de servo-moteur continu et les protocoles infrarouge.
 +
*J'ai écrit les codes et réalisé le contrôle de mouvement avec une télécommande IR de PHILIPS.
 +
 +
[[Fichier:code_infra_servo.zip]]
 +
 +
 +
*J'ai rencontré des problèmes :
  
 +
#L'orientation de TSOP1 est inversée sur le PCB, il faut le souder en croisant des pattes.
 +
#les TSOPs doivent être liés à des broches d'interruption mais ils sont liés à des broches ADC, il faut modifier.
 +
#Pour la partie d'alimentation, il faut ajouter un interrupteur pour économiser la pile.
 +
#On va lier le VCC de chaque TSOP directement sur des sorties de l'ATmega pour choisir celui à utiliser.
  
 
=== <span style="color:#6FB7B7">Semaine 5</span> ===
 
=== <span style="color:#6FB7B7">Semaine 5</span> ===
  
 +
* Le chassis "servo-moteur" n'est pas très stable, chaque fois que le robot avance et recule vite, il tombe. Donc j'ai modifié le chassis pour poser la pile à plat et j'ai changé les roues par des modèles plus petits.
 +
 +
[[Fichier:chassiservomo2di.png]]
 +
 +
[[Fichier:chassiservoas.jpg|thumb|left|500px|Chassis servo-moteurs]]
 +
 +
<br style="clear: both;" />
 +
 +
* J'ai aussi modifié le chassis "vibreur", j'ai ajouté des dents pour que les vibreurs puissent faire avancer le robot dans une direction donnée.
  
 +
[[Fichier:chassivibe.png]]
 +
 
 +
[[Fichier:chassivibeas.jpg|thumb|left|500px|Chassis vibreur]] 
  
 +
<br style="clear: both;" />
 +
 +
* J'ai conçu un chassis "moto-réducteur", il est semblable au chassis "servo-moteur", mais la taille de moteur est un peu plus grande :
 +
 +
[[Fichier:chassi motord1dd.png]]
 +
 
 +
[[Fichier:chassimotoras.jpg|thumb|left|500px|Chassis moteur]]
 +
<br style="clear: both;" />
  
 
=== <span style="color:#6FB7B7">Semaine 6</span> ===
 
=== <span style="color:#6FB7B7">Semaine 6</span> ===
 +
 +
Dans la dernière semaine, j'ai soudé 2 autres cartes. Une pour le robot vibreur et l'autre pour le robot à base de moto-réducteur. J'ai aussi essayé d'écrire les codes en C pour le robot à base de moto-réducteur.
 +
 +
Pour le robot à base de moto-réducteur, il y a 7 broches à contrôler :
 +
 +
*STBY est pour activer le circuit. Si STBY est LOW le circuit est désactivé, si STBY est High, le circuit est activer.
 +
 +
*Chaque moteur est contrôlé par trois signaux PWM: AIN1 AIN2 et PWMA pour moteur A, BIN1 BIN2 et PWMB pour moteur B. PWMA va fixer la vitesse de rotation (de 0 à 255). AIN1 et AIN2 vont fixer le sens de rotation en commandant les sorties moteurs A01 et A02.
 +
 +
  [[Fichier:xxy1654.png]]
 +
 +
Du coup j'ai essayé d'initialiser toutes les broches en C, et écrit les fonctions en C, normalement il doit marcher mais la fonction delay marche pas bien, et il ne peut pas reculer. Il y a peut être quelques problèmes avec les régistres.
 +
 +
J'ai préparé le soutenance et écrit le rapport.
  
 
== <span style="color:#D94600"> Fiches rendus</span> ==
 
== <span style="color:#D94600"> Fiches rendus</span> ==
 +
 +
==Rapport==
 +
 +
* [[Media:rapport de stage de XUXinyue.pdf]]
 +
 +
==Les fichiers==
 +
 +
* [[Fichier:3 châssis des robots.zip]]
 +
* [[Fichier:code_infra_servo.zip]]
 +
* [[Fichier:code_moteur base à réducteur.zip]]

Version actuelle datée du 21 juillet 2017 à 17:11

Cahier des charges

Présentation générale du projet

Objectif du stage

L'objet de ce projet est de concevoir et fabriquer des robots mobiles relativement petits, simples et peu coûteux. Les robots devront pouvoir communiquer entre eux par infrarouge. La simplicité et le bas côut de fabrication des robots doit permettre d'en fabriquer en nombre suffisant pour simuler des comportements d'essaim d'insectes.

Description du stage

L'objectif de mon stage est de réaliser une petite carte de contrôle de robot mobile. Les robots pourront avoir trois types de motorisations : vibreurs, servo-moteurs continus et micro-moteurs.

I faut d'abord concevoir la carte en se basant sur les cartes déjà conçues à l'école. Il m'est demandé de partir d'une carte basée sur un ATMega328p et un contrôleur Ethernet. J'ai retiré ce dernier, le convertisseur de niveaux et d'autres composants inutiles pour mon projet. Il faut ajouter un contrôleur de moteur (TB6612), des détecteurs infrarouges (3 TSOP IR) , une LED infrarouge et des lignes pour les servo-moteurs. La carte doit être la plus petite possible, il a été un temps envisagé de positionner le contrôleur de moteurs sur la face inférieure.

Par la suite, il faudra écrire le code ATMega328p pour générer les PWM nécessaires aux servo-moteurs ou au contrôleur de moteurs. Pour la communication nous utiliserons le protocole RC5 qui permet une certaine immunité à la lumière ambiante.

Enfin, nous allons tester les trois motorisations: vibreurs, servo-moteurs continus et micro-moteurs pour vérifier le bon fonctionnement de la carte. Si plusieurs robots fonctionnent certains seront programmés pour repérer les autres et les poursuivre.

Avancement du stage

Semaine 1

Durant la première semaine, j'ai d'abord consulté quelques documents pour mieux comprendre ce projet.

Ensuite j'ai réalisé le schématique de la carte contrôleur à l'aide du logiciel Fritzing principalement en ajoutant la partie contrôle de moteurs.

Les figures suivantes constituent la schématique de la carte :

Après la schématique, je me suis attaqué au routage de la carte.

Semaine 2

Dans la deuxième semaine, j'ai modifié un peu la partie micro-contrôleur de la schématique pour ajouter un quartz de plus faibles dimensions, comme ça, lors du soudage de la carte on pourra choisir de souder l'un ou l'autre.

Et j'ai ajouté les leds aussi.

J'ai ensuite terminé le routage.

Partie micro-contrôleur modifiée avec 2 quartz
Carte routée


Liste de composants

Il m'a été demandé la liste exhaustive des composants nécessaires pour les micro-robots.

Le micro servo-moteur a rotation continue sélectionné est un FS90 [1]. Ses dimensions sont 23,2 X 12,5 X 22 mm.

Description Fabricant Référence Fabricant Fournisseur Quantité Lien fournisseur status
Microcontrôleur ATMEL ATMEGA328P-AU Farnell 1 http://fr.farnell.com/atmel/atmega328p-au/mcu-8bit-atmega-20mhz-tqfp-32/dp/1715486 disponible
Condensateur 100nF MULTICOMP MC0201X104K6R3CT Farnell 11 http://fr.farnell.com/multicomp/mc0201x104k6r3ct/condensateur-mlcc-x5r-100nf-6/dp/2320753
Condensateur 10uF WURTH ELEKTRONIK 885012106006 Farnell 2 http://fr.farnell.com/wurth-elektronik/885012106006/condesateur-mlcc-x5r-10uf-6-3v/dp/2495147
Condensateur 22pF AVX 06036A220KAT2A Mouser 2 http://www.mouser.fr/ProductDetail/AVX/06036A220KAT2A/?qs=sGAEpiMZZMs0AnBnWHyRQKdiqyDPVQdATEC6RfUr2zQ%3d
Rectifier Diode Vishay Semiconductors GL34G-E3/83 Mouser 1 http://www.mouser.fr/ProductDetail/Vishay-Semiconductors/GL34G-E3-83/?qs=sGAEpiMZZMutXGli8Ay4kH9ZXA1Qtv9UOwbhSBXDb18%3d
FA238 EPSON TSX-3225 16.0000MF09Z-AC3 Mouser 1 http://www.mouser.fr/ProductDetail/Epson-Timing/TSX-3225-160000MF09Z-AC3/?qs=sGAEpiMZZMsBj6bBr9Q9acukpafrIaZ1%2fpqCtYImzz0%3d disponible
Servo moteur Fitec RB-Fit-03 Robotshop 2 http://www.robotshop.com/eu/fr/micro-servomoteur-9g-48v.html
Blue LED KingBright APHB1608LVBDZGKC Mouser 2 http://www.mouser.fr/ProductDetail/Kingbright/APHB1608LVBDZGKC/?qs=sGAEpiMZZMseGfSY3csMkcwbVq2rhH5Mu7mYFMpmGAhvgXBy5N%252b7kA%3d%3d
Green LED KingBright APT1608SGC Mouser 2 http://www.mouser.fr/ProductDetail/Kingbright/APT1608SGC/?qs=sGAEpiMZZMseGfSY3csMkeytxqHAv00AcF6Dm1xSW98%3d
Red LED KingBright APHB1608ZGSURKC Mouser 1 http://www.mouser.fr/ProductDetail/Kingbright/APHB1608ZGSURKC/?qs=sGAEpiMZZMseGfSY3csMkdKNYmh3uDipxtOOfF4A5sw%3d
Yellow LED KingBright APT1608SYCK Mouser 1 http://www.mouser.fr/ProductDetail/Kingbright/APT1608SYCK/?qs=sGAEpiMZZMsQtlBhqKq43Wn3QbM4OLG1
Orange LED KingBright APTD1608SECK Mouser 1 http://www.mouser.fr/ProductDetail/Kingbright/APTD1608SECK/?qs=sGAEpiMZZMt82OzCyDsLFNLWq0AjqZj1Bh9swU8LC68%3d
White LED 6200K OSRAM Opto Semiconductors LW L283-Q1R2-3K8L-1-Z Mouser 1 http://www.mouser.fr/ProductDetail/OSRAM-Opto-Semiconductors/LW-L283-Q1R2-3K8L-1-Z/?qs=sGAEpiMZZMsgSGrx0WqTbPUyJ8s29bGV
Infrarouge OSRAM Opto Semiconductors SFH 4845 mouser 1 http://fr.rshttp://fr.rs-online.com/web/p/phototransistors/6548047/-online.com/web/p/phototransistors/6548047/
1kΩ Resistor ROHM Semiconductor ESR03EZPJ102 Mouser 2 http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ102/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejvfM9hA7acow%3d
10kΩ Resistor ROHM Semiconductor ESR03EZPJ103 Mouser 1 http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ103/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejZIagwiN2IRk%3d
1MΩ Resistor ROHM Semiconductor ESR03EZPJ105 Mouser 1 http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ105/?qs=sGAEpiMZZMu61qfTUdNhG79AcIiSWYOgHx87yIE%2f9KKMdGhl9FJu5g%3d%3d
470Ω Resistor ROHM Semiconductor KTR03EZPJ471 Mouser 1 http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/KTR03EZPJ471/?qs=sGAEpiMZZMu61qfTUdNhGwzMi690UM7UxxZFBtRl4vg%3d
330Ω Resistor ROHM Semiconductor ESR03EZPJ331 Mouser 1 http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ331/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejYH%2fBWzzt0Tg%3d
220Ω Resistor ROHM Semiconductor ESR03EZPJ221 Mouser 8 http://www.mouser.fr/ProductDetail/ROHM-Semiconductor/ESR03EZPJ221/?qs=sGAEpiMZZMu61qfTUdNhG1IKPAnaLGejce8FZC1%2fFYU%3d
switch ALPS SKQGADE010 Mouser 1 http://www.mouser.fr/ProductDetail/ALPS/SKQGADE010/?qs=sGAEpiMZZMsqIr59i2oRcrO5GDYRXDIX6cdtN26xmPE%3d disponible
USB Chip FTDI FT232RL-REEL Mouser 1 http://www.mouser.fr/ProductDetail/FTDI/FT232RL-REEL/?qs=sGAEpiMZZMs5ceO8zL%252bTxyQLQIH6hE7q disponible
USB Connecteur / / / 1 / disponible
LM1117IMPX-5 Régulateur 5v / / 1 / disponible
TB6612FNG Contrôleur moteurs / / 1 / disponible
Quartz ECS ECS-160-20-3X-TR Mouser 1 http://www.mouser.fr/ProductDetail/ECS/ECS-160-20-3X-TR/?qs=sGAEpiMZZMvAbnEMxb34PZ9bYWrwSXiB disponible
infrarouge récepteur Vishay Semiconductors TSOP38238 Mouser 3 http://www.mouser.fr/ProductDetail/Vishay-Semiconductors/TSOP38238/?qs=sGAEpiMZZMvAL21a%2fDhxMtgKho2n4%2fgBkajAZHPY5lE%3d
Batteries 9V Panasonic 6LF22XWA/B12 Mouser 1 http://www.mouser.fr/ProductDetail/Panasonic-Battery/6LF22XWA-B12/?qs=sGAEpiMZZMsra%2fh506hF%252bITISQoCasqh1k2eJLis9sg%3d
Vibration motor Parallax 28821 Mouser 2 http://www.mouser.fr/ProductDetail/Parallax/28821/?qs=sGAEpiMZZMu7pzTmx5q0Qavt7B3%252b7HBc disponible
Roue de balance Pololu RB-pol-91 Robotshop 1 http://www.robotshop.com/eu/fr/roulette-bille-pololu-0375-po-metal.html

Chassis

Après avoir établie la liste des composants, j'ai commencé à concevoir les 2 chassis :

  • un chassis pour le robot avec servo-moteurs ;
  • un chassis pour le robot avec les vibreurs.

Les chassis ont été réalisés avec une découpeuse laser sur du plexiglass. Les découpes ont été dessinées avec le logiciel inkscape.

Chassis servo-moteurs
Chassis vibreurs


Semaine 3

  • Après beaucoup d'essais j'ai fabriqué le chassis comme montré sur la figure suivante :
Chassis servo-moteurs
Chassis vibreurs


  • Dans la troisième semaine, j'ai soudé les composants de la carte.
la carte


Semaine 4

  • Dans la quatrième semaine, j'ai assemblé le robot et testé les fonctionnements des servo-moteurs et les vibreurs. Et ça marche bien.

Xxy123.png

  • J'ai étudié les codes de servo-moteur continu et les protocoles infrarouge.
  • J'ai écrit les codes et réalisé le contrôle de mouvement avec une télécommande IR de PHILIPS.

Fichier:Code infra servo.zip


  • J'ai rencontré des problèmes :
  1. L'orientation de TSOP1 est inversée sur le PCB, il faut le souder en croisant des pattes.
  2. les TSOPs doivent être liés à des broches d'interruption mais ils sont liés à des broches ADC, il faut modifier.
  3. Pour la partie d'alimentation, il faut ajouter un interrupteur pour économiser la pile.
  4. On va lier le VCC de chaque TSOP directement sur des sorties de l'ATmega pour choisir celui à utiliser.

Semaine 5

  • Le chassis "servo-moteur" n'est pas très stable, chaque fois que le robot avance et recule vite, il tombe. Donc j'ai modifié le chassis pour poser la pile à plat et j'ai changé les roues par des modèles plus petits.

Chassiservomo2di.png

Chassis servo-moteurs


  • J'ai aussi modifié le chassis "vibreur", j'ai ajouté des dents pour que les vibreurs puissent faire avancer le robot dans une direction donnée.

Chassivibe.png

Chassis vibreur


  • J'ai conçu un chassis "moto-réducteur", il est semblable au chassis "servo-moteur", mais la taille de moteur est un peu plus grande :

Chassi motord1dd.png

Chassis moteur


Semaine 6

Dans la dernière semaine, j'ai soudé 2 autres cartes. Une pour le robot vibreur et l'autre pour le robot à base de moto-réducteur. J'ai aussi essayé d'écrire les codes en C pour le robot à base de moto-réducteur.

Pour le robot à base de moto-réducteur, il y a 7 broches à contrôler :

  • STBY est pour activer le circuit. Si STBY est LOW le circuit est désactivé, si STBY est High, le circuit est activer.
  • Chaque moteur est contrôlé par trois signaux PWM: AIN1 AIN2 et PWMA pour moteur A, BIN1 BIN2 et PWMB pour moteur B. PWMA va fixer la vitesse de rotation (de 0 à 255). AIN1 et AIN2 vont fixer le sens de rotation en commandant les sorties moteurs A01 et A02.
 Xxy1654.png

Du coup j'ai essayé d'initialiser toutes les broches en C, et écrit les fonctions en C, normalement il doit marcher mais la fonction delay marche pas bien, et il ne peut pas reculer. Il y a peut être quelques problèmes avec les régistres.

J'ai préparé le soutenance et écrit le rapport.

Fiches rendus

Rapport

Les fichiers