2.2.2. Le contrôleur :
Comme il est indique au figure de la structure
générale du robot notre contrôleur est ATmega 2560 inclue
dans la carte arduino Mega.
Figure 4.16 La carte Arduino Mega
L'Arduino Mega 2560 est une carte microcontrôleur
basée sur le Microcontrôleurs. Il est doté de 54 broches
d'entrée/sortie numériques (dont 14 peuvent être
utilisées comme sorties PWM), de 16 entrées analogiques, de 4
émetteurs-récepteurs universels asynchrones (UART, ports de
série de matériel), d'un oscillateur en cristal de 16 MHz, d'une
connexion USB, d'une prise de courant, d'une embase ICSP et d'un bouton de
réinitialisation. Il contient tout ce qui est nécessaire pour
prendre en charge le microcontrôleur...
Chacune des 54 broches numériques sur le Mega peuvent
être utilisées en tant qu'entrée ou sortie, en utilisant
les fonctions pinMode(), digitalWrite(), et digitalRead() Il dispose
également de 16 entrées analogiques, chacune d'elles disposant de
10 bits de résolution (c'est à dire 1 024 valeurs
différentes).
59
L'Arduino Mega2560 dispose d'un certain nombre de moyens pour
communiquer avec un ordinateur, un autre Arduino, ou d'autres
microcontrôleurs. L'ATMEGA2560 fournit quatre UART physiques pour des
communications sérielles de type TTL (5 V). Un ATmega8U2 sur la carte
canalise l'un d'eux sur l'USB et fournit un port COM virtuel pour le logiciel
sur l'ordinateur.
Les caractéristiques d'arduino Mega :
· Microcontrôleur : ATmega2560
· Tension de fonctionnement : 5 V
· Tension d'entrée (recommandée) : 7 à
12 V
· Tension d'entrée (limites) : 6 à 20 V
· Broches E/S numériques : 54 (dont 14 fournissent
la sortie PWM)
· Broches d'entrée analogiques : 16
· Courant alternatif par broche d'E/S : 40 mA
· Courant continu pour la broche de 3,3 V : 50 mA
· Mémoire Flash : 256 Ko (dont 8 Ko utilisés
par le chargeur initial de programme)
· SRAM : 8 Ko
· EEPROM : 4 Ko
· Vitesse de l'horloge : 16 MHz
Voilà tout ce que nous pouvons dire sur le
contrôleur, maintenant nous passons à la partie qui permet au
robot de réagir selon les informations qu'il reçoit de
l'environnement à partir de ses capteurs, les résultats de
traitement de ces informations. Cette partie représente les
actionneurs.
2.2.3. Les actionneurs :
Afin que le robot soit capable de se déplacer il est
nécessaire d'utiliser les moteurs, et parce qu'on est
décidé de réaliser un robot tricycle alors on utilise de
moteur DC pour commander les deux roues arrière. L'utilisation de deux
moteurs a été causé par le coût n'est cher par
rapport un servomoteur, il n'y a pas beaucoup de vibrations, faible
consommation d'énergie et plus rapide par rapport un moteur pas à
pas.
Figure 4.17 Le moteur DC utilisé Les
caractéristiques du moteur :
· Numéro de modèle: EM-529 RS445PA14233R
· Tension d'alimentation: 12-42V
· Courant, alimentation: 60mA - 1.5A
? Puissance: 7.78W
? Couple: 81,8 m.Nm
? Diamètre de l'arbre: 3.17mm
? Diamètre du moteur: 30mm
? La longueur du moteur: 67mm
On remarque d'appris les caractéristiques que le moteur
est alimenter par une tension supérieur ou égal a 12V, ceci nous
oblige à utiliser un étage entre le contrôleur et le moteur
qui joue le rôle de circuit de puissance ou de commande, parmi plusieurs
solution on a choisi le circuit L298N puisqu'il est disponible, facile à
réaliser et ça coûte pas cher, d'une part et d'une autre
part un seul circuit c'est suffisant pour commander les deux moteurs.
Le schéma du circuit de commande :
Figure 4.18 Schéma de circuit de commande du moteur
L'étalonnage du circuit de commande :
Dans le processus d'étalonnage de ce circuit, nous
avons connecté ses entrées par les sorties d'arduino qui donne
des tensions analogique pour commander les sorties de circuit, et nous avons
connecté les entrées OUT1, OUT2 par un moteur et OUT3, OUT4 par
le deuxième moteur.
A chaque fois on donne une valeur analogique par l'arduino et
on mesure la tension aux bornes de chaque moteur et sa vitesse
Remarque : puisque on a utilisé l'arduino, on la donne
une valeur de 0 à 255 et elle convertie on valeur de 0 à 5V,
chaque valeur numérique est proportionnelle à une valeur
analogique par la
relation suivante :
60
Donc pour le tableau suivant on donne les valeurs
numériques au lieu des valeur analogique.
61
Figure 4.19 L'opération d'étalonnage de circuit de
commande Tableau 4.6 Etalonnage de circuit de commande
Figure 4.20 L'étalonnage de circuit de commande
On remarque que :
? La variation de tension aux bornes de chaque moteur est
proportionnelle à la variation de valeur numérique.
? A peu pris à partir de la valeur numérique 37
la variation de la vitesse de chaque moteur est proportionnel à la
variation de valeur numérique.
? Les courbes de tension et de vitesse des deux moteurs ont la
même forme, mais ils ne sont pas identiques.
? Les courbes de tension et de vitesse des deux moteurs
commencent à prend une variation presque linière à partir
de la valeur numérique 206.
Et pour la pompe nous ne se soucient seulement que par deux
cas qui sont soit alimentée ou non, donc sa circuit de commande se n'est
qu'une interrupteur à base d'un transistor.
Le schéma de circuit de commande de la pompe :
Dans le schéma suivant le pole (+) de la pompe se connecter
directement au pole (+) du la batterie, et le pole (-) de la pompe se connecter
au branche MT du circuit. Pour commander la pompe on connecter la sortie de
commande de l'arduino au branche AR du circuit.
62
Figure 4.21 Schéma de circuit de commande de la pompe
Remarque : Parce que, il doit toujours y avoir la
quantité d'eau en prévision de feu, il est nécessaire de
connaître la quantité d'eau restante dans le réservoir,
donc nous avons besoin d'ajouter un capteur de niveau, et en raison que le
budget ne suffit pas, nous devons trouver une autre façon de
résoudre ce problème. Nous avons réfléchir à
une solution qui est de calculer le temps T1 nécessaire pour que la
pompe vider le réservoir, et pour savoir la quantité restante
nous calculons le temps T2 de fonctionnement de la pompe, et en fin la
différence entre T1 et 2 avec la quantité est proportionnelle
restante.
En fin de compte, nous ne devons pas oublier que le circuit
principal qui est le circuit d'alimentation de tous les circuits dans le robot.
La plupart des circuits d'alimentation contient de nombreux étages, y
compris: l'étage de transformation (généralement
transformateur abaisseur), l'étage de redressement et l'étage de
régulation. Mais dans notre cas, nous utilisons un seul étage qui
est l'étage de régulation. Parce que notre source
d'énergie est une batterie, donc l'existence de l'étage de
transformation n'a aucun sens car la tension de la source de basse et
égale 12V, fait également pour l'étage de redressement
puisque la tension de la batterie est constante.
par contre l'utilisation de l'étage de
régulation est nécessaire, pour alimenter le contrôleur on
utilise le régulateur 7809 pour abaisse la tension de 12V à 9V,
régulateur 7805 pour abaisse la tension de
63
12V à 5V pour le circuit de capteur, et pour tout les
parties qui sont besoin de 12V nous ne sommes pas obligés d'utiliser un
régulateur, mains on les broche directement à la batterie.
Le schéma de circuit d'alimentation :
Figure 4.22 Schéma de circuit d'alimentation
Nous avons discuté dans ce qu'il passé presque
sur tout ce qu'il comprend notre robot comme des matériels. Maintenant
nous passons à l'étape de programmation.
|