tesina scritta_1__1__1

annuncio pubblicitario
Microcontrollore
Il microcontrollore è un sistema a microprocessore completo,integrato in
un unico chip, progettato per avere la massima autosufficienza e
versatilità. Infatti visto il loro prezzo esiguo, sono utilizzati per molte
applicazioni tipo: telecomandi, sistemi di irrigazione, allarmi, ecc.
Esistono diversi tipi di microcontrollore in circolazione, ognuno dei quali si
differenzia per componentistica interna, per velocità di calcolo o anche
solo per numero di pin I/O.
I microcontrollori, come detto in precedenza, hanno oltre ad un'unità di
elaborazione (ALU) e una di controllo (UD) anche altra circuiteria, infatti la
RAM e la memoria del programma(EEPROM) sono direttamente integrate,
assieme anche a dei contatori interni e ai dispositivi di I/O. Oltre a questi dispositivi standard si possono
anche trovare convertitori A/D, comparatori o anche delle interfacce parallele-seriali.
Per funzionare correttamente questi microcontrollori hanno bisogno di pochissima circuiteria esterna,
infatti richiedono un clock al quarzo e un alimentazione costante. I valori del clock e dell’alimentazione
vengono presi dal datasheet del rispettivo integrato.
L’architettura interna di questi dispositivi viene chiamata
“architettura Harvard” che si differenzia dall’architettura
di von Neumann per la presenza di più bus. La CPU è
collegata tramite un bus alla RAM, con un altro alle
periferiche di I/O e con un altro ancora alla memoria
programma. Utilizzando questo schema vi sono notevoli
vantaggi sulla velocità di calcolo poiché si possono
utilizzare bus di diverse grandezze. Lo svantaggio
maggiore però è che le velocità di clock dei nostri
microcontrollori (massimo 20 MHz) risultano molto
minori rispetto a quelle dei microprocessori che talvolta
superano i 3 GHz.
Ora passiamo pero a parlare dei dispositivi interni ai microcontrollori, come per esempio i timer e i
convertitori A/D.
Timer
I timer sono dispositivi che, con cadenza regolare, incrementano un conteggio. Questi dispositivi possono
usare come sorgente di clock una sorgente interna (conta – tempi) oppure una sorgente esterna al
microcontrollore (conta - eventi). Il valore di fine conteggio del timer è legato al numero di bit di cui il timer
dispone, infatti questo valore risulta essere uguale a 2^n, dove n è il numero di bit.
Se è un timer a 8 bit potrà contare da 0 a 255 se invece è a 16 bit il suo conteggio si esaurisce a 65535.
Sapendo che i normali utilizzi del timer sono scandire il tempo, ed utilizzando dei clock elevati, notiamo
subito che un timer non riuscirà mai a contare dei tempi lunghi, infatti nel caso di 8 bit con clock di 4MHz
riusciremo a contare solo 256 µs. Quindi internamente ai microcontrollori viene posto anche un divisore di
frequenze che viene chiamato pre-scaler, selezionabile via software che ci permette di contare tempi più
lunghi. Appena i timer arrivano al valore di fine conteggio generano un interrupt(se abilitato) e fanno
eseguire la isr(interrupt service routine) che si trova nella allocazione di memoria 0004h.
Noi a scuola usavamo come microcontrollore il pic16F877 che internamente dispone di 3 contatori, due a 8
bit(timer0 e timer2) e uno a 16bit(timer1) che possiedono tre pre-scaler differenti. Timer0 può usare come
pre-scaler i valori 1,2,4,8,16,32,64,128,256. Timer1 invece può usare solo 1,2,4,8 e Timer2 1,4 e 16.
Ora invece passiamo a spiegare come funzionano i convertitori A/D interni ai microcontrollori
1
Convertitori A/D
un convertitore AD serve a convertire dati analogici in
grandezze digitali per permettere al μC di elaborarle. La
conversione è molto utilizzata nei µC perché visti i loro
svariati campi d'impiego, potrebbero aver bisogno di
acquisire dei valori da alcuni sensori analogici. Questi
dispositivi integrati direttamente dentro al chip, apportano
numerosi vantaggi, intanto il clock di conversione è
compreso internamente dal nostro quarzo(vanno poi
selezionati a parte due bit ADCS0,ADCS1) , la conversione
può essere gestita a interrupt o a polling e se gli ingressi
sono multiplexati possiamo evitare di usare multiplexer
analogici esterni che diventerebbe complicato indirizzare.
Le sostanziali differenze di questi convertitori sono: la
risoluzione, che corrisponde al numero di bit in cui viene
convertito il dato, e anche il range delle tensioni di
ingresso, tensioni che lui, il convertitore, accetta in ingresso
convertendole correttamente.
All'interno del Pic16F877 vi è un convertitore ad approssimazioni successive con risoluzione selezionabile di
8 o 10 bit, un multiplexer a 3 linee di selezione(8 canali) e un tempo minimo di conversione di 1.6µs.
2
Convertitori A/D
Visto che internamente a molti µc si trovano dei convertitori a/d ho deciso di spiegare anche i loro
funzionamenti. Esistono principalmente 6 tipi di convertitori a/d
• A comparatori in parallelo
• Ad approssimazioni successive
• A conteggio
o Rampa digitale
o Track-converter
• A integrazione
o Rampa
o Doppia rampa
A comparatori in parallelo
Il segnale da convertire Va viene applicato a tutti gli ingressi
dei comparatori in configurazione non invertente. L’ingresso
invertente dei comparatori è connesso ad una rete di
resistenze che suddivide la tensione di ingresso, così si
creano i livelli di riferimento e le relative “fasce”, una per
comparatore. Quando il segnale entrante e maggiore della
tensione di riferimento il comparatore dà in uscita un 1
logico, se invece è più bassa dà uscita 0. Il registro,
utilizzando un clock, acquisisce tutti i valori e li converte in
un dato binario.
Questo comparatore è il più veloce infatti non necessita
neanche di un sample/hold vista la sua velocità di
conversione, però non riesce ad avere alte risoluzioni dato
che il legame tra bit di codifica e comparatori è uguale a 2^n
-1 comparatori con n uguale alla risoluzione.
Ad approssimazioni successive
Questo metodo è il più diffuso e anche il miglior
compromesso fra velocità di conversione e risoluzione.
Il suo funzionamento è similare a quello della bilancia a 2
piatti. Il segnale di ingresso Va viene confrontato con il
segnale proveniente dal SAR convertito dal DAC. Dopo
aver dato il segnale di SOC, il SAR assume il valore 1-0-0-0
binario, che viene convertito dal DAC e viene confrontato
con Va. Se Va è più grande di Va’ il comparatore dà uscita
1 e il primo bit di uscita viene posto uguale a 1. Se invece
l’uscita del comparatore è uguale a zero viene posto a 0.
Quindi il SAR porta a 1 anche il secondo bit dando uscita 11-0-0, se il valore era 1, se no 0-1-0-0 per così convertirlo con il DAC e poi controllare se l’uscita del
comparatore è 1 o 0. Dunque viene impostato anche il valore del 2° bit. Il funzionamento risulta uguale
anche per gli ultimi 2 bit. Questo è un comparatore a 4 bit ma aumentando i bit il funzionamento non
cambia. Questi convertitori sono i più consigliati per applicazioni con µc.
3
A conteggio
A rampa digitale
Appena il comando di inizio
conversione viene portato a 1 il
contatore(counter) viene azzerato,
e successivamente abilitato tramite
la porta logica AND. Ad ogni
impulso del clock l’uscita del
convertitore DAC si incrementa.
Quando l’uscita del convertitore
diventa maggiore dell’ingresso il
comparatore commuta portando
Vo a 0 e bloccando il conteggio.
Quindi il contatore converte il numero di impulsi. Questo convertitore è chiamato “a rampa digitale” per
l’onda che viene generata dal DAC. Questo convertitore richiede frequenze di campionamento molto
elevate quindi viene utilizzato nei casi in cui la frequenza massima di campionamento sia nell’ordine dei
KHz.
Track-converter
il convertitore a conteggio o “rampa digitale” può essere migliorato utilizzando un contatore avantiindietro. Questo convertitore non azzera mai il numero di impulsi conteggiati ma semplicemente li
incrementa o li decrementa. Facendo ciò si utilizzano mediamente la metà dei conteggi, quindi si possono
usare frequenze di campionamento pari al doppio del “convertitore a rampa digitale”
A integrazione
A una rampa
Il segnale da convertire viene comparato
con un segnale uscente da un
integratore con una tensione di ingresso
fissa pari a –Vref. Finché la tensione da
convertire è più alta della tensione
proveniente dall’integratore l’uscita del
comparatore è alta. Un contatore,
collegato ad un clock fisso, ad ogni colpo
di clock si incrementa di 1. Appena V1
supera Vi il comparatore commuta
bloccando i conteggi del contatore e
mantenendo memorizzato il numero
binario, successivamente mandato in
uscita.
Il segnale di SOC in questo circuito è il reset che chiude l’interruttore s facendo scaricare il condensatore. Lo
stesso segnale poi disabilita il conteggio azzerando successivamente il nostro contatore.
Dal momento che i valori forniti da questo convertitore dipendono da diverse grandezze, come i
componenti e la frequenza di clock, si dice che questo convertitore abbia precisione e stabilità limitate.
4
A doppia rampa
Tutti i problemi presenti nel convertitore a
rampa sono risolti tramite questo convertitore a
doppia rampa. Dopo aver azzerato il sistema il
commutatore si trova su A e la tensione Va è
applicata all’ingresso di un integratore. La
tensione di uscita dell’integratore sarà quindi
negativa,e sarà applicata all’ingresso di un
comparatore. L’uscita del comparatore sta alta,
quindi comparatore abilita il conteggio degli
impulsi. Quindi il sistema rimarrà in questa
condizione per 2^n cicli di clock. Appena tutte le
uscite del contatore sono a 0 l’uscita del flip-flop
a 1. A questo punto S1 viene portato su B e
all’ingresso dell’integratore c’e -Vref di polarità
opposta a Va. Il contatore conta finche il
comparatore non commuta poi si ferma e
memorizza il numero dei conteggi. Questo e proporzionale al valore di ingresso.
Questo convertitore e stabile e permette conversioni molto precise però si presenta l’inconveniente del
tempo di conversione molto elevato.
Le principali limitazioni sono le correnti di perdita, le tensioni di offset e le correnti di polarizzazione degli
operazionali.
5
Teorema di Shannon
La discretizzazione di un segnale analogico si ottiene prelevando porzioni elementari che prendono il nome
di campioni.
Qualsiasi forma d’onda, funzione continua nel tempo, avente frequenza massima fmax, risulta
completamente determinata quando si prelevano dei campioni con una frequenza fca, in istanti tn noti e
separati da un intervallo di campionamento regolare ∆Tca, solamente se è rispettata la seguente
condizione : fca≥2fmax
Quindi si potrebbero verificare le tre seguenti condizioni:
fca>2fmax
questa è la condizione ottimale
fca=2fmax
in questa condizione risulta complicato il
filtraggio
fca<2fmax
in questa situazione si ha l’effetto aliasing
6
Trasduttori
Il trasduttore è un componente elettrico che converte una grandezza fisica in una grandezza elettrica.
I trasduttori possono essere primari o secondari.
I trasduttori primari sono quelli in cui la tensione d’uscita dipende direttamente dalla tensione di ingresso.
Invece i trasduttori secondari sono quelli in cui la grandezza d’uscita non dipende direttamente
dall’ingresso,ma da una grandezza al suo interno che dipende a sua volta dall’ingresso.
I parametrio dei trasduttori sono
Precisione
È il massimo scostamento tra il valore di ingresso ed il valore desumibile in uscita.
Funzione di trasferimento
È il legame che definisce come varia l’uscita al variare della grandezza di ingresso.
Linearità
È la differenza fra andamento teorico e andamento reale.
Off-set
È il valore che assume l’uscita del trasduttore quando l’ingresso è a 0.
Stabilità
È l’attitudine di mantenere invariata la F.d.T al variare del tempo, temperatura, umidità ecc.
Sensibilità
È il rapporto tra minima variazione del segnale d’uscita e la corrispondente variazione all’ingresso.
Isteresi
È la tolleranza entro la quale il trasduttore, effettuando la stessa misura non fa variare l’uscita.
Campo di misura
È l’escursione tra il minimo e il massimo rilevabili.
Risoluzione
È la minima variazione d’ingresso che provoca variazioni apprezzabili in uscita
Tempo di risposta
È il tempo che impiega l’uscita a variare dopo una variazione dell’ingresso.
Trasduttori di temperatura
Sono dispositivi che rilevano delle variazioni di una temperatura e forniscono variazioni di una grandezza
elettrica(resistenza, tensione, corrente) in funzione della temperatura.
Termo resistenze
Sono trasduttori che sfruttano la proprietà dei materiali conduttori che è di aumentare la propria resistenza
con l’aumentare della temperatura.
Termistori
Sono trasduttori in cui il legame tra resistenza e temperatura è esponenziale.
Ptc
Hanno un coefficiente di temperatura positivo.
Ntc
Hanno un coefficiente di temperatura negativo.
Termocoppie
Sono costituite da due lamine di materiale conduttore saldate a un estremità. Effetto Seebeck-Peltier
Sensori integrati
Contengono al loro interno sia l’elemento sensibile alla temperatura sia il circuito di linearizzazione.
Ad590
È un sensore di temperatura integrato che dà in uscita 1µA per kelvin.
Lm35
È un sensore di temperatura che dà in uscita 10mV per grado centigrado.
7
Trasduttori estensimetrici
Sono trasduttori che convertono una deformazione meccanica in una variazione di resistenza.
Trasduttori di posizione e velocità
Sono trasduttori che sono in grado di generare un uscita proporzionale alla posizione o alla velocità di un
organo in movimento.
Potenziometri
Utilizzato come trasduttore di posizione, è un resistore variabile il cui valore viene suddiviso in due parti
tramite lo spostamento di un contatto mobile chiamato cursore.
Dinamo tachimetrica
È un sensore che fornisce una tensione proporzionale alla velocità angolare del suo rotore.
Effetto hall
Sono usati per sapere se un oggetto si trova in una determinata posizione(sensori di prossimità).
Encoder
Sono sensori di posizione angolare che forniscono un segnale digitale. Si misura anche la velocità angolare.
Assoluto
Si ricava l'angolo di rotazione facendo riferimento ad una posizione unica.
Incrementale
Si può trovare angolo di rotazione e senso di rotazione.
8
Scarica