Arexx RA1-PRO User guide [fr]

ROBOT D’APPRENTISSAGE
ROBOT ARM PRO
INSTRUCTIONS DE MONTAGE: Modèle RA1-PRO V3
© AREXX - PAYS BAS V3 0613
- 1 -
Table des Matières
1. Description du produit ROBOT ARM 5
2. Outils requis 7
3. Liste des pièces 8
4. Pieces mécanique 10
5. Electronique du Robot Arm 14
6. Installation du logiciel 18
7. Programmeur et Loader 31
7.1 Robot loader 32
7.2 Connexion de l’interface USB sous Windows 29
7.3 Connexion de l’interface USB sous LINUX 36
7.4 Test de l’interface USB 37
7.5 Ouvrir un port sous Linux 38
7.6 Auto-test 39
7.7 Calibrage 41
7.8 Test de clavier 43
8. RACS 44
9. Programmation du ROBOT ARM 50
xx. APPENDICE
A. Schéma technique Robot Arm 58 B. Schéma technique Power Supply 59 C. Schéma technique Connectors 60 D. Schéma technique Clavier 61 E. Schéma technique Programmeur adapteur 62 F. Platine 63 G. Schéma technique Adapteur Programmation 64
AREXX et ROBOT ARM sont des marques déposées d’AREXX Engineering - PAYS-BAS.
© Traduction française/French translation (August 2010): AREXX Engineering (NL). Cette description est protégée par les droits d’auteur. Toute reproduction totale ou partielle est interdite sans l’autorisation écrite de l’importateur européen:
AREXX Engineering - Zwolle (NL).
Le fabricant et le distributeur ne sont pas responsables des conséquences d’une fausse manipulation, d’erreurs de montage et/ou d’utilisation de ce produit en cas de non-respect des instructions. Nous nous réservons de droit de modifier le contenu de ce manuel sans préavis.
Support technique lors de la construction du robot:
WWW.AREXX.COM
Fabricant: AREXX Engineering DAGU HI-TECH
Importateur européen AREXX Engineering ZWOLLE Die Niederlande
© AREXX Pays-Bas et DAGU Chine © Traduction française: AREXX - Pays-Bas
WWW.ROBOTERNETZ.DE
- 2 -
Mentions légales
©2013 AREXX Engineering
Nervistraat 16 8013 RS Zwolle The Netherlands
Tel.: +31 (0) 38 454 2028 Fax.: +31 (0) 38 452 4482
E-Mail: Info@arexx.nl
“Robot Arm PRO et Hobby” sont des marques déposées d’AREXX Engineering. Toutes les autres marques appartiennent à leurs propriétaires respectifs. Nous ne sommes pas responsables du contenu de pages internet externes qui sont citées dans ce manuel!
Notes concernant les limitations de garantie et de responsabilité
La garantie d’AREXX Engineering se limite au remplacement ou à la réparation du robot et de ses accessoires dans le cadre de la durée de garantie légale pour des défauts de fabrica­tion avérés tels que des dommages mécaniques ou l’implantation manquante ou erronée de
composants électroniques à l’exception de tous les composants connectés par ches.
Nous déclinons toute responsabilité pour des dommages causés directement ou indirecte­ment par l’utilisation du robot. En sont exceptés les droits qui reposent sur les prescriptions légales inaliénables relatives à la responsabilité du produit. Tout droit à garantie s’éteint dès
que des modications irréversibles (p.ex. soudure d’autres composants, perçage de trous,
etc.) ont été effectuées sur le robot ou ses accessoires ou si le robot est endommagé suite au non-respect de ce manuel. Lisez impérativement les consignes de sécurité!
Il n’existe aucune garantie que le logiciel fourni satisfasse des attentes individuelles ou fonc­tionne parfaitement sans interruption ni erreur.
Par ailleurs, le logiciel est librement modiable et chargé par l’utilisateur dans l’appareil.
C’est pourquoi l’utilisateur assume l’entière responsabilité quant à la qualité et la perfor­mance de l’appareil et de tous les logiciels. AREXX Engineering garantit la fonctionnalité des exemples d’application fournis dans la
mesure où les conditions spéciées dans les caractéristiques techniques soient respectées. Si au-delà, l’appareil ou le logiciel pour PC s’avèrent être défaillants ou insufsants, le client assume tous les frais de service, de réparation et de correction.
Nous vous invitons à prendre également connaissance des accords de licence sur le CD­ROM!
Ce mode d’emploi est protégé par les lois du copyright. Il est interdit de copier ou de reprendre tout ou partie du con­tenu sans l’autorisation préalable de l’éditeur!
Sous réserve de modication des spécications du produit et
des accessoires fournis.
Le contenu de ce manuel est susceptible de modications
sans préavis.
Vous trouverez des versions plus récentes de ce manuel gratuitement sur http://www.arexx.com/
IMPORTANT
Avant la première utilisation du Robot Arm, lisez d’abord attentivement le mode d’emploi! Il explique la bonne utilisation et vous informe des dangers éventuels. Par ailleurs, il contient
des informations importantes qui ne sont pas forcément connues de tous.
- 3 -
Symboles
Les symboles suivants sont utilisés dans le manuel:
Le symbole “Attention!” attire l’attention sur des consignes particulièrement importantes qui doivent absolument être respectées. Une erreur risque d’entraîner la destruction du robot ou de ses accessoires ainsi que mettre en danger votre santé ou celle de votre entourage!
Le symbole “Attention!” attire l’attention sur des consignes particulièrement importantes qui doivent absolument être respectées. Une erreur risque d’entraîner la destruction du robot ou de ses accessoires ainsi que mettre en danger votre santé ou celle de votre entourage!
Consignes de sécurité
- Vériez la polarité de l’adaptateur secteur.
- Tenir le robot toujours au sec. Si l’appareil a été mouillé, débranchez immédiatement
l’alimentation ou retirez les piles.
- En cas de non-utilisation prolongée, débranchez l’appareil du secteur. ou retirez les piles
- Avant la mise en service du module, contrôlez son état général ainsi que celui des câbles
- Si vous pensez qu’un fonctionnement en toute sécurité n’est plus garanti, débranchez-le immédiatement du secteur et assurez-vous qu’il ne peut pas être utilisé par inadvertance.
- Demandez conseil à un spécialiste si vous avez des doutes concernant l’utilisation, la sécu-
rité ou le branchement du module.
- Ne jamais utiliser le module dans des conditions défavorables.
-
Ce module contient des composants très sensibles, notamment à l’électricité statique. Ne
touchez le module que par les bords et évitez tout contact direct avec les composants sur la platine.
Utilisation normale
Cet appareil est une plateforme d’expérimentation destinée aux personnes intéressées par la robotique. L’objectif principal consiste à apprendre la programmation du robot en langa­ge ‘C’. Ce produit n’est pas un jouet et ne convient pas aux enfants et adolescents de moins de 14 ans.
Uniquement pour utilisation à l’intérieur. Tenir à l’abri de l’humidité et de l’eau. Si le produit
passe d’une pièce froide dans une pièce chaude, attendez qu’il ait atteint la température ambiante avant de le mettre en service. Toute utilisation autre que celle décrite ci-dessus, peut entraîner des dommages et des risques tels que des courts-circuits, incendies, chocs électriques, etc.
- 4 -
1. DESCRIPTION DU PRODUIT ROBOT ARM
Le ROBOT ARM est un robot à un prix abordable destiné au technicien ama­teur qui souhaite acquérir les bases de l’électronique, de la mécanique et de la programmation. Le Robot Arm est commandé par un microprocesseur puis­sant ATMEGA64 qui est programmable en C avec des outils Open Source. L’utilisateur peut télécharger ses propres programmes dans le microproces­seur via l’interface USB fournie et le logiciel de téléchargement Uploader. Les
entrées/sorties I/O et le système de bus exible I2C permettent d’ajouter des modules d’extension au robot an qu’il puisse réagir à son environnement.
Contenu de l’emballage:
- Robot Arm complet (mécanique et électronique)
- Clavier
- Interface USB avec cordon
- CD-ROM contenant tous les logiciels et manuels requis
1.2. Caractéristiques techniques:
- Processeur ATMEGA64
- Différentes entrée/sorties I/O libres
- Bus I2C
- 4 mini-servomoteurs (S05NF)
- 2 maxi-servomoteurs (S06NF)
- Bras en plastique et châssis métallique
- Longueur du bras: 390 mm
- Hauteur: 460 mm
- Diamètre du châssis: 210 mm
- Alimentation: 9-14V / 3-4A
Avertissements
* Le droit de retour s’arrête avec l’ouverture du sachet en plastique contenant les composants et pièces. * Lire attentivement le manuel avant la construction. * Manipulez les outils avec précaution. * Ne construisez pas le robot en présence d’enfants en bas âge. Ils pourraient se blesser avec les outils ou avaler des petits composants ou pièces. * Respectez la polarité des piles. * Veillez à ne pas mouiller les piles ni le support de piles. Si le ROBOT ARM est mouillé, retirez les piles et séchez toutes les pièces du mieux possible.
* Retirez les piles si le ROBOT ARM ne sera pas utilisé pendant plus d’une semaine.
- 5 -
1.3. Utilisation du Robot Arm
- Transfert de programmes d’entraînement ou nouveaux dans le Robot Arm.
- Commander le Robot Arm à l’aide d’un clavier
- Commander et programmer le Robot Arm avec le logiciel RACS.
- Commande sans l via Bluetooth ou un transmetteur APC-220
455MHZ
- Enrichir le Robot Arm avec des modules d’extension prêts à
l’emploi an qu’il puisse entendre, sentir, voir et réagir ainsi à
son environnement.
- Tout comme un véritable bras de robot peut p.ex. construire des voitures, celui-ci peut effectuer de petites tâches pour vous.
- L’interface I2C permet au Robot Arm de communiquer avec son environnement et beaucoup d’autres appareils.
- Intelligence articielle: à l’aide d’un logiciel d’acquisition
automatique, le Robot Arm peut améliorer son logiciel lui-même.
Le Robot Arm est déjà complètement monté
- 6 -
2. Outils requis Uniquement requis pour vos propres modications
Pince plate
Pince coupant de côté
Jeu de tournevis
Tournevis
Livré
Vis autotaraudeuses (Parker)
Les vis à pas de vis autotaraudeuses se comportent comme des vis à bois, c’est-à-dire elles découpent un pas de vis dans le matériau en effectuant un mouvement circulaire. A cet effet, ces vis ont un pas de vis plus gros et un pointe plus tranchante qu’une vis normale.
Les vis autotaraudeses possèdent une encoche à leur pointe qui facilite encore la découpe. La meilleure méthode pour serrer ce type de vis consiste à:
Si les vis sont troup souvent desserrées et reserrées, le trou s’élargit constamment et la vis ne tient plus très bien.
1 Entrer la vis 2 Retirer légèrement la vis 3 Reserrer la vis
2
3
1
Ecrou de blocage
Fixation d’un écrou de blocage
Ne pas serrer les vis trop fort sinon
le plastique se ssure.
Ecrou de blocage
Le Robot Arm est déjà complètement monté
- 7 -
3. LISTE DES PIECES Le Robot Arm est déjà complètement monté
Servomoteur
O 2 pcs. S05NF
2 pcs S06NF
Metall-Disque avec axe
O 3 pcs.
CD
O 1 pc.
Servo disque Plastik
O 1 pc.
Cordon USB
O 1 pc.
Servo disque Metall A
O 1 pc.
Clavier
O 1 pc.
Servo disque Metall B
O 1 pc .
Servo-Levier Groß
O 3 pcs.
Ecrou espaceur M3x6
O 4 pcs.
Servo-Support
O 1pc.
Ecrou espaceur M3x16
O 2 pcs.
Servo-Arbre
O 1 pc.
Ecrou espaceur M3x40
O 4 pcs.
- 8 -
Montage Support
O 1 pc.
Spirale
O 1 pc.
Doigt- A
O 1 pc. O 4 pcs.O 1 pc.
Bout du DoigtDoigt-Teil B
Servo Plaque de fond
O 1 pc.
O 1 pc.
Couplage support
Servo-couplage M3 - M4
O 2 pcs.
PlatinePied du Robot Arm
O 1 pc.
Servos-Levier Petit
Servo-couplage M2 - M3
O 2 pcs.
Câble de pro­grammation
O 1 St.
Câble du clavier
O 1 pc.
Vis à tête ronde M3x20
Adaptateur de program­mation
O 1 pc.
Rallonge pour servo
O 1 pc.
Vis autotarau­deuse M3.2x6
O 5 pcs.
Vis à tête ronde M3x6
O 2 pcs.
O 1 pcs.
Vis à tête ronde M3x8
O 42 pcs.
Vis à tête ronde
M3x12
O 9 pcs.
- 9 -
O 9 pcs.
Erou M3
O 24 pcs.
O 4 pcs.
Ecrou de blocage M2
O 3 pcs.
4. Pièces mécaniques
Le Robot Arm RA1-PRO est déjà complètement monté
4.1. Construction RA1-PRO:
Bras
Pied
Doigt et disque de transmission
- 10 -
4.2. Construction du servo bras:
Ce module contient des composants très sensibles, notamment à l’électricité statique Ne touchez le module que par lebords et évitez tout contact direct avec les composants sur la platine.
Arm
Plaque de fond
Le Robot Arm RA1-PRO est déjà complètement monté
- 11 -
4.3. Doigt avec disqe de transmission
Doigt
Ecrou
Roue dentée métallique
Servo
Vis
Vis
Espaceur
Disque de transmission
ALIGNEMENT ET CONSEILS POUR LE DISQUE DE TRANSMISSION
Si l’embrayage n’est pas suffisamment lubrifié et aligné, il risque
d’endommager le servomoteur du doigt !
1. Si le ressort dans le disque ne bouge pas facilement, lubrifiez
légèrement la partie intérieure du disque.
2. Si la vis de l’engrenage est trop serrée, elle bloque complètement
le disque et le rebord du servomoteur. Augmentez légèrement l’écart ou bien desserrez un peu la vis.
3. Si le disque et l’engrenage ne sont pas correctement alignés l’un
sur l’autre, essayez de corriger l’alignement de l’ensemble de façon
à ce que le doigt complet soit aligné correctement.
- 12 -
TERMINE !
Selbstzapffendeschraube M2.3x8
- 13 -
5. Electronique
5.1. Caractéristiques
Ce chapitre donne un aperçu ces capacités du Robot Arm et sert en même
temps d’introduction à certaines notions et désignations de composants du robot.
● Micro-contrôleur performant Atmel ATMEGA64 8-Bit ◊ Vitesse 16 MIPS (=16 millions d’instructions par seconde) à une fréquence
de 16MHz
◊ Mémoire: Flash ROM 64KB, SRAM 4KB, EEPROM 2KB ◊ Librement programmable en C (avec WinAVR / avr-gcc)!
● Système d’extension exible, basé sur le bus I²C ◊ Ne nécessite que deux lignes de signaux (TWI -> “Two Wire Interface”) ◊ Vitesse de transmission allant jusqu’à 400kBit/s ◊ Basé sur le principe maître-esclave ◊ Possibilité de connecter jusqu’à 127 esclaves simultanément ◊ Système de bus très répandu: Il existe un grand nombre de CI, capteurs,
etc. standard de plusieurs fabricants qui se branchement pour la plupart directement.
● Possibilité de connecter des modules d’extension sans l ◊ Modules RP6v2-M256-WIFI pour le contrôle du Robot Arm via un réseau WIFI. ◊ Commande sans l ARX-APC220 pour RACS 433 MHz
◊ Contrôle sans l BluetoothARX-BT03 pour ANDROID
Voir aussi le manuel pour AREXX APC-220, Android et module WIFI
● Interface PC USB pour le téléchargement du programme du PC sur le micro-contrôleur ◊ Liaison laire permettant une vitesse maximale. Le téléchargement du programme se déroule normalement à 500kBaud. La mémoire complètement vide du micro-contrôleur (30KB, 2KB sont réservés pour le Bootloader) est enregistrée en quelques secondes seulement. ◊ L’interface peut servir à la programmation de tous les modules d’extension équipés d’un micro-contrôleur AVR qui sont disponibles pour le RP6. ◊ Peut servir à la communication avec le robot ou les modules d’extension
ce qui facilite considérablement la recherche d’erreurs dans les
programmes puisque l’interface permet d’envoyer des valeurs de mesures,
des messages de textes et autres données au PC.
◊ Le driver de l’interface génère une interface série virtuelle sous tous les systèmes d’exploitation courants tels que WINDOWS XP/7/8 et Linux. ◊ An de faciliter le chargement du programme, le logiciel RobotLoader (qui
s’appelait auparavant RP6Loader) est inclus. Il contient également un
petit terminal an de communiquer avec le robot par le biais de messages de texte et tourne sous Windows et Linux.
- 14 -
5.2. Changements dans le PCB V3 du type RA1 PRO et RA2-HOBBY
- Nouvel ampli-op (AOP) TI TPS54332, 3500mA
- Nouveau régulateur de tension LDO pour l’alimentation 5V du micro-
contrôleur.
- Connecteurs d’alimentation supplémentaires pour l’alimentation du cicruit intégré VCC et des servo
- 6 préamplicateurs pour la mesure de courant de tous les servos via des
résistances shunt.
- Le bouton reset est maintenant un bouton start/stop à part entière pour démarrer et arrêter l’exécution du programme.
- Autostart (=le programme démarre automatiquement peu de temps après la
mise sous tension): est programmable via le RobotLoader si besoin est.
- Connecteurs d’extension supplémentaires avec toutes les broches I/O libres de l’ATMEGA64.
- Connecteur I2C bus compatible avec les modules d’extension RP6 XBUS p.ex. le module WLAN RP6-M256.
- Fiche pour l’APC220 ou le module Bluetooth.
- 4 LED d’état bleues à la place d’une double LED vert/rouge
- Fusible 4A.
- Quartz de 16.000 MHz au lieu de 16.384MHz.
- Des résistances pullup pour le bus I2C se trouvent maintenant sur la platine.
- Un interrupteur M/A sépare l’alimentation de le logique. L’alimentation des servo via l’ampli-up est contrôlée par le micro-contrôleur.
- Tension d’entrée 7 - 14V (max. abs. 18V).
EXTENSIONS DU ROBOT ARM
- Contrôler à distance via le réseau le module RP6v2-M256-WIFI.
- Télécommande 433MHz ARX-APC220 pour RACS 433 MHz.
- Télécommande ARX-BT03 pour ANDROID.
Voir également le manuel chez AREXX
APC-220, Androïd ou module WIFI.
- 15 -
5.3. Implantation de la platine principale
Branchez les servox au moyen de la rallonge (voir p. 51) et utilisez la spirale pour passer les câbles proprement
Servo 6, 5, 4, 3, 2,1
LED Servo
Alim. Servo
I2C & RP6 X-BUS WIFI
LED d’alimentation
SPI
SW1/SW2 Switch I/O
IMPORTANT Boot/ISP
Modules sans l
Bluetooth APC-220
Start Stop Reset
LEDS 1,2,3,4
Clavier
Fusible 4A
Interrupteur M/A
Connecteur de batterie
Fiche d’alimentation DC
PROGRAMM / UART
I/O
ISP
5.4. LEDS
La platine principale du Robot Arm comporte quelques diodes luminescentes.
La LED jaune “MAIN_PWR” indique la présence d’une tension interne et la mise sous
tension du robot.
La LED rouge “SERVO_PWR” ne s’allume que si le convertisseur pour les servo a été activé par le micro-contrôleur. Ceci peut être commandé par le logiciel.
Les 4 LED d’état SL1-4 sont également directement commandées par le micro-con-
trôleur. Elles peuvent servir d’indicateur d’état dans votre propre programme.
- 16 -
5.4. Mise en Route du Robot Arm
1. Vériez d’abord les modules mécaniques et électroniques du Robot Arm.
2. Le cas échéant, branchez l’adaptateur secteur (9-14V max.; max.abs. 18V)
3. Mettez le Robot Arm sous tension à l’aide de l’interrupteur général.
Mise sous tension
Alimentation secteur
L’alimentation peut se faire de 2 façons. La solution la plus simple consiste à brancher une alimentation secteur d’une tension de 9-14Vdc/3-4 Ampères sur
la che DC Power. Ainsi, la tension est branchée sur l’entrée du régulateur de
tension.
Piles
La deuxième possibilité est le raccordement de piles d’une tension de 9 - 14V
ATTENTION!
Lorsque la tension est <6,7V, un avertissement apparaît
ATTENTION!
Pour le fonctionnement normal, le jumper “ISP/BOOT” doit se trouver dans la position indi­quée sur la photo.
Fiche de batterie
Fiche DC 9 à 14 Volts
9 à 14 Volts
Dès que le Robot Arm est branché sur une alimentation, les servos esquissent
un léger mouvement et la LED jaune (Power LED) s’allume.
Après ces débuts encourageants, tout porte à croire que le plus gros est fait
alors que le vrai travail ne fait que commencer.....!
Mais.... d’abord nous passons au chapitre 6 dans lequel nous allons
installer le logiciel
- 17 -
6. Installation du Logiciel
Nous arrivons maintenant au logiciel qui doit être correctement installé puisque nous en aurons besoin dans tous les chapitres suivants.
Commencez par vous identier comme administrateur dans votre sysème
puisqu’il faut avoir les droits d’administrateur!
Nous vous conseillons de lire d’abord attentivement le chapitre en entier et d’effectuer ensuite l’installation pas à pas!
Il est impératif de connaître les bases d’un ordinateur équipé d’un système
d’exploitation Windows ou Linux ainsi que des programmes courants tels que gestionnaires de chiers, navigateurs internet, éditeurs de texte, logiciels de
compression (WinZip, WinRAR, unzip et autres) et, le cas échéant, Linux­Shell! Si vos connaissances en matière d’informatique sont très limitées, vous devez vous familiariser d’abord avec ce domaine avant d’utiliser le Robot Arm. Ce manuel n’est pas une initiation à l’informatique! Il se limite uniquement au
Robot Arm, sa programmation et le logiciel spécique nécessaire.
Le CD-ROM du Robot Arm
Le CD-ROM du Robot Arm se trouve probablement déjà dans le lecteur de
votre ordinateur - si ce n’est pas encore le cas, insérez-le maintenant. Sous
Windows, le menu du CD devrait s’afcher au bout de quelques secondes. Si ce n’est pas le cas, vous pouvez ouvrir le chier “start.htm” dans le répertoire principal du CD via le gestionnaire de chiers avec un navigateur internet tel que Firefox. Les chiers d’installation pour Firefox se trouvent d’ailleurs égale-
ment sur le CD dans le dossier:
<Lecteur CD>:\Software\Firefox
au cas où vous n’auriez pas encore installé un navigateur Internet à jour (vous
devriez avoir au moins la version Firefox 1.x ou Internet Explorer 6...)
Après avoir sélectionné la langue, vous trouverez dans le menu du CD en plus de ce manuel (que vous pouvez également télécharger sur notre page
d’accueil), de nombreuses informations, ches techniques et photos, égale­ment l’option du menu “Software” (logiciel). Ici, vous avez accès à tous les
outils de logiciel, les pilotes USB et les programmes d’exemples avec le code source pour le Robot Arm. Selon les réglages de sécurité de votre navigateur Internet, vous pouvez lan­cer les programmes d’installation directement à partir du CD!
- 18 -
Si votre navigateur ne le permet pas en raison des réglages de sécurité, vous
devez d’abord copier les chiers dans un répertoire sur votre disque dur et les
lancer ensuite à partir de là. Vous trouverez plus de détails sur la page de logi­ciel du menu du CD. Sinon, vous pouvez aussi directement aller sur le lecteur
CD à l’aide d’un gestionnaire de chiers et installer le logiciel à partir du CD.
Les noms des répertoires ont été choisis de façon à ce qu’ils puissent être as­sociés clairement aux différents packs de logiciels et systèmes d’exploitation.
WinAVR - pour Windows
Tout d’abord, nous allons installer WinAVR. Comme son nom l’indique,
WinAVR n’existe que pour Windows!
Les utilisateurs de Linux peuvent sauter ce chapitre.
WinAVR (qui se prononce comme le mot anglais “whenever”) est une collec­tion de nombreux programmes utiles et indispensables pour le développement de logiciels destinés aux microcontrôleurs AVR en langage C. Outre le GCC
pour AVR (ce qui s’appelle alors “AVR-GCC”, mais nous y reviendrons ultéri­reurement), WinAVR contient un éditeur de texte source pratique “Program­mers Notepad 2”, que nous allons utiliser également pour le développement
de programme pour le Robot Arm. WinAVR est un projet privé qui ne dépend d’aucune société. Il est gratui­tement disponible sur Internet. Vous trouverez ici de nouvelles versions et d’autres informations:
http://winavr.sourceforge.net/
Entretemps, ce projet est ofciellement supporté par ATMEL, et l’AVRGCC
peut être intégré dans le AVRStudio qui est l’environnement de développe­ment pour les AVR d’ATMEL. Nous n’allons cependant pas l’aborder dans ce manuel car pour nos travaux, le Programmers Notepad convient beaucoup mieux.
Vous trouverez le chier d’installation de WinAVR dans le classeur sur le CD:
<Lecteur CD>:\Software\AVR-GCC\Windows\WinAVR\
L’installation de WinAVR est très simple et ne nécessite normalement aucun
réglage. Donc, cliquez tout simplement toujours sur “Suivant”!
- 19 -
Si vous travaillez avec Windows Vista ou Windows 7, vous devez impérative­ment utiliser la dernière version de WinAVR! Cela devrait également fonction­ner sans problème avec Windows 2000 et XP. Si ce n’est pas le cas, vous pouvez essayer une des deux versions plus anciennes qui se trouvent égale­ment sur le CD (avant toute nouvelle installation, désinstallez systématique­ment les versions WinAVR plus anciennes qui sont déjà installées!). Ofciel­lement Win x64 n’est pas encore supporté mais le CD contient un patch pour les systèmes Win x64 en cas de problème.Vous trouverez plus d’informations à ce sujet sur la page de logiciel du menu CD!
AVR-GCC, avr-libc et avr-binutils - pour Linux
(Les utilisateurs de Windows peuvent sauter ce paragraphe!)
C’est un peu plus difcile sous Linux. Certes, les paquets nécessaires existent déjà pour certaines distributions mais il s’agit souvent de versions obsolètes.
C’est pourquoi vous devez compiler et installer des versions plus récentes. Il est impossible de rentrer dans le détail des nombreuses distributions Linux tel-
les que SuSE, Ubuntu, RedHat/Fedora, Debian, Gentoo, Slackware, Mandriva
etc. en x versions différentes avec leurs particularités individuelles et nous nous tiendrons ici aux généralités.
Ceci est valable pour tous les autres paragraphes traitant de Linux dans ce chapitre!
Le procédé décrit ici ne sera donc pas obligatoirement couronné de succès
pour vous. Il est souvent utile de chercher sur Internet p.ex. “<LinuxDistributi­on> avr gcc” et similaire (essayez des orthographes différents!). C’est égale-
ment valable pour tous les autres paragraphe sur Linux - évidemment avec des mots-clé adaptés. Si vous rencontrez des problèmes lors de l’installation de l’AVR-GCC, vous pouvez également regarder sur notre site ou dans un des nombreux forums de robotique ou de Linux. Commencez par désinstaller des
versions déjà installées de l’avr-gcc, des avr-binutils et de l’avr-libc car elles sont généralement déjà obsolètes. Vous pouvez le faire à l’aide du gestionnai-
re de paquets de votre distribution en effectuant une recherche sur la mise en
service d’„avr“ et en désinstallant les trois paquets nommés ci-dessus - dans
la mesure où ils existent! Une ligne de commande telle que
> which avr-gcc
vous permet de savoir facilement si l’avr-gcc est déjà installé ou non, et si oui
où il se trouve.
- 20 -
Si un chemin s’afche, une version est déjà installée. Dans ce cas, saisissez
simplement:
> avr-gcc --version
et regardez l’édition. Si le numéro de la version est inférieur à 3.4.6, vous devez absolument désinstaller cette ancienne version.
Si le numéro de la version se situe entre 3.4.6 et 4.1.0, vous pouvez essayer dans un premier temps de compiler les programmes (voir chapitre suivant). En cas d’échec, vous pouvez alors installer les nouveaux outils. Nous instal-
lons dans ce manuel la version actuelle 4.1.1 (mise à jour de mars 2007) avec
quelques patchs importants.
Si les paquets ci-dessus ne sont pas indiqués dans le gestionnaire de pa-
quets bien qu’il soit certain qu’un avr-gcc existe déjà, vous devez effacer manuellement les chiers binaires correspondants. Cela veut dire effectuer une recherche dans les répertoires /bin, /usr/bin, etc. pour tous les chiers qui commencent par “avr” et les effacer (évidemment UNIQUEMENT ces chiers
et rien d’autre!). Des répertoires éventuellement existants comme /usr/avr ou / usr/local/avr doivent également être effacés.
Attention: Vous devez impérativement vous assurer que les outils de dévelop­pement Linux normaux comme GCC, make, binutils, libs, etc. sont installés avant de pouvoir commencer avec la compilation et l’installation! Le mieux est de le faire à l’aide du gestionnaire de paquets de votre distribution. Chaque distribution Linux devrait avoir les paquets nécessaires sur le CD d’installation fourni ou bien mettre à disposition sur Internet des paquets actualisés.
Assurez-vous que le programme “textinfo” est installé. Le cas échéant, instal­lez le paquet correspondant avant de continuer, sinon cela ne fonctionnera pas!
Lorsque ce sera fait, vous pouvez commencer avec l’installation proprement dite.
Il n’y a qu’une alternative: soit vous faites tout manuellement, soit vous utilisez un scripte d’installation très facile à utiliser.
Nous vous conseillons d’essayer dans un premier temps le script. Si cela ne
fonctionne pas, vous pouvez toujours installer le compilateur manuellement!
- 21 -
Attention:
Vous devez disposer de sufsamment d’espace sur le disque dur pour
l’installation! Temporairement, il faut avoir plus de 400MB de libre dont plus de 300MB pourront être effacés après l’installation. Cependant, il vous faut l’espace total pendant la transcription.
Un grand nombre des étapes d’installation suivantes requièrent des droits
ROOT, donc connectez-vous de préférence avec “su” en tant que root ou bien exécutez des commandes critiques avec “sudo” ou équivalent comme on doit le
faire p.ex. sous Ubuntu (le script d’installation, mkdir dans les répertoires /usr/ local et make install nécessite des droits ROOT).
Respectez l’orthogrpahe EXACTE de toutes les commandes qui suivent!
Chaque caractère a son importance même si certaines commandes semblent un peu étranges - tout est correct et il ne s’agit pas d’une erreur de frappe!
Il faut évidemment tout de même remplacer( <Lecteur CD-ROM>) par le che­min du lecteur CD-ROM!
Dans le dossier:
<Lecteur CD-ROM>:\Software\avr-gcc\Linux
sur le CD, vous trouverez tous les chiers d’installation pour l’avr-gcc, avr-libc
et binutils qui nous intéressent.
D’abord vous devez copier tous les chiers d’installation dans un répertoire sur
votre disque dur - cela s’applique aux deux variantes d’installation! Nous utiliserons ici le répertoire Home (l’abréviation usuelle pour le répertoire
Home actif est un tilde: „~“):
> mkdir ~/Robot Arm
> cd <Lecteur CD-ROM>/Software/avr-gcc/Linux
> cp * ~/Robot Arm
Lorque l’installation a réussi, vous pouvez effacer ces chiers pour libérer de
l’espace!
- 22 -
Script d’installation automatique
Si on rend le script exécutable avec chmod, on peut commencer tout de suite:
> cd ~/Robot Arm > chmod -x avrgcc_build_and_install.sh > ./avrgcc_build_and_install.sh
Répondez “y” à la question si vous voulez faire l’installation avec cette con­guration ou non.
ATTENTION: La traduction et l’installation peuvent prendre quelque temps en fonction de la puissance de votre système (p.ex. env. 15 minutes sur un note­book 2GHz CoreDuo - et un peu plus sur des systèmes un peu plus lents).
Le script copie également quelques patchs - ce sont tous les chiers .diff qui
se trouvent dans le répertoire.
Si tout se passe bien, voici ce qui devrait s’afcher tout à la n:
(./avrgcc_build_and_install.sh) (./avrgcc_build_and_install.sh) installation of avr GNU tools complete (./avrgcc_build_and_install.sh) add /usr/local/avr/bin to your path to use the avr GNU tools
(./avrgcc_build_and_install.sh) you might want to run the following to save disk space:
(./avrgcc_build_and_install.sh)
(./avrgcc_build_and_install.sh) rm -rf /usr/local/avr/source /usr/local/avr/build
Alors, vous pourrez accepter la proposition et exécuter
rm -rf /usr/local/avr/source /usr/local/avr/build
Cela efface tous les chiers temporaires dont vous n’aurez normalement plus
besoin.
Vous pouvez sauter le prochain paragraphe et mettre le chemin sur les outils avr.
Si l’exécution du script échoue, regardez attentivement les messages d’erreurs (monter aussi l’écran) - généralement il manque des programmes qu’il aurait fallu installer auparavant (comme p.ex. le texinfo mentionné ci-des-
sus). Avant de continuer après une erreur, il est prudent d’effacer les chiers déjà générés dans le répertoire d’installation standard „/usr/local/avr“ – il est
même préférable d’effacer tout le répertoire.
- 23 -
Si vous ne savez pas exactement ce qui s’est mal passé, enregistrez toutes
les éditions de commande dans un chier et adressez-le au support. Il est im­portant d’envoyer toujours un maximum d’informations! Il sera ainsi plus facile
de vous aider.
GCC pour l’AVR
Le GCC est patché, traduit et installé à peu près comme les Binutils:
> cd ~/Robot Arm> bunzip2 -c gcc-4.1.1.tar.bz2 | tar xf ­> cd gcc-4.1.1 > patch -p0 < ../gcc-patch-0b-constants.diff > patch -p0 < ../gcc-patch-attribute_alias.diff
> patch -p0 < ../gcc-patch-bug25672.diff > patch -p0 < ../gcc-patch-dwarf.diff > patch -p0 < ../gcc-patch-libiberty-Makele.in.diff > patch -p0 < ../gcc-patch-newdevices.diff
> patch -p0 < ../gcc-patch-zz-atmega256x.diff
> mkdir obj-avr > cd obj-avr > ../congure --prex=$PREFIX --target=avr --enable-languages=c,c++ \
--disable-nls --disable-libssp –with-dwarf2
> make > make install
Après le \ appuyez tout simplement sur Entrée et continuez à écrire. Ainsi la commande peut être répartie sur plusieurs lignes mais on peut également le laisser complètement de côté.
AVR Libc
Enn, il reste encore l’AVR libc:
> cd ~/Robot Arm > bunzip2 -c avr-libc-1.4.5.tar.bz2 | tar xf ­> cd avr-libc-1.4.5
> ./congure --prex=$PREFIX --build=`./cong.guess` --host=avr
> make > make install
- 24 -
Attention: dans la commande: –build=`./cong.guess` veillez à bien mettre l’accent grave (touche alt gr + 7 suivi d’un espace). Ne pas confondre avec
l’apostrophe ou les guillemets car cela ne fonctionnera pas.
Inscrire le chemin
Vous devez veiller maintenant à ce que le répertoire /usr/local/avr/bin soit inscrite dans la variable du chemin sinon il sera impossible d’appeler l’avr-gcc
de l’écran ou des makeles. A cet effet, vous devez inscrire le chemin dans le chier /etc/prole ou bien /etc/environment ou autre (change d’une distribu­tion à l’autre) en le séparant d’un double point “:” des autres inscriptions déjà existantes. Le chier pourrait donc se présenter de la manière suivante:
PATH=”/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/usr/local/avr/bin“
Entrer maintenant dans un écran quelconque “avr-gcc -–version“ comme dé­crit ci-dessus. Si cela fonctionne, l’installation a réussi!
- 25 -
Installation manuelle
Si vous préférez installer le compilateur manuellement ou si l’installation avec le script ne fonctionne pas, vous pouvez suivre les instructions dans le para­graphe suivant.
La description qui suit se base sur l’article suivant:
http://www.nongnu.org/avr-libc/user-manual/install_tools.html
qui se trouve aussi dans la documentation AVR Libc au format PDF sur le CD:
<Lecteur CD-ROM>:\Software\Documentation\avr-libc-user-manual-1.4.5.pdf
Nous abrégeons un peu ici mais nous utilisons quelques patchs importants sans lesquels certaines choses ne fonctionnent pas.
Nous devons d’abord créer un répertoire dans lequel nous installons tous les outils. Ce répertoire devrait être: /usr/local/avr.
Donc saisissez dans l’interface en ligne de commande EN TANT QUE ROOT:
> mkdir /usr/local/avr > mkdir /usr/local/avr/bin
Il ne doit pas s’agir obligatoirement de ce répertoire. Nous créons tout simple-
ment la variable $PREFIX pour ce répertoire:
> PREFIX=/usr/local/avr > export PREFIX
Voici ce qu’il faut impérativement ajouter à la variable PATH:
> PATH=$PATH:$PREFIX/bin > export PATH
- 26 -
Binutils pour AVR
Vous devez décompresser maintenant le code source des binutils et faire inter­venir quelques patchs. Nous supposons ici que vous avez tout copié dans le répertoire Home ~/Robot Arm:
> cd ~/Robot Arm > bunzip2 -c binutils-2.17.tar.bz2 | tar xf ­> cd binutils-2.17 > patch -p0 < ../binutils-patch-aa.diff > patch -p0 < ../binutils-patch-atmega256x.diff > patch -p0 < ../binutils-patch-coff-avr.diff > patch -p0 < ../binutils-patch-newdevices.diff > patch -p0 < ../binutils-patch-avr-size.diff > mkdir obj-avr
> cd obj-avr
Maintenant nous exécutons le script congure:
> ../congure --prex=$PREFIX --target=avr --disable-nls
Ce script établit ce qui existe dans votre système et génère des chiers make­les en conséquence. Maintenant vous pouvez traduire et installer les binutils.
> make > make install
Selon la capacité de votre système, cela peut prendre quelques minutes. Cela s’applique aussi aux deux autres paragraphes, surtout pour le GCC.
Java 6
Le RobotLoader (voir ci-dessous pour d’autres informations) a été développé
pour la plateforme Java et fonctionne avec Windows et Linux (en théorie aussi
avec d’autres systèmes d’exploitation comme OS X mais malheureusement AREXX Engineering ne pourra pas encore vous apporter une assistance
ofcielle). Pour que cela fonctionne, il est nécessaire d’installer une version actualisée de Java Runtime Environment (JRE). Vous l’avez souvent déjà sur l’ordinateur mais il doit s’agir au moins de la version 1.6 (= Java 6)! Si aucun
JRE ni JDK n’est encore installé, vous devez d’abord installer le JRE 1.6 fourni sur le CD de la société SUN Microsystems ou bien télécharger une version plus récente à partir de http://www.java.com ou http://java.sun.com.
- 27 -
Windows
JRE 1.6 pour Windows se trouve dans le dossier suivant:
<Lecteur CD-ROM>:\Software\Java\JRE6\Windows\
Sous Windows, l’installation de Java est très simple: Démarrez le setup et
suivez les instructions à l’écran. C’est tout. Vous pouvez sauter le paragraphe suivant.
Linux
En général, l’installation sous Linux se déroule sans problème mais certaines distributions exigent un peu de travail manuel.
Dans le dossier:
<Lecteur CD-ROM>:\Software\Java\JRE6\
vous trouverez le JRE1.6 comme RPM (SuSE, RedHat etc.) et comme
archive à auto-extraction „.bin“. Sous Linux, il est recommandé de chercher d’abord les paquets Java (mots-clé de recherche p.ex. „java“, „sun“, „jre“, „java6“ ...) dans le gestionnaire de paquets de votre distribution et d’utiliser
ces paquets propres à votre distribution au lieu de prendre ceux du CD-ROM.
Veillez cependant à installer absolument Java 6 (=1.6) ou une version plus
récente mais en aucun cas une version plus ancienne!
Sous Ubuntu ou Debian, l’archive RPM ne fonctionne pas directement. Vous devez faire appel aux gestionnaires de paquet de votre distribution pour trou­ver un paquet d’installation approprié. Cependant le RPM devrait fonctionner correctement avec beaucoup d’autres distributions telles que RedHat/Fedora et SuSE. Si ce n’est pas le cas, il vous reste encore la possibilité de décom­presser JRE de l’archive à autoextraction (.bin) (p.ex. dans /usr/lib/Java6) et d’indiquer manuellement les chemin vers JRE (PATH et JAVA_HOME etc.).
Suivez toujours les instructions d’installation de Sun qui se trouvent égale­ment dans le répertoire ci-dessus et sur le site Internet de Java (voir ci-des­sus).
- 28 -
Dans l’interface en ligne de commande, vous pouvez vérifier si Java a été
installée correctement en exécutant la commande „java -version“ . Voici ce
qui devrait à peu près s’afficher:
java version “1.6.0”
Java(TM) SE Runtime Environment (build 1.6.0-b105) Java HotSpot(TM) Client VM (build 1.6.0-b105, mixed mode, sharing)
Si le message est complètement différent, vous avez soit installé la mauvaise version, soit une autre version Java est également installée sur votre système.
Robot Loader
Le Robot Loader a été développé pour pouvoir charger facilement de nou­veaux programmes dans le Robot Arm ainsi que tous les modules d’extension (dans la mesure où ils disposent d’un microcontroleur avec un bootloader compatible). Par ailleurs, il comporte quelques fonctions supplémentaires utiles telles qu’un programme de terminal simple.
Il n’est pas nécessaire d’installer le Robot Loader lui-même. Il suft de copier
le programme quelque part dans un nouveau dossier sur le disque dur. Le Robot loader se trouve dans l’archive zip sur le CD-ROM:
<Lecteur CD-ROM>:\Software\RobotLoader\RobotLoader.zip
Vous devez maintenant le dézipper quelquepart sur le disque dur, p.ex. dans un nouveau dossier C:\Programme\RobotLoader (ou similaire). Dans ce dos-
sier, vous trouverez le chier RobotLoader.exe que vous pouvez démarrer
avec un double-clic.
Le véritable programme Robot Loader se trouve dans l’archive Java (JAR)
RobotLoader_lib.jar. Vous pouvez aussi le démarrer à partir de la ligne de
commande.
Sous Windows:
java -Djava.library.path=”.\lib” -jar RobotLoader_lib.jar
Linux:
java -Djava.library.path=”./lib” -jar RobotLoader_lib.jar
- 29 -
Cette longue option D est nécessaire pour que JVM puisse trouver toutes les
bibliothèques utilisées. Ce n’est pas nécessaire sous Windows où il suft de démarrer tout simplement à l’aide du chier .exe. Pour Linux, il existe un script shell „RobotLoader. sh“. Il sera éventuellement nécessaire de rendre le script
exécutable (chmod -x ./RobotLoader.sh). Ensuite on peut le démarrer dans
une interface en ligne de commande avec „./RobotLoader.sh“.
Il est conseillé de créer un raccourci sur le bureau ou dans le menu Démarrer
pour pouvoir démarrer facilement le Robot Loader. Sous Windows, c’est très simple: Vous faites un clic droit sur le chier RobotLoader.exe et dans le menu “Envoyer à” vous cliquez sur “Bureau (Créer un raccourci)”.
Robot Arm Library, Robot Arm CONTROL Library et programmes d’exemple
La Robot Arm Library et les programmes d’exemples afférents se trouvent dans une archive zip sur le CD:
<Lecteur CD-ROM>:\Software\Robot Arm Examples\Robot ArmExamples [PRO].zip
Vous pouvez les décompresser directement dans un répertoire de votre choix
sur le disque dur. Il est recommandé de décompresser les chiers d’exemples dans un dossier sur un fragment de données. Ou bien dans le dossier “Mes Documents” dans un sous-dossier “Robot Arm\Examples\“ ou bien sous Linux
dans le répertoire Home. C’est à vous de voir.
Nous aborderons les différents programmes d’exemple ultérieurement dans le chapitre du logiciel.
- 30 -
7. Programmer et Loader
Pour charger un programme HEX du PC dans notre Robot Arm, nous allons utiliser l’adaptateur de programmation USB et notre logiciel RobotLoader.
Le récepteur/émetteur (transmetteur) USB fourni doit être connecté d’un côté sur un port USB de l’ordinateur et de l’autre côté au port Prog/UART de la platine du Robot Arm.
Le chargement d’un programme dans le Robot Arm écrase automatiquement
le programme précédent déjà présent.
Adaptateur de programmation USB
Logiciel RobotLoader
- 31 -
7.1. Robot Loader
Le RobotLoader a été développé pour permettre de transférer facilement de nouveaux programmes dans le Robot Arm ainsi que dans tous nos robots (dans la mesure où ils disposent d’un microcontrôleur et d’un bootloader com­patible).
RobotLoader
Lorsque la tension
< 6,7 Volt, s’afche,
un avertissement apparaît.
Il contient par ailleurs quelques fonctions supplémentaires utiles tel qu’un programme de terminal simple.
Fenêtre du terminal
- 32 -
7.2. Connexion de l’interface USB pour Windows
Les utilisateurs de Linux peuvent sauter ce chapitre.
L’installation d’une interface USB peut se faire de différentes façons. La plus simple consiste à installer le driver AVANT la connexion du matériel.
Le CD contient un programme d’installation pour le driver.
Pour les systèmes 32 et 64 Bit Windows 7, XP, Vista, Server 2003 et 2000:
<Lecteur CD-ROM>:\Software\USB_DRIVER\Win2k_XP\CDM_Setup.exe
Malheureusement un programme aussi facile n’existe pas pour les anciens systèmes Win98SE/Me. Il faut installer manuellement un driver plus ancien après avoir branché le matériel (voir ci-dessous).
Il suft d’exécuter le programme d’installation CDM. A part une simple conrmation après l’installation du pilote, il ne se passe rien.
Ensuite vous pouvez brancher l’interface USB sur le PC. NE LE BRANCHEZ PAS ENCORE SUR LE ROBOT! Branchez uniquement le cordon USB
sur le PC en veillant à tenir la platine de l’interface USB seulement par
le bord ou par la che USB ou bien par la coque en plastique de la che de programmation (voir consignes de sécurité sur les décharges
électrostatiques!). Evitez de toucher des composants sur la platine, des points
de soudure ou des contacts de la che sauf en cas de nécessité absolue an
d’éviter des décharges électrostatiques!
Le driver installé auparavant est utilisé maintenant pour le matériels sans que
vous ayez encore quelque chose à faire. Sur Windows XP/2000, de petites
bulles de texte apparaissent au-dessus de la barre des tâches. Le dernier
message devrait être quelque chose comme “Le matériel a été installé et prêt à l’emploi”.
Si vous avez branché l’interface USB avant l’installation (ou si vous utilisez Win98/Me) – ce n’est pas grave. Windows vous demandera le pilote.
Cette méthode d’installation est également possible. Le pilote se trouve également sous forme décompressée sur le CD!
- 33 -
Si c’est votre cas, une fenêtre de dialogue apparaît généralement (sous Win-
dows) pour installer le nouveau pilote. Vous devez indiquer le chemin au sys­tème où il peut trouver le pilote. Sous Windows 2000/XP, vous devez d’abord
sélectionner l’installation manuelle et ne pas chercher un service Internet ou autre. Dans notre cas, le pilote se trouve sur le CD dans les répertoires indi­quées ci-dessus.
Donc, indiquez simplement le répertoire selon votre version Windows et éven­tuellement encore quelques chiers que le système ne trouve pas tout seul (ils
sont tous dans les répertoires indiqués ci-après!)...
Sous Windows XP et des versions ultérieures, il y a souvent une fenêtre (mais
normalement pas ici puisque les pilotes FTDI sont signés) qui prévient que
le pilote n’a pas été signé/vérié par Microsoft. Cela n’a pas d’importance et
vous pouvez continuer l’installation.
Mise en Service
Pour les système 32 et 64 Bit Windows 7, XP, Vista, Server 2003 et 2000:
<Lecteur CD-ROM>:\Software\USB_DRIVER\Win2k_XP\FTDI_CDM2\
Pour des sytèmes plus anciens Windows 98SE/Me:
<Lecteur CD-ROM>:\Software\USB_DRIVER\Win98SE_ME\FTDI_D2XX\
Certaines versions Windows plus anciennes comme Win98SE peuvent nécessiter un
redémarrage. ATTENTION: Sous Win98/Me seulement un des deux pilotes fonctionne: Virtual Comport ou le pilote D2XX de chez FTDI! Malheureusement il n’y a pas de driver qui intègre les deux fonctions et il n’existe normalement pas de port COM virtuel puisque le RP6Loader utilise d’ofce le driver D2XX sous Windows (vous pouvez chan­ger cela - contactez éventuellement notre équipe d’assistance!).
Vériez la bonne connexion du matériel
An de vérier si le matériel a été correctement installé, vous pouvez utiliser aussi le gestionnaire de périphériques sous Windows XP, 2003 et 2000 à la
place du RobotLoader: Clic droit sur le poste de travail --> Propriétés --> Ma­tériel --> Gestionnaire de périphériques.
- 34 -
OU BIEN: Démarrer --> Paramètres --> Panneau de conguration --> Perfor­mances et maintenance --> Système --> Matériel --> Gestionnaire de
périphériques et regarder dans l’arborescence sous “Ports (COM et LPT) si vous voyez un “Port série USB (COMX)” - le X représentant le numéro du port ou bien regarder sous “Contrôleur de bus USB” si vous trouvez un “USB Serial Converter”.
Désinstallation ultérieure du pilote
Si vous souhaitez désinstaller le driver un jour (mais pas maintenant! Ce n’est qu’une indication pour le jour où le problème se présentera): Si vous avez
utilisé le programme d’installation CDM, vous pouvez le faire directement par
Démarrer --> Paramètres --> Panneau de conguration --> Logiciel. Dans la liste qui s’ouvre, vous trouverez “FTDI USB Serial Converter Drivers“ – sélecti­onnez le pilote et cliquez sur “désinstaller”.
Si vous avez installé le driver manuellement, vous pouvez exécuter le
programme“FTUNIN.exe” dans le répertoire du pilote USB correspondant à
votre système! Attention: L’adaptateur USB-->RS232 avec puce FTDI utilise généralement aussi ce pilote!
- 35 -
7.3. Connexion de l’interface USB sous Linux
Les utilisateurs de Windows peuvent sauter ce chapitre.
Linux avec un noyau 2.4.20 ou plus possède déjà le driver nécessaire (tout
du moins pour le prédécesseur compatible de la puce FT232BM sur notre interface USB, la FT232R). Le matériel est reconnu automatiquement et vous n’avez rien d’autre à faire. En cas de problème, vous obtiendrez des pilotes Linux (et le support ainsi qu’éventuellement des drivers plus récents) directe­ment chez FTDI:
http://www.ftdichip.com/
Sous Linux, après avoir branché le matériel, vous pouvez voir avec:
cat /proc/tty/driver/usbserial
si le port série USB a été correctement installé. C’est tout ce que vous avez à faire normalement.
Il faut savoir que sous Windows le RobotLoader utilise les drivers D2XX et
que la totalité des désignations USB apparait dans la liste des ports (p.ex.
„USB0 | Robot USB Interface | serialNumber“) tandis que sous Linux, ce sont
les désignations des ports COM virtuels /dev/ttyUSB0, /dev/ttyUSB1 etc.. Les
ports COM normaux apparaissent aussi comme “dev/ttyS0“ etc.. Faites des
essais pour trouver le bon port.
Pour Linux, il n’existe malheureusement pas de driver si facile à installer qui fasse les deux. C’est pourquoi il était plus sensé ici d’utiliser les drivers Virtual
Comport qui existent de toute façon déjà dans le noyau. Les drivers D2XX
nécessiteraient par ailleurs beaucoup de travail manuel lors de l’installation...
Terminer l’installation du logiciel
Voilà tout ce qu’il y avait à faire pour l’installation du logiciel et de l’interface
USB. Copiez maintenant les chiers les plus importants du CD sur le disque dur (surtout le dossier complet “Documentation” et, si cela n’a pas encore été
fait, les programmes d’exemple). Cela vous évite de chercher constamment
le CD si vous avez besoin de ces chiers. Les dossiers sur le CD sont tous
nommés de telle façon que vous pouvez les attribuer facilement aux paquets de logiciel ou à la documentation concernés.
Si vous égarez un jour le CD, vous pouvez télécharger les chiers les plus importants comme ce manuel, le RobotLoader et les programmes d’exemple du site d’AREXX. Vous y trouverez également les liens vers les autres paquets de logiciel dont vous aurez besoin.
- 36 -
7.4. Test de l’Interface USB et Démarrage du RobotLoader
Maintenant nous allons tester le téléchargement du programme via l’interface
USB. Branchez l’interface USB sur le PC (commencez toujours par le PC) et ensuite le câble en nappe à 10 contacts sur le connecteur “PROG/UART” du
Robot Arm! (Le Robot Arm DOIT ETRE HORS TENSION!) Le câble en nappe est protégé mécaniquement contre l’inversion de polarité. Dans la mesure où on ne le force pas, il ne peut pas être branché à l’envers.
Démarrez maintenant le RobotLoader. Selon la langue sélectionnée, les menus peuvent avoir des noms un peu différents. Sur les im­pressions écran apparait la version anglaise. Vous pouvez sélectionner la langue par le
menu „Options->Preferences“ et choisir dans „Language /Sprache“ la langue allemande
ou anglaise et cliquer sur OK.
Après la modication de la langue, il faut redémarrer le RobotLoader pour que
les changements prennent effet.
Ouvrir un port sous Windows
Vous pouvez sélectionner le port USB. Si aucun autre adaptateur USB->Série avec contrôleur FTDI est branché sur le PC, vous ne voyez qu’une seule option dans la liste des ports que vous devez alors
S’il existe plusieurs ports, vous pouvez identier le port à l’aide du nom “Robot USB Interface“ (ou „FT232R USB UART“). Le numéro de série programmée
apparaît derrière le nom.
sélectionner.
Si aucun port n’est afché, vous pouvez actualiser la liste dans le menu par “RobotLoader-->Refresh Portlist“ („RobotLoader-->mettre à jour la liste des ports“).
ATTENTION!
Lorsque la tension est < 6,7 Volts, un avertissement s’afche.
- 37 -
7.5. Ouvrir un port sous Linux
Sous Linux, l’adaptateur USB-Série est traité comme un port COM ordinaire. L’installation du pilote D2XX de FTDI sous Linux ne serait pas si simple et
les pilotes normaux Virtual Comport (VCP) sont de toute façon déjà contenus
dans les noyaux Linux actuels. Tout fonctionne presque exactement comme
sous Windows, il faut juste savoir quel nom porte l’interface USB du Robot
Arm et veiller à ne pas déconnecter le port USB du PC tant que la connexion est ouverte (sinon il faudra éventuellement redémarrer le RobotLoader pour que la connexion fonctionne à nouveau). Sous Linux, les ports COM virtuels
s’appellent “/dev/ttyUSBx“, x étant un numéro p.ex.”/dev/ttyUSB0“ ou “/dev/ ttyUSB1“. Les ports COM normaux s’appellent sous Linux “/dev/ttyS0“, “/dev/ tty- S1“ etc.. Ils apparaissent également dans la liste des ports s’ils existent.
Si vous disposez de plusieurs ports, le RobotLoader se rappelle quel port vous avez utilisé en dernier et le sélectionne automatiquement lors de chaque démarrage du programme (en général la plupart des réglages et sélections sont maintenus).
Cliquez maintenant sur le bouton “Connect“ (=„connecter“) ! Le RobotLoader
ouvre le port et teste la communication avec le bootloader sur le robot. Dans
la zone noire “Status” en bas vous devez lire le message “Connected to: Robot Arm ...” avec une information sur la tension mesurée à l’instant. Sinon, essayez à nouveau. Si cela ne fonctionne toujours pas, il y a une erreur!
Eteignez immédiatement le robot et commencez à chercher l’erreur.
ATTENTION!
Lorsque la tension est < 6,7 Volts, un avertissement s’afche.
- 38 -
7.6. AUTO-TEST
Dès que le Robot Arm est mis sous tension, la LED de tension jaune s’allume.
La LED d’état s’éteint lors du téléchargement d’un chier HEX. Dès le démar-
rage d’un programme, la LED d’état s’allume en rouge. Lorsque l’état du robot
passe en “Terminé”, elle s’allume en vert.
Lorsque cela a fonctionné, vous pouvez exécuter un petit programme d’auto-
test an de vérier le bon fonctionnement de tous les systèmes du robot. A cet effet, cliquez sur le bouton “Add” (ajouter) en bas dans la fenêtre du Robot­Loader et sélectionnez le chier RobotArmExamples [MINI], „Example_11_ Selftest\RobotArm_Selftest.hex“ dans le répertoire d’exemples. Ce chier
contient le programme d’auto-test au format hexadécimal, ce qui explique leur
nom. Le chier que vous venez de sélectionner, va apparaître ensuite dans la liste. Plus tard, vous pourrez ajouter d’autres chiers hexadécimaux de vos
propres programmes et des programmes d’exemple (voir impression écran: ici
quelques chiers hexadécimaux ont déjà été ajoutés). Le Robot Loader est en mesure de gérer des catégories diverses de chiers hexadécimaux.
Cela permet de trier les chiers d’une manière plus claire, p.ex. lorsqu’on
a plusieurs modules d’extension programmables sur le Robot Arm ou si on
utilise différentes variantes de programmes. A la n du programme, la liste est toujours sauvegardée automatiquement. Evidemment seuls les chemins vers les chiers hexadécimaux sont sauvegardés - et non pas les chiers eux-mêmes. Lorsque vous travaillez sur un programme, vous n’avez à ajou­ter et à sélectionner le chier hexadécimal qu’une seule fois. Ensuite, après
chaque nouvelle traduction du programme, vous pouvez charger le nouveau
programme dans le microcontrôleur (également avec les touches [STRG+D] ou [STRG+Y] pour démarrer le programme immédiatement après le transfert).
Selon le système d’exploitation, les noms des chemins varient fortement. Né-
anmoins vous pouvez utiliser le RobotLoader directement sous Windows ou Linux car il y a des listes séparées pour Windows et Linux.
Vous pouvez continuer maintenant avec les autres programmes d’exemples (Examples) du Robot Arm ou bien commencer à programmer votre propre logiciel.
ATTENTION!
Lorsque la tension est < 6,7 Volts, un avertissement s’afche.
- 39 -
Pour ce faire, sélectionnez le chier „RobotArm_Selftest.hex“ dans la liste et cliquez sur le bouton “Upload!“ en haut à droite en dessous de la barre de
progression.
Le programme est maintenant transféré dans le processeur MEGA64 sur le Robot Arm. Cela ne devrait pas prendre plus que quelques secondes (au maximum 5 secondes pour le programme d’auto-test).
Basculez ensuite sur l’onglet “Terminal” (=„Tabs“ tout en bas de la fenêtre
du programme!) ! Vous pouvez également aller dans le terminal par le menu
“View“ (“Afchage”).
ATTENTION!
Pour le fonctionnement normal, le jumper “ISP/BOOT” doit se trouver dans la position indi­quée sur la photo.
Vous pouvez maintenant effectuer l’auto-test et le calibrage du Robot Arm. Démarrez le programme en appuyant sur le commutateur Start/Stop Reset sur le Robot ARM. Ultérieurement, vous pourrez bien sûr lancer le programme par
le menu RobotLoader -->Start ou la combinaison de touches [STRG]+[S]. De
cette manière, vous pouvez tester en même temps si le commutateur fonctionne correctement!
Si une erreur se produit dans l’auto-test, coupez tout de suite l’alimentation du robot et commencez à chercher l’erreur!
COMMENCEZ DE PREFERENCE AVEC LE CALIBRAGE DU ROBOT ARM! VOIR PAGE 41.
- 40 -
7.7. Calibrage
Démarrez le programme de calibrage pour calibrer le Robot Arm.
Pour cela, cliquez en bas de la fenêtre du RobotLoader sur le bouton “Add” (ajouter) et sélectionnez le chier RobotArmExamples [MINI], „Example_11_ Selftest\RobotArm_Selftest.hex“ dans le répertoire d’exemples.
Ce chier contient le programme d’auto-test au format hexadécimal. Le chier
sélectionné apparaît ensuite dans la liste (voir impression écran).
Sélectionnez C (C - Calibrate) du programme de calibrage pour démarrer le calibrage.
Tournez tous les servo moteurs en position centrale pour que le Robot Arm se présente comme en page 42. Les servo moteurs 2-6 se trouvent à peu près en position centrale et le doigt (servo 1) est presque fermé.
Lorsque le calibrage (C - Calibrate) est terminé, vous pouvez effectuer l’auto-test suivant du Robot Arm. Le résultat du calibrage est enregistré dans l’ATMEGA.
- 41 -
Position de calibrage
Servo 1 Doigt
Servo 2 Rotation du poignet
Servo 3 Inclinaison du poignet
Servo 4 Coude
- 42 -
Servo 5 Epaule
Servo 6 Base (azimuth)
7.8. Test Clavier
Ce kit est livré avec un clavier qui peut être connecté sur le Robot Arm. C’est une option intéressante pour des démonstrations simples et nous permet de nous entraîner en même temps à piloter un bras de robot via un clavier.
Le clavier possède 6 touches pour piloter le Robot Arm et 4 touches supplé­mentaires pour des extensions ultérieures.
Pour guider le Robot Arm via le clavier, nous devons transférer le programme HEX nécessaire dans le microprocesseur du Robot Arm.
Cliquez en bas de la fenêtre du RobotLoader sur le bouton “Add” (ajouter) et sélectionnez le chier RobotArmExamples, „RobotArm_Key_Board.hex“ dans
le répertoire d’exemples.
Sélectionnez le chier “RobotArm_Key_Board.hex“ dans la liste et cliquez sur la touche “Upload!“ en haut à droite en dessous de la barre de progression.
Ensuite vous pouvez commander le Robot Arm tout simplement à l’aide des touches sur le claiver.
UTILISEZ LE BON LOGICIEL V 3PRO OU V3 MINI !
Platine
Clavier
Cordon du clavier
- 43 -
8.0. Logiciel RACS
Le RACS (Robot Arm Control Software) est la méthode la plus simple pour
contrôler et programmer le Robot Arm. La programmation par la méthode RACS fait appel au logiciel RobotLoader et l’adaptateur de programmation USB.
Avant de pouvoir utiliser le robot, vous devez charger le logiciel hexadécimal
RAC-PRO.hex dans la mémoire ash du processeur.
Branchez le cordon de programmation/contrôle sur le port USB de l’ordinateur
et démarrez ensuite le logiciel Loader. L’interface utilisateur suivante s’afche:
Fig. 1
Si aucun port USB ne s’afche dans la liste „Schritt 1: Port wählen“ (Etape 1:
Sélectionner le port), assurez-vous que le cordon est bien connecté et que les pilotes du programmeur sont installés. Vous pouvez interroger de nouveau la liste des ports dans le menu: RobotLoader -> Portliste aktualisieren (actualiser la liste des ports).
Sélectionnez ensuite le port et cliquez sur “Verbinden” (connecter).
Sélectionnez le bon chier .hex à l’étape 2. – Pour cela, cliquez simplement sur “Hinzufügen” (Ajouter): RAC-PRO.HEX
UTILISEZ LE BON LOGICIEL V 3PRO OU V3 MINI !
- 44 -
A l’étape 3, le chier est transféré en cliquant sur le bouton “Upload”.
Pour l’utilisation du Robot Arm, il faut fermer la connexion en cliquant sur le bouton “Schliessen” (fermer) à l’étape 1. Si vous fermez le programme, la con­nexion est automatiquement interrompue.
Veillez à ce qu’il n’y ait aucune connexion entre le logiciel Loader et le Robot Arm, sinon vous ne pouvez pas commander le robot avec le logiciel RACS.
8.1. Manuel d’utilisation du RACS
Le logiciel RACS permet de commander le Robot Arm d’une façon très simple. Une connexion est établie par le cordon de programmation/commande et ensuite les moteurs du Robot Arm sont commandés par la souris qui déplace
les curseurs. Les positions actuelles peuvent être mémorisées, modiées et
effacées dans la fenêtre de liste dans la partie inférieure de l’interface utilisa­teur. De cette façon, vous établissez une liste avec les différentes positions
qui peut être sauvegardée sur l’ordinateur sous forme de chier. Pour cela, cliquez sur le bouton “Save” (enregistrer). Vous pouvez charger cette liste à
tout moment.
Important
Le robot surveille le courant moteur de chaque servomoteur. Si la valeur limite d’un servo est dépassée, p.ex. dans le cas d’une collision ou d’une surcharge, le texte dans le logiciel RACS commence à clignoter. Dans ce cas, le robot doit être remis immédiatement dans sa dernière position ou bien l’alimentation servo dans le logiciel RACS doit être désactivée (décochez la case “servo”).
Sinon le robot risque d’être endommagé dénitive­ment !!!
- 45 -
8.2. Raccordement RACS
1. Démarrez le logiciel Robot Arm Control par un double-clic.
La fenêtre suivante s’afche:
Fig. 2
2. Dans le menu déroulant apparaissent toutes les interface série
Fig. 3
3. Branchez le programmeur USB
4. Cliquez sur le bouton “Update”. En regardant à nouveau le menu
déroulant, une interface supplémentaire s’afche.
Cette interface a été initialisée par le branchement du programmeur.
Attention: La dénomination des interfaces varie d’un ordinateur à l’autre!
- 46 -
5. Marquez cette nouvelle interface
Fig. 4
6. Cochez la case “Connect”
Fig. 5
7. Cochez la case “servo power”
Fig. 6
8. Pilotez les servos en déplaçant les curseurs.
Si une erreur s’est produite lors du raccordement, le message
ci-dessous s’afche. Vous devez recommencer le processus de raccordement (répéter les étapes 2 à 6 et vérier l’interface).
Fig. 7
UTILISEZ LE BON LOGICIEL V 3PRO OU V3 MINI !
- 47 -
8.3. RACS – Commande de position automatisée
Vous disposez des éléments de commande ci-dessous:
Add: La position actuelle du curseur est ajoutée à la liste
Replace: Le point de la liste sélectionné sera remplacé par les positions
actuelles du curseur
Insert: Les positions actuelles du curseur sont insérées dans la liste au-dessus de l’élément de liste sélectionné
Clear: L’élément de liste sélectionné est effacé
Save: Les éléments de liste sont enregistrés dans un chier
Load: Les éléments de liste sont importés d’un chier
(Attention: les éléments présents seront écrasés!)
Run: Les éléments de liste sont exécutés en partant du haut.
Si l’option “Repeat” est activée, le Robot Arm exécute les
éléments en boucle.
Step Time: Le Step Time détermine le temps d‘attente (en secondes) du robot avant d’exécuter la position suivante sur la liste. Si la liste ne contient que des parcours de déplacement très courts, cette durée peut être très courte. Si, au contraire, des parcours très longs ont été programmés, tels que des mouvements à 180° des servos, il faut choisir une durée plus longue car le robot risque de ne pas atteindre sa position cible et de se diriger prématurément vers la position suivante de la liste.
Pause: L’exécution de la liste est mise en pause Stop: L’exécution est arrêtée
- 48 -
8.4. RACS – SANS FIL
Le logiciel RACS et le set ARX-APC-220 d’AREXX vous permet de commander
le Robot Arm sans l. Nous vous expliquons ci-après étape par étape comment
cela fonctionne.
- Branchez le programmeur RP6v2 et l’APC-220 sur le PC tel que décrit dans le
CD.
- Branchez l’autre APC sur le PCB du Robot Arm (voir p.16).
- Chargez le chier HEX Wireless Racs dans le processur du Robot Arm retirez le cordon USB.
- Sélectionnez le bon port COM dans le logiciel RACS. * Appuyez sur l’interrupteur Start (Platine du Robot Arm) * Activez --> Wireless - Connect et Servo Power
Maintenant vous pouvez commander le Robot Arm par radio.
8.5. PROGRAMME ANDROID
8.5.1 PROGRAMME ANDROID
Notre set ARX-BT03 permet également de commander le Robot Arm par Blue­tooth et une application ANDROID.
Procédez de la manière suivante:
- Branchez le module Bluetooth sur la platine du Robot Arm (voir p. 16).
- Chargez le chier HEX ANDROID dans le processeur du Robot Arm.
- Chargez le chier APK Robot Arm AREXX dans votre téléphone portable ou votre tabeltte. Ce chier sur touve sur le CD et dans le Google
Play Store.
Voir également le manuel chez AREXX
APC-220, Androïd ou module WIFI.
- 49 -
9.0. Programmation du Robot Arm
Nous arrivons progressivement à la programmation du robot.
Installation de l’éditeur de texte source
Tout d’abord, nous devons nous créer un petit environnement de développe-
ment puisqu’il faudra bien rentrer le “texte source” (appelé aussi code source ou “sourcecode” en anglais) de notre programme C dans l’ordinateur!
Pour ce faire, nous n’allons certainement pas utiliser des programmes tels que
OpenOfce ou Word! Nous le soulignons ici car ce n’est peut-être pas une
évidence pour tout le monde. Ces programmes sont parfaits pour écrire des manuels comme celui-ci mais ne conviennent pas du tout à la programmation. Un texte source est du texte pur sans aucune mise en forme. Le compilateur ne s’intéresse pas à la taille de la police ou à la couleur...
Pour une personne, il est évidemment plus clair lorsque certains mots-clé ou des types de texte sont mis en évidence automatiquement par une couleur et c’est ce que fait, entre autres, l’éditeur de texte source que nous allons utiliser: Programmers Notepad 2 (abrégé ci-après par PN2) (ATTENTION: Sous Linux, vous devez utiliser un autre éditeur qui offre à peu près les mêmes fonctions
que PN2. Généralement, plusieurs éditeurs sont déjà préinstallés tels que
kate, gedit, exmacs et autres). Outre la mise en évidence de mots-clé et autre
(appelé “coloration syntaxique”), il offre une gestion de projet rudimentaire. Ainsi, vous pouvez organiser plusieurs chiers de texte source en projets et faire apparaître dans une liste tous les chiers appartenant à un projet. Par
ailleurs, vous pouvez facilement appeler des programmes comme l’AVR-GCC à partir de PN2 et faire traduire aisément les programmes par un élément de menu. L’AVR-GCC est normalement un pur programme de lignes de comman­des sans surface graphique...
Vous trouverez des versions récentes de Programmers Notepad sur la page
d’acceil projet: http://www.pnotepad.org/
Les versions les plus récentes de WINAVR dispensent de la création d’options de menu!
ATTENTION: Dans ce chapitre nous n’expliquons plus comment vous devez créer des options de menu puisqu’elles sont déjà créées dans les versions WINAVR les plus récentes!
- 50 -
Voir page 56 “Ouvrir et compiler un projet d’exemple” pour savoir com­ment procéder.
Lorsque vous avez ouvert un projet d’exemple, il devrait se présenter à l’écran
PN2 de la manière suivante:
Fichier „Robot ArmExamples.ppg“.
Ceci est un groupe de projet pour PN2
qui charge tous les programmes d’exemple ainsi que la RobotArm
Library dans la liste des projets (“Projects“).
A gauche, vous voyez tous les projets d’exemples, à droite, l’éditeur de texte
source (avec la coloration syntaxique) et en bas, l’édition des outils (dans ce cas l’édition du compilateur).
Vous pouvez faire encore beaucoup d’autres choses avec PN2 qui offre de nombreuses fonctions utiles.
- 51 -
Ouvrir et compiler un projet d’exemple
Nous allons tester maintenant si tout
fonctionne bien et ouvrons les projets
d’exemple:
Dans le menu „File“ sélectionner l’option „Open Project(s)“.
Une fenêtre de sélection de chier nor­male s’ouvre. Cherchez le dossier ”Robot Arm_Examples [MINI]\“ dans le dossier
dans lequel vous avez enregistré les pro­grammes d’exemple.
Ouvrez le chier “Robot ArmExamples. ppg“. C’est un groupe de projets pour
PN2 qui charge tous les programmes d’exemple ainsi que la Robot Arm Library
dans la liste de projets (“Projects“).
Ainsi tous les programmes d’exemples sont toujours à disposition et permet-
tent de s’y reporter plus facilement ou rechercher des fonctions dans la Robot Arm Library etc..
Ouvrez le premier programme tout en haut de la liste (“01_Leds“ et sélec­tionnez le chier “01_Leds“ ) qui apparaît au bord gauche de la fenêtre du programme. Pour cela, double-cliquez sur “01_Leds.c“! Un éditeur de texte source s’afche dans une fenêtre à l’intérieur du programme.
En bas de la fenêtre du programme de PN2, vous devez avoir une zone d’édition. Si ce n’est pas le cas, vous devez activer cette zone par le menu
“View” --> “Output” OU, si elle est trop petite, la “tirer” avec la souris (la èche de la souris se transforme en une double èche en bas de la fenêtre de pro­gramme sur le bord supérieur de la zone grise dans laquelle est inscrit “Out­put” et vous pouvez agrandir la zone en tirant la double èche).
Vous pouvez déjà jeter un coup d’oeil sur le programme dans l’éditeur de
texte source qui vient de s’ouvrir. Cependant ce n’est pas encore nécessaire de comprendre ce qui s’y passe exactement. Nous allons l’expliquer plus loin. Pour commencer: le texte vert sont des commentaires qui ne font pas partie du programme proprement dit et ne servent qu’à la description/documentation.
- 52 -
Nous allons y revenir par la suite plus en détails (il existe aussi une version de ce programme SANS les commentaires pour montrer à quel point le program­me est court. Les commentaires le gonent énormément mais sont néces­saires à l’explication. La version non-documentée est également pratique pour copier le code dans vos propres programmes!).
Nous allons tester dans un premier temps si la traduction de programmes fonctionne correctement.
Le menu Tools devrait montrer les élé­ments de menu qui viennent d’être créés
(voir g.) ou les éléments [WinAVR] qui
existent en standard dans PN. Cela n’a pas d’importance puisque cela fonctionne normalement avec les deux).
Cliquez maintenant sur “MAKE ALL“!
PN2 appelle maintenant le chier batch „make_all.bat“. Celle-ci appelle à son tour le programme “make“. Nous reviendrons sur “make” par la suite.
Le programme d’exemple est maintenant traduit (cela s’appelle “compiler” du mot anglais “to complile“ ou bien „Compilateur“=„traducteur“) et un chier
hexadécimal est généré. Celui-ci contient le programme dans la forme tra­duite pour le microcontrôleur et pourra être chargé et exécuté par ce dernier.
Pendant la compilation, un grand nombre de chiers temporaires est généré (avec des terminaisons comme “.o, .lss, .map, .sym, .elf, .dep“). N’en tenez
pas compte! Vous pourrez les effacer facilement avec l’outil fraîchement créé
“make clean“. Seul le chier hexadécimal vous intéresse. D’ailleurs, le chier hexadécimal n’est pas effacé par la commande “make clean“.
- 53 -
Après la commande MAKE ALL du menu, l’édition suivante devrait s’afcher
(fortement abrégé ici! Certaines lignes peuvent être un peu différentes):
> “make.exe” all
-------- begin --------
avr-gcc (WinAVR 20100110) 4.3.3
Copyright (C) 2008 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Size before: AVR Memory Usage
---------------­Device: atmega64
Program: 3074 bytes (4.7% Full) (.text + .data + .bootloader) Data: 68 bytes (1.7% Full) (.data + .bss + .noinit) EEPROM: 14 bytes (0.7% Full)
(.eeprom)
Compiling C: Robot Arm_Leds.c
avr-gcc -c -mmcu=atmega64 -I.
-gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned-bitelds -fpack-
struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=./Robot Arm_Leds.lst -std=gnu99 -MMD -MP -MF
.dep/Robot Arm_Leds.o.d Robot Arm_Leds.c -o Caterpillar_Leds.o
Linking: Robot Arm_Leds.elf
avr-gcc -mmcu=atmega16 -I. -gdwarf-2 -DF_CPU=16000000UL -Os -funsigned-char -funsigned­bitelds Creating load le for Flash: Robot Arm_Leds.hex Creating load le for EEPROM: Robot Arm_Leds.eep avr-objcopy -j .eeprom --set-section-ags=.eeprom=”alloc,load” \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex Robot Arm_Leds.elf
Robot Arm_Leds.eep || exit 0 Size after:
AVR Memory Usage
----------------
Device: atmega64
Program: 3074 bytes (4.7% Full) (.text + .data + .bootloader) Data: 68 bytes (1.7% Full) (.data + .bss + .noinit)
EEPROM: 14 bytes (0.7% Full)
(.eeprom)
-------- end -------->
Process Exit Code: 0 > Time Taken: 00:04
- 54 -
Le “Process Exit Code: 0“ tout en bas est très important. Il signie qu’il n’y a
pas eu d’erreur lors de la compilation. Si un autre code apparaît à la place, il y a une erreur dans le code source qu’il faut corriger avant que cela puisse fonctionner. Dans ce cas, le compilateur édite plus haut divers messages d’erreur qui vous donneront plus d’informations.
Notez quand-même que “Process Exit Code: 0“ n’est pas synonyme d’un programme 100% sans erreurs! Le compilateur ne détectera évidemment pas d’erreurs de réexion dans votre programme et il n’empêchera pas non plus le
robot de rentrer dans un mur ;)
IMPORTANT: Il peut y avoir d’autres avertissements qui sont souvent très uti-
les et désignent presque toujours des problèmes importants! C’est pourquoi il faut toujours les éliminer! PN2 met les avertissements et erreurs en évidence par des couleurs an de faciliter leur identication. Il indique aussi le numéro
de ligne qui pose un problème au compilateur. Si on clique sur le message co­loré, le PN2 saute directement à la ligne en question dans l’éditeur concerné.
L’indication à la n “AVR Memory Usage“ est également très utile.
----------------
Size after: AVR Memory Usage
---------------­Device: atmega64
Program: 3074 bytes (4.7% Full) (.text + .data + .bootloader)
Data: 68 bytes (1.7% Full) (.data + .bss + .noinit)
Cela signie ici pour le processeur Atmega 64 que notre programme pèse 3074 bytes et que 68 bytes de RAM sont réservés pour des variables sta­tiques (à cela s’ajoutent les zones dynamiques pour tas et pile mais cela nous
mènerait trop loin.... Contentez-vous de garder toujours au moins quelques
centaines de bytes de mémoire de libre). Nous avons en tout 64ko (65536 Bytes) de ROM ash et 2ko (2048 Bytes) de RAM. Sur les 64ko, 2ko sont oc­cupés par le bootloader - donc nous ne pouvons utiliser que 62ko. Veillez toujours à ce que le programme puisse tenir dans la mémoire disponi­ble! (Le RobotLoader ne transfère pas le programme s’il est trop grand!)
- 55 -
Donc, dans le programme d’exemple précédent, il reste 60414 bytes d’espace libre. D’ailleurs, le programme Example_01_Leds.c qui est en soi plutôt court, ne prends autant d’espace que parce que la
Robot ArmBaseLibrary
y est intégrée. Par conséquent, pas de soucis, il y a assez d’espace pour vos programmes et de si petits programmes n’ont normalement pas besoin
d’autant d’espace. La bibliothèque de fonctions occupe à elle seule déjà plusieurs Ko de la mémoire ash mais vous évite aussi beaucoup de travail
et c’est pour cela que vos propres programmes seront souvent relativement petits par rapport à la Robot ArmBaseLibrary.
Le programme que vous venez de compiler, peut maintenant être chargé
dans le robot via le RobotLoader. A cet effet, vous devez ajouter le chier
hexadécimal que vous venez de créer, dans la liste du RobotLoader au moyen
de la fonction “Add” (ajouter). Sélectionnez le chier et cliquez sur le bouton “Upload!” comme vous l’avez déjà fait pour le programme d’auto-test. Ensuite
vous pouvez revenir sur le terminal et regarder l’édition du programme. Il faut évidemment démarrer d’abord l’exécution du programme. Cela pourra
se faire sur le terminal en appuyant sur les touches [STRG]+[S] sur le clavier ou en utilisant le menu (ou en envoyant simplement un “s” - cependant après un reset, vous devez toujours attendre un peu jusqu’à ce que le message”[READY]“ s’afche sur le terminal!). [STRG]+ [Y] est également
une combinaison de touches très utile puisqu’elle charge le programme sélectionné dans le Robot Arm et le démarre immédiatement après! Cela évite
de revenir du terminal sur l’onglet “Flash Loader” ou d’utiliser le menu.
Le programme d’exemple est très simple et ne consiste qu’en un petit séquenceur à LED et un peu de texte.
-
- 56 -
Le mot de la n
Nous espérons que nos robots vous auront rapproché du monde de la robotique! Tout comme nos amis japonais, nous sommes convain­cus que les robots constitueront la prochaine révolution technologique après les ordinateurs et les téléphones portables. Cette révolution déclenchera également de nouvelles impulsions économiques. Malheureusement, le Japon, d’autres pays
asiatiques et aussi les Etats-Unis ont d’ores et déjà largement dépassé
l’Europe dans ce domaine. A la différence de l’Europe, l’enseignement
technique commence en Asie déjà à l’école primaire et constitue une
part importante de la formation.
Notre objectif lors du développement de nos robots ASURO, AAR-04,
YETI, Caterpillar et Robot Arm est donc:
TO TRAIN A SCIENTIFIC MIND
- 57 -
APPENDICE
- 58 -
A. SCHEMA TECHNIQUE DU ROBOT ARM RA1-PRO
A
B
C
D
8
7
APC220 or Bluetooth Module expansion
6
5
4
1
2
EXT2
Header 2
SL2
SL3
SL4
BLUE
1234567
RF_BT_EXT
C26
0805
VCC
Header 7
10µF 10V
PE1/TXD0/PDO
GND
PE0/RXD0/PDI
PD7
10K
R38
0603
VCC
10K
R37
0603
BEEPER
SERVO1
SERVO2
SERVO3
PB0/SS
PB1/SCK
PB2/MOSI
PB3/MISO
14
13
15
11
16
10
17
PB0 (SS)
PB4 (OC0)
PB1 (SCK)
PB2 (MOSI)12PB3 (MISO)
PB6 (OC1B)
PB5 (OC1A)
PB7 (OC2/OC1C)
1.82k
R13
0603
LED4
RXD1
TXD1
UBAT
SCL
25
EXT_ADC
SDA
PD4
PD6
PD5
PD7
26
PD0 (SCL/INT0)
55
29
30
54
28
27
32
PD6 (T1)31PD7 (T2)
PD4 (ICP1)
PD5 (XCK1)
PF7 (ADC7/TDI)
PD1 (SDA/INT1)
PD3 (TXD1/INT3)
PD2 (RXD1/INT2)
BLUE
BLUE
1.82k
R15
0603
R14
0603
LED2
LED3
VCC
SERVO_CURRENT1
SERVO_CURRENT2
SERVO_CURRENT3
SERVO_CURRENT4
SERVO_CURRENT5
SERVO_CURRENT6
LED1
LED2
61
33
57
34
56
PG0 (WR)
PF3 (ADC3)58PF2 (ADC2)59PF1 (ADC1)60PF0 (ADC0)
PF4 (ADC4/TCK)
PF6 (ADC6/TDO)
PF5 (ADC5/TMS)
GND
SL1
BLUE
1.82k
1.82k
R16
0603
LED1
10µF 10V
C25
0805
GND
100n
C24
0603
100n
C23
0603
10uH
L2
Inductor 060 3
100n
C22
0603
10n
C21
0603
LED3
LED4
SERVO_EN
19
62
21
52
64
43
VCC
VCC
AREF
AVCC
PG1 (RD)
PG2 (ALE)
PG3/TOSC218PG4/TOSC1
8
AREXX Engineering
Nervistraat 16
8013 RS Zwolle
The Netherlands4
7
2
Revision:
Sheet of
20130214-1 B
Number:
Dominik S. Herwald
22.03.2013
ROBOT ARM v3 - Processor
Title
Date:
Author:
6
5
GND GND
4
XTAL1
PC1
START/STOP_RESET
MRESET
PE0 RXD0/(PDI)2PE1 (TXD0/PDO)3PE2 (XCK0/AIN0)4PE3 (OC3A/AIN1)5PE4 (OC3B/INT4)6PE5 (OC3C/INT5)7PE6 (T3/INT6)8PE7 (ICP3/INT7)
42
SERVO1_D_POS
SERVO1_U_POS
PE0/RXD0/PDI
PE1/TXD0/PDO
PC2
PC3
PE2/XCK0/AIN0
START/STOP_RESET
BOARD_ID
R11
0603
100K
R12
0603
BUTTON
GND
PC0 (A8)35PC1 (A9)36PC2 (A1037PC3 (A11)38PC4 (A12)39PC5 (A13)40PC6 (A14)41PC7 (A15)
IC1
3
2
BEEPER
GND
2
112
SND
PIEZO
1
PA7 (AD7)44PA6 (AD6)45PA5 (AD5)46PA4 (AD4)47PA3 (AD3)48PA2 (AD2)49PA1 (AD1)50PA0 (AD0)
51
PA1/KEY1
PA0/KEY0
PA3/KEY3
PA2/KEY2
PA5/KEY5
PA4/KEY4
PA7/KEY7
PA6/KEY6
PC0
1 2
STH Header 2
START/STOP
SERVO4
470R
GND
SERVO5
SERVO6
PEN
RESET
GND22XTAL2
GND
GND
1
9
20
PE6/INT6
PE7/INT7
GND
VCC
ATmega64A-AU
24
23
53
63
XTAL1
XTAL2
R10
GND
16.000MHz
18p
C19
0603
GNDGND
X1
18p
C18
0603
1 2
D3
MCL4148
MRESET
RESET
ISP_RESET
100n
C20
ISP/BOOT
0603
123
Header 3
10K
0603
3
2
GND
1
- 59 -
B. SCHEMA TECHNIQUE DU POWER SUPPLY RA1-PRO
1
1
2
2
3
3
4
4
5
5
6
6
7
7
8
8
D D
C C
B B
A A
1
AREXX Engineering
Nervistraat 16
8013 RS Zwolle
The Netherlands4
ROBOT ARM v3 - Power Supply
20130214-1 B
14.02.2013
Dominik S. Herwald
Title
Number:
Date:
Author:
Revision:
Sheet of
VIN
2
GND
7
EN
3
COMP
6
PH/OUT
8
VSENSE
5
SS
4
BOOT
1
GND
PAD
IC3 TPS54332
GND
GND
1M
R4*
0603
10n
C7
0603
18p
C9
0603
470pf
C8
0603
24.9k
R5
0603
GND
GND
1.82k
R6
0603
10k
R7
0603
GND
100nF
C10
0603
10k
R3
0603
GND
GND
V_IN
22µF
C11
1206
22µF
C13*
1210
22µF
C12
1206
10µF 25V
C4
1206
SERVO_POWER
10µF 25V
C3*
1206
C15
470µF 25V
1
D1
MBRS330
VCC
IN
3
OUT
2
GND
1
TAB
4
IC2
NCP1117ST50
10µF 10V
C17
0805
GND
GND
2.2µF 25V
C16
0805
C5
470µF 25V
C2
470µF 25V
1
D2
MBRS330
1
2
3
PWR1
DC JACK
GND
F4.0A
F1
FUSE_HOLDER
100k
R1
0603
24.9k
R2
0603
GND
100nF
C6
0603
UBAT
SERVO_EN
SERVO_PWR
RED
1.82k
R8
0603
SERVO_POWER
GND
MAIN_PWR
YELLOW
1.82k
R9
0603
VCC
GND
C1*
470µF 25V
2
3
1
PWR
SW-SPDT
7 - 18V
max. 4A
V_IN_VCC
1
2
PWR2
Header 2
V_IN
GND
1
2
3
PWR3
Header 3
V_IN
GND
4.7µH
L1
Inductor
C43*
470µF 25V
Several optional components, only partially assembled
- 60 -
C. SCHEMA TECHNIQUE DU CONNECTORS RA1-PRO
8
7
8
AREXX Engineering
Nervistraat 16
8013 RS Zwolle
The Netherland s4
7
4
Revision:
Sheet of
20130214-1 B
Number:
Dominik S. Herwald
22.03.2013
ROBOT ARM v3 - Connectors
Date:
Author:
Title
6
MRESET
PE6/INT6
VCC
5
V_IN_VCC
4
VCC
3
2
VCC
1
1356
7
910811
1314
XBUS1
12
SDA
SCL
PE7/INT7
MOSI
PE0/RXD0/PDI
1 2
3 4
5 6
ISP
PB1/SCK
ISP_RESET
PE1/TXD0/PDO
MISO
TXD1
MRESET
1356
7
910
PROG/UART
4
2
8
RXD1
GND
4
2
GND
GND
VCC
PA5/KEY5
PA4/KEY4
PA7/KEY7
PA6/KEY6
4
2
KEYB
135 6
7 8
PA1/KEY1
PA0/KEY0
PA3/KEY3
PA2/KEY2
123
SPWR
Header 3
SERVO_POWER
123
VCC
Header 3
VCC
PC3
SDASCL
EXT_ADC
PE2/XCK0/AIN0
4
2
8
12
IO2
9 10
11
13 14
PC0
GND
135 6
7
PC1 PC2
PE0/RXD0/PDI
PE1/TXD0/PDO
1
2
SW2
Header 2
470R
R35
0603
SERVO1_U_POS
GND
GND
Dual use with Wireless APC220 SET Pin
PD5
PD7
4
8
12
VCC
SPI/IO1
7
9 10
11
13 14
PB0/SS PB1/SCK
PB2/MOSI PB3/MISO
MRESET PE6/INT6
PD4
PD6
1
2
SW1
Header 2
GND
2
135 6
GND
470R
R36
0603
SERVO1_D_POS
GND
6
5
4
3
2
1
A A
B B
C C
D D
- 61 -
1
2
34
A
B
C
D
4
3
2
1
D
C
B
A
Title
Number RevisionSize
A4
Date: 7-Jun-2010 Sheet of
File: F:\
硬件原理
\mini robot ARM\mini robot.ddbDrawn By:
D1
1N4148
D2
1N4148
SSERVO1_UP
SERVO1_DWN
PA0
PA1
D3
1N4148
D4
1N4148
SSERVO2_UP
SERVO2_DWN
PA2
PA3
PA4
D5
1N4148
D6
1N4148
SSERVO3_UP
SERVO3_DWN
PA0
PA1
D7
1N4148
D8
1N4148
SSERVO4_UP
SERVO4_DWN
PA2
PA3
PA5
D9
1N4148
D10
1N4148
SSERVO5_UP
SERVO5_DWN
PA0
PA1
D11
1N4148
D12
1N4148
SSERVO6_UP
SERVO6_DWN
PA2
PA3
PA6
D13
1N4148
D14
1N4148
TANK_FNT
TANK_BCK
PA0
PA1
D15
1N4148
D16
1N4148
TANK_RIGHT
TANK_LEFT
PA2
PA3
PA7
PA5
PA0
PA1
PA2
PA3
PA6
PA7
PA4
1
2
3
4
5
6
7
8
J1
ext key pad
D. SCHEMA TECHNIQUE DU CLAVIER RA1-PRO
- 62 -
E. SERVO MOTUER COURANT V3
8
7
8
AREXX Engineering
Nervistraat 16
8013 RS Zwolle
The Netherland s4
7
3
Revision:
Sheet of
20130214-1 B
Number:
Dominik S. Herwald
22.03.2013
ROBOT ARM v3 - Servos Current Sense
Date:
Author:
Title
6
SERVO_CURRENT1
GND
1
IC4A
100n
C33
0603
4 8
5
4
3
VCC
3
2
C27
4.7k
R17
0603
0.1Ohm
RP1
2512, 2W
SERVO1
100n
C37*
0603
123
S1
Header 3
10µF
C36
0805
SERVO_POWER
GND
SERVO_CURRENT2
150K
R19
0603
TLC27M2CD
VCC
GND
10k
R18
0603
2.2µF 25V
0805
RP2
SERVO2
123
S2
R22
7
IC4B
TLC27M2CD
4 8
GND
5
6
R21
2.2µF 25V
C28
0805
4.7k
R20
0603
0.1Ohm
2512
100n
C38*
0603
Header 3
SERVO_CURRENT3
GND
150K
0603
1
IC5A
100n
C34
0603
4 8
VCC
3
2
10k
0603
4.7k
R23
0603
0.1Ohm
RP3
2512
SERVO3
100n
C39*
0603
123
S3
Header 3
SERVO_CURRENT4
150K
R25
0603
TLC27M2CD
VCC
GND
10k
R24
0603
2.2µF 25V
C29
0805
RP4
SERVO4
S4
R28
7
IC5B
TLC27M2CD
4 8
GND
5
6
R27
2.2µF 25V
C30
0805
4.7k
R26
0603
0.1Ohm
2512
100n
C40*
0603
123
Header 3
SERVO_CURRENT5
GND
150K
0603
1
IC6A
100n
C35
0603
4 8
VCC
3
2
10k
0603
4.7k
R29
0603
0.1Ohm
RP5
2512
SERVO5
100n
C41*
0603
123
S5
Header 3
SERVO_CURRENT6
150K
R31
0603
TLC27M2CD
VCC
GND
5
10k
R30
0603
2.2µF 25V
C31
0805
R32
0.1Ohm
RP6
2512
SERVO6
C42*
123
S6
Header 3
150K
R34
0603
7
IC6B
TLC27M2CD
4 8
GND
6
10k
R33
0603
2.2µF 25V
C32
0805
4.7k
0603
GND
100n
0603
6
5
4
3
2
1
A A
B B
C C
D D
2
1
- 63 -
F. PLATINE ROBOT ARM RA1-PRO
- 64 -
G. ADAPTEUR DE PROGRAMMATION V3
AUX
RXD4TXD
VCC
M1
2
VCC
R7
C7
100n
GND
CBUS2
DSR
6
4
2
DSR
GND
CBUS2
RI
CBUS43VTARGET
HDR1
5
1
EN
7
6
5
3
R8
100
100
DTR
TXDTXD
RXD
RXD
RTS
8
10
RX
DTR7TX
9
GND
RTS
UART-FULL-HDR
SET
GND
APC220
1
VCC
T2
BC847
1K
R5
T1
BC847
3K9
R6
1K
R3
GND
R4
100K
Vtarget
Vtarget
VCC
D1
C10
22uF
MBRS130LT3
+
C8
100n
2
GND
1
VOUT
REG1117
VIN
IC2
3
C5
GND
100n
CBUS1
Blue
LED_RX
R1
VCC
CBUS4
DTR
RI
CBUS0
CBUS1
CBUS2
CBUS3
CBUS023CBUS122CBUS213CBUS314CBUS4
3V3OUT
17
100n
C3
CBUS4
7
26
12
TEST
USBDM
USBDP
GND
16
15
25
TXD
RXD
CTS
DTR
DSR
RTS
DCD
CBUS0
Blue
LED_TX
R2
470R
1
5
3
TXD
RXD
470R
VCCIO4RESET
VCC
IC1
20
C6
RI
11
2
9
10RI6
RTS
CTS
DTR
DSR
DCD
OSCO28OSCI
27
19
+3V3
100n
GND
21
18
GND
GND
GND
FT232RL
GND
C4
22uF
+
GND
C9
22uF
+
321
J1
DC-JACK
L1
ferrite bead 600 ohm 100Mhz
C1 C2
10n 100n
123
- 65 -
4
USB
X1
Loading...