WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Conception et réalisation d'un robot mobile à  base d'arduino

( Télécharger le fichier original )
par Hocine TAKHI
Université Amar Telidji - Instrumentation 2014
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

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.

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Soit réservé sans ostentation pour éviter de t'attirer l'incompréhension haineuse des ignorants"   Pythagore