Home
Module extension RP6 CC-PRO MEGA128
Contents
1. et ils seront crits sur l array readBuffer Exemple CompactC Lire la valeur du capteur de tension byte messageBuf 3 Buffer pour la r ception de donn es RP6 readRegisters RP6 BASE ADR I2C REG ADC UBAT L messageBuf 2 La valeur mesur e est compos e de 2 octets vous devez les assembler en une valeur mesur e adcBat messageBuf 1 lt lt 8 messageBuf 0 l octet de valeur sup rieure de 8 points est gliss gauche et la place est crit l octet de valeur inf rieure sur une ODER combinaison Maintenant vous pouvez donner la valeur print Battery Sensor Value printinteger adcBat printin 3 Il s agit ici non pas d une valeur de tension directe mais d une valeur mesur e grossi re du convertisseur analogique num rique Vous pouvez encore la convertir afin d obtenir la v ritable valeur par 102 4 parties 23 Le programme RP6I2CSlave conna t actuellement 12 ordres permettant de contr ler enti rement le robot CMD POWER OFF Eteindre l encodeur le d tecteur de courant et Power LED Allumer l encodeur le d tecteur de courant et Power LED CMD_SETLEDS 3 R gler les LED Param tre 1 Etat LED 6 premiers bits Bit O LED1 Bit 6 LED6 Arr ter les moteurs et la r gulation de la vitesse 5 CMD_ MOVE _AT_SPEED Bouger une vitesse pr cise Param tre 1 vitesse gauche Param tre 2 vitesse droite Valeu
2. IDE ntertaces internet Update Terminal Tools Lens Communicationpot COM24 Search Interfaces C Contol Test Hardware Version V RPE USE Interface AutoConnect du CD et laissez le compilateur le traduire la fl che bleu en haut dans la barre d outils Vous devez choisir la bonne interface dans les r glages COMXxx ne PAS choisir USBO celui ci ne fonction qu avec la carte d application CCPRO et ventuellement cocher la case pour l activation de RP6 USB Interface AutoConnect C est important afin que le CCPRO IDE passe automatiquement en mode Bootload Ainsi vous n avez plus besoin d appuyer sur deux boutons du module chaque t l chargement de programme TR L Si le CCPRO Unit n est pas reconnu au premier essai cliquez nouveau sur le bouton recherche d interfaces et assurez vous que le CCPRO Unit est correctement pass en mode bootload Conrad C Control Pro 2008 doit appara tre dans la fen tre d dition Dans le cas cela ne se passe pas automatiquement vous pouvez appuyer sur les deux boutons du module CCRPO dans l ordre qui suit afin de passer le module en mode Bootloard Appuyez sur START BOOT et restez appuy appuyez sur RESET l chez RESTER et seulement apr s rel chez le bouton START BOOT Lorsque le module CCPRO est en mode Bootload la LED jaune s allume de fa on permanente Vous pouvez alors charger le programme dans le CCPRO Unit Apr s la r ussite du t
3. Les donn es sont conserv es apr s l arr t sur l EEPROM Disponible jusqu une capacit de 1 Mbit 128 Kbyte id al entre autres pour les enregistreur de donn es 1 million de fois r inscriptible e Signaleur piezo Pour cr er des sons et des m lodies simples Signaleur pour faire part d une erreur ou d un changement de statut par exemple Peut tre d sactiv le port I O est alors disponible pour le connecteur e 5 LED de statut pour la repr sentation des tats d un programme ou d un capteur Deux LED sont branch es un port I O les trois autres la sortie du registre glissement Vous pouvez d sactiver les LED via le Jumper les I O ou les sorties de commutation sont alors disponibles pour d autres applications 7 e Port Ecran LC Pour le branchement d un cran LC texte standard De pr f rence des LCD compatibles HD44870 par exemple avec 16 x 2 ou 16 x 4 lignes Nous vous conseillons toutefois de prendre les dimensions avant l achat et de commander le mat riel de montage adapt L cran peut afficher par exemple des messages textes des menus des statuts de programme ou encore des valeurs de capteur e 19 ports I O disponibles pour le contr le de votre circuit et de vos capteurs 8 d entre eux sont utilisables comme canaux convertisseurs analogique num rique ADC 3 peuvent servir de sorties PWM par exemple pour le contr le de ser
4. cran LC est id al pour l affichage des valeurs du capteur et des messages d tat Il peut tre tr s utile pour obtenir des informations sur l tat du programme actuel surtout quand le robot n est pas reli un ordinateur Le LCD n est pas branch comme sur la carte d application CCPRO les fonctions LCD internes ne pouvant tre utilis es directement Cela devrait toutefois tre possible dans une prochaine version de l interpr teur CCPRO En tout premier vous devez bien videmment initialiser le LCD void RP6_initLCD void Sub void RP6 initLCD Le RP6_ CCPRO_Init le fait normalement d j vous n avez donc pas besoin normalement de le faire nouveau Le LCD fonctionne en mode 4 bit Ainsi vous devez appeler 2 fois la fonction suivante pour transmettre un byte de donn es complet au LCD void setLCDD byte lcdd Sub setLCDD lcdd As Byte Ces deux fonctions suivantes le font galement void writeLCDCommand byte cmd Sub writeLCDCommand cmd As Byte contenus dans la RP6CCLib Comme celles ci ne sont pas disponibles tr s longtemps dans l interpr teur CCPRO elles sont rapidement crites Elles doivent tre enregistr es peu apr s dans la documentation CCPRO void SPI Enable byte ctrl Initialisez le module hardware SPI avec le byte de configuration ctrl La valeur standard pour un module d extension CCPRO est de 0x50 vous devez alors fixer les bits SPE Enable et MSTR Master Modus
5. Au lieu d utiliser la fonction beep et beep_t vous pouvez aussi utiliser les macros sound pitch und sound off Vous pouvez uniquement r gler la hauteur de son Cela est tr s utile pour une suite de sons continue par exemple une sir ne d alarme Cette fonction n est PAS bloquante Seule la hauteur de son sera r gl e et encha nera directement avec le programme Vous pouvez arr ter le g n rateur de son gr ce sound_off Vous avez une autre alternative possible avec le macro suivant tone PITCH TIME Il est utiliser par exemple dans un programme d exemple pour jouer de longues m lodies pendant lesquelles le beeper ne doit surtout pas tre teint Attention pour toutes les fonctions de beeper la zone autoris e de pitch hauteur de son se trouve entre 0 et 65535 O tant la plus haute fr quence et 65535 la plus basse R f rez vous la documentation du C Control Pro au chapitre sur le minuteur pour plus de d tails Timer3 avec Prescaler 64 est utilis pour les fonctions beep 3 6 Bus C Vous avez en plus des fonctions bus 1 C de la biblioth que normale CCPRO des fonctions suppl mentaires sp cifiques permettant de contr ler le robot depuis le programme RP6Bases_ 2CSlace Ce programme doit tre bien videmment charger depuis la carte m re sur un contr leur via RP6Loader cf mode d emploi RP6 Il met disposition une rang e de registres sur lesquels le rob
6. agir automatiquement lorsqu il y a modification de donn es importantes de capteur par exemple lorsque PACS d tecte un obstacle une certaine fonction est appel e Nous n allons pas parl plus longtemps de ces choses compl mentaires car ces fonctions sont petit petit ajouter dans les programmes d exemple et d crites Veuillez lire les commentaires dans les programmes d exemple 31 void writeCharLCD char ch Sub writeCharLCD ch As Char Les deux transmettent un byte au LCD interpr ter comme ordre de commande par writeLCDCommand et comme code caract re par writeCharLCD Avec la fonction suivante le curseur texte sera plac une position pr cise void setCursorPosLCD byte text line byte pos Sub setCursorPosLCD text line As Byte pos As Byte Exemple CompactC setCursorPosLCD 1 5 Placer le curseur ligne 1 position 5 writeCharLCD 65 Ecrit un A cette position Exemple Basic setCursorPosLCD 1 5 Placer le curseur ligne 1 position 5 writeCharLCD 65 Ecrit un cette position void clearLCD Sub clearLCD Efface l int gralit du contenu du LCD void setCursorPosLCD byte text line byte pos Sub setCursorPosLCD text line As Bye pos As Byte N efface qu une partie pr cise du LCD D butant la ligne text_line la position pos lenght caract res seront effac s Si vous souhaitez envoyer plusieurs caract res l un apr s l autre au
7. dans le registre de configuration cf fiche de donn es MEGA128 La cadence d horloge est r gl e sur la moiti de celle de la CPU soit 7 3728 MHZ byte SPI Read void Lit un byte d un slave SPI tout juste activ void SPI Write byte data Envoie un byte au slave SPI tout juste activ void SPI ReadBuf byte buf byte length Lit les bytes length d un slave SPI tout juste activ et les enregistre dans un circuit buf void SPI WriteBuf byte buf byte length Envoie les bytes length du circuit buf au slave SPI tout juste activ Pour un registre glissement tel que le 74HC4094 utilis sur un module d extension CCPRO vous devez activer une ligne Strobe apr s que vous ayez crit les donn es Par exemple Thread Lock 1 Important Bloquer la commutation thread SPI Write external port Envoyer les donn es Port WriteBit PORT STR 1 Activer la ligne strobe delayCycles 5 tr s courte pause Port WriteBit PORT STR 0 D sactiver nouveau la ligne strobe Thread Lock 0O Attention d bloquer la commutation thread Cela s effectue de la m me fa on que le RP6CCLib Pour les autres slaves SPI comme par exemple les puces m moire Flash ou les EEPROM il est plus g n ralement requis de mettre la ligne Chipselect avant l acc s BUS et de la d sactiver ensuite 28 lt RP6 CCPRO Examples gt CompactC RP6 CCPRO SELFTEST RP6 CCPRO Selftest cpr j
8. l chargement d marrez le programme soit par pression sur le bouton Start du module CCPRO ou du robot lui m me Vous devez d abord appuyer une fois sur Reset si jamais le module se trouve encore dans le mode Bootload ou cliquez sur le symbole clair dans la barre d outils du CCPRO IDE La LED verte est sens e clignoter lorsque le module est pr t d marrer le programme charg Cela ne fonctionne cependant que lorsque vous utilisez le RP6CCLib II y a en effet un sous programme qui permet de d marrer tous les contr leurs du RP6 en m me temps Le signaleur Piezo doit mettre un court son directement apr s avoir appuy sur le bouton Start La LED s claire et un texte est affich sur le LCD RP6 CCPRO M128 13 fa D Ep n Des messages d tat sont transmis l interface s quentielle qui peuvent se voir sur le CCPRO IDE ou au terminal du RP6Loader Faites bien attention ici aux messages d erreur possibles Lorsque l cran n affiche rien ou seulement deux lignes de carr s noirs mais que les LED clignotent et que la connexion avec le CCPRO IDE fonctionne vous devez r gler le contraste de l cran ou bien l affectation des broches de l cran est mauvaise Cela se fait avec le potentiom tre R10 l arri re de la platine Ajustez le contraste avec le potentiom tre R16 sur la platine Il peut tre r gl gr ce un petit tournevis plat Vous pouvez galement utiliser un petit tournevis
9. I2C 3 6 1 Envoyer des commandes 3 6 2 Lire des donn es 3 6 3 Capteur de temp rature 3 7 Bus SPI 3 8 Ecran LC 4 Programmes d exemple ANNEXE Affectation des broches B Recyclage et consignes de s curit 1 Le module d extension RP6 CCPRO M128 Gr ce au module d extension RP6 CCPRO M128 vous pouvez ajouter votre syst me robot RP6 un module performant C Control PRO MEGA128 de Conrad Electronic code article 198219 Ce module comporte un contr leur Atmel ATMEGA128 avec une Flash ROM 128 Ko un SRAM de 4 Ko et de nombreux ports 1 0 Il existe une m moire d extension sur le module d extension qui augmente la m moire vive 64 Ko et permet ainsi l ex cution d importants algorithmes comme par exemple une simple pr paration d itin raire Le pilotage d un hardware complexe est galement possible Interruptions INT1 PES f INT3 Ce bloc jumper peut tre utilis pour brancher PE6 et PES avec les c bles d interruption du XBUS Cela peut par exemple tre utilis pour viter de constantes interrogations Polling du Slaves l C Au lieu de cela celles ci mettent un des c bles d interruption un niveau Low lors de modifications d tat Sur le sch ma PE6 et INT3 sont reli s ainsi que PE5 et INT1 il s agit d une configuration standard INT1 doit tre reli avec PE5 afin que les programmes d exemple fonctionnent correctement Mieux vaut ne pas brancher PE6 avec deux c bles
10. LED il vous faut simplement ajouter ces valeurs Ainsi la valeur 63 permet d allumer toutes les LED ou 0x3F en criture hexad cimale 0x24 allume les LED6 et LEDS 0x24 00100100 en binaire Il existe aussi d autres d finitions adapt es pour les LED que vous pouvez crire ainsi RP6 writeCMD lparam RP6 BASE ADR CMT SETLEDS LED1 LED4 Compact C RP6 writeCMD lparam RP6 BASE ADR CMT SETLEDS LED1 Or LED4 Basic 20 Cela est d j plus lisible Les autres exemples en haut ne servent qu la compr hension car LED1 n est rien d autre que la valeur d cimale 1 LED2 2 LED3 4 LED4 8 et LED5 16 Les deux commandes ci dessus 0x09 allument donc les deux LED vertes 1 et 4 Similaire writeCMD_1param il y a des fonctions pour 2 void RP6 writeCMD 2params byte adr byte cmd byte paraml byte param2 Sub RP6 writeCMD 2params adr As Byte cmd As Byte parami As Byte param2 As Byte et pour 3 param tres void RP6 writeCMD 3params byte adr byte cmd byte paraml byte param2 byte param3 Sub RP6 writeCMD 3params adr As Byte cmd As Byte parami As Byte param2 As Byte param3 As Byte Ainsi la plupart des choses sont desservies Pour les cas particuliers avec plus de param tres vous pouvez utiliser la fonction void RP6 writeCommand params byte adr byte cmd byte params byte param count Sub RP6 writeCommand params adr As Byte cmd As Byte ByRef params As Byte param coun
11. RP6 CCPRO M128 Comme pour le robot elles ne repr sentent en aucun cas une solution optimale mais plut t un point de d part pour vos propres programmes Nous avons d lib r ment choisir de proc der ainsi afin qu il vous reste encore quelque chose faire il serait en effet ennuyeux de tester seulement des programmes pr fabriqu s qu en dites vous Il existe quelques programmes d exemple pour le C Control PRO sur Internet et dans le pack du CCPRO IDE Vous devez cependant faire attention ce que les autres programmes d exemples s adaptent au mat riel du RP6 CCPRO M128 cela risque sinon de ne pas fonctionner les probl mes les plus courants sont une affectation des broches diff rente l emploi de modules d hardware d j utilis s ailleurs comme par exemple les minuteurs etc Les programmes d exemple se montent les uns sur les autres c est dire que Example_01 _HelloWorld doit tre regard test et compris avant Example_02_Bepper De Example 07 _RP6_Sensorsi jusqu Example_09_Behaviour4 un programme d exemple complexe est mont petit petit dans lequel le robot peut esquiver des obstacles l aide de la technologie des capteurs infrarouges Attention tous les exemples pour le RP6 ne sont pas forc ment compr hensibles pour les d butants Il est recommand de d marrer dans un premier temps avec un programme facile et d avancer pas pas Les programmes d
12. Statut registre pour actionnement syst me Bit 0 movementComplete 1 motorsOn 2 motorOvercurrent 3 4 direction I2C_REG_SPEED_RIGHT 6 Valeur mesur e encodeur droite 200 ms 12C_REG_DES_SPRED_RIGHT 8 Valeur th orique de vitesse droite 12C REG DIST LEFT L 9 Distance accomplie gauche 12C REG DIST LEFT H 10 High et Low Byte I12C REG DIST RIGHT _L 11 Distance accomplie droite 12C REG DIST RIGHT H 12 High et Low Byte I12C REG ADC LSL L 13 Valeur ADC mesur e capteur de luminosit gauche I2C_REG_ADC_LSL_H 14 High et Low Byte I2C_REG_ADC LSR L 15 Valeur ADC mesur e capteur de luminosit droite I2C_REG_ADC_LSR_H 16 High et Low Byte 24 directement sur un autre ordinateur Veillez bien ce qu il y est deux biblioth ques diff rentes une pour BASIC RP6CCLib cbas et une pour CompactC RP6CCLib cc 3 3 D livrer du texte print STRING println STRING newline printInteger Int Il ny a pas de constante de texte dans CompactC et BASIC C est pour cela qu un array toujours attribuer du texte en premier et le transmettre ensuite la fonction Serial_ WriteText Afin de conserver le programme clair et d pargner un travail d criture les macros RP6CCLib sont disponibles qui prennent justement du texte en charge jusqu 64 lignes et valeurs num riques int gr es print d livre le texte transmis et printin ajoute en compl ment les carac
13. cruciforme mais vous rencontrerez des difficult s le positionner par rapport au potentiom tre Tournez le potentiom tre alors que le robot est allum jusqu ce quelque chose de distinct apparaisse sur l cran Red marrez alors le programme d autotest Lorsque le programme d autotest est termin le message SELFTEST OK doit appara tre sur l cran LC L dition du programme doit peu pr s ressembler ce qui suit RP6 ROBOT SYSTEM RP6 C Control PRO M128 Selftest Writing Text to LCD Testing Beeper Testing LEDS Testing Temperature Sensor Temperature 19 6250 C gt OK Temperature 19 6875 C gt OK Temperature 19 8750 C gt OK Temperature 19 8125 C gt OK Temperature 19 8750 C gt OK Temperature 19 8125 C gt OK Temperature 19 6250 C gt OK Testing External 64K Memory MEM PATTERN 17 Writing Reading OK MEM PATTERN 34 Writing Reading OK MEM PATTERN 68 Writing MEM PATTERN 64 Writing Reading OK 14 Lecture valeur mesur e newline print Temperarute Str WriteFloat temperature 4 result 0 Serial_WriteText 0 result print C newline Exemple Basic Dim temperature As Single point de flottement variable pour la valeur de la temp rature Dim result 32 As Char Dim temp low As Integer i sex 1 Convertir valeur mesur e en valeur Float mes
14. d interruption en m me temps m me si cela est possible avec le bloc jumper Adresse du capteur de temp rature bus LC TEMP_ADR AO A2 mm mt O 1 Deux bits AO et A2 de ladresse du capteur de temp rature peuvent tre modifi s afin de pouvoir corriger d ventuels conflits c est dire d adresses identiques avec d autres produits sur le bus C Tenez compte de la fiche technique du capteur de temp rature L adresse du capteur de temp rature correspond en criture binaire 1001 A2 A A0 0 A vrai dire cette adresse n est longue que de 7 bits soit 100100 gt 0x48 Le bit criture lecture doit tre cependant directement incorporer dans le programme sera plac automatiquement d o 10010000 gt 0x90 144 d cimales L image indique le r glage standard de l adresse sur 0x90 D autres adresse possibles 0x92 0x98 et Ox9A 37 Si vous ne souhaitez pas installer le LCD standard vous pouvez assembler votre propre c ble 14 p les en se basant sur l affectation des broches ci contre Les lignes DO D1 D2 D3 RW sont fermement branch es avec GND puisque nous exploitons le LCD seulement en mode 4 Bit et qu il n y a pas besoin d y lire quelque chose RW est galement sur la masse Veillez absolument une affectation correcte des broches et ne pas brancher les connecteurs l envers Les d signations des broches varient d un fabricant un autres mais elles sont g
15. exemple du C Control PRO sont avant tout important pour une compr hension fondamentale et doivent tre travaill s au pr alable Des essais avec l hardware RP6 ne fonctionnent malheureusement que dans de rares cas puisque les programmes pour la carte d application du C Control PRO ont t crits hardware et affectation des broches diff rents Mais lire les commentaires et chercher saisir ce qui est r ellement fait est tr s utile pour la compr hension Les exemples complexes utilisent par ailleurs le multithreading mis la disposition du CCPRO Ici et pour d autres choses encore il est recommand de lire la documentation du CCPRO avant de comprendre le mode de fonctionnement de programmes d exemple sp cifiques du RP6 Vous pouvez utiliser exemple comme mod le pour votre propre programme il existe d ailleurs pour chaque programme d exemple une version compl te mais non comment e Nous avons atteint la fin de ce petit mode d emploi additionnel Vous pouvez d sormais faire place votre propre cr ativit et ainsi crire de nouveaux programmes ou placer de nouveaux capteurs sur le RP2 contr l s par le RP6 CCPRO M128 ou bien mettre tout autre chose en place 32 2 Montage du module d extension Vous devez tout d abord enficher correctement le CCPRO MEGA128 Unit sur le module d extension Pour votre s curit veillez ne manipuler le module qu avec un objet mis la terre afin qu i
16. n ralement identiques celles que nous avons utilis es ici et vous pouvez brancher les broches 1 1 avec l cran PORTA et PORTC GND PA5 PA4 PA2 PA1 VDD PA7 PA6 PA3 PAO md AUX EUR DSR Rep r 0 r 8 d 6 r 4 r 2 Les connecteur pour PORTA et PORTC ne sont PAS quip s Ils ne sont qu optionnels au cas o vous auriez r ellement besoin de nombreuses broches O mais que vous pouvez renoncer au SRAM externe Vous pouvez le d sactiver sur un jumper non quip lui aussi le branchement de ce jumper est plac sur larri re de la platine via piste conductrice on peut facilement le sectionner l aide d un cutter et ensuite dessouder le jumper L affectation des broches du PORTC est imprim e sur la carte m re Vous pouvez par exemple dessouder une barrette un seul rang de broches et 9 p les si besoin est Jumper Vous avez certains jumper sur le module afin de configurer les composants sur le module 36 En plus de ses composants centraux le module comporte galement un capteur de temp rature de 12 Bit un piezo pour la cr ation d un signal sonore 5 LED et un port pour cran LC sur lequel vous pouvez directement brancher un LCD texte standard Plusieurs possibilit s d extension sont disponibles gr ce 3 branchements pour des servos 16 I O libres donc 8 canaux convertisseurs analogique num rique ADC un UART une deuxi me interface s quentielle un socle DIL8
17. vue de tout le monde les enfants ou les animaux domestiques risqueraient de les ing rer En cas d ingestion consulter imm diatement un m decin Les piles qui fuient ou ab m es peuvent provoquer des br lures en cas de contact avec la peau dans ce cas utilisez des gants de protections adapt s Veillez ce que les piles accus ne soient pas mis en court circuit ou ne soient pas jet s dans le feu Les piles normales ne doivent pas tre recharg es Il existe un risque d explosion Seuls les accumulateurs con us pour tre recharg s comme par exemple les accus NiMH peuvent tre charg s avec un chargeur adapt Recyclage des accus et des piles Tout comme le robot les accus et les piles ne doivent pas tre limin s dans les ordures m nag res En tant qu utilisateur final vous tes tenus par la loi de restituer toutes les piles et tous les accus usag s Il est strictement interdit de les jeter dans les ordures m nag res De ce fait amenez vos accus usag s vieux ou vos piles vides votre commer ant ou une collecte de piles de votre commune Vous pouvez galement amener les accus et les piles usag s dans tous les lieux ou des accus et des piles sont vendus Vous remplissez ainsi vos obligations l gales et contribuez la protection de l environnement 39 Adresse EEPROM bus lC MEM_ADR AO A1 miey O 1 Egalement deux bits AO et A1 de ladresse dun EEPROM optionnel embo tement peu
18. AbsDelay est utilis ici AbsDelay interrompt les ditions de tous les threads C est pourquoi il existe cette fonction sp ciale void beep t word pitch word time word pause Sub beep t pitch As Word time As Word pause As Word qui utilise Thread_Delay au lieu de AbsDelay L inconv nient est que Thread_Delay n a 18 Un programme d exemple vous montre comment utiliser un ordre seul Pour crire une valeur de 16 bit comme par exemple pour l ordre CMD Move vous devez partager cette valeur en 2 valeurs de 8 bit Exemple CompactC Word distance Valeur de 16 bit qui doit tre crite Distance 4000 4000 0 25mm 1 m tre Byte params 5 params 0 80 10 cm s params 1 FWD marche avant params 2 distance gt gt 8 distance au dessus 8 bit params 3 distance amp 0x0F en dessous de 8 bit RP6 writeCommand params 10 CMD Move params 4 3 6 2 Lire des donn es Bien videmment vous ne transmettez pas seulement des ordres vous pouvez galement lire les donn es comme par exemple les valeurs des capteurs Vous pouvez lire une registre seul avec la fonction suivante byte RP6 readRegister byte adr byte reg Sub RP6 readRegister adr As Byte reg As Byte As Byte Vous pouvez lire plusieurs registres avec void RP6 readRegisters byte adr byte reg char readBuffer byte reg count Sub RP6 readRegisters adr As Byte reg As Byte ByRef readBuffer As Byte reg count As Byte
19. Conrad sur INTERNET www conrad fr Version 07 11 Module extension RP6 CC PRO MEGA128 Code 191563 Cette notice fait partie du produit Elle contient des informations importantes concernant son utilisation Tenez en compte m me si vous transmettez le produit un tiers Conservez cette notice pour tout report ult rieur Note de l diteur Cette notice est une publication de la soci t Conrad 59800 Lille France Tous droits r serv s y compris la traduction Toute reproduction quel que soit le type p ex photocopies microfilms ou saisie dans des traitements de texte lectronique est soumise une autorisation pr alable crite de l diteur Reproduction m me partielle interdite Cette notice est conforme l tat du produit au moment de l impression Donn es techniques et conditionnement soumis modifications sans avis pr alable Copyright 2001 par Conrad Imprim en CEE XXX 07 11 EG RP6 C Control PRO M128 Module d extension CR Gima TU Oria La ri AN IMPORTANT A lire absolument Avant de mettre en marche votre module d extension RP6 il est important de lire enti rement ce mode d emploi celui du SYSTEME ROBOT RP6 et celui du C Control PRO Ils contiennent des explications importantes quant une utilisation correcte et vous informent d ventuels dangers possibles De plus ils poss dent des informations importantes qui ne sont nullement vide
20. LCD vous pouvez utiliser la fonction suivante void writeStringLCD char text Sub writeStringLCD ByRef text As Char Si vous souhaitez ins rer plusieurs caract res l un apr s l autre et une position pr cise utilisez la fonction suivante void writeLineLCD char text byte text line byte pos Sub writeLineLCD ByRef text As Char text line As Byte pos As Byte Pour toutes les fonctions String il existe des macros qui simplifient l application 30 Nous vous recommandons de monter le RP6 CCPRO M128 l arri re du monceau d extension du robot Les deux branchements de programmation sont alors aussi accessibles depuis la m me face du robot Vous pouvez fixer l avant du robot les modules d exp rimentation fournis avec le robot cf photo ci dessous pour avoir un exemple de configuration Si vous avez achet un cran LC vous devez d abord le brancher et le monter au module d extension avant de l installer sur le robot En fonction du format d cran vous allez devoir fabriquer un adaptateur afin de fixer l cran Cela est surtout valable pour les crans de grande taille Les petits LCD 2 x 16 lignes d un format standard peuvent tre directement fix s dessus gr ce 2 voire 4 boulons d cartements Afin d installer cran encore au dessus du module CCPRO vous avez besoin de 2 boulons d cartements 25 mm de 2 vis et de 2 crous au minimum Pour les plus grands crans vous aurez besoin de
21. OF Led Lad r 4 r 2 r 0 r 8 r 6 r 4 r 2 35 Bus SPI et ports I O VDD E a GND 10 9 PE7 E E PE5 8 7 PBO SS PB1 SCK 6 5 PB3 MISO r N PB2 MOSI 4 PB4 PB 2 1 Vous pouvez brancher jusqu 5 puces compatibles SPI sur le bus SPI et m me plus avec un d codeur d adresse externe Le bus SPI peut tre utilis pour un registre glissement rapide EEPROM m moire FLASH convertisseur N A et A N etc 5 broches I O sont disponibles PBO SS est r serv pour le bus SPI lorsqu il est en mode Slave SPI et peut sinon tre utilis comme un I O qui peuvent tre utilis es pour les signaux Chip select ou tout simplement comme des broches 1 0 tout fait normales Il s agit de PBO PB4 PB7 PES et PE7 PB1 PB2 et PB3 ne peuvent PAS tre utilis es comme broches 1 0 normales un registre glissement est d j connect au module afin de commander le LCD et certaines LED lorsque vous n avez pas besoin de ces composants une utilisation de ces broches comme 1 0 normales est envisageable Attention au sch ma de connexion I PB7 est disponible en plus sur l un des branchements servo vous ne devez donc l utiliser que pour un servo O une ligne Chipselect Les servos PBS PB6 PB7 28 5 gt m Comme nous l avons d j mentionn PB5 PB6 et PB7 sont disponibles aux branchements servos 3 p les Vous pouvez brancher ici directement des servos avec une affectation des connecteu
22. Pour cela vous devez avant tout vous familiariser avec le CCPRO IDE et bien videmment l installer comme cela est d crit dans le mode d emploi du CCPRO Vous pouvez utiliser le pilote USB du CD ROM du RP6 r f rez vous au mode d emploi du RP6 pour en savoir plus sur l installation Afin d effectuer le test vous devez relier interface USB connect e votre ordinateur via le c ble ruban 10 p les au branchement PROG UART du RP6 CCRPO M128 et d marrer le CCPRO IDE Ouvrez ensuite le projet 12 Cela doit ressembler par exemple ce qui suit Thread Lock 1 Important Bloquer la commutation thread Port WriteBit PORT FLASH 1 Activer la ligne CS SPI Write 10 Envoyer les donn es Result SPI Read Lire les donn es SPI WriteBuf buffer 32 Envoyer 32 Bytes SPI WriteBuf buffer 16 Envoyer 16 Bytes Port WriteBit PORT STR 0 D sactiver nouveau la ligne CS Thread Lock 0 Attention d bloquer la commutation thread Cela n est bien videmment pas un exemple complet il doit tre adapt chaque slave Vous devez faire l bien attention aux fiches de donn es du constructeur Il est important de bloquer la commutation thread l int gralit du temps d acc s Sinon deux threads tenteraient en m me temps d acc der au bus SPI ce qui ne fonctionne pas Vous devez particuli rement faire attention ici car chaque acc s au LCD et aux LED exige un acc s SPI 3 8 Ecran LC L
23. ajout celui du RP6 ET du C Control PRO Dans tous les cas veuillez lire ce manuel avant d utiliser votre RP6 M128 Vous pouvez survoler le chapitre sur la programmation si besoin est et dans ces cas l lire le mode d emploi du CCPRO Unit Veillez cependant ce que les programmes d exemple du CCPRO Unit n ont pas t crits sp cialement pour le RP6 Seule le code de programme de ce mode d emploi et dans les programmes d exemple est directement ex cutable sur le module d extension Tous les autres programmes doivent tre auparavant l g rement adapt s avant tout aux autres affectations de broches Indication importante pour les d butants Les programmes crits pour le RP6 CCPRO M128 ne fonctionnent ABSOLUMENT PAS correctement sur le micro contr leur de l unit de base et vice et versa processeurs disposition des broches et fr quence l mentaire totalement diff rents 1 1 Support technique img 4 Pour toute question ou probl me vous pouvez joindre notre Support Team comme suit sur Internet avant de nous contacter veuillez lire attentivement et enti rement ce mode d emploi La plupart des r ponses vos questions se trouvent dedans Sur notre forum http www arexx com forum par e mail info arexx nl adresse postale AREXX Engineering Nervistraat 16 8013 RS ZWOLLE PAYS BAS Pour toutes les informations de contact les mises jour logiciel et autres informations rendez vous sur not
24. e en le stoppant sans teindre compl tement le robot Cette fonction attend d abord un signal de d part pr cis Cela peut tre une pression sur le bouton Start sur le module RP6 CCPRO M128 ou un signal re u d un autre contr leur par exemple de la carte m re sur le bus 1 C Lorsque vous appuyez sur le bouton Start cela est signal aux autres contr leurs via le bus IC 3 2 Initialisation void RP6 CCPRO Init void Sub RP6 CCPRO Init Vous devez toujours appeler cette fonction la place du RP6_watForStart Elle initialise le module hardware et appelle ensuite le RP6_waitForStart Une structure de base de programme typique pour le RP6 CCPRO M128 peut ressembler ce qui suit Exemple en CompactC include RP6CCLib RP6CCLib cc void while true include RP6CCLib RP6CCLib cbas Do While True End While End Sub Ces deux programmes sont par leur fonctionnalit identique Chacun peut d cider de lui m me s il pr f re programmer en BASIC ou en CompaciC Indication Vous pouvez int grer le RP6_CCPRO lib ligne 1 dans l exemple un param tre de projet Il est toutefois plus int ressant d utiliser une indication de chemin relative plut t qu un chemin absolu lib deux niveaux r pertoire sup rieurs Ainsi vous pouvez d placer sans probl me le projet avec la biblioth que ou l utiliser 16 I2C REG ADC MOTOR CURL L I2C REG ADC MOTOR CURL H Valeur ADC mesu
25. eur nous allons utiliser cette fonction void TCN75 read byte adr Sub TCN75 read adr As Byte Exemple CompactC TCN75 run TCN75 ADR TCN75A CONFIG RES 12 D marrage des mesures AbsDelay 250 Pause TCN75 shutdown TCN75 ADR Arr t des mesures TCN75 read TCN75 ADR lecture Exemple Basic TCN75_run TCN75_ADR TCN75A CONFIG RES 12 D marrage des mesures AbsDelay 250 Pause TCN75 _shutdown TCN75 ADR Arr t des mesures TCN75 read TCN75 ADR lecture Cela vous permet de lire la valeur de la temp rature actuelle Elle doit bien videmment tre retravaill e par la suite Apr s que la valeur de la temp rature actuelle ait t lue vous pouvez acc der aux Low et High Byte de la valeur mesur e avec les fonctions byte getTemperatureLow void Sub getTemperatureLow As Byte byte getTemperatureHigh void Sub getTemperatureHigh As Byte et Ces deux bytes ne contiennent pas la valeur du capteur dans le format adapt vous pouvez la convertir en un chiffre de point d coulement Exemple CompactC Float temperature Char result 32 Int temp low Valeur mesur e convertir en valeur Float mesure de 12 bits temp low getTemperatureLow if temp low amp 128 temp low temp low amp 63 127 else temp low temp low amp 63 temperature temp low 0 0625 getTemperatureHigh gt gt 4 MEM PATTERN 128 Writing Tes
26. il par l utilisateur Ainsi l utilisateur prend un risque quant la qualit et l efficacit de l appareil y compris tous les logiciels AREXX Engineering garantit la fonctionnalit de l exemple d application fourni tout en observant les conditions sp cifi es dans les donn es techniques S il est prouv que le robot ou le logiciel pc est en plus d fectueux ou insuffisamment le client prend en charge tous les co ts pour le service la r paration ou la correction Tenez galement compte de l accord de licence du CD ROM Symboles Les diff rents symboles suivants sont utilis s dans ce mode d emploi A Le symbole attention indique un paragraphe particuli rement important que vous devez soigneusement respecter Si vous effectuez une erreur cela peut conduire une destruction du robot ou de ses accessoires et m me menacer votre personne ou la sant des autres D Le symbole information vous indique un paragraphe contenant des trucs et astuces ou des informations de fond Il n est pas essentiel de tout comprendre mais cela reste tout de m me tr s utile SOMMAIRE 1 Le module d extension RP6 CCPRO M128 1 1 Support 1 2 Contenu 1 8 Caract ristiques et donn es techniques 2 Montage du module d extension 2 1 Test de fonction 3 Programmation 3 1 Consulter le bouton start et d marrage du programme 3 2 Initialisation 3 3 D livrer du texte 3 4 LED de statut 3 5 Beeper 3 6 Bus
27. l se d charge Par exemple un tuyau nu d un corps chaud ou d une pi ce m tallique d un bo tier d ordinateur prise 3 p les Veuillez contr ler AVANT le montage la position de tous les Jumper sur le module cf Annexe Ceux ci doivent se trouver dans leur position standard Il n y a qu une orientation du module CCPRO adapt e cf image Veillez bien ce que toutes les broches soient correctement ins r es dans les douilles de la platine An montage n cessite un peu de force mais veillez ne pas appuyer trop fort Maintenez le dessous plat de la platine directement en dessous du module avec un ou deux doigts Attention les soudures tout autour sont l g rement pointues Veillez donc ne toucher que la surface libre en dessous du module La fa on dont vous devez fixer le module d extension sur le robot d pend des autres modules d extension que vous avez d j ventuellement mont sur le robot Pour monter le module sur le robot vous devez d abord d vissez les 4 vis de la carte m re Vous pouvez galement si vous le souhaitez d tacher prudemment un petit connecteur de la platine bumper afin de soulever enti rement la carte m re Cependant cela n est pas n cessaire si vous vous servez de vos doigts pour atteindre ce qu il y a en dessous de la carte m re et pour visser les boulons d cartement avec les crous M3 Attention Lorsque vous rebranchez le c ble de la platine Bumper
28. maintenez l arri re de la platine du capteur avec un doigt afin d viter qu elle ne soit pouss e trop fortement vers l arri re Autrement vous pouvez galement d vissez les 2 vis de la platine Bumper et faire passer le c ble Vous pouvez ensuite vissez les 4 boulons d cartement 25mm M3 avec les crous M3 dans les trous de fixation de la carte m re comme repr sent sur la photo Sur l image au dessus les 8 boulons d cartement sont viss s et galement ceux du circuit imprim du module d extension Installez le module d extension sur les boulons d cartement et fixez le avec les 4 vis M3 Enfin connectez les deux c bles ruban c est fini 10 printLCD _ STRING printlnLCD STRING LINE POS showScreenLCD __ STRINGI __ STRING2 printIntegerLCD __INT_ Ces macros fonctionnent de la m me fa on que ceux pour l interface s quentielle La position des caract res est bien videmment tr s importante sur un LCD printLCD ne fait qu initialiser un array temporaire avec un texte constant transmis puis l envoyer au LCD avec writeStringLCD printinLOD appelle writeLineLCD ShowScreenLCD efface l int gralit du contenu de l cran et crit ensuite les deux textes transmis la ligne 1 et la ligne 2 Cela n est bien sur utile que pour les crans 2 lignes si vous souhaitez utiliser un cran 4 lignes ou plus vous devez l adapter en cons quence Il existe un qui
29. mat riel de montage n cessaire Le c ble ruban 14 p les de l cran LC standard 2 x 16 lignes est tr s flexible et peut tre pli sans probl me Vous pouvez galement install l cran d une fa on diff rente de celle que nous vous expliquons ici Vous pouvez galement utiliser un autre cran LC texte compatible avec le contr leur HD44780 Vous devez simplement souder un c ble l cran Veillez absolument la bonne affectation des broches En cas d inversion de polarit l cran et le contr leur pourraient tre gravement endommag s 11 4 boulons d cartement ne sont pas forc ment n cessaires comme sur la photo 2 suffisent amplement tous les deux devant ou l arri re pour fixer l cran Une fois le montage termin cela peut ressembler par exemple la photo Vous pouvez ais ment connecter les 3 connecteurs d extension 10 p les avec les ports O libres et le bus SPI sur un petit c ble ruban 10 p les avec une plaque perfor e du module d extension et utiliser alors les I O et les ADC pour entre autres l exploitation des capteurs Cela fonctionne galement avec les modules mont s sur l autre c t les c bles ruban passent normalement facilement entre l espace au milieu des deux monceaux de modules 2 1 Test des fonctions Maintenant vous pouvez effectuer un petit test des fonctions afin de v rifier que le module d extension fonctionne correctement
30. ntes pour la plupart des utilisateurs Le mode d emploi du RP6 CCPRO M128 n est qu un compl ment En cas de non observation de ce mode d emploi et de celui du syst me robot RP6 toute garantie prend fin De plus AREXX Engineering ne sera tenu pour responsable pour tout type de dommages r sultant d une non observation de ce mode d emploi Pr tez toute votre attention au paragraphe consignes de s curit du mode d emploi du SYSTEME ROBOT RP6 Remarques sur la garantie limit e et la responsabilit La garantie de AREXX Engineering se limite l change ou la r paration du robot et de ses accessoires dans le d lai de garantie l gale en cas de fautes de production av r es comme des dommages m caniques des pi ces d quipement manquantes ou fausses except s tous les composants branch s des connecteurs socles B Recyclage et consignes de s curit Recyclage Le RP6 et les composants annexes ne doivent pas tre limin s dans les ordures m nag res Le RP6 et ses accessoires doivent tre apport s une d chetterie tri s lectif ou bien une collecte d appareils lectriques usag s comme tout appareil lectrom nager Si vous avez des questions ce propos renseignez vous aupr s de votre commer ant Consignes de s curit pour les accus et les piles Les accus et les piles ne sont pas laisser entre les mains des enfants Ne laissez pas les piles accus tra ner la
31. ot est enti rement contr lable par 19 bus Vous pouvez ainsi lui envoyer des ordres et lire toutes les donn es des capteurs L interpr teur CCPRO met votre disposition d autres fonctions avec lesquelles les donn es sont transmises sur le bus IC 3 6 1 Envoyer des commandes Un ordre seul est transmis gr ce la fonction suivante void RP6 writeCMD byte adr byte cmd Sub RP6 writeCMD adr As Byte cmd As Byte G n ralement il vaut mieux ne pas envoyer qu un ordre seul mais transmettre avec quelques valeurs par exemple afin de r gler les LED sur la carte m re r gler galement la vitesse Un param tre suppl ment peut tre transmis gr ce cette fonction void RP6 writeCMD lparam byte adr byte cmd byte param Sub RP6 writeCMD 1param adr As Byte cmd As Byte param As Byte Exemple CompaciC Adresse bus I2C du contr leur sur la carte m re define RP6 BASE ADR 10 RP6 writeCMD 1param RP6 BASE ADR CM SETLEDS 0x09 Exemple Basic define RP6 BASE ADR 10 RP6 writeCMD lparam RP6 BASE ADR CM SETLEDS 0x09 0x09 est une hexad cimale pour le binaire 00001001 Les 6 LED de la carte m re sont affect es aux 6 premiers bits d un octet 0x01 allume donc la LED1 0x02 LED2 0x04 LED3 0x08 LED4 0x10 LED 5 et 0x20 LED 6 On peut bien videmment l crire avec des d cimales 1 pour LED1 4 pour LED3 16 pour LEDS et 32 pour LED6 Lorsque vous souhaitez allumer plusieurs
32. pour un bus EEPROM IC de la s rie 24LCxxx ainsi qu un branchement bus SPI pour la commande d autres hardwares tels qu un registre glissement ADC DAC Flash ROM cartes m moire ou autre Les interfaces sont disponibles sur des connecteurs standard 10 p les et peuvent tre facilement reli s la plaque perfor e de la platine d exp rimentation En d sactivant quelques composants sur la carte m re vous pouvez lib rer jusqu 19 autres ports I O et 3 sorties de commutation 16 ports I O reviennent au SRAM les branchements pour une autre utilisation de ces port doivent absolument tre quip s d un connecteur enfichable Comme environnement de d veloppement vous pouvez utiliser le CCPRO IDE de Conrad Electronic Il est tr s facile utiliser et propose plusieurs fonctions confortables Il y a deux langages de programmation diff rents au choix Basic et Compact C Le Basic est plus facile apprendre pour les d butants que le C mais a une tendue de fonctions identique La biblioth que de fonctions du CCPRO Unit est importante et prend m me le multithreading en charge R f rez vous la documentation d taill e du C Control Pro pour plus d informations Avant que vous ne mettiez en route votre RP6 CCPRO M128 vous devez absolument vous familiariser avec le robot en testant tous les programmes d exemple SANS que le module d extension ne soit mont dessus Il faut consid rer ce mode d emploi comme un
33. pouvez transmettre en plus de l adresse des capteurs l octet de configuration 25 Exemple Basic Lire la valeur du capteur de tension Dim messageBuf 3 As Byte Buffer pour la r ception de donn es RP6 readRegisters RP6 BASE ADR I2C REG ADC UBAT L messageBuf 2 La valeur mesur e est compos e de 2 octets vous devez les assembler en une valeur mesur e adcBat messageBuf 1 lt lt 8 messageBuf 0 l octet de valeur sup rieure de 8 points est gliss gauche et la place est crit l octet de valeur inf rieure sur une ODER combinaison Maintenant vous pouvez donner la valeur print Battery Sensor Value printinteger adcBat printin Il s agit ici non pas d une valeur de tension directe mais d une valeur mesur e grossi re du convertisseur analogique num rique Vous pouvez encore la convertir afin d obtenir la v ritable valeur par 102 4 parties Le programme standard RP6_12C_ Slave 30 registres sa disposition avec lesquels vous pouvez lire les actuelles valeurs des capteurs et les tats des programmes Nom du registre I2C REG STATUS1 Statut registre 1 Bit 0 batLow 1 bumperLeft 2 BumperRight 3 RC5reception 4 RCStransmitReady 5 obstacleLeft 6 obstacleRight 7 driveSystemChange I2C REG STATUS2 Statut registre 2 Bit 0 powerOn 1 ACSactive 2 watchDogTimer 3 wdtRequest 4 wdtRequestEnable I2C REG MOTION STATUS
34. r e capteur de courant gauche High et Low Byte Valeur ADC mesur e capteur de courant droite High et Low Byte Valeur ADC mesur e tension batterie High et Low Byte I2C REG ADC MOTOR CURR L I2C REG ADC MOTOR CURR I2C REG ADC UBAT L I2C REG ADC UBAT H I2C REG ADC ADCI L I2C REG ADC ADCI H Valeur ADC mesur e Canal ADC libre 1 High et Low Byte Adresse et toggle bit des derni res donn es RCS5 r ceptionn es par paquets Donn es des derni res donn es RC5 r ceptionn es par paquets 12C REG LEDS Etat du statut LED I2C REG RC5 ADR I2C REG RC5 DATA 17 18 19 20 21 22 I2C REG ADC ADCO L 23 Valeur ADC mesur e Canal ADC libre O I12C REG ADC ADCO H 24 High et Low Byte 25 26 3 6 3 Capteur de temp rature Il existe d j des fonctions pr tes pour le capteur de temp rature connect la platine par bus l C Avec TCN75 write cfg byte adr byte config Sub TCN75 write cfg adr As Byte config As Byte vous pouvez g n ralement crire dans le registre de configuration du capteur vous trouverez plus d informations dans la feuille de donn es du capteur TCN75 Certains r glages ont d j t mis dans la biblioth que en tant que constantes Le code est plus visible lorsque les macros suivants sont utilis s TCN75 run ADR CONFIG et TCN75 shutdown ADR pour d marrer ou stopper l utilisation Ces macros appellent cependant TCN75_write_ cfg AvecTCN75_run vous
35. r de la vitesse l encodeur par niveau de 200ms CMD CHANGE DIR CMD_ MOVE Modifier le sens de rotation du moteur Param tre 1 Direction FWD BWD LEFT ou RIGHT les constantes sont d finies dans le RP6CCLib Effectuer une distance pr cise Param tre 1 vitesse Param tre 2 direction FWD ou BWD Param tre 3 High Byte de l itin raire accompli Param tre 4 Low Byte CMD_ SET _ACS POWER CMD SEND RC5 CMD SET WDT Activer le minuteur Watchdog Param tre 1 true vrai ou false faux CMD_SET_WDT_RQ 12 Activer la requ te minuteur Watchdog Param tre 1 true ou false 22 R gler l nergie d mission des ACS Param tre 1 nergie d mission ACS_PWR_OFF ACS_PWR_LOW ACS_PWR_MED ACS_PWR_HIGH Emettre un signal RC5 avec l IRCOMM Param tre 1 adresse et toggle bit Param tre 2 donn es CMD_ROTATE Pour effectuer un angl pr cis Param tre 1 vitesse Param tre 2 Direction LEFT ou RIGHT Param tre 3 High Byte de l angle Param tre 4 Low byte de l angle un temps de pause que de 10ms exactement C est dire que le programme ci dessus aurait ressembl a Exemple CompactC define Tone Al 262 440Hz beep Tone Al 10 20 100ms de son 200ms de pause beep Tone Al 35 42 350ms de son 420ms de pause Exemple Basic define Tone Al 262 440HZ beep Tone Al 10 20 100ms de son 200ms de pause beep Tone Al 35 42 350ms de son 420ms de pause
36. re page d accueil http www arexx com et sur la page d accueil du robot http www arexx com rp6 et sur la page d accueil du C Control http www c control de ainsi que sur le forum non officiel C Control http ccpro cc2net de 1 2 Contenu Vous devez trouver les articles suivants dans la bo te du RP6 CONTROL M32 e Le module RP6 CCPRO M128 e CD ROM avec le logiciel et la documentation e 4 x boulon d cartement 25 mm M3 e 4 x vis M3 e 4 x crou M3 e 2 x c ble ruban 14 p les Le logiciel et le mode d emploi PDF se trouvent sur le CD ROM Les versions actualis es du logiciel et ce mode d emploi se trouvent galement sur notre page d accueil Le logiciel pour le C Control PRO est disponible sur http www c robotics com ou http www c control de ATTENTION il y a plusieurs variantes de servos V rifiez auparavant les affectations des broches et faites attention la polarit Les canaux ADC GND ADC6 ADCS5 ADC3 ADC1 d 9 r 7 r 5 m 3 r 1 DA E Loli Le Lex Les 8 canaux ADC libres qui sont bien videmment utilisables comme broches 1 O sont disponibles avec la tension d alimentation sur le connecteur ADC 10 p les Deux des ADC ADC4 et ADC6 sont en plus disponibles sur deux connecteurs 3 p les pour brancher par exemple directement des capteurs de distance IR analogiques ADC6 GND VDD Port LCD D7 DS D3 D1 EN RS VDD he W nt AUX EUI RUE L
37. rs adapt e 34 1 3 Caract ristiques et donn es techniques Cette partie vous offre un aper u de ce que le RP6 CCPRO M128 vous offre et sert en m me temps d introduction de certains termes et appellations des composants du module Caract ristiques composants et donn es techniques du RP6 CCPRO M128 e Logement pour le module puissant C CONTROL PRO MEGA128 avec un microcontr leur 8 Bit Atmel ATMEGA128 Cadence de 14 7456Mhz dite quartz de taux de Baud pour atteindre le taux de bit le plus exact avec l interface s quentielle M moire 128 Ko Flash ROM 4Ko SRAM interne et 64 Ko de SRAM externe pour l extension sur le module 4 Ko EEPROM Programmable en Basic et CompactC retrouvez plus d infos techniques sur la documentation du CCPRO Unit e Connecteurs d extension Bus I C Peut contr ler tous les Bus Slaves l C Le MEGA128 peut tre utilis comme Master ou Slave G n ralement il vaut mieux l utiliser comme Master pour un contr le complet du robot le contr leur de la carte m re se charge en effet de la r gulation de la vitesse du moteur ACS IRCOMM surveillance de laccu etc de fa on autonome et d charge ainsi le contr leur du module d extension e Capteur de temp rature bus PC 12 Bit Afin de mesurer pr cis ment la temp rature environnante R solution au choix de 0 5 0 0625 C Exactitude la mesure d env 1 C e Socle pour Bus EEPROM FC du type 24 L Cxxx non fourni
38. s 5 LEDS cela fait 11 I O au total Gr ce au registre glissement il n y en a que 6 et le bus SPI peut rattacher du mat riel ext rieur suppl mentaire 3 5 Beeper Le signaleur du RP6 M128 peut tre contr l avec cette fonction void beep word pitch word time word pause Sub beep pitch As Word time As Word pause As Word Cependant cette fonction est bloquante c est dire qu elle fixe les hauteurs de son bloque les laps de temps impos s teint le signaleur et marque une pause avant le deuxi me laps de temps fix La fonction AbsDelay de la biblioth que de fonction du CCPRO est utilis e ici Les temps sont ici retranscrits en ms Exemple Compact define Tone Al 262 440Hz beep Tone Al 100 200 100ms de son 200ms de pause beep Tone Al 355 422 355ms de son 422ms de pause Exemple Basic define Tone Al 262 440HZ beep Tone Al 100 200 100ms de son 200ms de pause beep Tone Al 355 422 355ms de son 422ms de pause Cette fonction beep est principalement pens e pour l dition de m lodies Si vous souhaitez laisser d autres choses fonctionner en parall le vous pouvez utiliser les threads Veillez cependant ne pas utiliser cette fonction en m me temps dans deux threads diff rents vous ne pouvez pas avoir un acc s simultan deux threads diff rents sur un m me composant hardware Cela ne fonctionne de toutes fa ons pas avec la fonction beep normal car
39. t res sp ciaux nn afin que le terminal d bute une nouvelle ligne Exemple Compact C Println bonjour le monde Print Testl printinteger x Donne la valeur de la variable x en tant que texte ASCII print Test2 newline Nouvelle ligne Exemple Basic Println bonjour le monde Print Testl printinteger x Donne la valeur de la variable x en tant que texte ASCII print Test2 newline Nouvelle ligne 3 4 LED de statut void setLEDs byte leds Sub setLEDs leds As Byte Les 5 LED de la carte m re peuvent tre contr l es partir de cette fonction Exemple CompactC setLEDs LED1 LED2 LED5 LED1 LED2 et LED5 allum es LED3 et LED4 teintes setLEDs 0 toutes les LED sont teintes setLEDs 31 toutes les LED sont allum es 31 binaire 11111 17 Exemple Basic setLEDs LED1 Or LED2 Or LED5 LED1 LED2 et LED5 allum es LED3 et LED4 teintes setLEDs 4 LED3 allum e setLEDs 5 LEDI et 3 allum es 5 binaire 00101 Les LED1 et 2 sont directement branch es des ports I O normaux et peuvent donc tre command es comme des ports I O normaux Mais les LED3 4 et 5 sont reli es avec le LCD un registre glissement au bus SPI Cela permettant d conomiser des ports I O qui seront utilis s pour d autres choses Sinon le LCD bloquerait lui seul 6 I O plus le
40. t As Byte Jusqu 255 param tres peuvent tre transmis un array Exemple CompactC Byte params 16 params 0 10 params 1 44 params 2 10 ss params 15 255 Ordre 40 avec 16 valeurs de param tre envoyer l adresse 10 RP6 writeCommand params 10 40 params 16 Exemple Basic Byte params 16 params 0 10 params 1 44 params 2 10 params 15 255 Ordre 40 avec 16 valeurs de param tre envoyer l adresse 10 RP6 writeCommand params 10 40 params 16 21
41. ternet avec d autres utilisateurs ANNEXE A Affectations des broches Vous trouverez dans ce chapitre les affectations des broches des connecteurs et des blocs souder les plus importants Ports I O VDD PD2 PD4 PD6 PD7 GND PD3 SND PE3 PB6 PB5 m ER LOE DR EG m 0 8 La 6 F 4 m 2 Certaines broches O libres et la tension d alimentation de 5V sont disponibles sur les connecteurs O SND PE3 PB5 PB6 PD2 PD3 PD4 PD6 et PD7 PE3 OC3A est reli au signaleur piezo SND celui ci peut tre d sactiv par Jumper afin de lib rer cette broche 1 0 PB6 et PB5 sont disponibles en plus pour des branchements sur la plage avant de la platine Bien videmment ces broches ne peuvent tre utilis es que pour une seule chose la fois soit comme broche normale I O OU comme sortie servo Ainsi mutilisez PAS en m me temps les broches sur les deux connecteurs ATTENTION Veuillez ne pas connecter la broche de tension d alimentation avec un autre mode d extension par exemple un module d exp rimentation la broche de tension d alimentation de ce connecteur afin d viter toute boucle de masse 33 4 Programmes d exemple Vous trouverez sur le CD respectivement 20 programmes d exemple complets en CompactC et Basic Les programmes d exemple pour le module CCPRO sont d taill s en allemand Ces programmes d exemple d montrent les fonctions fondamentales du module d extension du
42. ting I2C Communication ARS SEE EEE RIRE ESS SE EE RE ES IE EE ER EE NI EEE EIRE SI EE EE RIRE EIRE EEE RIRE EE Selftest finished successfully Les valeurs mesur es de temp rature seront bien videmment diff rentes et l dition l g rement plus courte 3 Programmation Comme il existe d j une documentation d taill e pour toutes les applications et la programmation pour le CCPRO Unit nous allons vous expliquer ici directement les fonctions sp cifiques du RP6 Nous n allons pas aborder ici sur les bases des langages CompactC ou BASIC ni comment contr ler les ports un un les ADC l interface s quentielle o travailler avec les threads Tout cela est d taill dans le mode d emploi du C Control PRO et d crit dans la fonction d aide existante du CCPRO IDE Nous allons vous d crire les fonctions de la biblioth que RP6 CCPRO ou RP6CCLib Pour chaque fonction nous allons vous donner quelques codes d exemple en CompactC et BASIC Ces prototypes de fonction sont list s dans la notation C et BASIC Vous trouverez plus d exemples d taill s sur le CD ROM 3 1 Consulter le bouton start et d marrage du programme void RP6 waitForStart void Sub RP6 waitForStart Cette fonction est importante pour synchroniser le d marrage du programme avec d autres contr leurs du RP6 Les contr leurs de votre programme doivent si possible d marrer en m me temps et vous devez pouvoir contr l l ex cution du programm
43. ure de 12 bits temp_low getTemperatureLow If Not temp_low And 128 Then temp_low temp_low And 63 127 Else temp_low temp_low And 63 temperature temp low 0 0625 getTemperatureHigh gt gt 4 Lecture valeur mesur e newline print Temperature Str WriteFloat temperature 4 result 0 Serial_WriteText 0 result print C newline La valeur mesur e sur l interface s rielle est donn e dans les deux programmes d exemple 3 7 Bus SPI Sur le bus SPI Serial Peripheral Interface vous pouvez connecter diff rents composants Le convertisseur analogique num rique le convertisseur num rique analogique les EEPROM la m moire Flash des cartes m moire des crans LC ou un registre glissement entre autres L cran LC optionnel du module d extension CCPRO est par exemple reli un registre glissement 8 Bit avec 3 des LED de statut Nous vous parlerons des fonctions pour la commande de l cran dans le prochain paragraphe L acc s au bus SPI est tr s simple vous devez simplement commuter la ligne de chaque slave sur le niveau high et vous pouvez alors lire les donn es et les crire Attention Seule une ligne Chipselect doit tre activ e la fois Sinon la lecture des donn es fonctionne mal puisque des donn es sont envoy es deux slaves Les fonctions SPI sont des fonctions internes interpr teur et ne sont donc pas 27 Pour lire ensuite le capt
44. valent printinteger pour l interface s quentielle avec printintegerLCD Avec ce macro la valeur est envoy e comme une variable transmise en texte au LCD Cela est tr s utile lorsque vous souhaitez visualiser les valeurs du capteur Vous pouvez trouver de nombreux exemples d application du LCD dans les programmes d exemple du CD Rom ou de la page d accueil du RP6 Le LCD est utilis dans chaque programme d exemple de fa on plus ou moins intensive T Ce chapitre ne sert que d un grand aper u des fonctions qui sont disponibles L comme extensions aux fonctions d j int gr es du C Control Interpreter dans la RP6CCLib La fa on dont vous devez les utiliser dans un programme complet est montr e de fa on d taill e dans les programmes d exemple Vous pouvez facilement modifier vous m me la RP6CCLib et ajouter de nouvelles fonctions si besoin Il serait d ailleurs pr f rable dans ce cas utiliser un nouveau fichier Basic ou C et de l int grer s par ment La fa on dont cela fonctionne est bien videmment d montr e dans les programmes d exemple Vous pourrez y cr er une autre petite biblioth que qui continuera vous simplifier dans lexploitation du capteur et le contr le du robot sur des bus IC Il y a galement des fonctions d aide telles que RP6_rotate ou RP6_move avec lesquelles vous pouvez faire tourner le robot selon un certain angle ou le faire avancer sur une distance pr cise Les fonctions peuvent aussi r
45. vent tre modifi s Tenez compte de la fiche technique de EEPROM Le sch ma d adressage peut varier en fonction de chaque constructeur adresse de EEPROM correspond en criture binaire 10100 A1 A0 0 Les adresses possibles sont OXA6 0xA4 OxA2 et OxAO 160 d cimales LED LED1 1 PG3 LED2 2 PG4 LED3 3 Q1 LED4 4 Q2 LED5 5 Q3 Les LED se d sactivent par jumper Dans le champ de ce jumper vous pouvez utiliser entre autres des 1 0 ou des sorties de commutation directement sur le connecteur LED1 et 2 sont connect es avec les ports I O PG3 et PG4 LED3 4 et 5 seulement des sorties propres au registre glissement auquel est aussi branch le LCD 38 Il n existe aucune responsabilit pour des dommages r sultant directement ou apr s l utilisation du robot Les r clamations reposant sur des consignes l gales n cessaires sur la responsabilit du fait des produits restent intactes D s que vous proc dez des modifications irr versibles sur le robot ou accessoire par exemple soudage de pi ces suppl mentaires forage d autres trous etc ou que le robot subit des dommages suite la non observation de ce mode d emploi toute garantie prend fin Il ne peut tre garanti que le logiciel fourni avec chaque version suffit ou qu il est possible de travailler enti rement avec sans interruption ou erreur De plus le logiciel fourni est modulable et peut tre charg dans l appare
46. vos Une interface s quentielle suppl mentaire UART est disponible sur deux I O Vous pouvez lib rer jusqu 19 ports I O en d sactivant les composants sur le module 16 d entre eux sont de toutes fa ons allou s pour le SRAM Les connecteurs de ces ports I O ne sont pas soud s au module puisqu ils ne sont utilis s qu en cas d exception Le grand SRAM est g n ralement plus utile Vous pouvez ajouter des O sur le port Expander du bus FC si besoin est e Jusqu 2 interrupteurs externes sur la connexion XBUS utilisables e Un bouton poussoir pour le d marrage du programme et d autres fonctions e Branchement pour une interface USB RP6 pour le t l chargement de programme Le t l chargement de programme fonctionne sur l interface USB comme pour le robot mais dans tous les cas pas avec le logiciel RP6Loader mais directement sur le CCPRO IDE Vous pouvez si vous le souhaitez utiliser la carte d application CCPRO pour programmer le CCPRO Unit Vous devez pour cela le changer de prise cela n est pas cependant pas n cessaire lorsqu un LCD doit encore tre mont Sont fournis galement pour les langages Basic et CompactC 20 programmes d exemple chacun afin de vous permettre un apprentissage plus rapide Vous pouvez trouver sur les pages web du robot et du C Control PRO plus de programmes et de mises jour mis disposition Bien videmment vous pouvez aussi changer votre propre programme sur In
Download Pdf Manuals
Related Search
Related Contents
Acquaplus Condensing Rev. 6 Manuali H Kensington Power & Sync Cable Viewsonic LED LCD V3D241WM ControlIR Model 5620 User Manual - Precision Control Systems, Inc. Copyright © All rights reserved.
Failed to retrieve file