ROBOT PER L’APPRENDIMENTO ROBOT ARM PRO V3 ISTRUZIONI: Modello RA1-PRO V3 © AREXX - THE NETHERLANDS V0413 -1-
Indice 1..Descrizione di ROBOT ARM ......................................... 8 1.1..Caratteristiche:..........................................................8 1.2..Che cosa possiamo fare con Robot Arm?........................9 2..Attrezzi richiesti per le modifiche............................... 10 3..Elenco parti................................................................ 11 4..Costruzione parti meccaniche..................................... 13 4.1..Costruzione delle principali parti meccaniche......
7.10..Test della pulsantiera.................................................47 8..Software RACS........................................................... 48 8.1..Manuale di istruzione di RACS......................................49 8.2..RACS - Collegamenti...................................................50 8.3..RACS – Controllo Automatico di Posizione......................52 9..Programmazione di Robot Arm................................... 54 9.1..Impostazioni dell’editor di testo.......................
Indice figure Fig.1 - .Braccio robotico RA PRO...............................................9 Fig.2 - .Assemblaggio completo...............................................16 Fig.3 - .Modulo RP6v2-M256-WIFI...........................................18 Fig.4 - .ARX APC220..............................................................18 Fig.5 - .ARX-BT03.................................................................18 Fig.6 - .Circuito stampato.......................................................19 Fig.
Appendice A..SCHEMA ELETTRICO DI ROBOT ARM RA1-PRO.....................63 B..SCHEMA ELETTRICO DELL’ALIMENTAZIONE DI RA1-PRO........64 C..SCHEMA ELETTRICO DEI CONNETTORI RA1-PRO...................65 D. .SCHEMA CONTROLLO CORRENTE SERVO V3........................66 E..SCHEMA ELETTRICO TASTIERA RA1-PRO.............................67 F.. CIRCUITO STAMPATO........................................................68 AREXX e ROBOT ARM sono marchi registrati di AREXX Engineering - HOLLAND.
Diritti legali Questo manuale è protetto dai diritti del Copyright. E’ proibito copiare tutto o parte del contenuto senza previa autorizzazione scritta! ©2007 AREXX Engineering Nervistraat 16 8013 RS Zwolle Le specifiche del prodotto e gli accessori forniti sono soggetti a modifiche. The Netherlands Il manuale è soggetto a modifiche senza preavviso. Tel.: +31 (0) 38 454 2028 Puoi trovare le versioni più recenti di questo manuale in modo gratuito su: Fax.: +31 (0) 38 452 4482 http://www.arexx.
Simboli Questo manuale fornisce i seguenti simboli: Il simbolo “Attention!” è usato per attirare l’attenzione su dettagli importanti. La mancanza di rispetto di queste precauzioni può danneggiare o distruggere il robot e/o componenti aggiuntivi e inoltre puoi mettere a rischio la tua salute e quella di altre persone! Il simbolo “Information” è usato per attirare l’attenzione su utili suggerimenti o informazioni di fondo. In questo caso l’informazione è da considerarsi “utile ma non necessaria”.
1. Descrizione di ROBOT ARM Il grande ROBOT ARM di metallo è adatto per le scuole e progetti educativi per imparare le basi dell’elettronica, della meccanica e della programmazione. ROBOT ARM è controllato da un potente microcontrollore ATMEGA64 il quale è programmabile in linguaggio C tramite strumenti Open Source. L’utente può caricare i propri programmi in modo semplice e facile tramite un’interfaccia USB ed un programma di Uploader.
1.2. Che cosa possiamo fare con Robot Arm? • Trasferire esempi e nuovi programmi in Robot Arm. • Controllare il Robot Arm tramite tastiera. • Controllare e programmare il Robot Arm tramite il software RACS o software Android. • Espandere il Robot Arm con moduli di estensione pronti all’uso in modo che lui possa ascoltare, sentire e vedere in modo da reagire nel suo ambiente. • Come i veri robots possono costruire, ad esempio, macchine, questo robot può eseguire alcuni compiti per voi.
2. Attrezzi richiesti per le modifiche Pinze piatte Tronchesine Set di cacciaviti Cacciavite Incluso Viti autofilettanti (Parker) Le viti autofilettanti si comportano come le viti da legno, per esempio esse, durante la rotazione, realizzano un filetto nel materiale che funziona come un dado. A tal fine, questo tipo di vite ha un filetto più grande ed una punta più tagliente di una vite normale. 2 3 1 Le viti autofilettanti hanno un intaglio in alto che facilita la perforazione del materiale.
3. Elenco parti Servomotore O 6 pezzi. CD Cavo USB O 1 pezzo. O 1 pezzo. Disco assiale Disco di plastica Disco di metallo per per servo di metallo servo Big A O 3 pezzi. Leva per servo grande O 3 pezzi. O Tastiera O 1 pezzo. Disco di metallo per servo Big B O 1 pezzo. 1 pezzo. O 1 pezzo. Supporto per servo Supporto braccio Squdretta di montaggio O 1 pezzo. O 1 pezzo. O 1 pezzo. Distanziale M3x6 Distanziale M3x16 O 4 pezzi. O 2 pezzi.. Distanziale M3x40 O 4 pezzi.
Dito parte B Dito parte A O 1 pezzo. Piastra Servo Polpastrello O 1 pezzo. O 4 pezzi. inferioreAsta di accoppiamento Asta di accoppiamento Interfaccia di programmazione Servo M3 - M4 Servo M2 - M3 O 1 pezzo. Base di Robot Arm Circuito stampato. O 1 pezzo. O 2 pezzi. O 2 pezzi. Cavo di Prolunga programmazione Servo per O 1 pezzo. Cavo tastiera O 1 pezzo. O 1 pezzo. Asta di accoppiamento O 5 pezzi. Leva per Servo piccoli O 1 pezzo. Vite test tonda M3x6 Vite testa tonda M3x8 O 2 pezzi.
4. Costruzione parti meccaniche RA1-PRO E’ GIA’ COMPLETAMENTE ASSEMBLATO 4.1.
4.2. Costruzione del braccio: Braccio Viti M3.
4.3. Assemblaggio ed allineamento della pinza Artiglio D a d iServo M3 Vite M3x8 Ingranaggio di metallo Vite M3x20 Distanziale L15 Frizione con molla CONSIGLI ED ALLINEAMENTO DELLA COPPIA FRIZIONE Se la frizione non è propriamente ingrassata ed allineata, questo può causare la rottura del Servo “DITO”! 1. Se la molla nella frizione non si muove facilmente occorre ingrassare leggermente le parti della frizione. 2.
4.4. ASSEMBLAGGIO COMPLETO Selbstzapffendeschraube M2.3x8 Fig.
5. ELETTRONICA 5.1. Caratteristiche e dati tecnici Questa sezione fornisce una panoramica delle funzioni del braccio del robot e l’introduzione di alcune parole chiave di base, per farvi conoscere la terminologia utilizzata in questo manuale. La maggior parte di queste parole chiave saranno spiegate nei capitoli successivi. Caratteristiche, componenti e dati tecnici del braccio di ROBOT ARM: 1.
5.2. Modifiche relative al circuito stampato V3 tipo RA1 PRO e RA2-HOBBY ◊ Nuovo DC/DC converter, 3500mA, TI TPS54332. ◊ Nuovo regolatore di tensione tipo LDO per alimentazione a 5V del microcontrollore. ◊ Connettori aggiuntivi di alimentazione per VCC e alimentazione Servo. ◊ 6 preamplificatori per la misura di assorbimento di tutti i Servo tramite resistenza di Shunt. ◊ Il pulsante di Reset è ora un pulsante di start/stop del programma.
5.3. Assegnazione dei connettori sul PCB Servo 6, 5, 4, 3, 2,1 Alimentazione dei Servo Servo LED SW1/SW2 Switch I/O Vedi anche a pag.46 per come collegare i servo. I2C & RP6 X-BUS LED alimentazione SPI Extra I / O ISP/Boot Importante! ISP Modulo wireless Bluetooth (BT3) APC-220 Start Stop Reset Connettore per batteria Jack di alimentazione DC LEDS 1,2,3,4 Tastiera Fig.
5.4. LEDS Sul braccio robotico ci sono alcuni LEDs, qui di seguito una breve spiegazione. ◊ Il LED “MAIN_PWR” di colore giallo segnala se c’è un’alimentazione esterna e se il robot è acceso. ◊ Il LED “SERVO_PWR” di colore rosso si illumina solo quando il convertitore DC/DC per l’alimentazione dei servo è acceso dal microcontrollore. Questa funzione è controllata dal software. ◊ Ci sono 4 led di stato LEDs “SL1 - 4” di colore blue che sono controllati direttamente dal microprocessore.
Non appena il Robot Arm viene collegato all’alimentazione i servo si muovono leggermentee ed il LED giallo (Power LED) inizia a lampeggiare. A differenza di quanto poteva sembrare la partenza non è stata difficile, tuttavia il lavoro non è ancora finito . La vera difficoltà inizia ora...! Ma... come prima cosa diamo una letta a pag.22 dove si descrive l’installazione del software.
6. Installazione del software Eseguiamo ora le operazioni di installazione del software. Un software installato bene è di fondamentale importanza per i capitoli a venire. Dal momento che occorrono i diritti amministrativi, devi loggarti al sistema come amministratore. Si consiglia di leggere completamente l’intero capitolo, quindi partire con l’installazione passo per passo.
Se le impostazioni di sicurezza del tuo browser non consentono l’installazione diretta da CD-ROM, tu devi prima copiare i files in una cartella del tuo hard disc ed iniziare l’installazione da qui. Per ulteriori dettagli, per piacere, fai riferimento alla pagina software nel menù del CD. Eventualmente tu puoi anche, tramite un file manager, esplorare il CD ed installare il software dallo stesso CD.
Se usi Windows Vista o Windows 7 devi installare l’ultima versione di WinAVR! Questa dovrebbe funzionare perfettamente anche con Windows 2K e XP. Se così non fosse prova una versione vecchia che si trova sul CD (prima di eseguire una nuova installazione WinAVR devi disinstallare la versione esistente!). Ufficialmente Win x64 non è supportato ma, se dovessero esserci problemi, il CD contiene una patch per sistemi Win x64. Tu troverai maggiori dettagli nella pagina software del menù del CD. 6.3.
Se viene visualizzato un percorso allora una versione è già installata Per capire qual’è la versione installata scrivi: > avr-gcc --version e guarda l’uscita. Se la versione visualizzata è precedente alla 3.4.6, tu devi disinstallarla in quanto è una versione obsoleta. Se il numero di versione è tra la 3.4.6 e la 4.1.0, tu puoi provare a compilare i programmi (vedi il capitolo seguente). Se la compilazione fallisce allora devi installare i nuovi strumenti. In seguito installeremo la versione 4.1.
Attenzione: devi avere abbastanza spazio libero sul tuo hard disk! Sono richiesti oltre 400Mb temporanei. Oltre a 300Mb possono essere cancellati dopo l’installazione ma, durante questa, hai bisogno di tutto lo spazio richiesto.
6.4. Script per installazione automatica Dopo aver reso eseguibile lo script tramite il comando “chmod” si può iniziare immediatamente l’installazione: > cd ~/Robot Arm > chmod -x avrgcc_build_and_install.sh > ./avrgcc_build_and_install.sh Rispondere “y” alla domanda se si desidera eseguire l’installazione con questa configurazione oppure no.
Per piacere allega sempre il maggior numero di informazioni, questo può esserti più facilmente di aiuto. 6.5. GCC per AVR GCC è aggiornato, compilato ed installato come le 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-Makefile.in.diff > patch -p0 < ..
Attenzione: nel comando: –build=`./config.guess` accertati di mettere un accento grave “`” (à <-- accento grave su a! ) e non un normale apostrofo o virgolette in quanto non funzionerebbe. 6.7. Imposta il Path Devi accertarti che la cartella /usr/local/avr/bin sia registrata nel path delle variabili di ambiente altrimenti sarà impossibile accedere ad avr-gcc dalla console oppure tramite “Makefile”.
6.8. Installazione manuale Se preferisci installare manualmente il compilatore o se l’installazione tramite script non è andata a buon fine allora puoi seguire le seguenti istruzioni. La descrizione si basa sul presente articolo: http://www.nongnu.org/avr-libc/user-manual/install_tools.html che si trova anche nel CD in formato PDF nella documentazione relativa a AVR Libc: :\Software\Documentation\avr-libc-user-manual-1.4.5.
6.9. Binutils per AVR Ora è necessario decomprimere il codice sorgente delle binutils ed aggiungere alcune modifiche. Supponiamo che nel nostro esempio tu abbia copiato tutto nella cartella 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.
6.10.1. Windows JRE 1.6 per Windows si trova nella seguente cartella: :\Software\Java\JRE6\Windows\ In ambiente Windows l’installazione di Java è molto semplice, tu devi avviare il setup e seguire le istruzioni come da schermo. Questo è tutto. Puoi tralasciare il paragrafo seguente. 6.10.2. Linux In ambiente Linux l’installazione non presenta eccessive difficoltà anche se alcune distribuzioni richiedono un pò di lavoro manuale.
6.11. Robot Loader Robot Loader è stato sviluppato per caricare facilmente nuovi programmi e tutti moduli d’espansione nel Robot Arm (purchè i moduli siano dotati di un bootloader compatibile). Inoltre esso contiene alcune funzioni aggiuntive come, per esempio, un semplice programma terminale. Non occorre installare RobotLoader, basta infatti copiare il programma in una nuova cartella sul hard disk. :\Software\RobotLoader\RobotLoader.
mouse sul file.exe RobotLoader e quindi selezionare: “Desktop (Crea collegamento)” nel menu “Invia a”. 6.11.1. Robot Arm Library, Robot Arm CONTROL Library e programmi d’esempio La Libreria di Robot Arm ed i relativi programmi di esempio si trovano all’interno di un file zip che si trova a sua volta sul CD: :\Software\Robot Arm Examples\Robot ArmExamples [PRO].zip Scompatta questo file in una cartella a tua scelta sull’hard disk.
7. Programmazione e Loader Per caricare un programma tipo HEX Robot Arm dal PC all’interno del Robot Arm, noi useremo l’adattatore di programmazione USB e il nostro sofware RobotLoader. L’adattatore USB incluso nel pacco deve essere collegato da un lato alla porta USB del computer e dall’altro al connettore Prog/UART presente sul PCB della scheda del Robot Arm. Quando si carica un nuovo programma nel Robot Arm in automatico viene cancellato quello presente in quel momento. Fig.
7.1. Software RobotLoader Come già detto, il software RobotLoader è stato sviluppato per caricare facilmente i nuovi programmi nel Robot Arm ed in tutti i nostri robots (sempre se contengono un bootloader compatibile). Se la tensione scende al di sotto di < 6.7 V, viene visualizzato un messaggio di allarme. Fig.9 - RobotLoader Ci sono integrate alcune funzioni addizionali utili come un semplice programma terminale. Fig.
7.2. Collegamento dell’interfaccia USB – Windows Gli utenti Linux possono passare alla prossima sezione! Esistono diverse opzioni per installare l’interfaccia USB, il modo più semplice è quello di installare il driver PRIMA di collegare l’hardware per la prima volta. Il CD contiene un programma di installazione dei driver. Per sistemi Windows 7 a 32 e 64 bit, XP, Vista, Server 2003 e 2000: :\Software\USB_DRIVER\Win2k_XP\CDM_Setup.
Se, in ambiente Windows, la situazione è quella precedente allora comparirà un messaggio con richiesta di installare il nuovo driver. Devi allora indicare al sistema dove si trova il driver. In Windows 2k/XP devi prima selezionare l’installazione manuale e non cercare i driver tramite il servizio web. Sul nostro CD il driver si trova nella cartella sotto citata.
O altrimenti: Start --> Impostazioni --> Pannello di controllo --> Prestazioni e manutenzione --> Sistema --> Hardware --> Gestione dispositivi e verifica che nella vista ad albero sotto “Porte(COM e LPT)” esista “USB-Serial Port (COMX)”, la X sostituisce il numero della porta, o guarda sotto “USB serial bus controller“ per un “USB Serial Converter“ ! 7.2.1.
7.3. Collegamento dell’interfaccia USB – Linux Gli utenti Windows possono tralasciare questa sezione! I sistemi Linux con kernel 2.4.20 o maggiore includono già il driver richiesto (almeno per il modello precedente FT232BM compatibile con il chip sulla nostra interfaccia USB, il FT232R). L’hardware è automaticamente riconosciuto e tu devi fare niente. In caso di problemi, puoi scaricare i drivers per Linux (ed il supporto per i drivers più recenti) direttamente da FTDI: http://www.ftdichip.
7.5. Test interfaccia USB e avvio di RobotLoader Il prossimo passo è fare il test del programma di upload tramite interfaccia USB. Collega l’interfaccia USB al PC (per primo collega sempre il PC!) e l’altro capo del cavo piatto a 10 pin al connettore su Robot Arm “PROG/UART”. (Robot Arm DEVE ESSERE SPENTO!). Il cavo piatto a 10 pin è meccanicamente protetto contro l’inversione di polarità. Tranne che non sia forzato non può essere collegato in modo errato. Fig.11 - Selezione lingua Avvia RobotLoader.
7.6. Aprire una porta seriale – Linux Linux gestisce l’adattatore seriale USB come una normale porta COM. L’installazione del driver D2XX di FTDI sotto Linux potrebbe non essere così semplice ed i drivers della normale porta seriale virtuale (VCP) sono comunque inclusi negli attuali Kernel di Linux. Funziona quasi come sotto Windows.
7.7. SELFTEST Il LED giallo, tensione, lampeggia quando Robot Arm è acceso. Il LED status lampeggia quando viene caricato un file HEX. Se l’avvio è andato a buon fine puoi eseguire un piccolo programma di test per verificare il funzionamento di tutti i sistemi del robot. Fai click sul pulsante “Add” che si trova nella parte bassa della finestra del Robot Loader e quindi, nella cartella “example” di RobotArmExamples [PRO], seleziona il file „Example_11_Selftest\RobotArm_Selftest.hex“.
Seleziona il file “RobotArm_Selftest.hex“ nell’elenco e fai click sul pulsante “Upload!“ che si trova nella parte alta destra della finestra. Il programma verrà trasferito nel processore MEGA64 su Robot Arm. Questa operazione dovrebbe impiegare non più di pochi secondi (max. 5 seconds per il programma di autotest). Seleziona il tab “Terminal“ (nella parte bassa della finestra)! Puoi aprire la finestra del terminale Fig.16 tramite l’opzione del menù: “View -->Terminal” oppure utilizzando il tasto “F4”.
7.8. Calibrazione Avvia il programma di calibrazione per calibrare il robot. Per questo scopo devi fare click sul pulsante“ Add” che si trova in basso a sinistra della finestra di RobotLoader e seleziona il file: RobotArmExamples [MINI], “Example_11_Selftest\RobotArm_Selftest.hex“ che si trova nella cartella esempi. Questo file contiene il programma di test in formato esadecimale. Il file appena selzionato apparirà in sequenza nell’elenco. (vedi screenshot). Nella finestra Fig.
7.9. Posizione dopo la calibrazione Servo 1 Dito Servo 2 Rotazione polso Servo 3 Piega polso Servo 4 Gomito Servo 5 Spalla Servo 6 Base (azimuth) Fig.
7.10. Test della pulsantiera Il set è fornito con una pulsantiera che può essere collegata al Robot Arm. Questa è una buona opzione per semplici dimostrazioni e per permetterci di fare pratica con il controllo di un braccio robotico usando una pulsantiera. Sulla pulsantiera si trovano 6(x2) pulsanti di controllo e 4 pulsanti speciali per estensioni future. Se vogliamo fare il test di Robot Arm tramite pulsantiera, dobbiamo trasferire l’opportuno programma hex nel microprocessore del robot.
8. Software RACS RACS (Robot Arm Control Software) è il modo più semplice per controllare e programmare Robot Arm. La programmazione tramite il metodo RACS richiede il software RobotLoader e l’adattatore di programmazione USB. Prima di usare il robot, devi caricare il file .hex “RACS-PRO.hex” nella memoria Flash del processore. Collega il cavo di programmazione/controllo alla porta USB sul tuo computer ed avvia il programma di Loader, verrà visualizzata la seguente interfaccia utente: Fig.
In “Step 3:Upload to target” fai click sul pulsante “Upload” per importare il file. Se vuoi azionare Robot Arm, devi disconnettere il RobotLoader allo “Step 1” facendo click sul pulsante “Close”. Se chiudi il programma il collegamento sarà interrotto in modo automatico. Per piacere accertati che non siano in esecuzione contemporaneamente il software Loader ed il Robot Arm, altrimenti il robot non può essere controllato tramite il software RACS. 8.1.
8.2. RACS - Collegamenti 1) Avviare con un doppio click il software di controllo di Robot Arm. Si aprirà la finestra di Fig.24: Fig.22 - Finestra programma RACS 2) Nel menù a tendina verranno visualizzate tutte le interfaccie seriali disponibili come in Fig.25. Fig.23 - Interfaccie seriali disponibili 3) Collega il programmatore USB. 4) Fai Click sul pulsante “Update”. Se riguardi il menù a tendina noterai una ulteriore interfaccia.
5) Seleziona la nuova interfaccia Fig.24 - Selezione interfaccia seriale 6) Abilita l’opzione “Connect” Fig.25 - Abilitazione connessione seriale 7) Abilita l’opzione “servo power” Fig.26 - Abilitazione alimentazione Servo 7) Muovi i cursori per controllare i servo. Se durante il collegamento si dovesse verificare un errore, apparirà la finestra di Fig.29. In questo caso deve essere ristabilito il collegamento ed occorre ripetere i passi da 2 a 6 e ricontrollare l’interfaccia. Fig.
8.3. RACS – Controllo Automatico di Posizione Fig.28 - Finestra controlli Nella finestra di Fig.30 sono disponibili i seguenti controlli: Add: questo pulsante aggiunge all’elenco la posizione corrente. Replace: la voce selezionata nell’elenco sarà sostituita dalla posizione corrente del cursore. Insert: la posizione corrente del cursore verrà inserita nella posizione superiore della voce selezionata. Clear: la voce selezionata nell’elenco verrà cancellata.
8.3.1. RACS – WIRELESS Con il software RACS ed il set di schede ARX-APC-220 di AREXX puoi controllare Robot Arm anche senza fili. Di seguito viene descritto passo dopo passo come fare: 1) collega al PC il programmatore RP6v2 e la scheda APC-220 esattamente com’è descritto sul CD; 2)collega l’altro APC al PCB di Robot Arm (vedi Fig.6); 3)carica nel processore di Robot Arm il file Wireless Racs HEX; 4)seleziona la porta seriale COM corretta nel software RACS.
9. Programmazione di Robot Arm Iniziamo ora, in modo graduale,la programmazione del robot. 9.1. Impostazioni dell’editor di testo Come prima cosa dobbiamo impostare un piccolo ambiente di sviluppo per creare il codice sorgente (detto anche “sourcecode”) per il nostro programma in linguaccio C da salvare in un modo o nell’altro nel nostro computer! Per questo scopo non possiamo utilizzare programmi di editor come OpenOffice o Word! Questo va sottolineato dal momento che tutti non ne sono a conoscenza.
Guarda a pag.56 come puoi aprire un esempio di progetto! Se tu hai aperto un esempio di progetto, sullo schermo di PN2 vedrai qualcosa di simile: File “Robot ArmExamples.ppg“ . Questo è un gruppo di progetti per PN2 che carica tutti gli esempi ed in più la libreria di Robot Arm Library in un unico progetto (“Projects“) . Fig.
9.2. Apri e compila un esempio di progetto. Se tutto funziona in modo corretto è ora possibile aprire un progetto d’esempio. In “File“ seleziona la voce di menù “Open Project(s)“. Verrà visualizzata una finestra di dialogo vedi Fig.36. Nella cartella dove hai salvato i files d’esempio cerca un’ulteriore cartella: “Robot Arm_Examples [PRO]\“ Apri il file “Robot ArmExamples.ppg“.
Torneremo più dettagliatamente in seguito (c’è anche una versione di questo programma SENZA commenti in modo che si può vedere quanto in realtà sia davvero corto. I commenti rendono di parecchio più grande un programma ma sono necessari per la sua comprensione. La versione non documentata è utile anche per copiare il codice nei vostri programmi!). Prima di tutto dobbiamo verificare se la compilazione del programma va a buon fine.
Dopo l’esecuzione di menu MAKE ALL dovrebbe essere visualizzata la schermata di uscita (di seguito in una versione notevolmente accorciata. Alcune linee possono essere leggermente diverse!): > “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.
Il codice d’uscita “Process Exit Code: 0“ è molto importante. Questo significa che, durante la compilazione, non si è verificato alcun errore. Nel caso in cui venga visualizzato un altro codice significa che il codice sorgente contiene un qualche errore che deve essere corretto prima di poter eseguire il programma. In questo caso il compilatore visualizzerà diversi messaggi d’errore i quali ci daranno maggiori informazioni.
Ciò significa che i programmi di esempio sopra lasciano 60414 bytes di spazio libero. L’esempio “Example_01_Leds.c”, relativamente corto, è così grande solamente perché è inclusa la libreria ArmBaseLibrary! Quindi, non preoccupatevi, vi è spazio sufficiente per i tuoi programmi e programmi così piccoli, di solito, non hanno bisogno di tanto spazio in memoria.
10. Per concludere Speriamo che i nostri robot vi abbiano guidato sulla strada del mondo dei robot. Condividiamo la convinzione dei nostri amici giapponesi che i robot diventeranno la prossima rivoluzione tecnologica dopo computer e telefoni cellulari. Questa rivoluzione innescherà nuovi impulsi economici. Purtroppo il Giappone, altri paesi dell’Estremo Oriente e anche gli Stati Uniti hanno ampiamente superato l’Europa in questo campo.
APPENDICE - 62 -
- 63 - D C B 1 MRESET 2 1 Header 3 3 2 1 GND GND C20 0603 100n R10 0603 10K VCC BUTTON START/STOP 2 START/STOP_RESET BEEPER 2 ISP_RESET RESET MRESET D3 MCL4148 R12 0603 100K GND STH Header 2 ISP/BOOT GND 2 1 PIEZO SND 2 1 A 1 GND X1 GND C18 0603 18p 1 3 16.
- 64 - D C B 7 - 18V max. 4A DC JACK PWR1 1 3 2 GND V_IN GND V_IN GND V_IN Header 3 1 2 3 PWR3 Header 2 1 2 PWR2 FUSE_HOLDER F4.0A F1 2 1 1 SW-SPDT 3 GND R2 0603 24.9k R1 0603 100k C6 0603 100nF UBAT GND R3 0603 10k GND R4* 0603 1M C43* 470µF 25V C7 0603 10n C3* 1206 10µF 25V GND C8 0603 470pf R5 0603 24.
- 65 - D C B A 1 MRESET PD6 PD4 PB2/MOSI PB0/SS SCL PC0 PC1 PE1/TXD0/PDO PE0/RXD0/PDI RXD1 1 VCC 13 11 9 7 5 3 1 13 11 9 7 5 3 1 2 4 6 8 10 GND SPI/IO1 VCC GND IO2 VCC 14 12 10 8 6 4 2 14 12 10 8 6 4 2 PROG/UART 1 3 5 7 9 SDA PC3 PC2 EXT_ADC PE2/XCK0/AIN0 2 PE6/INT6 PD7 PD5 PB3/MISO PB1/SCK GND MRESET TXD1 2 GND VCC PE1/TXD0/PDO PB1/SCK ISP_RESET 3 Dual use with Wireless APC220 SET Pin MISO 3 PE0/RXD0/PDI GND 4 MOSI Header 3 1 2 3 Header 3 SPWR SERVO_POWER GND V
D C B 1 2 2 GND C36 0805 10µF SERVO_POWER 3 3 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 3 2 1 Header 3 S6 Header 3 S5 Header 3 S4 Header 3 S3 Header 3 S2 Header 3 S1 2512 0.1Ohm RP2 2512 0.1Ohm 2512 0.1Ohm RP4 2512 0.1Ohm 0603 100n C42* 2512 0.1Ohm RP6 SERVO6 0603 100n C41* RP5 SERVO5 0603 100n C40* SERVO4 0603 100n C39* RP3 SERVO3 0603 100n C38* SERVO2 0603 100n 2512, 2W 0.1Ohm RP1 SERVO1 C37* 4 GND 4 0603 4.7k R32 0603 4.7k R29 0603 4.7k R26 0603 4.
- 67 - A B C D PA6 PA4 1 1 1N4148 D10 1N4148 SERVO5_DWN PA1 1N4148 D12 1N4148 D11 PA0 D9 SSERVO5_UP 1N4148 1N4148 PA1 D3 D4 PA0 D2 SERVO1_DWN SSERVO1_UP 1N4148 D1 1N4148 2 2 PA7 PA6 PA5 PA4 SERVO6_DWN SSERVO6_UP SERVO2_DWN SSERVO2_UP PA3 PA2 PA3 PA2 2 4 6 8 ext key pad 1 3 5 7 J1 PA3 PA2 PA1 PA0 PA7 PA5 D5 1N4148 D14 1N4148 D13 1N4148 D6 1N4148 3 3 Date: File: A4 Size Title TANK_BCK TANK_FNT SERVO3_DWN SSERVO3_UP PA1 PA0 PA1 PA0 D8 1N414
F.