Anteprima
Vedrai una selezione di 9 pagine su 38
Il progetto QWEWER, una porta tra il mondo fisico ed informatico. Pag. 1 Il progetto QWEWER, una porta tra il mondo fisico ed informatico. Pag. 2
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Il progetto QWEWER, una porta tra il mondo fisico ed informatico. Pag. 6
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Il progetto QWEWER, una porta tra il mondo fisico ed informatico. Pag. 11
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Il progetto QWEWER, una porta tra il mondo fisico ed informatico. Pag. 16
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Il progetto QWEWER, una porta tra il mondo fisico ed informatico. Pag. 21
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Il progetto QWEWER, una porta tra il mondo fisico ed informatico. Pag. 26
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Il progetto QWEWER, una porta tra il mondo fisico ed informatico. Pag. 31
Anteprima di 9 pagg. su 38.
Scarica il documento per vederlo tutto.
Il progetto QWEWER, una porta tra il mondo fisico ed informatico. Pag. 36
1 su 38
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi

Tesina - Premio maturità  2009

Titolo: Il progetto QWEWER, una porta tra il mondo fisico ed informatico.

Autore: Cardin Christian

Descrizione: Un piccolo robot che, muovendosi in una semisfera a 360, compie rilevazioni sulla quantit luminosa circostante e scrive i dati in un database per effettuare delle indagini statistiche.

L'idea per questo progetto mi venne casualmente, in un pomeriggio di ottobre, osservando come i lampioni si accendessero automaticamente al giungere del crepuscolo mentre la luce solare si attenuava. A quel punto un abbozzo già  cominciava a comporsi nella mia mente, tratti grossolani di una struttura mobile con un sensore capace di percepire l'intensità  solare circostante. Non sembrava nulla di estremamente complesso, e man mano che riflettevo il progetto cominciava sempre più a prendere forma. Quello che avevo in mente era un robot a tutti gli effetti, rudimentale, ma pur sempre dotato di parti mobili comandati da un software; capace inoltre di percepire stimoli esterni, quali la luce. Mi affascinava il fatto di realizzare con le mie mani l'idea che avevo pensato, e decisi di portare il progetto QWEWER come tesina del mio esame di Stato. Anche QWEWER deriva da un fatto del tutto casuale! Non sapendo che nome attribuire alla mia creatura, cominciai a digitare caratteri a caso nella tastiera, nella speranza che qualcosa saltasse fuori. Ebbi la fortuna di trovare quasi subito una combinazione che non sembrava insensata, ma nemmeno troppo banale nella sua semplicità . Potrebbe sembrare buffo il nome, come in parte il suo aspetto: infatti anche la forma di QWEWER è puramente casuale!

Materie trattate: informatica, sistemi, elettronica, calcolo

Area: tecnologica

Estratto del documento

- 1 fotoresistenza

- 1 interruttore

Il tutto opportunamente saldato su board millefori con stagno 1mm e

cavetti conduttori.

Passiamo ora alla spiegazione e alla visione dei datasheet degli

integrati.

Come da schema, ogni pin OUT della porta parallela è collegato ad un

transistor bipolare BJT.

Il transistor è un componente elettronico attivo, formato da

semiconduttori, che funziona come amplificatore o interruttore, e a

seconda di come viene polarizzato può comportarsi in modi differenti. In

questo contesto viene usato come un interruttore digitale.

La porta parallela, infatti, non è abilitata ad erogare una corrente

degna di tale nome, e non può quindi pilotare nessun tipo di integrato.

Ma collegando un pin di uscita alla base del

transistor, è possibile mandarlo in stato di

SATURAZIONE(ON) o INTERDIZIONE(OFF).

Il passaggio da uno stato all'altro è controllato dalla corrente di base

o dalla tensione di base-emettitore. Se si lascia aperto l'ingresso o si

applica all'ingresso il potenziale della massa, la corrente di base non

fluisce e praticamente neanche la corrente di collettore. La figura

l’esempio pratico del funzionamento. I valori in nero si riferiscono alle

grandezze durante la fase di interdizione, mentre quelli in rosso alla

fase di saturazione.

Così, quando il livello logico del pin è 1, l’emettitore andrà a massa,

dando quindi in uscita uno 0 logico; mentre con uno 0 in entrata,

l’uscita sarà 1.

L’utilizzo della porta NOT è spiegata perché i bit di output

all’accensione del computer, per default, sono settati a 0. Quando il

software non comanda la porta parallela tutti i transistor conducono, e

andrebbero ad attivare tutti i motori contemporaneamente, provocando

danni alla struttura. INTEGRATO 74LS04

Con l’aggiunta dell’integrato 74LS04 si scongiura questo problema, e la

gestione da parte del software diventa più intuitiva, visto che si evita

di ragionare in logica negativa dei transistor. Svolge un ruolo

fondamentale anche nella gestione dei motori, riducendo il numero di pin

OUT da utilizzare per il controllo.

Per capire meglio il perché, spieghiamo prima a cosa serve l’integrato

L293D, detto anche PONTE AD H.

COSÈ UN PONTE H?

È un circuito che pilota un motore in corrente continua, e permette di

farlo lavorare in quattro diversi stadi: avanti, indietro, stop, frenato.

Lo schema può essere così rappresentato:

Le varie fasi di funzionamento sono

determinate dalle combinazioni di questi

quattro interruttori. Lo scopo del

circuito è quello portare il motore in

uno di questi quattro stadi, incanalando

la corrente nel modo giusto.

La tabella sottostante spiega in modo

completo le varie configurazioni:

Il senso di rotazione del motore dipende dalla sua polarizzazione. Se

questo non è polarizzato, lo statore interno rimarrà immobile, ma non

trattenuto da nessun tipo di forza.

Se invece viene polarizzato positivamente in entrambi i capi, il motore

rimarrà fermo, ma anche provando a muoverlo con le dita, sentiremo una

resistenza. Quest’ultima configurazione però è molto rischiosa, perché se

la si adopera senza proteggere adeguatamente il motore, può portare alla

sua distruzione.

Gli interruttori possono essere sostituiti da transistor, in modo da

poter comandare il motore a proprio piacimento. È appunto quello che

permette di fare

l’L293D.

L’integrato è in grado

di pilotare motori a

partire da 4.5V fino ad

un massimo di 36V, con

un’erogazione di

corrente di 600mA per

ponte. Può guidare fino

a quattro motori

contemporaneamente, ad

un solo senso di

rotazione, oppure due

motori con la possibilità di invertire il movimento rotatorio. Ecco uno

schema che mostra come è possibile muovere più motori contemporaneamente:

Ogni ponte può dirigere fino a due motori, collegati in coppia e

attivabili attraverso il piedino di ENABLE(pin1 per gli apparati 1 e 2,

pin9 per gli apparati 2 e 3). Sono alimentati tutti alla stessa tensione,

applicata al piedino 8. È possibile controllarne lo stato attraverso i

piedini 2 e 7 per il ponte 1, 10 e 15 per il ponte B. nel caso di motori

ad una direzione (come nel lato destro), il motore comincerà a girare nel

momento in cui il piedino di input andrà a livello logico 1, mentre si

fermerà quando andrà a 0.

Nel caso di motore bidirezionale, lo stato assunto dipende da entrambi i

piedini di input (in questo

caso da pin2 e pin7).

Da questa tabella notiamo come

è possibile frenare il motore

polarizzando entrambe le

entrate nella stessa maniera,

o portando il piedino ENABLE a

0. In questo caso non si

rischia di produrre alcun

danno, il circuito interno

all’integrato possiede un

sistema di protezione adeguato. Per far girare il motore a destra o a

 

sinistra sono quindi necessari due bit: 01 ruota a destra, 10 ruota

a sinistra. Ma dalla porta parallela basta una sola uscita: basta

collegare il pin 2 all’uscita della parallela, e il 7 alla stessa uscita,

però negata! Ecco spiegato quindi l’utilità di avere l’integrato 74LS04.

Si può riassumere la funzione di ogni piedino su questa tabella:

Il chip L293D è veramente unico, è il preferito da tutti i roboamatori

per la sua semplicità ed efficienza nel funzionamento. Una caratteristica

fondamentale è la protezione contro eventuali correnti inverse

(provenienti dai motori) che andrebbero a danneggiare gli apparati

interni al circuito. Questo avviene grazie all’applicazione di diodi in

coppia ai transistor Darlington in entrata e in uscita, come da schema.

La seconda parte del circuito si occupa dell’acquisizione dell’intensità

solare attraverso una fotoresistenza, e la relativa acquisizione da parte

del software.

La fotoresistenza è un componente elettronico la cui

resistenza è inversamente proporzionale alla quantità di luce

che la colpisce.

I materiali più usati sono il solfuro di cadmio CdS e il

solfuro di piombo PbS. L'energia radiante fornita ad un

semiconduttore provoca la rottura di alcuni legami covalenti e

quindi la produzione di coppie elettrone lacuna in eccesso

rispetto a quelle generate termicamente che causa una

diminuzione della resistenza elettrica del materiale (effetto

fotoconduttivo). Quando la radiazione incidente viene

interrotta i portatori di carica in eccesso si ricombinano

riportando la conducibilità del semiconduttore al suo valore

iniziale in condizioni di oscurità.

Visto che esse cambiano il loro valore resistivo al cambiare

dell’intensità luminosa, si può fissare indicativamente:

valore di buio: qualche MΩ

valore di luce: intorno al KΩ.

Bisogna però tener presente che questi componenti sono “lenti”

(variazione di circa 200 Kohm/s) cioè se la luce varia rapidamente

bisogna attendere un lasso di tempo sufficientemente ampio per avere un

corretto responso.

Collegando la fotoresistenza nel modo indicato nel circuito, è possibile

avere un range di tensioni che va da 0 (luce massima) a +5V (oscurità

totale). Però sarà una grandezza analogica, mentre il computer accetta

solamente dati in forma digitale.

Il responsabile della conversione dei dati da analogici a digitali, è

appunto l’ADC0804.

CONVERTITORE ANALOGICO/DIGITALE ADC0804

Si tratta di un componente CMOS in grado di operare la conversione

Analogico-Digitale a 8 bit con la tecnica delle approssimazioni

successive.

Tra le sue caratteristiche principali ricordiamo la risoluzione pari a 8

bit, il tempo d'accesso di 135 ns, il tempo di conversione di 100 µs.

Nella figura di pagina precedente vediamo una tipica applicazione

circuitale. Questa di lato è la piedinatura. Ora

analizzeremo attentamente uno per uno

ogni singolo piedino.

CS sta per Chip Select, ed è attivo

basso per consentire ogni tipo di

operazione.

RD sta per Read, anch’esso attivo basso

per rendere disponibile il dato nelle

linee di uscita.

WR sta per Write. Per default attivo

basso, dove una commutazione da alto a

basso attiva il processo di conversione.

Questa commutazione è chiamata anche

segnale si START.

CLK IN e CLK R sono indispensabili per

il corretto funzionamento dell’integrato. L’ADC possiede un clock interno

generato da un trigger di Schmitt invertente, ma esternamente ha bisogno

dell’integrazione di una rete RC.

Il clock tipico è di 640kHz, ottenibile

applicando un resistore da 10kΩ e un

condensatore da 150pF nella maniera

illustrata a fianco.

INTR: quando il dato digitale viene trasferito sui pin d’uscita, la linea

viene portata da 1 a 0. Questo pin serve nel caso si abbia la necessità

di collegare il convertitore analogico/digitale ad un pic, e lo avvisa

dell’avvenuta conversione. Una volta che il dato è stato letto (RD=0) il

valore di INTR ritorna a 1.

VIN+ E VIN-: Sono rispettivamente la tensione e la massa della grandezza

analogica da convertire. L’ingresso è di tipo differenziale, e può

ricevere da -0,3V a +18V. Il dato digitale d’uscita risulta quindi

essere proporzionale alla differenza di tensione fra i 2 pin d'ingresso.

AGND e DGND: massa analogica e digitale. Nel mio circuito entrambe si

riferiscono alla stessa massa, quindi saranno collegate in pari.

VREF/2: tensione di riferimento. Stabilisce il range di conversione, e la

tensione che è messo su di esso è pari a: (VIN(+) -VIN(-))/2. In questo

max

modo si può decidere a priori i valori digitali di massimo e di minimo

ottenibili in uscita. Nel mio caso viene adottato il range completo,

ossia da 00000000 a 11111111, e quindi il valore di VREF/2 sarà: (5-0)/2

= 2,5V. Se VIN(+) = VREF/2, il dato in uscita sarà 10000000. Nel caso in

cui non venga applicata nessuna tensione esterna al pin, il valore della

tensione di riferimento viene assunto pari a Vcc/2.

DB0-DB7: Linee digitali di uscita, è il valore della nostra grandezza

analogica convertito in un numero binario a 8 bit. DB0 è il bit meno

significativo (LSB), mentre DB7 è il più significativo (MSB)

VCC: Piedino di alimentazione. Il massimo valore accettato è 6.5V, sono

consigliati i classici 5V.

CIRCUITO INTERNO DELL’ADC0804:

Per la conversione, il convertitore si avvale del registro SAR

(Successive Approximation Register): particolare circuito sequenziale,

contenente una rete di 256 resistori in serie: si avvale della logica

delle approssimazioni successive per inserire o togliere tali resistori

(con l'aiuto di deviatori elettronici) al fine di determinare

l'uguaglianza tra la tensione differenziale in ingresso (Vin(+) – Vin(-))

e la caduta di tensione provocata dai resistori effettivamente inseriti.

In questo modo è in grado di generare un codice binario ad 8 bit.

L’algoritmo di conversione è abbastanza semplice.

Accanto al SAR, è presente anche uno SHIFT REGISTER (registro a

scorrimento), che rende più agevoli le operazioni di lettura e scrittura.

È composto da una catena di celle di memoria ad un bit interconnesse tra

loro. Ad ogni impulso di clock essi consentono lo scorrimento dei bit da

una cella a quella immediatamente adiacente, lo scorrimento può avvenire

verso destra, verso sinistra o in alcuni tipi detti bidirezionali sia

verso destra che verso sinistra in base allo stato di una linea di

controllo, a seconda se questa linea è a un livello di 0 logico oppure di

1 logico i dati vanno in una direzione oppure nell'altra.

In sostanza, genera combinazioni di bit per permettere al SAR di eseguire

il suo compito.

ALGORITMO DI CONVERSIONE:

Per prima cosa, viene creato il codice 10000000 (che corrisponde a

VREF/2), e viene comparato con il valore di VIN(+). Se VIN(+)è minore il

MSB viene forzato a 0, altrimenti si lascia a 1; in ogni caso l'indagine

viene portata avanti impostando ora il bit6 a 1 e confrontando di nuovo

la tensione d'ingresso VIN(+) con la tensione generata dal numero così

aggiornato, 11000000 o 01000000. Risulta evidente che dopo otto confronti

(e rispettivi aggiustamenti) il numero binario finale è quello che

corrisponde al campione di tensione proposto in ingresso; per ottenerlo

sono comunque necessari in totale 64 periodi di clock.

COME AVVIENE LA CONVERSIONE?

Tutto si gioca sui pin di controllo CS,WR e RD, che determinano lo stato

dell’ADC a seconda di come sono settati.

La conversione comincia quando CS e WR sono posti a 0. Il registro SAR e

Dettagli
Publisher
38 pagine