ROBOT ARDUINO D’AREXX AAR NOTICE DE MONTAGE: AAR-04 © AREXX - PAYS-BAS V052012 -1-
Table des Matières 1. DESCRIPTION DU ROBOT AAR 3 1.1 La famille des robots ARDUINO 3 1.2 Caractéristiques 3 1.3 Mises en garde 4 2. INFORMATIONS GENERALES SUR ARDUINO 5 3 Le ROBOT ARDUINO D’AREXX 10 3.1 Schéma fonctionnel du ROBOT ARDUINO 10 3.2 Informations de base sur AAR 11 3.3 INFORMATIONS DE BASE SUR LE LOGICIEL ARDUINO 12 4. Premiers pas vers l’installation 13 4.1 Téléchargement et installation du logiciel Arduino 13 4.
1. DESCRIPTION DU ROBOT AAR 1.1 La famille des robots ARDUINO Arduino est une plateforme „open source “1 destinée au développement de prototypes électroniques qui met à notre disposition un microcontrôleur ainsi que toutes les interfaces périphériques et logiciels nécessaires. Le concept Arduino fut développé afin d’appréhender de manière simple l’électronique moderne qui est utilisée dans le monde de la robotique, du pilotage de logiciels et des détecteurs.
1.3 Mises en Garde 1. Lisez d’abord ce manuel avant de brancher une source de tension sur l’un des connecteurs! Des connexions erronées peuvent endommager le matériel. 2. Vérifiez attentivement l’affectation des broches! Soyez particulièrement méticuleux lors du câblage du système. Des erreurs de branchement risquent d’endommager des composants. Respectez la polarité des bornes d’alimentation. Une inversion de polarité des bornes d’alimentation risque d’endommager les circuits. 3.
2. INFOS GENERALES SUR ARDUINO 2.1. Qu’est-ce qui ou qu’est-ce qu’est ARDUINO? Arduino est un microcontrôleur mono-platine open-source destiné notamment aux artistes, designers, bricoleurs et autres personnes intéressées afin de leur faciliter l’accès à la programmation et aux microcontrôleurs ainsi qu’au travail sur des projets d’objets interactifs. La plateforme Arduino est basée sur un microcontrôleur d’Atmel ATmega168 ou ATmega-328.
2.2 Microcontrôleur! 2.2.1 Applications Un microcontrôleur (parfois appelé également sous sa forme abrégée μC, uC ou MCU) est un petit ordinateur dans un circuit individuel intégré qui contient le noyau du processeur, la mémoire et un jeu de connecteurs d’entrée et de sortie programmables. Une mémoire de programme et une petite mémoire de données RAM (c’est-à-dire Random Access Memory) font souvent partie du circuit intégré.
2.3. Consommation et Vitesse Certains microcontrôleurs travaillent à une faible fréquence d’impulsions de 4 kHz et présentent une faible consommation dans la zone des milliwatts ou microwatts. Ils sont généralement activables par pression sur un bouton ou par une interruption. La consommation lors de l’attente (générateur d’horloge CPU ainsi que la quasi-totalité des circuits complémentaires à l’arrêt) se situe dans le domaine des nanowatts ce qui garantit la longévité des piles.
En fonction du type de circuit intégré, le programme peut être sauvegardé dans une mémoire ROM3 permanente qui n’est écrite que pendant la fabrication du circuit, ou bien dans une mémoire Flash ré-inscriptible à dessein ou dans une mémoire ROM ré-inscriptible plusieurs fois. Initialement, les microcontrôleurs ont seulement été programmés en assembleur mais actuellement il existe d’autres langages de programmation d’un niveau plus élevé.
Une forme moins usuelle de la conversion de données dans le microcontrôleur est la conversion digitale en analogique (ou DAC5) qui permet au processeur de générer des signaux analogiques ou des niveaux de tension. En plus des convertisseurs, certains systèmes embarqués disposent de minuteries. Un des types de minuteries les plus courants est l’horloge à interval programmable (PIT6) qui décompte à partir d’une valeur de départ vers zéro.
3. Le ROBOT ARDUINO d’ AREXX 3.1 Schéma fonctionnel du robot ARDUINO 1. 2. 3. 4. Fig. 1: Circuit imprimé de l’AAR Connecteur pour le porte-piles. (Respectez la polarité!) Marche/arrêt du robot LED d’état: Indique que le robot est alimenté en électricité. Si vous utilisez une batterie rechargeable, vous pouvez ponter cette paire de broches afin que le robot soit alimenté avec la bonne tension de travail (Attention: la vérification de la polarité par la diode est ainsi désactivée). 5.
3.2 Informations de fond sur l’AAR L’AAR est un robot Arduino qui a été spécialement développé pour l’apprentissage du logiciel Arduino. Sur l’avant se trouve une interface USB avec un circuit intégré FT232 qui transforme le signal USB en un signal UART RS232 que le processeur ATMEGA328P (sur l’avant droite) arrive à traiter. Un commutateur Marche/Arrêt avec l’emplacement JP3 pour l’alimentation et le circuit intégré moteur 2 ont été montés sur le côté opposé.
Le robot travaille avec un tension embarquée de 5V et se contentera éventuellement d’une source d’alimentation USB ce qui économise quelques étapes lors des essais et de la programmation. Dans ce concept robotique, les emplacements réservés à vos propres platines d’extension ou celles d’AREXX de la série ASURO sont tout particulièrement appréciables. 3.3 INFORMATIONS DE BASE SUR LE LOGICIEL ARDUINO Le logiciel Arduino fait partie des open source et est par conséquent accessible à tous.
4. Premiers pas vers l’Installation 4.1 Téléchargement et Installation du Logiciel Arduino Installez tout d’abord la première version du logiciel Arduino sur le CD afin que nous soyons sûrs que cette version fonctionne correctement. Plus tard, vous pourrez visiter le site internet Arduino et y télécharger des versions plus récentes. IMPORTANT: Il est possible que certaines versions du logiciel ARDUINO créent des problèmes avec certaines versions du logiciel d’application.
4.4 Matériel AAR 4.4.1 Le Branchement d’Accumulateurs Le robot a été dimensionné pour une alimentation d’un conteneur de piles avec quatres piles de 1,5V. Si vous utilisez des batteries rechargeables à la place, vous devez relier le pont JP4. (Voir fig. 1, no. 4). ATTENTION! Dès la mise en place du pont JP4, la protection contre l’inversion de polarité est désactivée. Une erreur de polarité endommagera irrémédiablement le robot. Branchez le conteneur à piles tel que représenté dans la figure 2. Fig.
4.5 Logiciel ARDUINO 4.5.1 Programmation du robot avec le logiciel Arduino. Branchez le robot sur le PC au moyen d’un câble USB. Si le robot est connecté sur le port USB, Arduino ne requiert pas forcément une tension provenant d’une pile. Le connecteur USB du PC remplit alors la fonction d’alimentation. ATTENTION: Le robot est systématiqement sous tension lorsqu’il est connecté sur le PC. Le commutateur et la LED5 ne sont actifs qu’en cas d’alimentation par piles.
Fig. 4a Programme Blink Fig. 4b Définir (sélctionner ) Board Nous devons définir maintenant le bon type de platine Arduino. Cliquez sur Tools>Board> Arduino Duemilanove or11 Nano w/ Atmega328 (voir fig. 4b) 4.5.3 Définition de l’interface COM L’étape suivante définit la bonne interface COM dans le logiciel Arduino. La bonne interface COM (port COM) pour le branchement du robot est le COM 12. Pour la définition de l’interface COM suivez le menu: Tools>Serial Port>COM 12. (voir fig. 5) Fig.
4.5.4 Transmission d’un Programme vers le robot Arduino Cliquez ensuite sur la touche marquée par la flèche rouge (ou bien dans le menu „File>Uploading to I/O board“) pour transférer ce programme dans le robot Arduino connecté (voir fig. 6). Dans la barre d’état le logiciel signale que le système compile et démarre ensuite un upload. Fig. 6 Transfert d’un programme dans le robot Arduino (processus upload). Fig.
5. Informations de base concernant le montage en pont Un montage en pont est un circuit électrique permettant p.ex de changer la polarité d’un moteur à courant continu à l’aide de 4 dipôles. Un tel circuit est souvent utilisé en robotique pour piloter des moteurs dans deux directions. Dans la plupart des cas, il existe des modules intégrés pour ce type de circuits mais afin d’expliquer le fonctionnement et le dimensionnement d’une alimentation, il peut être intéressant d’étudier un circuit plus acien. 5.
A l’étage final M est le moteur et l’étage de contrôle du pré-amplificateur est simulé par une résistance R14. Cette résistance R14 relie les bornes de base des transistors TR6 et TR7 à la terre. C’est pourquoi seul l’étage final du côté droit conduit un peu de courant. Les transistors TR8, TR5 et TR9 conduisent le courant et les trois autres sont fermés. Si nous branchons R14 sur une tension positive, nous fermons la branche droite de l’étage final et le courant moteur change de polarité.
L’alimentation en 3V est le point de départ idéal pour un robot qui n’est alimenté que par 2 piles. Les transistors PNP ne conviennent cependant mal à une intégration dans un CI tel que le L293D. Un CI présente d’autres avantages tels que la fiabilité, la protection contre des erreurs de commutation, un encombrement réduit et moins de poids. Pour ces raisons, nous avons équipé le robot AAR avec un circuit L293D à couble montage en pont qui nous permet de piloter deux moteurs à la fois. 5.
6. Systèmes odométriques Ce chapitre décrit quelques concepts intéressants pour l’utilisation du robot AAR. Il s’agit d’idées pour des études et projets artistiques. Que le développement d’un tel logiciel Arduino nous donne des ailes et du génie lors de la programmation. 6.1 Suiveurs de lignes, chercheurs de couleur et fuyards de couleurs Des capteurs photosensibles permettent de programmer le robot en suiveur de lignes, chercheur de couleur ou fuyard de couleur.
6.3 Suiveurs de ligne complexes Les robots qui suivent des lignes ou évitent des motifs de lignes, utilisent généralement une source lumineuse et deux ou plusieurs capteurs photosensibles à l’aide desquels le système de recherche peut identifier une ligne et la suivre. Tout d’abord on peut équiper le robot avec une routine de recherche spécifique dans laquelle le détecteur commence en mode recherche à appliquer une tactique bien particulière p.ex.
La complexité du logiciel requis forcera l’admiration du programmateur pour les organismes vivants qui combinent un tel comportement avec la recherche régulière de nourriture et une stratégie de reproduction réussie. C’est en effet une performance extraordinaire de la nature de perfectionner et de renouveler chaque jour de tels schémas comportementaux.
7. Programmation du Bootloader Attention! Les procédures décrites dans ce chapitre supposent une expérience en programmation ! Il est possible de charger le bootloader Arduino au moyen d’un STK500. Afin de pouvoir transférer les programmes écrits en arduino dans le microcontrôleur Atmega, le processeur Atmega doit être équipé d’un bootloader Arduino spécifique. Le bootloader veille à ce que les signes de code transmis soient écrits au bon endroit de la mémoire Atmega.
ANNEXE - 25 -
A. Nomenclature Composant Valeur Version C1 C2 C3 C4 C6 C7 C8 C9 C11 C12 C13 C14 C15 C16 C17 C19 D1 D2 IC1 IC2 IC3 IC4 IC5 JP1 JP2 JP3 JP4 JP5 SV2 T1 T2 T3 T4 U$1 U$2 U$3 U$4 X1 LED1 LED2 LED3 LED4 LED5 LED6 18pF 0805 18pF 0805 0.
Composant Valeur Version LED8 LED9 LED10 LED11 LED12 LED13 LED14 LED16 LED17 LED18 Q1 R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 R19 R20 R21 R22 R23 R24 R25 R26 R27 R28 R29/C3 R31 R32 S1 S2 SV1 Rd Rd Rd Rd Gn Rd Bl Rd Rd Rd 16mhz 20k 20k 1k5 220 1k5 1k 680 680 20k 20k 220 220 10k 220 220 220 220 220 220
B.
C.
Diagramme de connexion AAR ATmega328P D.