ROBOT PER L’APPRENDIMENTO ROBOT ARM HOBBY V3 ISTRUZIONI: Modello RA2-HOBBY © AREXX - THE NETHERLANDS V0615 -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..Istruzioni montaggio meccanico................................. 13 4.1..Montaggio inferiore del servo:.......................
6.5..GCC per AVR..............................................................37 6.6..AVR Libc....................................................................37 6.7..Imposta il Path...........................................................38 6.8..Installazione manuale..................................................39 6.9..Binutils per AVR..........................................................40 6.10..Java 6.....................................................................40 6.11..Robot Loader..
Indice figure Fig.1 Fig.2 Fig.3 Fig.4 Fig.5 Fig.6 Fig.7 Fig.8 Fig.10 Fig.9 Fig.11 Fig.12 Fig.13 Fig.14 Fig.15 Fig.16 Fig.17 Fig.18 Fig.19 Fig.21 Fig.20 Fig.22 Fig.23 Fig.24 Fig.25 Fig.28 Fig.27 Fig.26 Fig.29 Fig.30 Fig.32 Fig.31 Fig.33 Fig.34 Fig.35 Fig.36 Fig.37 - .Immagine di Mini Robot Arm.......................................9 - .Braccio robotico terminato.........................................25 - .Modulo RP6v2-M256-WIFI.........................................27 - .ARX APC220......................
Appendice A..SCHEMA ELETTRICO DI ROBOT ARM RA2-HOBBY.................71 B..SCHEMA ELETTRICO DELL’ALIMENTAZIONE DI RA2-HOBBY....72 C..SCHEMA ELETTRICO DEI CONNETTORI RA2-HOBBY...............73 D..SCHEMA CONTROLLO CORRENTE SERVO V3........................74 E..SCHEMA ELETTRICO TASTIERA RA2-HOBBY.........................75 F.. CIRCUITO STAMPATO.........................................................76 AREXX e ROBOT ARM sono marchi registrati di AREXX Engineering - HOLLAND.
Diritti legali ©2007 AREXX Engineering Nervistraat 16 8013 RS Zwolle The Netherlands Questo manuale è protetto dai diritti del Copyright. E’ proibito copiare tutto o parte del contenuto senza previa autorizzazione scritta! Le specifiche del prodotto e gli accessori forniti sono soggetti a modifiche. 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 può mettere a rischio la tua salute e quella di altre persone! Il simbolo “Information” è usato per attirare l’attenzione su suggerimenti utili o informazioni di fondo. In questo caso l’informazione è da considerarsi “utile ma non necessaria”.
1. Descrizione di ROBOT ARM ROBOT ARM è un robot a basso costo adatto per gli hobbisti. E’ ideale 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 per poter 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 un cacciavite Doppia chiave fissa set di cacciaviti incluso inclusa 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. Per questo scopo, questo tipo di vite ha un filetto più grande ed una punta più tagliente di una vite normale.
3.
Supporto per il servo “dito” for finger servo Supporto per il servo “polso” O 1x Polpastrello O 1x Piastra inferiore Servo O 1x O 1x Interfaccia di programmazione Asta di accoppiamento O 1x Base di Robot Arm O 1x Circuito stampato. O 1x O 10x testa Vite testa tonda Rondella M3 Vite tonda M3x6 M3x8 O 3x O 4x O 4x O 8x O 2x - 12 - O 1x Vite autofilettante Vite autofilettante M2.6x6 M3.
4. Istruzioni montaggio meccanico 4.1. Montaggio inferiore del servo: Sono necessarie le seguenti parti: 1x Piastra inferiore 4x Viti a testa tonda M3x8 4x Dadi M3 Viti M3x8 Maxi-servo Fissare il servo esattamente come descritto Piastra inferiore del Servo Dadi M3 4.2. Montaggio della leva: Sono necessarie le seguenti parti: Vite del servo 1x Piastra inferiore con servo 1x Leva del servo 1x Vite larga M2.
4.3. Montaggio parte bassa del servo: Sono necessarie le seguenti parti: 1x Piastra inferiore 1x Supporto per Maxi-servo 4x Viti piccole M2x6 per servo Vite autofilettante M2x6 Supporto per Maxi-servo Montare il supporto del servo sulla leva del servo, si prega di guardare il dettaglio del disegno! Piastra inferiore 4.4.
4.5. Montaggio del servo: 1x Piastra inferiore assemblata 1x Servo grande 1x Distanziale per servo 4x Viti a testa tonda M3.5x8 Sono necessarie le seguenti parti: Distanziali per servo Viti M3.5x8 Servo IMPORTANTE! Non dimenticare il distanziale del servo! Piastra inferiore 4.6.
4.7. Montaggio della leva del servo: Sono necessarie le seguenti parti: 1x Piastra inferiore assemblata 1x Leva del servo 1x Vite per servo M2.3x6 Montare il servo esattamente come descritto nel disegno! Leva del servo Vite per servo M2.3x6 Piastra inferiore 4.8. Montaggio del “Braccio”: 1x Base inferiore assemblata 1x Asta di accoppiamento servo 1x Vite per servo piccolo M2x6 2x Viti per servo grande M2.
4.9. Montaggio del doppio servo Per l’assemblaggio finale del doppio servo occorrono i seguenti componenti: Viti a testa tonda M3 x 8 Frizione Rondella M3 1x Supporto del doppio servo 2x Frizioni 2x Viti testa tonda M3 x 8 2x Rondelle M3 2x Dadi autobloccanti M3 4x Viti autofilettanti 2.6x6 1x Coperchio 3x Viti autofilettanti 2.
4.10. Montaggio del supporto per servo doppio: Sono necessarie le seguenti parti: 1x Piastra inferiore assemblata 1x Supporto per servo doppio 2x Viti per servo piccolo M2x6 2x Viti per servo grande M2.3x6 Vite per servo M2x6 TEST! Può il servo doppio ruotare liberamente di 180°? Vite per servo M2.3x6 Piastra inferiore Montare il servo doppio esattamente come illustrato nel disegno! 4.11.
4.12.
4.13. Montaggio del supporto del servo “Dito”: Sono necessarie le seguenti parti: 1x Polso assemblato 1x Supporto per il servo “Dito” 2x Viti per servo piccolo M2x6 Supporto per servo dito Polso assemblato Vite servo M2x6 Montare il supporto del servo “Dito” esattamente come illustrato nel disegno! 4.14.
4.15. Montaggio del servo “Dito”: 1x Polso assemblato 1x Mini servo DGServo 12g 2x Viti autofilettanti M2.6x6 Sono necessarie le seguenti parti: Fissare il servo al supporto esattamente come illustrato nel disegno! Vite autofilettante M2.6x6 Mini servo DGServo 12g 4.16.
4.17. Montaggio del “Dito”: Sono necessarie le seguenti parti: Montare il dito esattamente come illustrato nel disegno! 1x Polso assemblato 1x Dito 2x Viti servo piccolo M2x6 2x Viti servo grande M2.3x6 Vite servo M2.3x6 Polso assemblato Dito TEST! Il “Dito” può ruotare liberamente? Vite servo M2x6 4.18. Braccio finito: 1x Polso assemblato 1x Piastra inferiore assemblata 2x Viti servo piccolo M2x6 2x Viti servo grande2.
4.19.
4.20. Assemblaggio finale del Braccio Robotizzato: 1x Base assemblata 1x Braccio assemblato 4x Viti a testa tonda M3x6 Sono necessarie le seguenti parti: Vite a testa tonda M3x6 IMPORTANTE! Prima di procedere completa il cablaggio elettrico facendo riferimento allo schema elettrico di pag.28 e pag.
4.21. Assemblaggio completo 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 TI TPS54332 DC/DC converter, 3500mA ◊ 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 SW1/SW2 Switch I/O Servo LED Alimentazione dei Servo Vedi anche a pag.55 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 Terminali per batteria Jack di alimentazione DC LEDS 1,2,3,4 Tastiera Fusibile 4A 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 il robot è acceso e se è alimentato tramite alimentazione esterna. ◊ 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 da software. ◊ Ci sono 4 led di stato LEDs “SL1 - 4” di colore blu 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.31 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 e quindi di partire con l’installazione passo dopo passo.
Se le impostazioni di sicurezza del tuo browser non consentono l’installazione diretta dal CD-ROM, 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, tramite un file manager, puoi anche esplorare il CD ed installare il software dallo stesso.
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. 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.
appena generati nella cartella standard di installazione “/usr/local/ avr“, sarebbe preferibile cancellare tutta la cartella. Se tu non conosci esattamente cosa è sbagliato salva, per piacere, in un file l’uscita di tutta la riga di comando e contatta il supporto tecnico. 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.
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.
del mouse sul file.exe RobotLoader e quindi selezionare: “Desktop (Crea collegamento)” nel menu “Invia a”. 6.11.3. 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.11 - 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. 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 [PRO], “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 selezionato apparirà in sequenza nell’elenco. (vedi screenshot). Nella finestra Fig.
7.9. Posizione di 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.24 - Finestra programma RACS 2) Nel menù a tendina verranno visualizzate tutte le interfaccie seriali disponibili come in Fig.25. Fig.25 - Interfaccie seriali disponibili 3) Collega il programmatore USB. 4) Fai Click sul pulsante “Update”. Se riguardi il menù a tendina noterai una ulteriore interfaccia. Questa interfaccia è stata aggiunta inserendo il programmatore USB.
5) Seleziona la nuova interfaccia Fig.26 - Selezione interfaccia seriale 6) Abilita l’opzione “Connect” Fig.27 - Abilitazione connessione seriale 7) Abilita l’opzione “servo power” Fig.28 - Abilitazione alimentazione Servo 8) 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.30 - 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.65 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 - 71 -
- 72 - 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.
- 73 - 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.
- 74 - 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 GND 4 MOSI Header 3 1 2 3 Header 3 SPWR SERVO_POWER GND PE0/RXD0/PDI 1
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.
- 76 - 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.