Bisio Davide Classe 5°A Liceo scientifico tecnologico "E. Amaldi" Anno scolastico 2010 / 2011 L'elettronica amatoriale e la robotica BEAM Indice La mia esperienza di elettronica amatoriale......................................................................................................1 Costruire circuiti stampati.................................................................................................................................1 L'editor di circuiti................................................................................................2 La fotoincisione ..................................................................................................2 La robotica BEAM...........................................................................................................................................4 Sensori..........................................................................................................................................5 Attuatori.......................................................................................................................................5 Neuroni artificiali.........................................................................................................................7 Il mio robot.......................................................................................................................................................8 Logica di funzionamento..............................................................................................................9 Elettronica di controllo...............................................................................................................10 Descrizione del funzionamento...................................................................................................11 Bibliografia.....................................................................................................................................................14 1 / 14 La mia esperienza di elettronica amatoriale La mia esperienza nell'ambito dell'elettronica è iniziata a dicembre 2001, con l'acquisto dei fascicoli della collana De Agostini "Costruisci e programma il tuo robot". Quindi ho iniziato a fare pratica con semplici circuiti elettronici, con la programmazione orientata agli oggetti e con la robotica a livello hobbistico. In questi anni ho accresciuto la mia esperienza grazie ai progetti reperiti su internet, i consigli ricevuti dagli utenti di diversi forum e ad alcuni corsi per hobbisti, tra cui il più importante è stato "Imparare l'elettronica partendo da zero", acquistabile presso Nuova Elettronica1. Sono riuscito a terminare alcune realizzazioni, tra cui un alimentatore stabilizzato, un bromografo (uno strumento per la produzione di circuiti stampati, del quale viene spiegato il funzinamento più avanti) ed alcuni piccoli amplificatori audio. Illustrazione 1: Fascicoli della collana Uno degli ambiti che mi hanno sempre interessato è però quello "Costruisci e programma il tuo robot" della robotica BEAM, quindi a luglio 2010 ho iniziato a progettare un piccolo automa seguendo questa filosofia. Ho terminato questo lavoro da solo, sono stato aiutato solo da alcuni progetti simili trovati sul web, e alla fine ho deciso di farlo diventare parte della mia tesina. Costruire circuiti stampati Progettare un circuito è la parte più complessa, ma una volta terminata questa fase è necessario realizzarlo, quindi a seconda della complessità dello stesso si può procedere in modo diverso. Per un circuito semplice, con pochi componenti, è sufficente usare una basetta millefori2, mentre per soluzioni più complesse come quella prospettata in questo progetto è necessario realizzare un vero e proprio circuito stampato. Il modo più veloce ed efficente per produrre a livello hobbistico un circuito stampato simile a quelli industriali è la fotoincisione. Questo metodo è poco costoso, si svolge in qualche decina di minuti e permette di creare anche circuiti in tecnologia SMD (minuaturizzati). Per prima cosa è necessario disegnare il circuito, per questo possiamo usare il computer ed affidarci ad un editor di circuiti come Eagle. Illustrazione 2: Frontespizio dei volumi "Imparare l'elettronica partendo da zero" 1 Nuova Elettronica è una rivista italiana che si occupa di hobbistica elettronica, creata da Giuseppe Montuschi nel 1969 a Bologna. Non contiene pubblicità e si finanzia interamente coi proventi editoriali e con la vendita di kit di montaggio dei progetti pubblicati o approfondimenti in materia. 2 La basetta millefori è una piastra, disponibile in varie misure, caratterizzata da una griglia di fori regolari a distanza di 2,54 mm (cioè un decimo di pollice) l'uno dall'altro, misura standard dell'interasse dei piedini dei componenti elettronici più diffusi. Solitamente è costituita di vetronite, detta anche vetro epossidico o fiberglass, un materiale composito a base di fibre di vetro disposte ortogonalmente fra due strati in una matrice di resina epossidica, caratterizzato da un'ottima resistenza meccanica e da una buon potere isolante. I fori sono circondati su una faccia da piccole piazzole ramate, sulle quali è possibile stagnare i piedini dei componenti, mentre i collegamenti vengono effettuati con spezzoni di filo "volanti". 2 / 14 L'editor di circuiti Dopo aver tracciato le linee guida per la realizzazione del circuito e cercato i datasheet 3 delle componenti da utilizzare è necessario stendere il circuito. É possibile farlo a mano, con carta e penna, ma è molto più veloce ed efficente usare un software per computer, come per esempio Eagle Layout Editor. Oltre alla versione professionale, a pagamento, è disponibile una versione gratuita, per un utilizzo non a fini commerciali. Nonostante siano presenti alcune limitazioni, quali l'area di lavoro limitata a 100 x 80 mm, la disponibilità di soli due layer (strati sovrapposti del circuito), e il supporto solamente attraverso e-mail o forum online (non attraverso fax o telefono), è più che sufficente ad un'uso amatoriale. L'uso di questo programma è molto intuitivo, bastano poche ore per averne una discreta padronanza, tuttavia sono reperibili in rete moltissimi tutorial a riguardo. Il programma è diviso principalmente in tre parti: • L'editor di schemi permette di creare uno schema dettagliato del circuito, con la possibilità di impostare tutti gli eventuali parametri di ogni componente. É inclusa una funzione che controlla la corretta connessione di ogni collegamento. • L'editor di circuiti permette di elaborare, a partire dallo schema, il negativo della scheda. Molte delle procedure sono automatizzate, per esempio: per passare da uno Illustrazione 3: Bromografo professionale schema alla sua realizzazione pratica basta un click; si può scegliere uno sbroglio automatizzato del circuito (anche se per soluzioni più complesse è abbastanza inefficiente); al termine si può controllare che tutte le linee di segnale siano correttamente connesse, che siano ad una distanza minima tra loro e che abbiano uno spessore minimo (questi sono tutti parametri impostabili). La terza parte, che rende questo programma veramente efficiente, è la vasta libreria di componenti. Sono inclusi migliaia di componenti, di tutti i generi, ed è inoltre possibile crearne di personalizzati. In seguito a ciò sono disponibili anche librerie su misura, create dagli utilizzatori del Illustrazione 4: Il mio bromografo programma. I circuiti del mio robot e gli schemi presentati in questa trattazione sono stati interamente disegnati con questo software, anche se alcune illustrazioni sono state ritoccate con Gimp 4. La fotoincisione La procedura prevede l'uso di un bromografo, di basette di vetronite ricoperte da un sottile strato di rame e da uno di "photoresist", di una Illustrazione 5: Basetta vergine, è ben soluzione di soda caustica al 0,7% in acqua e di una soluzione di cloruro ferrico al 40% in acqua. Il bromografo è una scatola chiusa, contenente visibile il photoresist verde, che sul fondo una o più lampade UV-A e qualche centimetro sopra le ricopre lo strato di rame lampade un vetro, su cui saranno appoggiate le basette per la 3 I datasheet (foglio di dati) sono le descrizioni dettagliate dei componenti elettronici redatte dalle case costruttrici e disponibili in rete. Forniscono tutti i parametri necessari allo sviluppo di un circuito elettronico con un determinato componente, e spesso includono gli schemi delle applicazioni più usuali dello stesso. 4 Gimp è uno strumento di fotoritocco simile a Photoshop, ma libero (quindi gratuito) e open source (quindi modificabile e integrabile da chiunque, a patto di farlo non a scopo di lucro) 3 / 14 fotoincisione. Il photoresist è una vernice speciale, sviluppata dalla Du Pont de Nemours circa 20 anni fa, che ha la proprietà di poter essere sciolta facilmente dalla soda caustica nel caso venga impressionata dai raggi UVA, e di essere molto resistente alla corrosione da parte del cloruro ferrico se non impressionata. Il programma precedentemente descritto permette di stampare con una stampante laser un negativo del circuito su di un foglio di acetato, in questo modo viene creato un disegno a grandezza naturale delle piste ramate che dovranno essere create. Quando esporremo il photoresist della Illustrazione 6: Basetta a cui è basetta agli UV applicheremo su di questa il negativo: in questo modo stato applicato il negativo l'acetato, trasparente, lascerà irradiare la superfice da incidere, mentre il toner della stampante proteggerà le piste da mantenere. La procedura si articola in tre fasi: a) La basetta viene mascherata dal negativo in modo da coprire lo strato di photoresist, poi viene posta all'interno del bromografo per l'esposizione. Il tempo necessario varia a seconda della potenza delle lampade e della qualità delle basette ma è in genere qualche minuto. Per trovare il tempo ottimale è necessario fare alcuni tentativi. b) Il photoresist impressionato può essere quindi asportato con un bagno di soda caustica, che lascerà solamente le piste coperte dal negativo. Per diminuire i tempi si può scaldare e agitarla la soluzione. Dopo una decina di minuti si può notare che il Illustrazione 7: La postazione completa, con: il bromografo, rame liberato dallo strato protettivo è i due contenitori per i liquidi di sviluppo ed un terzo diventato lucido, mentre le piste ancora recipiente quadrato pieno di acqua per lavare le basette.. coperte avranno i contorni molto ben definiti, questo è il segno dell'avvenuto sviluppo. c) Per asportare il rame non più coperto si passa ad un bagno di cloruro ferrico, che secondo la reazione FeCl3 + 3Cu → 3CuCl + Fe lo porta in soluzione, producendo un sale solubile di rame (cloruro rameoso) e un precipitato solido di ferro metallico. Anche in questo caso scaldando la soluzione e agitandola si può accelerare la reazione, e dopo una decina di minuti il processo sarà concluso. Il circuito così prodotto dovrà essere bucato per potervi inserire i componenti (illustrazione 8), che dovranno essere stagnati con un saldatore a stilo. Illustrazione 8: Fase di foratura della basetta mediante un piccolo trapano a colonna 4 / 14 La robotica BEAM Nel mondo dell'informatica e della robotica esistono due possibili approcci allo sviluppo di nuove soluzioni, definiti in gergo top-down e bottom-up. Nel primo caso, letteralmente 'dall'alto in basso', il risultato che si vuole raggiungere viene suddiviso nei vari sottoelementi via via più semplici che lo compongono, in modo da poterli risolvere singolarmente e pervenire alla soluzione finale attraverso la somma delle singole soluzioni. Nel secondo caso, definito 'dal basso verso l'alto', vengono considerati innanzitutto gli elementi fondamentali di cui si dispone e i modi in cui si possono combinare tra di loro efficacemente, focalizzandosi su tali aspetti piuttosto che sul problema ultimo. Nel campo della robotica, questo secondo approccio equivale a preferire la realizzazione di robot piuttosto semplici per giungere in modo graduale a forme più complesse, in un certo senso ripercorrendo nell'ambito dell'artificiale le fasi evolutive proprie della biologia. Nell'attuale panorama robotico, una delle espressioni di maggior rilievo di questo tipo di approccio 'dal basso' è rappresentata dai robot BEAM, realizzati per la prima volta nel 1989 all'università di Waterloo (Canada) da Mark Tilden, oggi ricercatore al Los Alamos National Laboratory (USA). La parola BEAM è un acronimo (Biology, Electronics, Aesthetics e Mechanics), che esprime con efficacia la concezione della robotica di Tilden. Il riferimento alla biologia dipende dal fatto che tutti i BEAM imitano forme di vita naturali, soprattutto ragni e insetti, in modo semplice ma non stupido. Questi robot interagiscono in modo "istintivo" tra loro e con l'ambiente esterno, non basandosi però su elaborati e complicati algoritmi di calcolo, ma adottando lo schema stimolo-risposta tipico degli organismi viventi più semplici. Il secondo termine sottolinea l'uso di componenti elettronici semplici: transistor, resistori, condensatori ecc. Il concetto di 'estetica' è una dichiarazione d'intenti: un robot BEAM non deve essere solo funzionale, ma anche presentare una progettazione pulita ed elegante. Infine, l'allusione alla meccanica vuole ricordare che il successo di una creazione robotica non si basa solo sui suoi vari componenti elettronici, spesso infatti una meccanica ingegnosa riduce la complessità e quindi il costo dell'intero robot. Uno degli aspetti più originali delle creazioni di Tilden è legato all'utilizzo molto consistente di materiale facile da reperire e molto economico, spesso riciclato da oggetti di uso quotidiano non più funzionanti. Nell'ottica di cercare di imitare le forme viventi si è invece cercato di sostituire le fonti di energia esauribili, come le pile, con pannelli solari o pale eoliche. Il funzionamento dei BEAM si basa su particolari 'reti nervose', ossia circuiti elettronici che, opportunamente collegati a sensori di vario tipo (di contatto, di calore, rivelatori luminosi ecc.), sono in grado di generare Illustrazione 9: Mark Tilden ed alcune sue creazioni BEAM una reazione agli stimoli ambientali. Sono costituite da un nucleo centrale formato tipicamente da 2 o 4 "neuroni artificiali" connessi tra di loro ad anello (in questo modo viene simulato il fluire del segnale nervoso). A questo "core" sono connessi i sensori, di differenti tipologie, che interagiscono con il mondo esterno e influenzano la rete neuronale. Di conseguenza, modulando il segnale nervoso, cambiano la periodicità del segnale nervoso e permettono ai motori, che azionano ruote, zampe, flagelli o quant'altro, di muovere la macchina nell'ambiente. Attorno a questa branca della robotica sono nate aziende che, come avviene per il modellismo, offrono kit, componenti e parti di ricambio per questi piccoli robot. La più importante è la Solarbotics Ltd. (Canada), che 5 / 14 offre anche la possibilità di realizzare parti meccaniche su misura per dar vita a veri e propri pezzi unici. In conclusione è bene considerare l'opinione di M. W. Tilden, che dichiara così i suoi intenti: La scienza dietro l'idea proviene dai concetti correnti dell'Intelligenza Artificiale (AI), vita artificiale (Alife), biologia evoluzionaria ed algoritmi genetici. Sembra che il costruire robot grandi e complessi non funzioni bene, così perchè non provare a farli evolvere da una abilità minima ad una abilità massima allo stesso modo in cui è successo con le creature biologiche? Il problema è che un tale concetto richiede robot autoriproducenti che non sarà possibile costruire negli anni a venire (o forse mai). Una soluzione tuttavia è vedere l'essere umano come tramite del robot per fare un'altro robot, avendo un luogo di incontro annuale dove gli sperimentatori possano far interagire le proprie creature nelle situazioni reali e quindi osservare come accade l'evoluzione della macchina. In altre parole, robogenetica attraverso la robobiologia. <Mark W. Tilden> Definite le caratteristiche e le finalità della robotica BEAM il problema diventa quello di sviluppare le diverse parti che compongono i robot, che sono principalmente sensori, attuatori e rete neuronale. Sensori La parte sensoriale, in un robot, è fondamentalmente ispirata alla biologia, in quanto la natura ha corredato gli animali di ottimi strumenti per recepire stimoli esterni. I sensori possono essenzialmente essere di cinque tipi: • Di contatto, per questo vengono copiati i "baffi" dei gatti o le antenne degli insetti con fili d'acciaio armonico o corde di chitarra. • Di luce, per questo vengono copiate le macchie oculari di certi protisti (che permettono loro di orientarsi verso la luce), e vengono usate delle fotoresistenze o dei fototransistor, capaci di modificare la loro resistenza interna al variare della luce che li colpisce. Questo cambiamento nelle proprietà elettriche può essere facilmente rilevato. • Di temperatura, per questo vengono usati termistori, componenti capaci di cambiare la loro resistenza interna, come le fotoresistenze, ma questa volta in relazione alla temperatura. • Sonar, per questo vengono copiati tutti quegli animali che sfruttano l'ecolocazione, come i pipistrelli e i delfini. Possono essere usati sistemi che sfruttano la riflessione di ultrasuoni (molto precisi nella misurazione della distanza e con una portata di alcuni metri, ma costosi e complessi) oppure sistemi che applicano la stessa proprietà agli infrarossi (poco precisi nella misurazione della distanza e con una portata di poche decine di centimetri, ma molto a buon prezzo) 5. • Di suono, per questo vengono copiate le orecchie umane, e possono essere usate capsule microfoniche preamplificate. Oltre a questi non bisogna però escludere soluzioni più complesse, ma effettivamente possibili, come sistemi di localizzazione GPS o webcam con un'interfaccia software che riconosce gli oggetti e permette una vera e propria "visione artificiale". Attuatori Gli attuatori possono essere di diversi tipi, possiamo distinguere in primo luogo tra manipolatori, che servono a modificare l'ambiente, e sistemi di locomozione. Il primo tipo necessita di un'implementazione molto complessa, che solitamente si basa su processori o sistemi di radiocomando, gli attuatori che permettono alla macchina di muoversi sono invece di più semplice realizzazione. C'è chi ha ideato il proprio 5 É possibile realizzare un sonar che utilizza gli infrarossi semplicemente usando diodi led ad emissione infrarossa (come quelli del telecomando della tv) e ricevitori infrarossi come il celeberrimo TSOP1838 (usato come ricevitore per il telecomando delle tv). Questo integrato unisce un fototransistor schermato per le frequenze luminose al di fuori dello spettro infrarosso, in modo da essere poco disturbato dalla luce, e un filtro che individua solo i segnali ad una frequenza di 38kHz. Accendendo il led con questa frequenza si avrà un'ottima schermatura dalle interferenze. 6 / 14 robot con zampette, che lo rendono simile ad un insetto, chi ha scelto dei cingoli, per permettergli di affrontare ambienti più accidentati, o chi semplicemente ha usato dei motoriduttori collegati a delle ruote. Tuttavia vengono usati quasi sempre motori elettrici a spazzole, che devono essere pilotati da un'interfaccia elettronica di potenza. S1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 S2 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 S3 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 S4 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 Azione Motore libero Motore libero Motore libero Cortocircuito Motore libero Motore bloccato Rotazione oraria Cortocircuito Motore libero Rotazione antioraria Motore bloccato Cortocircuito Cortocircuito Cortocircuito Cortocircuito Tabella 1: 1 = chiuso, 0 = aperto Il metodo più semplice e più utilizzato è il "ponte H", che può essere schematizzato come nell' illustrazione 10, e permette di controllare la rotazione dei motori in senso orario e antiorario o il loro arresto. Il sistema prevede l'utilizzo di quattro interruttori (S1, S2, S3 e S4) e la tabella 1 riassume le possibili configurazioni che variando la loro posizione si possono verificare. Illustrazione 10: Il ponte H In due casi il motore viene fatto ruotare in un senso o nell'altro (verde), in altre due configurazioni la rotazione è impedita (blu), in cinque casi il motore è scollegato, e quindi passivo (nero), infine in sei disposizioni si verifica un cortocircuito, con un conseguente danneggiamento del circuito (rosso). Solitamente il ponte H viene semplificato, in S1,2 S3,4 S1 quanto le coppie S1 – S2 e S3 – S4 vengono 0 0 1 azionate sempre assieme, e sono forzate ad 0 1 1 assumere una posizione opposta. In questo 1 0 0 caso le possibili configurazioni saranno 1 1 0 quattro, come in tabella 2. S2 0 0 1 1 S3 1 0 1 0 S4 0 1 0 1 Azione Motore bloccato Rotazione antioraria Rotazione oraria Motore bloccato Tabella 2: Il ponte H semplificato Per permettere di comandare il ponte H attraverso segnali elettrici vengono utilizzati i transistor, in particolare i transistor a giunzione bipolare. Questi semiconduttori sono divisi in tre zone, costituite da silicio drogato6 in modo differente, alle quali sono applicati tre terminali che li collegano al circuito esterno. Applicando una tensione Illustrazione 11: Rotazione oraria e antioraria elettrica o una corrente a due terminali (B e C) si può regolare il flusso di corrente che attraversa il dispositivo. Possiamo infine fare una grande distinzione tra due grandi categorie di transistor, diverse per il tipo di drogaggio effettuato: esistono i pnp (positivo – negativo – positivo), nei quali un passaggio di corrente tra E e C è stimolato da una tensione più bassa sul terminale B rispetto ad E, ed esistono i npn (negativo – positivo – negativo), nei quali un passaggio di corrente tra C ed E è stimolato da una tensione più alta sul terminale B rispetto a C. 6 Con il termine drogaggio, nell'ambito dei semiconduttori, si intende l'aggiunta al semiconduttore puro di piccole percentuali di atomi estranei, allo scopo di modificare le proprietà elettroniche del materiale. Il drogaggio può essere di tipo: n, quando l'elemento drogante ha un elettrone in più di quelli che servono per soddisfare i legami del reticolo cristallino del silicio e tale elettrone acquista libertà di movimento all'interno del semiconduttore; p, quando l'elemento drogante ha un elettrone in meno e tale mancanza, o lacuna elettronica, si comporta come una particella carica positivamente e si può spostare all'interno del semiconduttore. 7 / 14 Illustrazione 12: Schema del transistor pnp o npn I transistor possono essere usato per amplificare un segnale in corrente alternata, come negli amplificatori audio, oppure semplicemente per operare come un interruttore, come nel nostro caso. In questo caso dovranno essere portati in saturazione, ovvero dovranno essere portati allo stato nel quale offrono il maggior passaggio di corrente con la minor resistenza interna possibile. Per questo dovremo calcolare il valore della resistenza con cui polarizzare il terminale B, e lo faremo col seguente calcolo: Vbb−Vbe∗hFe dove: Ic Rb = resistenza di polarizzazione di base Vbb = tensione con cui viene polarizzata la base I parametri con cui effettuare questo calcolo Vbe = caduta di tensione tra B ed E dipendono dal transistor in questione (e Ic = corrente di collettore quindi sono reperibili tra i dati tecnici forniti hFe = amplificazione dal produttore) o dal circuito nel quale questo andrà ad operare. Per semplicità non andrò ad analizzare il modo in cui viene ottenuta questa formula. Rb≤ Neuroni artificiali Il neurone artificiale è l'unità fondamentale dell'elettronica BEAM. Come per i neuroni biologici possiamo trovare: • neuroni afferenti o sensoriali, che ricevono stimoli dal mondo esterno e li trasmettono ad altri neuroni mediante impulsi elettrici; • neuroni centrali, che ricevono impulsi elettrici da altri neuroni e dopo una parziale elaborazione li ritrasmettono ad altri neuroni interconnessi; • neuroni effettori o motori, che ricevono segnali da altri neuroni e li trasmettono agli organi di movimento, facendoli agire. A differenza del neurone biologico, dove sono presenti moltissimi dendridi (linee che portano segnali in ingresso) ed un solo assone (la linea che porta il segnale di uscita), il neurone artificiale ha un solo dendrite ed una sola terminazione assonica per il collegamento ad un'altro neurone. Inoltre l'elaborazione complessa dei neuroni naturali viene semplificata ad un un tempo di ritardo tra l'impulso preso in ingresso e la presentazione dello stesso in uscita. Fondamentalmente questa struttura è semplicissima, è formata solamente da un inverter di schmitt 7 al cui ingresso è collegata una rete RC 8, disposta come integratore (illustrazione 9) o come differenziatore (illustrazione 9). Negli schemi elettrici i valori di R1 e C1 determinano il tempo di propagazione dell'impulso attraverso la rete nervosa, mentre U1 ha la semplice funzione di rigeneratore-invertitore del segnale, avendo integrato un trigger di Schmitt limita la carica e la scarica del condensatore. I valori dei componenti sono di 1-5 MΩ per R1 e 0.1-0.3 μF per C1, mentre U1 e' tipicamente un 74HC14. Tipi di neurone 7 L'inverter, anche detto porta logica not, è un circuito digitale in grado di implementare l'operazione logica booleana not. In particolare presenta due piedini, e risponde sul piedino di uscita sempre con uno stato logico opposto a quello presente sul piedino di ingresso: se il primo è alto (vcc) il secondo sarà basso (a massa) e viceversa. Il fatto che sia un inverter di schmitt indica che sono state impostate dal costruttore due soglie di tensione prefissate V+ e V-, se il segnale in ingresso da livello basso si innalza sopra la soglia V+ il segnale in uscita va a massa, mentre mentre se il segnale in ingresso da alto si abbassa sotto la soglia V- l'uscita va alta. 8 Un circuito RC è costituito da una resistenza ed un condensatore, la sua particolarità sta nel fatto che la resistenza viene usata per caricare o scaricare in modo graduale il condensatore. Se un condensatore viene collegato direttamente ad un generatore assume quasi istantaneamente la differenza di potenziale dello stesso, mentre se viene caricato attraverso una resistenza si caricherà più lentamente. 8 / 14 Un primo tipo di neurone può essere schematizzato in figura 13, in questo caso: 1. L'ingresso è basso ed il condensatore è scarico, quindi l'uscita è alta. Se l'ingresso diventa alto il condensatore inizia a caricarsi attraverso la resistenza secondo l'equazione −t V t=1−e finchè raggiungerà la soglia alta del trigger di Schmitt, quindi l'ingresso dell'inverter si alza e l'uscita si abbassa. 2. L'ingresso è alto ed il condensatore è carico, Illustrazione13: Neurone integratore quindi l'uscita è bassa. Se l'ingresso diventa basso il condensatore mantiene alto l'ingresso dell'inverter finchè non si sarà scaricato attraverso la −t resistenza secondo l'equazione Qe V t = C , finchè raggiungerà la soglia bassa del trigger di Schmitt, quindi l'ingresso dell'inverter si abbassa e l'uscita si alza. Un secondo tipo di neurone può essere schematizzato in figura 14, in questo caso: 1. L'ingresso è basso e il condensatore è scarico, quindi l'uscita è alta. Se l'ingresso diventa alto per un certo periodo il condensatore conduce corrente, polarizzando l'ingresso dell'inverter e abbassando l'uscita. Quando il condensatore si carica e la tensione diminuisce sotto la soglia bassa del trigger di Schmitt l'uscita Illustrazione 14: Neurone derivatore ritorna alta. 2. L'ingresso è alto ed il condensatore è carico, quindi l'uscita è bassa (il condensatore si comporta come un interruttore aperto e l'ingresso di U1 è polarizzato a massa da R1). Se l'ingresso si abbassa il condensatore si scarica Il mio robot Questo robot è costituito da un telaio circolare, ottenuto tagliando e sagomando un foglio di plexiglass, sul quale sono stati montati due motoriduttori tamiya collegati a due ruote, due biglie rotanti per fornire un appoggio più stabile, due sensori di contatto (baffi) e l'elettronica di controllo. L'alimentazione per semplicità è affidata a quattro batterie stilo, per un totale di 6v in corrente continua, mentre il suo funzionamento si ispira al mondo animale, ed in particolare agli scarafaggi. Questi indesiderati animaletti sono infatti tipicamente notturni, e per muoversi nell'ambiente non usano la vista o altri sistemi complessi, bensì le loro antennine. Quando rilevano un ostacolo non fanno altro che rispondere con un riflesso che li fa cambiare direzione, è proprio questo che fa questo robot: rileva gli ostacoli quando ne viene a contatto, retrocedere e cambiare direzione e infine riprendere ad avanzare. Un comportamento del genere può essere sviluppato per simularne altri più complessi, per esempio introducendo sensori di diverso tipo per raccogliere più stimoli, oppure può rimanere una risposta "fondamentale" di sicurezza per macchine più complesse. In un sistema estremamente complicato come l'organismo umano, infatti, le funzioni motorie sono affidate ad organi molto sofisticati, ma esiste un sistema sempre all'erta e capace di intervenire rapidamente per rispondere alle situazioni di emergenza. Una di queste potrebbe essere un movimento sbagliato, che ci porta ad avvicinare una mano ad una superfice calda, in questo caso abbiamo un riflesso che ci fa ritrarre la mano. In un automa che si muove nell'ambiente può essere utile un meccanismo simile per esempio al fine di evitare una caduta dalle scale quando questo vi si avvicina. Se la sofisticata elettronica di controllo non riesce in quel momento a rispondere al pericolo imminente verrà bypassata dal sistema "istintivo" che salverà il robot da una 9 / 14 rovinosa caduta. Logica di funzionamento Baffo sx Temporizzatore 1 Intervento lungo Temporizzatore 2 Intervento corto Motore sx Baffo dx Temporizzatore 3 Intervento corto Temporizzatore 4 Intervento lungo Motore dx Illustrazione 15: Logica di funzionamento La logica di funzionamento è schematizzata con l'illustrazione 15, ogni baffo agisce su due neuroni, che andranno ad interfacciarsi ognuno con un motore diverso. Il comportamento che ne risulta può essere riassunto in due possibili situazioni, esemplificate con l'illustrazione 16. Illustrazione 16: Esempio di funzionamento 10 / 14 Elettronica di controllo L'elettronica di controllo il stile BEAM è divisa su tre schede: Illustrazione 17: Prima scheda (metà relativa ad un solo baffo) La prima provvede a ricevere il segnale dai sensori di contatto e ad elaborarlo, per trasformarlo in impulsi da inviare ai motori. Questo compito è affidato a quattro neuroni, due per ogni sensore, nei quali la velocità di risposta può essere tegolata mediante una resistenza variabile (trimmer). I neuroni sono collegati in modo che alla pressione di ciascuno dei due baffi si attivi solo una delle due coppie, e tra i due neuroni attivati di volta in volta quello tarato con un periodo più lungo agisca sul motore opposto al baffo premuto, mentre quello tarato con un periodo più corto agisca sul motore coincidente. In questo modo il robot arretra per un tratto, per poi sterzare nella direzione opposta all'ostacolo. Illustrazione 18: Seconda scheda 11 / 14 La seconda presenta: • Un interruttore per l'accensione e lo spegnimento e tutti i fili di collegamento con le altre schede. • Otto led per monitorare lo stato dei sensori di contatto e dei motori, segnalando con luci gialle il sensore in quiete o il motore in marcia, con luci rosse il sensore azionato e con luci rosse lampeggianti9 il motore con direzione invertita. • Alcune porte logiche di raccordo tra il circuito dei sensori e quello di controllo dei motori. Per semplificare ulteriormente i possibili stati della tabella 7 quando i neuroni sono in stato di quiete viene inviato al ponte H un segnale per far avanzare il robot, mentre quando uno o entrambi i neuroni associati allo stesso motore si attivano il motore viene fatto retrocedere. In questo modo non è più contemplata la possibilità di fermarsi, ma ai fini del nostro robot non ha importanza. Illustrazione 19: Terza scheda La terza serve al controllo dei motori, per questo sono stati utilizzati due ponti H. É stato scelto di non usare circuiti integrati specifici, come gli L293DNE, per motivi di costo e di difficile reperibilità degli stessi. Sono stati usati transistor di media potenza quali i 2N3904 e i 2N3906, associati a dei diodi 1N4004 che li proteggono dalle sovratensioni causate dai motori a spazzole. Non è una soluzione ottimale ma è sufficente per un'applicazione di così modesta potenza. Descrizione del funzionamento Mentre le altre due hanno un funzionamento più intuitivo, la scheda di ricezione degli stimoli ed elaborazione del comportamento merita un approfondimento maggiore. Per descriverne il funzionamento mi sono servito dei colori e dei simboli: • rosso indica una tensione di 6v (livello logico alto); • nero una tensione prossima allo zero (livello logico basso); • il simbolo tick (√) indica il transistor in saturazione o l'interruttore chiuso (che conducono corrente); • il simbolo cross (X)indica il transistor e l'interruttore aperti (che non conducono corrente); 9 Per far lampeggiare i led è stato utilizzato il celeberrimo integrato NE555, inventato nel 1970 da Hans R. Camenzind. Una delle tante configurazioni in cui può essere utilizzato è come multivibratore astabile (oscillatore), in pratica un circuito RC dove, al termine di ogni carica o scarica del condensatore, il sistema viene riattivato. L'alternanza di queste fasi genera un'onda quadra a frequenza costante. 12 / 14 Illustrazione 20: Stato di quiete Inizialmente il circuito è in stato di quiete: il baffo non è premuto e l'interruttore è aperto, i condensatori sono scarichi e i transistor non conducono corrente. In questa situazione i piedini 2 e 3 del connettore JP4 sono scollegati, quindi i motori procedono entrambi avanti ed il robot avanza. Illustrazione 21: Contatto di un baffo e attivazione della risposta Quando un baffo viene premuto la tensione positiva indotta dalla resistenza R7 viene scaricata a massa, quindi le porte logiche not a sinistra ( IC1A e IC1E) inducono una tensione positiva sui condensatori, che si caricano. Il processo di carica è molto veloce, grazie ai diodi, e permette di cambiare il livello logico delle porte logiche not a destra (IC1B e IC1F), che azionano i transistor (T5 e T6). In questa fase il robot ha rilevato un ostacolo, i piedini 2 e 3 del connettore JP4 sono cortocircuitati a massa. Questo stimola la seconda scheda ad invertire la polarità dei motori, facendo arretrare il robot. 13 / 14 Illustrazione 22: Retromarcia Quando il baffo smette di essere premuto i condensatori iniziano la loro scarica, non attraverso i diodi bensì attraverso i trimmer. Durante questo processo la tensione sulle porte logiche not a destra scenderà, ma sarà comunque superiore alla soglia, quindi avremo in uscita sempre un livello logico basso. Questo permette ai transistor di continuare a condurre, facendo arretrare il robot per allontanarsi dall'ostacolo. Illustrazione 23: Rotazione Dopo un certo tempo il condensatore associato al trimmer con minore resistenza (nello schema quello più in basso) si scarica al di sotto della soglia delle porte logiche, quindi un transistor viene aperto. L'altro condensatore deve ancora terminare la scarica e il transistor a questo associato rimane chiuso. In questa fase un motore avanza mentre l'altro arretra, il robot gira su se stesso per schivare l'ostacolo. Quando anche il secondo condensatore si scaricherà, allora si ritornerà alla situazione iniziale e il robot ricomincerà ad avanzare. 14 / 14 Infine una foto della realizzazione completa: Bibliografia Sito web "Wikipedia" http://it.wikipedia.org Wiki sui Beam http://www.beam-wiki.org Sito web "Beam Italy" http://www.beamitaly.com Sito web "Solarbotics" http://www.solarbotics.net Community e progetti di Grix http://www.grix.it CD di "Imparare l'elettronica partendo da zero Fascicoli allegati al progetto "Costruisci e programma il tuo robot"