progetto misure
Transcript of progetto misure
Relazione Progetto Voltmetro Numerico a
Doppia Rampa
Caruso Enrico, Clocchiatti Dario, D'Aronco Stefano, Scarbolo Paolo
Indice
1 Scopo della prova 2
2 Voltmetro numerico a doppia rampa 3
3 Soluzione circuitale 9
4 Misure automatiche con Matlab 16
5 Risultati e Conclusioni 30
A Cenni teorici sul calcolo delle incertezze 37
B Amplicatore Operazionale e circuiti di misura 43
C Componentistica 48
D Strumentazione e comunicazione 55
1
1 Scopo della prova
l'obbiettivo di questa esercitazione è quello di realizzare un voltmetro doppia rampa e di analizzarne il
circuito di base, in particolar modo studiare i parametri che inuenzano il suo corretto funzionamento.
Il circuito realizzato è essenzialmente un convertirore tensione-tempo: l'operazione di conversione è
la metodologia adottata dal voltmetro a doppia rampa per poter discretizzare la tensione in ingresso ed
in seguito valutarla mediante una misurazione di tempo. Le misurazioni verranno eettuate mediante
una serie di strumentazioni che verranno collegate ad un PC dotato di scheda di acquisizione GPIB. In
particolare l'oscilloscopio eettuerà le misurazioni di periodo mentre le misurazioni di tensione verranno
realizzate dal multimetro digitale in dotazione. Interfacciando questi strumenti mediante Matlab sarà
inne possible automatizzare il processo di misurazione.
Lo scopo principale della prova è comunque, oltre alla semplice realizzazione del circuito, il confronto
dei risultati ottenuti mediante l'analisi teorica del circuito e di quelli raccolti mediante una misura
diretta. Per realizzare questo intento, dunque, è suciente eettuare una serie di misure ripetute del
tempo Tx per diversi valori di Vx e successivamete calcolare l'incertezza su questi. Esse potranno essere
dovute ad incertezze di tipo A (nel caso si raccolga un insieme di misure per ogni determinato valore
di tensione) e ad incertezze di tipo B (dovute all'incertezza dell'oscilloscopio). Dall'analisi teorica del
circuito è possibile ricavare l'espressione teorica di Tx che sarà quindi del tipo:
Tx = f(Vx, Vref , Tr, ...)
conoscendo i valori dell'incertezza delle variabili o dei parametri della funzione è possibile tramite la
propagazione degli errori calcolare l'incertezza teorica su Tx. A questo punto per un set di valori di Vx
si ottiene il corrispettivo valore di Tx sia teorico che misurato, con le relative incertezze. Se le misure
e l'analisi teorica del circuito sono state eettuate correttamente allora i due risultati devono essere in
accordo tra loro.
2
2 Voltmetro numerico a doppia rampa
Convertitori analogico digitali
Il cuore di un voltmetro numerico è rappresentato da un convertitore analogico-digitale, il quale traduce
una tensione analogica in ingresso allo strumento in una parola digitale ad N bit la quale può essere
trasmessa ad altri dispositivi per l'analisi dei dati o essere decodicata permettendo di visualizzare
il risultato della misura su un display LCD o LED. Esistono molti tipi di convertitori AD ciascuni
con i suoi pregi e i suoi difetti: per esempio l'ADC ash permette di lavorare ad alte frequenze ma,
dato l'elevato numero di operazionali e resistenze calibrate al suo interno, non si adatta ad essere
impiegato in strumenti nei quali è richiesta elevata risoluzione. Gli ADC ad integrazione permettono
di ottenere grandi risoluzioni a discapito della velocità. Essi possono essere distinti principalmente in
tre categorie: a singola rampa, a doppia rampa e multirampa. Gli ADC a singola rampa sono i più
elementari ma hanno il difetto che il risultato della misura dipende dai parametri dei componenti che
li compongono. Per ovviare a questo inconveniente si preferisce utilizzare degli ADC a doppia rampa
o a multirampa (o rispettivamente a doppia integrazione o ad integrazione multipla). In particolare
quest'ultimi risultano essere la soluzione più performante tra le tre: non presentano gli inconvenienti
degli ADC a singola rampa e a parità di risoluzione con gli ADC a doppia rampa risultano essere più
veloci. E' da sottolineare però che l'aumento di velocità comporta ad una maggiore complessità di
progetto e quindi un costo maggiore.
ADC a doppia rampa
L'ADC a doppia rampa converte una tensione (analogica) in un intervallo di tempo, che viene misurato
con una tecnica di conteggio degli impulsi di un oscillatore a quarzo; l'uscita di tale dispositivo è un
numero e quindi un segnale digitale direttamente computabile.
Figura 1: schema a blocchi del convertitore a doppia rampa
3
Il funzionamento base di un ADC a doppia integrazione è il seguente. Supponendo che il con-
densatore dell'integratore sia inizialmente scarico, si applica all'ingresso dell'integratore il segnale
incognito Vx da misurare, in tale maniera si crea una corrente I = Vx/R che scorrerà sulla resisten-
za in direzione entrante all'integratore e quindi la tensione d'uscita di esso decrescerà linearmente.
Figura 2: forme d'onda caratteristiche di un doppia
rampa
Questa fase del processo continua per un pres-
sato e noto intervallo di tempo TR, scaduto il
quale una logica di controllo provvede a far com-
mutare l'interruttore e porre in ingresso all'inte-
gratore un segnale di riferimento costante di val-
ore noto Vref e di segno opposto a Vx.
In questa condizione la corrente che circolerà sul-
la resistenza sarà di verso opposto e di valore
I = Vref/R e quindi la tensione all'uscita del-
l'integratore crescerà linearmente nché, dopo
un tempo Tx, non raggiungerà il valore zero.
A questo punto la logica di controllo farà com-
mutare nuovamente l'interruttore in maniera da
switchare nuovamente Vxall'ingresso dell'integratore, ricominciando da capo il ciclo di carica-scarica.
Il fatto che la tensione venga riportata a zero alla ne di ogni ciclo equivale a dire che la carica ac-
cumulata dalla capacità durante il tempo Tr è uguale a quella ceduta durante Tx, per questo motivo
il circuito in questione viene anche chiamato a bilanciamento di carica. Il bilanciamento delle cariche
sulla capacità C fornisce la seguente equazione:
1RC
ˆ
Tr
Vxdt =1RC
ˆ
Tx
Vrefdt
dal momento che le tensioni Vx e Vref sono costanti otteniamo:
VxTr = VrefTx
misurando direttamente Tx e Tr è possibile ricavare Vx dalla relazione:
Vx =VrefTx
Tr
Misurando entrambi gli intervalli Tr e Tx con la tecnica del conteggio degli impulsi dell'oscillatore di
frequenza campione fc = 1/tc otteniamo che:
Tr∼= Nrtc Tx
∼= Nxtc
Sostituendo queste due espressioni nella formula di Vx e supponendo che il periodo di oscillazione
rimanga costante per tutto il ciclo di misurazione è possibile semplicare tc, ottenendo:
4
Vx∼=VrefNx
Nr
Nelle formule è stato utilizzato il simbolo ∼= a causa dell'errore dovuto alla quantizzazione.
Figura 3: Forma d'onda risultante in uscita all'integratore
Come già detto durante la trattazione, il tempo Tr è costante e quindi la vera e propria conversione
tensione-tempo si ha solamente nella seconda fase del processo. Si può notare che il tempo impiegato
dal segnale per raggiungere lo zero è direttamente proporzionale al valore del segnale d'ingresso.
E' da specicare inoltre che durante il tempo Tr la tensione in ingresso non rimane costante ma è
soggetta a variazioni, dovute per esempio a del rumore sovrapposto ad essa. La carica che si accumula
nel condensatore in generale vale:
Qx =
´TRvx(t)dt
C
applicando il teorema della media si ottiene:
Qx =V xTr
C
Dove V x corrisponde al valore medio della tensione in ingresso nel periodoTr. Dal momento che la
tensione di disturbo più frequentemente coinvolta è costituita da residui della tensione di rete a 50 Hz,
si sceglie il tempo di integrazione pari ad multiplo di 20 ms (periodo della tensione di rete). In questo
modo il contributo di essa sulla carca del condensatore risulta nullo.
Se il rumore ha un andamento sinusoidale di frequenza f e si vuole valutare il suo contributo nel
tempo Tr è suciente calcolare l'intetgrale:
5
V N =1Tr
ˆ T0+Tx
T0
V0 sin(2πft)dt = V0sin(πfTx)πfTx
il valore è un sinc che si annulla per valori di f multipli di 1/Tx, si denisce reiezione di modo normale
l'inverso del valor medio della tensione di rumore normalizzato ad ampiezza unitaria, quindi in dB la
reiezione vale:
RNdB = 20 log(V0
V N
)Tuttavia i calcoli eettuati nora si basano sul presupposto che i parametri dell'amplicatore
operazionale siano ideali. Ma in realtà questo non avviene e bisogna tener conto di un certo numero
di non idealità che abbiamo qui di seguito riassunto:
Corrente di polarizzazione agli ingressi dell'operazionale;
Tensione di oset;
Non rail to rail;
E' comunque possibile ridurre gli inconvenienti prodotti da queste non idealità; per esempio se l'op-
erazionale non è rail to rail signica che l'uscita non riesce a portarsi al valore di alimentazione. Per
evitare questo problema è suciente prevedere una tensione massima in uscita dall'integratore minore
di quella limite indicata nei datasheet dell'amplicatore operazionale.
Se si scrive l'equazione di bilanciamento della carica tenendo conto di una corrente I− non nulla en-
trante nel piedino invertente dell'operazionale e di una tensione di oset Vos diversa da zero si ha per
il bilanciamento della carica:(Vx − Vos
R− I−
)Tr =
(Vref − Vos
R+ I−
)Tx
esprimendo Vx si ottiene:
Vx = VrefTx
Tr+RI−
(1 +
Tx
Tr
)+ Vos
(1 +
Tx
Tr
)quindi in questo caso l'uscita dipende anche da altri parametri i quali ovviamente vanno ad aumentare
l'incertezza sulla misura Vx.
Ulteriori non idealità
Il circutito può presentare anche altre non idealità, come per esempio una tensione di soglia diversa
da zero all'ingresso del comparatore a soglia, carica residua sul condensatore oppure un errore di non
linearità della rampa.
6
Tensione di soglia del comparatore diversa da zero
La tensione di oset del comparatore di soglia e la carica residua del condensatore producono un errore
per il fatto che falsano l'istante di stop del conteggio di Tx.
Figura 4: Forma d'onda con errore dovuto alla tensione di oset del comparatore a valle
Guardando l'andamento di Voi(t), g. 4, si vede che nella prima fase d'integrazione la non idealità
non inuisce in quanto Tr è ssata, ma la seconda fase è sensibile alla tensione di oset del comparatore
in quanto se presente, in base al segno che ha, fa commutare il segnale prima che attraversi lo zero
(contando quindi meno impulsi di quanti dovrebbe) oppure lo fa commutare dopo l'attraversamento
per lo zero (contando in questo modo più impulsi di quanto dovrebbe).
Tuttavia osservando con attenzione il diagramma temporale si nota come all'inizio del ciclo sucessivo
sia presente sul condensatore una carica residua che produce una tensione su esso pari appunto a Voff ,
quindi l'intera forma d'onda viene osata di questa quantità e di conseguenza le misurazione successive
a quelle del primo ciclo sono eettuate in maniera corretta.
Analizziamo ora cosa succede quando è presente una carica residua nel condensatore.
Figura 5: Forma d'onda con errore dovuto alla carica residua sul condensatore
In tal caso l'intera caratteristica viene osata di una certa tensione. Come nel precedente caso la
prima fase d'integrazione non da problemi perché Tr è indipendente da ciò che accade nel circuito,
ciò con è vero invece nella seconda fase in cui a seconda del segno della tensione sul condensatore il
circuito commuta prima o dopo dell'attraversamento per lo zero, portando ad un conteggio sbagliato
degli impulsi. Questo errore è di natura diversa di quello appena visto per la tensione di soglia del
comparatore, ciò nonostante osservando le forme d'onda si perviene alle stesse conclusioni; infatti alla
ne del primo ciclo la tensione ai capi del condensatore è zero quindi anche la carica residua è nulla,
quindi la carica residua scompare alla ne del primo ciclo non inuenzando le misure successive.
7
Inne l'ultima fonte di errore deriva dal fatto che in realtà la rampa non è perfettamente lineare e
quindi in realtà il segnale potrebbe attraversare lo zero prima o dopo il tempo Tx reale. Dal momento
che l'espressione analitica della rampa reale non è a nota, non è facile stimare il valore di questo tipo
d'errore.
Ci sarebbero anche altre non idealità, per esempio un'amplicazione dierenziale ed un CMRR
(common mode rejection ratio) non inniti, ma l'inuenza di questi ultimi sulla risposta del circuito é
più modesta.
Figura 6: Forma d'onda con errore dovuto alla non linearità della rampa
8
3 Soluzione circuitale
Lo schema circuitale utilizzato è quello di g. 7 , il quale è costituito da diversi blocchi:
Integratore;
Comparatore a soglia;
Logica di controllo;
Amplicatore in ingresso;
Circuito per generare Vref ;
Inoltre sono presenti al suo interno i seguenti circuiti integrati
TL084;
LM358;
NE555;
ADG419;
LM7805C;
Il contatore d'impulsi, il circuito di memoria e visualizzazione non vengono realizzati dal seguente cir-
cuito, ma da un oscilloscopio e da un computer interfacciato a quest'ultimo, analizziamo separatamente
i diversi componenti e blocchi del circuito. Tutti i componenti sopra citati sono descritti ampiamente
in appendice C.
Amplicatore d'ingresso
Figura 8: Amplicatore d'ingresso
L'amplicatore d'ingresso non è indispensabile
per il funzionamento del voltmetro, ma dal mo-
mento che le speciche del progetto prevedono
che lo strumento legga tensioni che variano no a
10 V e dal momento che il generatore di tensione
usato per fornire il segnale in ingresso ha un val-
ore di fondo scala di soli 6 V, per estendere il cam-
po di tensioni si è aggiunto un circuito che ampli-
ca di 2 volte la tensione in ingresso in maniera
da ottenere in uscita una tensione che presenta
le caratteristiche richieste. Il circuito utilizzato è
un semplice amplicatore non invertente, quindi
la tensione in uscita risulta essere:
9
Figura 7: Schema circuitale
10
vo =(
1 +R9
R10
)vi
Per ottenere quindi un amplicazione 2 è suciente scegliere due resistenze R9 e R10 dello stesso
valore, che nel nostro caso sono state scelte pari a 47 kΩ.Nel seguito della prova con tensione di misura ci si riferisce alla tensione in uscita dall'amplicatore
in ingresso.
Circuito per la tensione di riferimento
Figura 9: Circuito per la tensione di riferimento
La tensione di riferimento Vref è stata fatta tramite un semplice inseguitore di tensione. Supponendo
che l'operazionale sia ideale, la corrente assorbita dal morsetto I+ è nulla, quindi la tensione V+ risulta
pari al partitore di tensione su R2, quindi:
V+ = −VEER2
R2 +R1
essendo che V+ = V− = Vo, abbiamo che:
Vref = −VEER2
R2 +R1
Nel nostro caso avendo scelto R2 = R1 = 10 KΩ ed essendoVEE = 15 V otteniamo
approssimativamente una Vref = −7.5 V .
11
Integratore e comparatore a soglia
Figura 10: Circuito dell'integratore e del comparatore a soglia
La scelta dei componenti per il doppia rampa devono soddisfare alcuni vincoli dettati dalle speciche di
progetto, in particolare R3 e C1 vanno scelti in maniera tale che, per il massimo valore d Vx ammesso
la tensione in uscita dell'integratore non superi mai il valore di saturazione.
La tensione in uscita dell'integratore vale:
voi(t) =V x
RCt
La tensione massima di voi si ottiene quando V x è quella massima e quando t = Tr. Tale tensione
deve essere minore di quella di saturazione dell'operazionale, quindi:
V xMAX
RCTr < Vsat
Dal momento che la tensione massima all'ingresso dell'integratore è 10 V , il periodo Tr scelto è 20 ms
e la tensione massima di saturazione è 12 V abbiamo che:
RC >V xMAX
VsatTr = 16.67 · 10−3 s
Per il nostro progetto è stato scelto R3 = 220 KΩ e C1 = 100 nF , il che signica avere RC = 22 ·10−3,
soddisfacente la condizione imposta per il limite inferiore. Con questa scelta dei parametri si ottiene
una tensione massima all'uscita dell'integratore pari a VoiMAX = 9.09 V ben lontano dalla tensione di
saturazione.
Il seguente circuito, a dierenza del circuito analizzato in precedenza presenta in uscita un limitatore
di tensione a diodo zenner. Tale scelta è indispensabile per ottenere un segnale compatibile con il
circuito di controllo che può solamente ricevere segnali logici unipolari il cui stato basso vale 0 V
e il cui stato alto vale 5 V . La soluzione a diodo zenner e molto conveniente infatti con un unico
componente è possibile ottenere le due tensioni volute.
12
Prima di proseguire nella trattazione è utile riportare alcuni parametri di interesse del diodo zener
BZX79C 4V7 utilizzato nel esperienza.
min typ max unitDissipazione 500 mW
Vz 4.4 5.0 VTc (coeciente di temperatura) −3.5 0.2 mV/°C
Tabella 1: Parametri del diodo zener BZX79C 4V7
Figura 11: Caratteristica tensione corrente dello
zener
Aanco è riportata la caratteristica tensione-
corrente del diodo zener, è da notare che Iz è
la corrente minima che deve passare nel diodo
anché questo possa svolgere la sua azione sta-
bilizzatrice, il suo valore cambia da un tipo di
diodo all'altro, ma si aggira intorno ai 5÷10 mA.
Una volta scelta la Iz, si deve dimensiona la re-
sistenza R4 (resistenza zavorra) in maniera tale
che su di essa ci sia una caduta di tensione pari
a Vc − Vz.
Innanzitutto è da specicare che la corrente che
scorre sulla resistenza non è la semplice Iz, ma è
quest'ultima sommata alla corrente in entrata al
piedino di trigger del NE555. Però dal momento che la corrente di trigger ha un valore tipico di 0, 5µA è possibile trascurala. Quindi possiamo scrivere che:
R4 =Vc − Vz
Iz
Sapendo che Vc = 15 V, V z = 4, 7 V e scegliendo una Iz di 10 mA si ottiene una resistenza R4 =1050Ω ∼= 1kΩ. Dal momento che le resistenze che abbiamo utilizzato nel progetto dissipano al massimo
1/4 W, bisogna vericare che il valore scelto per la resistenza sia compatibile:
PR4 =(Vc − Vz)2
R4
∼= 0.11W
E' da ricordare che la condizione sulla potenza deve essere vericata anche quando Vc = −15 V, inoltre
questo caso risulta più critico del precedente perchè |V f | < |V z|, quindi:
PR4 =(Vc + |Vf |)2
R4
ssando approssimativamente una tensione Vf pari a 0.7 V si ottiene una potenza pari a 0.21 W, che
risulta minore del limite imposto.
13
Logica di controllo
Figura 12: logica di controllo
Figura 13: Forme d'onda caratteristiche della logica
di controllo
La funzione di tutta la logica di controllo è svolta
completamente dall' NE555. Il trigger di Schmitt
posto in serie ha come unica funzione quella di
correggere un disturbo che si è presentato in us-
cita al monostabile. Per capire come funziona la
logica di controllo è utile analizzare il circuito nel-
la sua completezza, escludendo per un momento
il trigger. Supponiamo che la carica residua sul
condensatore sia nulla e iniziamo a considerare il
comportamento del circuito da quando il monos-
tabile manda in uscita una tensione alta. In tal
caso l'ADG419 riceverà sul piedino IN un 1 logi-
co, quindi manderà in uscita il segnale presente
sul pin S2, ovvero Vx.
Essendo tale segnale positivo, l'uscita del integra-
tore decrescerà linearmente. Tale uscita essendo
negativa porterà ad avere in uscita al compara-
tore una tensione positiva di valore Vcc, che verrà
limitata dallo zener a 5 V. L'uscita dallo zener è
anche il segnale di trigger del NE555, quindi come
visto precedentemente un segnale alto nel piedi-
no di trigger corrisponde a mettere uno zero sul
14
piedino S del latch interno e quindi lo stato dell' NE555 non viene alterato. Questa condizione rimane
inalterata nché dopo un tempo Tc il monostabile ritorna al suo stato stabile ovvero la sua uscita va a
0. In tal caso l'ingresso IN del ADG419 riceverà sul piedino uno 0 logico, quindi manderà in uscita il
segnale presente sul pin S1, ovvero Vref . Essendo tale segnale opposto al precedente l'uscita del inte-
gratore crescerà linearmente. Tale uscita risulterà comunque negativa e quindi l'uscita del comparatore
e quelle che seguono rimarranno inalterate. La condizione rimarrà inalterata nché l'uscita dell'inte-
gratore non raggiungerà lo zero, in tal caso quando poi diventerà positiva il comparatore darà in uscita
una tensione negativa che vale −Vcc che verrà limitata dallo zener a 0V. Come visto precedentemente,
quando sul morsetto di trigger del NE555 si presenta una transizione negativa del segnale, l'NE555
passa allo stato instabile, portando la sua uscita a livello logico alto. In tal caso quindi l'ADG419
riceverà sul piedino IN un 1 logico, quindi manderà in uscita il segnale presente sul pin S2, ovvero
Vx. Quindi la tensione sull'integratore inizierà a decrescere linearmente e quando ritornerà a essere
negativa l'uscita del comparatore tornerà a valere Vcc e l'ingresso dell'NE555 tornerà ad essere un 1
logico. Il ciclo riprende.
Quindi per la logica di controllo è solamente necessario scegliere i valori di R11 e C3 tali che il ciclo
di temporizzazione dell'NE555 valga 20 ms, permettendo quindi di avere una reiezione teoricamente
innita per la frequenza di rete.
Come visto precedentemente il tempo in cui l'uscita rimane allo stato instabile è dato dalla formula:
Tr = 1.1RC = 20 · 10−3 s
I valori della resistenza e del condensatore che abbiamo scelto per soddisfare questa condizione sono
stati R11 = 1MΩ e C3 = 18 nF , inoltre nel circuito, in serie alla resistenza R11 abbiamo inserito una
resistenza variabile R12 in maniera da poter tarare il tempo perfettamente a 20 ms e quindi garantire
una maggior immunità al disturbo provocato dalla tensione di rete.
Il trigger di Schmitt è stato introdotto nel progetto perché l'uscita dell'NE555 presentava una
distorsione. In particolare, per un breve istante iniziale, la tensione non raggiungeva il valore massimo,
questo è un inconveniente che può portare a degli errori nel circuito, in particolare se il valore di
tensione è inferiore a Vinh (2.4V) l'ADG continua a mandare in uscita la Vref e quindi la tensione
dell'integratore continua ad aumentare. Per risolvere il problema si è aggiunto al circuito un trigger
di Schmitt unipolare non invertente. In pratica questo circuito ha due soglie (V1 e V2), una alta e una
bassa non coincidenti: quando l'entrata è al di sotto della soglia bassa, l'uscita assume il valore basso;
quando l'entrata si trova al di sopra della soglia alta, l'uscita assume il valore alto. Quando il valore
in ingresso si trova compreso tra le due soglie, l'uscita conserva il valore precedente nché l'entrata
non sia variata sucientemente da causarne il cambio. Questo funzionamento implica una qualche
memoria nel trigger che prende il nome di isteresi.
15
4 Misure automatiche con Matlab
Funzioni dello script:
Riassumendo le funzionalità dello script, potremmo elencare le seguenti operazioni:
Realizzare un certo numero di misure sulle grandezze di interesse, in contesti diversi;
Immagazzinare i dati per il calcolo delle incertezze e relativa propagazione;
Provvedere alla computazione delle informazioni pervenendo ad un risultato nale;
Misurazione delle grandezze di interesse:
Le funzioni che andremo a descrivere in questa parte sono le seguenti: Main_Measure, GPIB_Init,
GPIB_Close, Power_Set, Osc_Init, Osc_Measure, Mult_Measure, Detect_B, Voltage_Measure.
Main_Measure:
La funzione Main_Measures è il corpo principale dello script. Essa permette la misurazione dei dati
e il loro immagazzinamento all'interno di vettori e di matrici pre-allocate.
Lo scopo della prima parte dello script, dunque, è quello di caratterizzare le tre grandezze fondamentali
del circuito voltmetro a doppia rampa. Nel nostro caso N è stato scelto come pari a 50, da non
sottovalutare il fatto che il processo di misurazione richiede molto tempo.
Diamo ora uno sguardo globale alla funzione, essa è strutturata in due sezioni, la prima riguarda
la preallocazione delle aree di memoria per i vettori e per le matrici utilizzate in seguito, la seconda
consta di due cicli for innestati l'un l'altro per permettere di eettuare le misurazioni e di variare al
contempo la tensione in ingresso al circuito.
Un paio di richiami sulle grandezze misurate:
Tx rappresenta la quantità temporale che viene inserita nella formula per il calcolo di Vx pro-
pria del voltmetro a doppia rampa. Più avanti vedremo che tale formula verrà invertita per
determinare invece Tx in funzione di Vx e per permetterci di propagare gli errori delle grandezze
implicate.
Tr corrisponde alla quantità temporale impostata con il circuito monostabile la quale deve essere
multipla del periodo della tensione di alimentazione per evitare grossi errori dovuti alla non
perfetta reiezione del rumore.
Vx inne è il valore misurato dal voltmetro a valle dell'amplicatore operazionale in ingresso al
voltmetro che nel nostro caso è costituito da un amplicatore non invertente con guadagno di
tensione pari a 2.
La prima parte dello script Main_Measure è il seguente:
16
function Main_Measures
GPIB_Init;
global N;
N=50;
global Vi;
global Vm;
global Tx;
global Tr;
Vi=0.1:0.1:5;
Vx=zeros(N);
Vx_uB=zeros(N,1);
Tx=zeros(N);
Tx_uB=zeros(N,1);
Tr=zeros(1,N);
In questa prima parte si possono notare, tra le varie denizioni dei vettori a scopo mnemonico, la
funzione GPIB_Init che verrà analizzata in seguito e la denizione di variabili globali per alcuni
vettori più diusi. Ne segue l'indentazione dei cicli for per la misurazione iterata delle grandezze. La
seconda parte dello script è qui elencata:
Power_Set(2.5);
Osc_Init('P_WIDTH');
pause(1);
for j=1:N
pause(0.5);
Tr(j)=Osc_Measure('P_WIDTH');
end
uB_Tr=Detect_B('Osc_Tr',mean(Tr));
Questa parte di codice imposta il valore l'uscita dell'alimentatore a 2.5 V (tramite la funzione Pow-
er_Set che verrà descritta successivamente) e in queste condizioni esegue 50 misurazioni del tempo
Tr. La scelta dei 2.5 V è dovuta al fatto che esso è un valore intermedio nel range di variazione dell'in-
gresso. In questo caso, come in tutte le altre misure è stata inserita una pausa dopo l'inizializzazione
dell'oscilloscopio e prima di ogni misura: questo per garantire che l'oscilloscopio (cosi come anche il
multimetro) si trovi nelle condizioni ottimali per eettuare una lunga serie di misurazioni. Infatti
abbiamo notato che l'eseguire tante misure (dell'ordine di 2500) di seguito, può comportare la nascita
di errori che possono compromettere il risultato di minuti di computazioni. Prendendo le precauzioni
delle pause, unite ad un controllo della correttezza della misura, si ottiene uno script più robusto nei
confronti degli errori che possono incorrere. Da notare che, una volta ottenuto il vettore di misurazioni
di Tr si procede alla determinazione dell'incertezza B relativa alla media di tali misurazioni (quest'ul-
tima operazione viene compiuta dalla funzione Detect_B, anch'essa verrà commentata in seguito).
Qui di seguito è riportata la terza ed ultima parte:
17
for i=1:N
Power_Set(Vi(i));
for j=1:N
pause(0.1);
Vx(i,j)=Mult_Measure('VOLT_DC');
end
Vx_uB(i)=Detect_B('Mult', mean( Vm(i,1:N) ) );
Osc_Init('N_WIDTH');
pause(1);
for j=1:N
pause(0.5);
Tx(i,j)=Osc_Measure('N_WIDTH');
end
Tx_uB(i)=Detect_B('Osc_Tx',mean(Tx(i,1:N)));
end
GPIB_Close;
Il ciclo principale riprende il codice già descritto nella seconda parte e lo inserisce nel contesto di 50
misurazioni di ogni grandezza in funzione di 50 variazioni della tensione di ingresso. Quest'ultima, viene
valutata mediante il multimetro (e nel testo viene indicata con Vm), mentre il tempo Tx viene misurato
mediante la medesima funzione di Tr (sempre attraverso il codice denito nella parte precedente).
In entrambi i casi, una volta ottenuto il vettore di misurazioni corrispondenti ad ogni ingresso, ne
viene valutata l'incertezza di tipo B. La scelta di valutare in questo momento l'incertezza di tipo B è
determinata dal fatto che essa è legata al valore del fondo scala: nella maggior parte dei casi, previ
errori sui quali poi faremo alcune considerazioni, il fondo scala si mantiene anche all'interno della
funzione Detect_B e dunque al suo interno verrà realizzata la query per determinare il fondo scala
utilizzato. Da notare che una soluzione sarebbe potuta essere quella di assegnare ad ogni misura un
suo fondo scala mediante la denizione di ulteriori matrici di valori. Questo però avrebbe prolungato
di gran lunga il processo di misurazione.
Tuttavia, al di là delle spiegazioni di massima, la comprensione delle funzionalità della Main_Measure
è subordinata alla comprensione delle sue funzioni. Ne seguirà dunque una descrizione che si soermerà
sui particolari importanti di ognuna di esse.
GPIB_Init:
Il codice di questa funzione è molto semplice ed è il seguente:
function GPIB_Init
clear all;
close all;
delete(instrfind);
18
global Osc;
global Mult;
global Power;
Bus_Gpib=7;
Add_Mult=22;
Add_Power=5;
Add_Osc=7;
Mult=gpib('agilent',Bus_Gpib,Add_Mult);
Power=gpib('agilent',Bus_Gpib,Add_Power);
Osc=gpib('agilent',Bus_Gpib,Add_Osc);
Osc.InputBufferSize=5000;
Osc.TimeOut=3;
fopen(Mult);
fopen(Power);
fopen(Osc);
La funzione realizza l'inizializzazione dell'interfaccia GPIB riferita al contempo all'oscilloscopio, al
multimetro e all'alimentatore. Gli oggetti Osc, Mult e Power sono i puntatori ai les da aprire per
poter avere accesso ai comandi degli strumenti. Essi sono deniti come variabili globali in quanto
verranno utilizzati in tutte le altre funzioni e questo evita il ripetitivo compito di passare tali elementi
come argomenti delle funzioni. La funzione gpib() riceve come argomenti una stringa identicatrice
dell'oscilloscopio (in questo caso il nome del produttore), il bus sul quale è stata installata la scheda di
acquisizione gpib (che è unica per tutti e tre gli oggetti) e l'indirizzo di ogni strumento (visualizzabile
e modicabile manualmente attraverso il pannello frontale dei rispettivi strumenti) e restituisce il
puntatore al le. Una considerazione importante riguarda il fatto che questa particolare combinazione
di valori varia da computer a computer e da congurazione a congurazione, quinudi questa funzione
è stata creata unicamente per rendere lo script più portabile.
L'istruzione delete(instrnd) viene utilizzata per ripulire appunto la variabile instrnd che contiene
le inizializzazioni degli strumenti che erano stati utilizzati ni a quel momento. L'apertura di tanti
les può infatti causare conitti, con questa istruzione tali conitti si prevengono. Prima di eseguire
la funzione è opportuno, sulla riga di comando di Matlab, eseguire i comandi clear all e close all.
Quando viene creato l'oggetto Osc (oppre Mult o Power), Matlab associa allo strumento un buer
per la comunicazione dei dati e il valore di default di questo parametro è 512 byte. Con il comando
Osc.InputBuerSize lo si imposta ad un valore di 5000. Il comando che segue setta il valore di timeout
dell'oscilloscopio ad un valore più basso di quello di default che è 10 secondi (questo parametro viene
modicato solo per una questine di comodità). Inne i rispettivi les vengono aperti, e ora tutte le
istruzioni di query per la comunicazione con gli strumenti possono essere utilizzate.
GPIB_Close:
La funzione GPIB_Close racchiude i seguenti comandi:
19
function GPIB_Close
global Osc;
global Mult;
global Power;
fclose(Mult);
fclose(Osc);
fclose(Power);
delete(instrfind);
clear all;
close all;
GPIB_Close fa esattamente l'opposto di Gpib_Init, chiude i les e ripulisce l'instrnd.
Power_set:
La funzione Power_set è così denita:
function Power_Set(Voltage)
global Power;
fprintf(Power,'APPL P6V, %f, DEF',Voltage);
Power_set è una semplicissima funzione che permette di impostare il valore dell'uscita dell'alimen-
tatore. Si nota come sia possibile impartire il comando di imposizione della tensione mediante una
semplice fprintf a cui viene passato il puntatore del le su cui scrivere e una stringa che è relativa a
tale comando specico. L'output formattato, in questo caso, si dimostra estremamente potente perché,
come si nota, ci permette di settare il voltaggio in maniera del tutto svincolata dalla stringa da inviare
al le.
Osc_Init:
function Osc_Init(Str)
global Osc;
fprintf(Osc, 'AUT');
switch Str
case 'N_WIDTH'
fprintf(Osc,':MEAS:NWID?');
NWID=fscanf(Osc,'%f');
fprintf(Osc,':TIM:RANG %f',NWID*1.1);
fprintf(Osc,':TRIG:EDGE:SLOP NEG');
fprintf(Osc,':TIM:REF LEFT');
fprintf(Osc,':TIM:RANG %f',NWID*1.2);
fprintf(Osc,':TRIG:MODE GLIT');
20
fprintf(Osc,':TRIG:GLIT:POL POS');
fprintf(Osc,':TRIG:GLIT:GRE 5 ms');
case 'P_WIDTH'
fprintf(Osc,':MEAS:PWID?');
PWID=fscanf(Osc,'%f');
fprintf(Osc,':TIM:RANG %f',PWID*1.1);
fprintf(Osc,':TRIG:EDGE:SLOP POS');
fprintf(Osc,':TIM:REF LEFT');
fprintf(Osc,':TIM:RANG %f',PWID*1.2);
fprintf(Osc,':TRIG:MODE GLIT');
fprintf(Osc,':TRIG:GLIT:POL NEG');
fprintf(Osc,':TRIG:GLIT:GRE 5 ms');
otherwise
end
L'oscilloscopio, al pari di qualsiasi altro strumento che fornisca un qualsivoglia genere di misura, deve
trovarsi sempre nelle migliori condizioni per eettuarla. In particolare, nel nostro caso, la necessità di
eseguire una misura temporale (sul tempo Tx o sul tempo Tr) ci impone di impostare l'oscilloscopio nelle
migliori condizioni per eettuare tale misura. In questo senso, ad esempio, qualora si dovesse misurare
il semiperiodo negativo della forma d'onda, sarebbe d'obbligo impostare automaticamente i parametri
di visualizzazione della forma d'onda in maniera tale che l'impulso negativo copra la maggior parte
dello schermo e allo stesso tempo sia completamente incluso all'interno di esso. Infatti così facendo
l'errore relativo sulla misura risulta minore in quanto è per denizione inversamente proporzionale al
valore letto. Ciò comporta un notevole aumento di precisione nelle misure.
Il procedimento che porta all'automatizzazione della visualizzazione completa e sucientemente es-
pansa della semionda positiva o della semionda negativa è fornita dalla funzione suddetta, la Osc_Init.
Tale funzione riceve come argomento una stringa che indica il genere di misura che deve compiere, poi,
automaticamente, esegue un autoscale ed in seguito discrimina le eventualità di misurazione del pe-
riodo alto o del periodo basso. In entrambi i casi viene eettuata una misura grossolana del periodo
(attraverso il comando autoscale), ed in seguito impostato il timer range dell'oscilloscopio pari al 10%
più grande del periodo misurato grossolanamente. A questo punto si imposta il trigger sul fronte di
discesa (o di salita per il P_WIDTH) e si allinea il fronte triggerato a sinistra. Quest'ultimo passag-
gio, tuttavia, non permette di eettuare la misurazione perché l'allineamento a sinistra non garantisce
la presenza del fronte all'interno dello schermo (seppur di poco). Per evitare questo problema viene
eettuato un ulteriore resize del time range, impostandolo ad un valore pari al 20% di quello approssi-
mativo precedentemente letto. Ciò garantisce la presenza dell'impulso da misurare all'interno del range
di visualizzazione e al contempo permette di eettuare una misura più precisa della grandezza perché
l'impulso ora copre circa l'80% dello schermo.
La funzione Autoscale presente all'inizio della funzione imposta il trigger in modalità AUTO. Ne
consegue che procedendo verso tensioni più ampie (ci si riferisce a valori di Vm più elevati), quindi
21
verso frequenze più basse e periodi più lunghi, il trigger, impostato su AUTO, non è in grado di rilevare
il giusto evento di trigger proiettando sullo schermo una forma d'onda sfarfallante. Questo comporta
letture delle misurazioni successive decisamente incoerenti. Per eliminare il suddetto problema si può
procedere in due modi: il primo consiste nell'impostare il trigger in modalità NORM e il secondo
è quello di operare in modalità GLITCH. Gli ultimi 3 comandi di ogni cilco case servono appunto
ad impostare correttamente la seconda opzione, ovvero il trigger in modalità GLITCH. In particolare,
notiamo che per misure di Tx, che corrisponde ad un impulso negativo, il trigger è stato impostato nella
seguente maniera: l'evento di trigger avviene dopo un glitch (impulso) positivo che abbia un'ampiezza
maggiore di 5 ms. Per le misure di Tr invece: l'evento di trigger avviene dopo un glitch (impulso)
negativo che abbia un'ampiezza maggiore di 5 ms. Le ultime due fprintf di ogni ciclo case servono
proprio ad implementare questa funzione. Il valore di 5 ms è stato scelto in quanto ci assicura (essendo
improbabili eventuali altri glitch di simile durata oltre a quelli previsti) che vengano valutati solamente
glitch superiori a tale valore evitando quindi quelli spuri di valore minore che si possono eventualmente
presentare.
Da notare che la funzione Osc_Init viene richiamata soltanto due volte all'interno de primo ciclo
for (in Main_Measure), con argomenti diversi. Infatti, tale funzione predispone l'oscilloscopio alle
migliori condizioni di misura del relativo periodo, il quale, ssata la tensione di ingresso, varierà in
maniera praticamente impercettibile. Ne consegue che operare una Osc_Init prima di ogni misura
sullo stesso periodo comporterebbe uno spreco di tempo enorme, dovuto al fatto che l'operazione di
autoscale, unita ai comandi che seguono, richiedono un buon numero di secondi per la loro esecuzione.
Così facendo, invece, si risparmia tempo ed istruzioni.
Osc_Measure:
Qui di seguito è inserito il codice della funzione:
function [Time]=Osc_Measure(Str)
global Osc;
good_measure='false';
switch Str
case 'N_WIDTH'
while (strcmp(good_measure,'false'))
good_measure='true';
fprintf(Osc,'MEAS:NWID?');
Time=fscanf(Osc,'%f');
if (or(Time>1000,Time<1E-7))
good_measure='false';
pause(1);
Osc_Init(Str);
pause(1);
end
22
end
case 'P_WIDTH'
while (strcmp(good_measure,'false'))
good_measure='true';
fprintf(Osc,'MEAS:PWID?');
Time=fscanf(Osc,'%f');
if (or(Time>1000,Time<1E-7))
good_measure='false';
pause(1);
Osc_Init(Str);
pause(1);
end
end
otherwise % in previsione di altri tipi di misurazioni
end
La misurazione del periodo, sia esso positivo o negativo, una volta eseguita la Osc_Init, risulta alquanto
banale da realizzarsi. E' suciente infatti interrogare lo strumento mediante l'apposita query e leggere
la misura subito dopo svuotando il buer. Tuttavia è stata introdotta una dovuta miglioria realizzata
allo scopo di rendere lo script più robusto nel caso di errori di lettura. Infatti abbiano notato che,
qualora i vertici dell'impulso non fossero completamente all'interno della schermata, allora il risultato di
misura era inequivocabilmente pari ad un valore proporzionale a 10E+ 37. Nonostante l'impostazione
corretta del trigger operato dalla Osc_Init, tuttavia, è capitato che si ingenerassero comunque errori
casuali di questo tipo; è stato d'obbligo, quindi inserire una logica in grado di eettuare nuovamente
la calibrazione tramite la Osc_Init e ripetere la misura qualora la misura precedente non fosse stata
accettabile. Nel caso da noi considerato, l'intervallo per il quale etichettiamo una misura come non
accettabile è quella che risulta minore della minima risoluzione dell'oscilloscopio (25 ps) a quella che
riteniamo essere una quantità largamente già più grande di quella che mai si presenterà come misurata,
ovvero 50 secondi. Qualora la misura rientri in questo intervallo di esclusione allora viene ripetuta la
Osc_Init e, di seguito rieseguita la misura.
Mult_Measure:
function [Voltage]=Mult_Measure(Str)
global Mult;
good_measure='false';
switch Str
case 'VOLT_DC'
while (strcmp(good_measure,'false'))
good_measure='true';
fprintf(Mult,'MEAS:VOLT:DC? DEF,DEF');
23
Voltage=fscanf(Mult,'%f');
if (or(Voltage<1E-9,Voltage>50))
good_measure='false';
pause(1);
end
end
otherwise % in previsione di altri tipi di misurazioni
end
Questa funzione permette di eettuare una misura tramite multimetro di una tensione DC qualora la
stringa immessa come argomento sia `VOLT_DC'. Anche in questo caso abbiamo previsto una piccola
funzione, rappresentata dal ciclo if per il controllo di eventuali errori di misura che possono incorrere
nel processo.
Detect_B:
Il codice della funzione Detect_B è il seguente:
function [uB]=Detect_B(Str,Avg)
global Osc;
global Mult;
Abs_Avg=abs(Avg);
switch Str
case 'Mult'
fprintf(Mult,':VOLT:DC:RANG?');
Fs=fscanf(Mult,'%f');
switch Fs
case 100E-03
uB=(Abs_Avg*0.0050/100+Fs*0.0035/100)/(sqrt(3));
case 1
uB=(Abs_Avg*0.004/100+Fs*0.0007/100)/(sqrt(3));
case 10
uB=(Abs_Avg*0.0035/100+Fs*0.0005/100)/(sqrt(3));
case 100
uB=(Abs_Avg*0.0045/100+Fs*0.0006/100)/(sqrt(3));
case 1000
uB=(Abs_Avg*0.0045/100+Fs*0.0010/100)/(sqrt(3));
end
case 'Osc_Tx'
fprintf(Osc,':TIM:RANG?');
Td=fscanf(Osc,'%f');
24
uB=(0.0001*Abs_Avg+0.001*Td+40E-12)/(sqrt(3));
case 'Osc_Tr'
fprintf(Osc,':TIM:RANG?');
Td=fscanf(Osc,'%f');
uB=(0.0001*Abs_Avg+0.001*Td+40E-12)/(sqrt(3));
end
A questo punto possiamo esaminare a fondo la funzione di determinazione dell'incertezza di tipo B
relativa alla media di una serie di misurazioni. Detect_B è una funzione che riceve in ingresso una
stringa che serve a discriminare la valutazione dell'incertezza di tipo B a seconda che si stia consideran-
do l'oscilloscopio per la misura di Tx, l'oscilloscopio per la misura di Tr o il multimetro, e un valore
che in questo caso rappresenta la media delle misure precedentemente eettuate.
Qualora volessimo valutare l'incertezza di tipo B di una misura eettuata con il multimetro, allora lo
switch indirizzerebbe al relativo case `Mult'. In questa parte del codice, viene dapprima discriminato
il fondo scala utilizzato e in seguito viene valutata la relativa incertezza di tipo B (ad un anno dalla
taratura).
Nel caso in cui, invece, dovessimo determinare l'incertezza di tipo B di misure eettuate con l'oscil-
loscopio, il procedimento è simile: viene invocata la misurazione dell'impulso corrispondente, viene
determinato il time range utilizzato (full scale) ed in seguito quanticata l'incertezza in base alla
specica formula fornita dal manuale dell'oscilloscopio.
Da notare il fatto che la funzione Detect_B viene sempre invocata subito dopo aver concluso la
relativa inizializzazione dell'oscilloscopio con la funzione Osc_Init. In questo modo, le misurazioni
eettuate dall'oscilloscopio per quanto concerne la determinazione dell'incertezza di tipo B vengono
comunque realizzate in condizioni ottime, ovvero per le quali la relativa grandezza occupa la maggior
parte dello schermo.
Per quanto riguarda misurazioni con l'oscilloscopio c'è da fare una precisazione. L'utilizzo della
media di N misurazioni per determinare l'incertezza di tipo B relativa, richiede che il fondo scala non
vari durante tutte le misurazioni. L'oscilloscopio, a dierenza del multimetro, presenta valori di fondo
scala (di time division) impostabili a piacere in quanto è disponibile la variazione VENIER ON del time
division. In genere, l'inizializzazione dell'oscilloscopio in funzione del valore dell'impulso mantenendo
ssa la tensione in ingresso al voltmetro, è unica per tutte le misure, e quindi è unico anche il fondo
scala con il quale esse sono state realizzate. Tuttavia, la logica che implementa la determinazione di
una misura non accettabile, ha al suo interno la possibilità di attivare nuovamente la Osc_Init allo
scopo di reimpostare il trigger e l'oscilloscopio in generale. Cosi facendo, però, c'è la possibilità che il
fondo scala possa variare all'interno di una serie di misure per tensione di ingresso ssata. Nonostante
questo, però, si può ritenere che, le variazioni di fondo scala siano così modeste da poter non essere
considerate.
Considerazione molto impotante riguarda la divisione per la radice di tre di ogni valore di incertezza
ub. Questo è dovuto al fatto (come gia accennato in appendice A) che le distribuzioni statistiche
ipotizzata dal costruttore dell'oscilloscopio e del multimetro sono di tipo uniforme. Infatti le formule
25
per il calcolo di ub sono di tipo minimo-massimo, ovvero forniscono un intervallo massimo entro il quale
la misurazione possa variare. L'incertezza di tipo B rappresenta comunque una varianza: integrando
una funzione costante in un intervallo (distribuzione unifome) di area unitaria si ottiene che la varianza
della relativa distribuzione è pari al valore massimo in modulo, diviso la radice di tre.
Altre Misurazioni
Per il calcolo di Tx era necessario conoscere e quindi misurare altri parametri tra i quali Vref e Vos;
per la misura di queste grandezze sono stati utilizzati dei semplici script come per esempio quello per
la misura di tensioni tramite il multimetro, che non sono compresi nel Main_Measure. Di seguito il
codice del suddetto script:
function [Voltage, Voltage_uB]=Voltage_Measure(N)
GPIB_Init;
global Mult;
Voltage=zeros(1,N);
for i=1:N
fprintf(Mult,'MEAS:VOLT:DC? DEF,DEF');
Voltage(i)=fscanf(Mult,'%f');
end
Voltage_uB=Detect_B('Mult',mean(Voltage));
GPIB_Close;
Come parametro di ingresso riceve il numero N di misurazioni che si vuole compiere e restituisce il
vettore delle misure assieme all'incertezza di tipo B calcolata sulla media delle stesse.
Gli altri parametri di interesse sono:
Vr è le tensione di riferimento ed è misurata tramite lo script Voltage_Measure come tute le altre
tensioni
Vos è la tensione di oset dell'operazionale utilizzato nell'integratore
R è la resistenza dell'integratore misurata anch'essa tramite multimetro con uno script simile a
Voltage_Measure
V e Rss sono parametri misurati per il calcolo della I− dell'operazionae dell'integratore (vedi
appendice B)
Script per il calcolo di Tx
Per il calcolo di Tx è suciente utilizzare due script, uno per il tempo misurato ed uno per quello
calcolato; per quanto riguarda il primo è suciente fare la media delle misure del tempo acquisite
direttamente con l'oscilloscopio:
26
function [ y ] = Tx_mes( Tx )
%Calcolo di Tx misurato
n=length(Tx);
for i=1:n
y(i)=mean(Tx(i,:));
end
end
Per il secondo invece si deve utilizzare la formula che esprime Tx in funzione degli altri parametri:
Tx =(Vx − Vos −R(V − Vos)/Rss)Tr
(−Vr − Vos +R(V − Vos)/Rss)
L'espressione è stata ottenuto ricavando Tx dall'equazione scritta nella sezione 2, che tiene conto di
una eventuale corrente di polarazzione e di una tensione di oset dell'integratore, e sostituendo a I−
la sua espressione dipendente da V e Rss. Lo script è il seguente:
function y=calc_Tx(Vxm,Vrm,Trm,Vosm,Vm,Rm,Rssm)
%Calcolo di Tx teorico
y=(Vx-Vos-R*(V-Vos)/Rss)*Tr/(-Vr-Vos+R*(V-Vos)/Rss);
end
Tutti parametri passati alla funzione sono i valori medi dei parametri misurati e sono numeri singoli,
ad eccezione di Vxm il quale è un vettore di 50 elementi, corrispondenti ai 50 valori medi di Vx.
Script per il calcolo delle incertezze
Per quanto riguarda il calcolo delle incertezze sul Tx calcolato teoricamente si è scelto di utilizzare un
approccio di tipo statistico che tiene conto sia delle incertezze sia di tipo A che di tipo B. Per quanto
riguarda la misura di Tx eettuata direttamente mediante l'oscilloscopio un altro script provvede al
calcolo dell'incertezza di tipo A, e all'unione di questa con l'incertezza di tipo B per fornire l'incertezza
composta.
Per quanto riguarda le incertezze calcolate con il metodo probabilistico allo script vengono passati
tutti i dati raccolti al ne di riuscire a calcolare le varie correlazioni,
function y=calc_uTx(Vx,Vr,Tr,Vos,V,Rss,R,ubVx,ubVr,ubTr,ubVos,ubV,ubRss,ubR)
%calcolo dell'incertezze composte di Tx teorico con metodo statistico
n=length(Vx);
corr= [ 1 1 0 1 1 1 1;
1 1 0 1 1 1 1;
0 0 1 0 0 0 0;
27
1 1 0 1 1 1 1;
1 1 0 1 1 1 1;
1 1 0 1 1 1 1;
1 1 0 1 1 1 1];
Vrm=mean(Vr);
Trm=mean(Tr);
Vosm=mean(Vos);
Vm=mean(V);
Rssm=mean(Rss);
Rm=mean(R);
for i=1:n
Vxm=mean(Vx(i,:));
ub=[ubVx(i) ubVr ubTr ubVos ubV ubRss ubR];
der=0;
der(1)=Trm/(-Vrm+Vosm+Rm*(Vm-Vosm)/Rssm); %derVx
der(2)=(Vxm-Vosm-Rm*(Vm-Vosm)/Rssm)*Trm/(-Vrm+Vosm+Rm*(Vm-Vosm)/Rssm)^2; %derVr
der(3)=(Vxm-Vosm-Rm*(Vm-Vosm)/Rssm)/(-Vrm+Vosm+Rm*(Vm-Vosm)/Rssm); %derTr
der(4)=-(Rssm-Rm)*Trm*Rssm*(-Vrm+Vxm)/(-Vrm*Rssm+Vosm*Rssm+Rm*Vm-Rm*Vosm)^2; %derVos
der(5)=-Rm*Trm*Rssm*(-Vrm+Vxm)/(-Vrm*Rssm+Vosm*Rssm+Rm*Vm-Rm*Vosm)^2; %derV
der(6)=-Rm*(-Vm+Vosm)*Trm*(-Vrm+Vxm)/(-Vrm*Rssm+Vosm*Rssm+Rm*Vm-Rm*Vosm)^2; %derRss
der(7)=(-Vm+Vosm)*Trm*Rssm*(-Vrm+Vxm)/(-Vrm*Rssm+Vosm*Rssm+Rm*Vm-Rm*Vosm)^2; %derR
der=der'*der;
ua2=cov(([Vx(i,:)', Vr', Tr', Vos', V', Rss', R']))/n;
uaTx(i)=(sum(sum(der.*ua2)))^0.5;
ubTx(i)=(sum(sum(((ub'*ub).*der).*corr)))^0.5;
ucTx(i)=(uaTx(i)^2+ubTx(i)^2)^0.5;
end
y=[uaTx; ubTx; ucTx];
end
Alla funzione calc_uTx vengono passati come parametri tutti i vettori contenenti le misure e le relative
incertezze, le misure delle grandezze sono tutte dei vettori con 50 elementi e le relative incertezze sono
dei numeri singoli, ad eccezione di Vx che è una matrice 50 × 50 e la sua incertezza è un vettore di
50 elementi. La funzione restituisce una matrice 3 × 50 con i valori delle incertezze di tipo A, B e
composta. Notare che la matrice delle covarianze è stata ulteriormente divasa per n in quanto la
funzione cov() di matlab calcola le covarianze e non le covarianze campionarie che sono invece quelle
che interessano per calcolare l'incertezza su Tx.
Inoltre per le incertezze di tipo B sono stati supposti coecienti di correlazione pari ad uno fra
tensioni e resistenze, infatti queste pur essendo grandezze siche diverse sono state misurate con lo
stesso strumento nelle stesse condizioni ambientali quindi è logico porre i coecienti di correlazione
28
pari ad uno, invece il tempo Tr si è supposto scorrelato dalle altre grandeze misurate.
Lo script per il calcolo delle incertezze di Tx misurato è molto più semplice, riceve in ingresso la
matrice 50 × 50 dei valori misurati, il vettore delle incertezze di tipo B e calcola le incertezze di tipo
A e C, in uscita ritorna una matrice 3× 50.
function y = mes_uTx( Tx, Tx_ub )
%calcolo delle incertezze composte di Tx misurato con metodo statistico
n=length(Tx);
for i=1:n
uaTx(i)=var(Tx(i,:))^0.5;
ubTx(i)=Tx_ub(i);
ucTx(i)=(uaTx(i)^2+ubTx(i)^2)^0.5;
end
y=[uaTx; ubTx; ucTx];
end
Plottaggio dei risultati
Un semplice script per eseguire il plot dei risultati ottenuti:
figure
errorbar (Vxm, Txm_mes, 2*Tx_u_mes(3,:));
hold all
errorbar (Vxm, Txm_calc, 2*Tx_u_calc(3,:));
figure;
plot (Vxm, Tx_u_mes(1,:));
hold all
plot (Vxm, Tx_u_mes(2,:));
plot (Vxm, Tx_u_mes(3,:));
figure;
plot (Vxm, Tx_u_calc(1,:));
hold all
plot (Vxm, Tx_u_calc(2,:));
plot (Vxm, Tx_u_calc(3,:));
29
5 Risultati e Conclusioni
I valori medi dei parametri di interesse sono:
parametro media misure ub unità di misura
Vref -7.49288 0.00018 V
Tr 20.08 0.015 ms
Vos 0.578 0.002 mV
R 218.98 0.018 kΩ
V 0.638 0.002 mV
Rss 977.68 0.06 kΩ
V e Rss servono per il calcolo della corrente di polarizazione I−.
Se l'analisi teorica è corretta i valori di Tx calcolati e quelli misurati dovrebbero essere fra loro
compatibili. Tracciando la media dei valori di Tx misurati e calcolati per diversi valori di Vx si ottiene
il seguente graco.
Figura 14: confronto fra Tx calcolato e misurato
Come si può notare, la due rette sono quasi sovrapposte. E' comunque possibile tracciare lo stesso
graco con l'ampiezza dell'incertezza ad ogni vaolre di Tx, per incertezza si intende quella tipo C sia
per quanto riguarda il valore del tempo misurato sia per quello calcolato analiticamente.
30
Figura 15: Tx Errorbar - incertezze statistiche
Anche se dal graco risulta dicile da vedere le misure di Tx sono compatibili, infatti due misure
si dicono compatibili se gli intervalli di incertezza si sovrappongono fra loro.
Per tracciare il graco sono state usate i valori dell'incertezza estesa al 95% vale a dire che sono state
moltiplicate le incertezze standard per un fattore 2:
Uc,95%(Tx) w 2 · uc(Tx)
Al ne di confrontare la composizione delle varie incertezze è possibile tracciare un graco che ne
rappresenti tutte le tipologie (tipo A, B e C) in funzione della tensione Vx sia per il valore del tempo
misurato che per quelo calcolato.
Nell'incertezza composta del Tx misurato mediante oscilloscopio, si possono notare delle variazioni
a picco. La loro natura, come si evince dal plottaggio dei due dierenti tipi di incertezza (gaco
successivo) è dovuta alle incertezze di tipo A di Tx e dunque alla varianza campionaria delle misure.
31
Figura 16: incertezze di tipo A, B e C sul Tx misurato
Se la varianza è elevata signica che i dati sono dispersi, infatti se consideriamo per esempio il
picco presente intorno ai 7 V possiamo gracare l'istogramma delle misure di Tx eettuate tramite
l'oscilloscopio.
Figura 17: Istogramma misure
Si vede come per questo valore di Tx l'oscilloscopio abbia letto due valori diversi, probabilmente il
valore reale si trovava nel mezzo di questi due ma l'oscilloscopio non aveva una risoluzione sucien-
temente elevata per misurarlo, questo ha determinato una varianza relativamente elevata per il Tx in
questione.
32
Valutiamo inoltre anche la composizione dell'incertezza calcolata con il modello probabilistico di
Tx.
Figura 18: composizione dei tipi di incertezza sul Tx calcolato
Anche qui vediamo come la parte preponderante dell'incertezza nale sia data da quella di tipo B,
mentre l'incertezza di tipo A ha un andamento casuale pressochè costante su tutto il range di valori.
Inoltre per ambedue le incertezze (tempo misurato e calcolato) le incertezze estese al 95% sono, per
valori di Vx di 6-8 V, dell'ordine di 3 · 10−5s, le incerteze relative sono invece circa pari al 0.17%.
Analizzando l'andamento delle incertezze probabilistiche, di Tx misurato e calcolato, ci si rende
subito conto che esse sono molto simili. Ci si può chiedere quale sia il fattore che accomuna queste
due incertezze; La misura di Tx è stata eettuate tramite oscilloscopio invece il calcolo di Tx è stato
eettuato tramite la misura di diversi parametri, tensioni resistenze e tempo, anche qui la misura del
tempo, in questo caso Tr, è stata eettuata tramite lo stesso oscilloscopio; a questo punto, tenendo
conto del fatto che il multimetro utilizzato per la misura degli altri parametri era molto accurato,
si può pensare che l'incertezza composta del Tx calcolato sia quasi totalmente generata a partire
dell'incertezza su Tr.
Nel caso in cui l'unico parametro aetto da incertezza nella formula di Tx fosse Tr, e trascurando
anche per questo parametro l'incertezza di tipo A, avremmo che l'incertezza su Tx è data dalla formula:
u(TX) =∣∣∣∣∂Tx
∂Tr
∣∣∣∣ · ub(Tr)
tracciando quindi il graco di questa grandezza in funzione di Vx e confrontandola con l'incertezza di
Tx precedentemente calcolata si ha:
33
Figura 19: incertezza su Tx attribuita a ub(Tr)
Come si può vedere dal graco, le deduzioni fatte sono valide. L'incertezza di Tx è quasi totalmente
da attribuire all'incertezza di Tr cioè all'incertezza sulla misura del periodo dell'oscilloscopio. In eetti
l'oscilloscopio è uno strumento molto utile e versatile ma che poco si adatta a misure molto precise, le
quali sono preferibilmente da eettuare con strumenti più specici.
Reiezione del Rumore
Le carettistiche progettuali del circuito sono state scelte in maniera tale da reiettare il rumore di
rete, infatti con un tempo Tr pari a 20 ms il circuito dovrebbe essere immune a tutte le componenti
frequenziali sovrapposte al segnale in ingresso con frequenza multiple di 50 Hz.
Per vericare questa caratteristica è suciente porre in ingresso al doppia rampa un segnale con-
tinuo sovrapposto a segnali sinusoidali di diversa frequenza ed eseguire un certo numero di misure,
ovviamente per qualsiasi frequenza scelta mediando le misure si annulla l'eetto della componente
variabile ma la varianza, o la deviazione standard, sarà tanto più piccola quanto più la frequenza si
avvicina ad un multiplo di 50 Hz.
I parametri che sono stati utilizzati per eettuare le misurazioni sono: segnale in coontinua pari a
2 V con sovrapposizione di un segnale in ac (sinusoidale) con ampiezza di 2 V.
34
Figura 20: Reiezione del rumore
Il primo graco rappresenta la reiezione normale del circuito riferito ad un campione di 110 misure
distribuito su un range che va da 10 a 200 Hz mentre nel secondo le misurazioni sono 180 spalmate
su un range che va da 10 a 1000 Hz. Il termine RN sull'asse delle ordinate dei primi due graci è
stato già denito nei cenni teorici e rappresenta l'inverso dell'ampiezza della tensione media di rumore
normalizzato ad ampiezza unitaria ed espresso in dB. La tensione media di rumore l'abbiamo ottenuta
eseguendo misure ripetute, attraverso l'oscilloscopio, del periodo Tx e calcolando le relative deviazioni
standard. Da queste ultime ci siamo poi ricavati le deviazioni riferite a Vx attraverso la seguente
formula:
dev Vx =Vref
Tr· dev Tx
e in ultimo normalizzato, ottenendo:
RN = 20log(V0/dev Vx)
dove V0 è l'ampiezza del segnale sinusoidale.
35
Come si può notare dai graci il circuito reietta il rumore prodotto dai disturbi con frequenze
multiple di 50 Hz. Dai graci si nota anche uno strano comportamento della reiezione per frequenze
che si trovano nell'intorno dei 75 Hz. In questo punto dovrebbe essere presente un minimo della
funzione di reiezione perchè ci si trova proprio a metà tra due frequenze di reiezioni adiacenti.
Figura 21: tensione media di rumore
Come si era spiegato nei cenni teorici la tensione media di un rumore sinusoidale segue un anda-
mento a sinc annullandosi ai valori multipli dell'inverso del tempo Tr (20ms).
36
A Cenni teorici sul calcolo delle incertezze
L'incertezza può essere generalmente costituita da componenti sistematiche o da componenti casuali.
La caratterizzazione delle incertezze si fonda essenzialmente su questa suddivisione. La Matematica
ore due importanti strumenti per la valutazione delle incertezze.
Incertezza di tipo A
La natura casuale di certe variazioni sul valore misurato, come può essere ad esempio il contributo del
rumore termico, contraddistingue quella che viene chiamata Incertezza di tipo A. Intuitivamente,
considerando che l'apporto alle variazioni del valore misurato sono a valore medio nullo, si può pensare
di ridurre tale contributo eettuando un certo numero di misurazioni e valutandone la media campi-
onaria; di conseguenza anche l'errore casuale sulla misura tenderà a ridursi di un fattore pari al numero
di misurazioni eettuate.
L'incertezza di tipo A è rigorosamente ottenuta attraverso l'applicazione della statistica ad una
determinata quantità di risultati di misura ottenuti con prove ripetute. Il Teorema del Limite Centrale
applicato a questo caso aerma che se il numero di misurazioni tende ad innito allora il prolo delle
misurazioni tenderà a coincidere con quello di una curva gaussiana che si attesta attorno ad un valore
medio µ e che è caratterizzata da uno scarto quadratico medio pari a σ. Si dimostra inoltre che, nel
caso di un elevato ma limitato numero di campioni (misure), la migliore approssimazione del valore
medio µ coincide con la media campionaria:
µ = E[x] =1N
N∑i=1
xi
e la migliore stima della varianza campionaria σ2 è data da:
σ2 = E[(x− µ)2] =1
N(N − 1)
N∑i=1
(xi − µ)2
Valutare l'incertezza di tipo A di una misura, equivale a determinare dunque l'approssimazione migliore
di σ. In particolare si denoterà con ua l'incertezza di tipo A relativa a tale grandezza.
Incertezza di tipo B
L'incertezza di misura, tuttavia, è aetta anche da un quantità di incertezze sistematiche non causali
che si presentano immancabilmente con lo stesso segno nei confronti della misura; l'eliminazione at-
traverso un maggiore numero di misurazioni ripetute è quindi impensabile. L'incertezza di tipo B
dipende strettamente dal genere di processo di misurazione adottato.
Un buon esempio di contributo sistematico all'incertezza è fornito dall'incertezza dello strumento
che, a tutti gli eetti, non tenderà a diminuire con l'aumentare delle misurazioni ma invece si presen-
terà sempre con la stessa quantità. L'incertezza di tipo B, come anche l'incertezza dello strumento,
37
viene determinata ipotizzando la sua funzione di distribuzione (valutata sulla base dell'esperienza dal
costruttore) a priori e caratterizzandola con la sua deviazione standard. L'incertezza cosi ottenuta
viene in genere denotata con il simbolo ub.
Incertezza estesa
Facendo l'esempio di una distribuzione normale, il valore di incertezza corrispondente alla stima di
σ è di fatto relativo ad un intervallo di condenza pari a circa 68, 4%. In altre parole, se considero
una misura annessa un'incertezza determinata come solo scarto quadratico medio (radice quadrata
della varianza campionaria delle medie campionarie - A) o come solo scarto quadratico medio della
distribuzione ipotizzata (B), ho il 68.4% di possibilità che il valore vero rientri nell'intervallo da me
specicato (µ ± σ). Sarebbe dunque opportuno cercare come minimo di operare in un intervallo
di condenza buono: in genere esso si attesta sul 95% o sul99%. Per permettere ciò, è necessario
aumentare l'incertezza ua o ub moltiplicandola per un opportuno fattore di copertura k:
U(x) = k · u(x)
dove con U(x) si intende appunto l'incertezza estesa della grandezza x.
Per distribuzioni gaussiane non approssimate, quindi per l'incertezza di tipo B, il fattore di coper-
tura k è ben determinato (95% k = 1.960, 99% k = 2.576).Per proli di distribuzioni gaussiane approssimate, in quanto il numero di campioni è limitato, è
opportuno ricorrere ad un fattore di copertura diverso. Dalla teoria, infatti, è risaputo che se il numero
di campioni è limitato, è necessario considerare la distribuzione T-Student. Questa distribuzione varia
in funzione del numero di campioni e se tale numero tende ad innito allora tale distribuzione tende
alla gaussiana. Esistono delle tabelle che forniscono, correggendolo, il valore del fattore di copertura
in funzione dell'intervallo di condenza scelto e del numero di campioni misurati.
Incertezza composta di tipo C
L'ente di standardizzazione delle misure (ISO-GUM) prevede la possibilità di combinare i risultati di
incertezza di tipo A e di incertezza di tipo B in un'unica incertezza che viene denita di tipo C:
uc(x) =√u2
a(x) + u2b(x)
Essa si ottiene calcolando la radice quadrata della somma delle varianze e delle covarianze delle rispet-
tive variabili, pesate in funzione della variazioni del risultato del modello di misura al variare delle
stesse.
Propagazione delle incertezze
Spesso non è possibile eettuare misure dirette di una particolare grandezza. E' tuttavia possibile
esprimere tale grandezza come funzione matematica di altre grandezze, le quali, invece, sono accessibili
38
e misurabili. La funzione matematica suddetta prende il nome di modello della misura. Mediante
tale relazione, ad ogni valore delle misure in ingresso è possibile associare una misura della grandezza
non misurabile: per sua natura, questo genere di misurazione prende il nome di misura indiretta.
Similmente, è possibile associare ad ogni misura indiretta una sua incertezza dove essa è il risultato
delle propagazione delle incertezze sulle misure dirette.
Per giungere alla formula di propagazione delle incertezze dirette è necessario approssimare innanz-
itutto la funzione matematica con il suo sviluppo di Taylor nell'intorno di riposo troncato al primo
ordine:
y ' y +N∑
i=1
∂f
∂xi
∣∣∣∣x
(xi − xi)
La varianza del modello di misura corrisponde all'aspettazione del quadrato della dierenza tra la
funzione suddetta e il suo valore medio:
σ2(y) = E[(y − y)2] = E[(∑ ∂f
∂xi
∣∣∣∣x
(xi − xi)Ni=1
)2
]
Il troncamento al primo ordine dello sviluppo in serie di Taylor della funzione matematica è formato
da una sommatoria i cui elementi sono moltiplicati per coecienti costanti originati dalla variazione
della funzione matematica rispetto ad ognuna variabile, calcolata nel punto medio. I termini derivanti
dall'elevazione al quadrato di tale sommatoria si possono suddividere in elementi derivati dai prodotti
con loro stessi e elementi derivati dai prodotti misti. L'Aspettazione di questo risultato fornisce la
varianza la cui radice quadrata rappresenta l'incertezza propagata. Per la linearità dell'aspettazione, i
coecienti divengono semplici costanti moltiplicative delle varianze e delle covarianze di ogni variabile
aleatoria:
u2(y) 'n∑
i=1
(∂y
∂xi
∣∣∣∣x
u(xi))2
+ 2n−1∑i=1
n∑j=i+1
(∂y
∂xi
∣∣∣∣x
∂y
∂xj
∣∣∣∣x
u(xi, xj))
Ne consegue che è possibile esprimere la varianza propagata come l'estrazione della radice quadrata
delle varianze e delle covarianze delle varie variabili aleatorie pesate con le variazioni della funzione
matematica rispetto alle relative variabili. Dal momento che, come già detto, la varianza campionaria
delle medie campionarie è la migliore stima della varianza (e la covarianza campionaria è la migliore
stima della covarianza), allora, dato un limitato numero di campioni, è ragionevole approssimare le
varianze e covarianze con le relative stime, e dunque con le relative incertezze. Questo risultato è valido
sia per quanto riguarda l'incertezza di tipo A che l'incertezza di tipo B.
Da notare che qualora le incertezze non fossero più trascurabili negli ordini superiori allora tutto il
metodo di linearizzazione perderebbe signicato.
39
Modello Deterministico
Nonostante non sia un modello previsto dal GUM, il modello deterministico deve la sua diusione alla
facilità di applicazione per ottenere una stima, seppur molto grossolana, dell'incertezza propagata in
gioco. Per introdurre il modello deterministico è necessario fare inizialmente una premessa pratica.
Le incertezze sulle misure di tempo di un oscilloscopio sono fornite dal costruttore nei relativi
datasheets. Tali incertezze sono in genere considerate incertezze di tipo B; infatti queste formule pre-
determinate per il calcolo dell'incertezza vengono valutate dal costruttore ipotizzando la distribuzione
delle relative misure a priori. I casi più frequenti di rappresentazione sono quelli che implicano dis-
tribuzioni di tipo gaussiano o di tipo uniforme.
Nel primo caso le formule delle incertezze permettono di calcolare lo scarto quadratico medio ad un
certo intervallo di condenza. Nel secondo caso, invece, sono rappresentate come valore massimo di
incertezza e non sono accompagnate da nessun intervallo di condenza ai quali fanno riferimento.
Mentre nel primo caso l'incertezza calcolata è esattamente l'incertezza di tipo B, nel secondo caso
questo non è vero. L'incertezza di tipo B del secondo caso è calcolabile come la radice quadrata della
varianza di una variabile aleatoria che si distribuisce in maniera uniforme nell'intervallo indicato dal
valore massimo calcolato. Si dimostra che nel secondo caso l'incertezza di tipo B a cui fa capo è pari
al valore massimo diviso la radice di tre.
Il modello deterministico è la peggiore stima di un incertezza propagata. Esso considera sempre
il valore massimo (inteso esattamente come è stato esposto nell'esempio precedente) dell'incertezza di
ogni misura,e corrisponde ad ipotizzare, nel metodo probabilistico, tutti i coecienti di correlazione
in maniera tale che si verichi il massimo aumento dell'incertezza sulla grandezza in questione.
Quindi considerando una generica grandezza y data da:
y = f(x1, x2, ..., xn)
l'espressione generale per l'incertezza su y è:
δy =n∑
i=1
∣∣∣∣ ∂y∂xi
∣∣∣∣ δxi
doveδxi è lo scarto associata alla grandezza xi, dalla formula si può vedere come le derivate parziali
siano tutte prese in valore assoluto, quindi inevitabilmente ogni incertezza δxi va ad aumentare δy.
Modello Probabilistico
L'ISO-GUM ritiene che il modello da adottare in campo metrologico sia quello che si fa forte di
un'incertezza determinata mediante metodo probabilistico e che valuta l'incertezza come la varianza
campionaria delle medie campionarie.
Tuttavia, se cercassimo di propagare l'incertezza di tipo B di uno strumento ci accorgeremmo che
sarebbe impossibile determinarne le covarianze in quanto, non avendo a disposizione alcun vettore su
cui operare, il problema risulta non essere ben posto. Ne consegue che, per propagare un'incertezza
40
di tipo B, è ancora possibile operare mediante il metodo probabilistico (perché a tutti gli eetti essa
è stata determinata dal costruttore dello strumento mediante approccio probabilistico), ma dobbiamo
necessariamente ipotizzare il valore del coeciente di correlazione. (il coeciente di correlazione è
denito come il rapporto tra la covarianza di due variabili aleatorie e il prodotto tra le rispettive in-
certezze). La domanda da porsi per la stima del coeciente di correlazione è: quanto sono correlate
fra loro le misure delle due grandezze? Se per esmpio le due grandezze in questione sono ambedue
delle tensioni misurate con lo stesso strumento, in intervalli di tempo vicini ed in condizioni ambientali
pressochè uguali è logico aspettarsi una coeciente di correlazione unitario, contrariamente se le due
grandezze sono una tensione e una frequenza misurate con strumenti diversi il coeciente di corre-
lazione sarà pressochè nullo.
Mediante l'assegnamento di un valore al coeciente di correlazione è possibile andare a modicare
l'incertezza sulla variabile misurata per via indiretta, a seconda della struttura dell'espressione per il
calcolo di tale grandezza assumendo un coeciente di correlazione unitario fra due grandezze misura-
bili è possibile che l'incertezza aumenti se il prodotto delle derivate parziali è positivo diminuisca se il
prodotto è negativo, considerazioni simili ma opposte vanno fatte per coecienti di correlazione pari
a −1, mentre nel caso di correlazione nulla si ha una condizione intermedia.
Metodo probabilistico con incertezze di tipo B
Il metodo statisco con singole misure fornisce, quindi, un risultato più veritiero rispetto a quello
deterministico; se consideriamo trascurabili le incertezze di tipo A la formula generale per il calcolo
dell'incertezza sulla grandezza in questione è:
u2(y) =n∑
i=1
(∂y
∂xiub(xi)
)2
+ 2n−1∑i=1
n∑k=i+1
(∂y
∂xi
∂y
∂xkub(xi) · ub(xk) · r(xi, xk)
)dove r(xi, xk) è il coeciente di correlazione fra le misure delle grandezze xi e xk.
Metodo probabilistico con incertezza di tipo A
Invece per il calcolo dell'incertezza di tipo A si procede in maniera analoga, ma in questo caso avendo
a disposizione i vettori delle misure non vi sono per quanto riuarda il calcolo delle varianze e covarianze
campionarie,la formula di base è:
u2a(y) =
n∑i=1
(∂y
∂xiua(xi)
)2
+ 2n−1∑i=1
n∑j=i+1
(∂y
∂xi
∂y
∂xjua(xi, xj)
)(1)
dove con ua(xi) si intende la varianza campionaria della grandezza xi, e con ua(xi, xj) la covarianza
campionaria tra le variabili xi e xj , vale a dire:
ua(xi, xj) =1
M(M − 1)
M∑i=1
(xij − xj)(xik − xk)
41
la 1 può essere riscritta in una forma più compatta, basta introdurre la matrice delle covarianze di y:
cov(y) =
var(x1) cov(x1, x2) · · · cov(x1, xn)
cov(x2, x1). . .
......
. . ....
cov(xn, x1) · · · · · · var(xn)
=
u2
a(x1) ua(x1, x2) · · · ua(x1, xn)
ua(x2, x1). . .
......
. . ....
ua(xn, x1) · · · · · · u2a(xn)2
ovviamente la matrice è simmetrica e si intendono varianze e covarianze campionarie, a questo punto
la 1 risulta uguale a:
u2a(y) =
n∑i,j=1
(cov(y))i,j ·∂y
∂xi
∂y
∂xj
dove la sommatoria si intende estesa a tutti gli elementi della matrice.
Metodo probabilistico con incertezze di tipo C
Utilizzando il metodo statistico con misure ripetute si incontra sia incertezze di tipo A che incertezze
di tipo B che alla ne devono essere riunite e trovare quindi l'incertezza composta mediante la formula:
uc(y) =√u2
a(y) + u2b(y)
42
B Amplicatore Operazionale e circuiti di misura
Amplicatore Operazionale
Figura 22: amplicatore operazionale ideale
Le caratteristiche principali di un amplicatore ideale sono:
correnti di oset e di polarizzazione in ingresso nulle
Resistenze di ingresso viste dal morsetto invertente e non invertente innite, come conseguenza
di questo si ha che le correnti di ingresso sono nulle: i+ = i− = 0
Amplicazione dierenziale innita, conseguenza di questo è che per valori niti di vo è necessario
che vid = v+ − v− sia nulla, infatti:
vo = Avid limA→∞
vid = 0
tensione di oset in ingresso pari a zero
Amplicazione di modo comune nulla, quindi CMRR (common mode rejection ratio) innito
Reiezione alle variazioni delle tensioni di alimentazione innita, PSRR = ∞ (Power supply
rejection ratio)
Intervallo di variazione della tensione di uscita innito (cioè non limitato tra −VEE < vo < VCC)
Resistenza di uscita nulla: Ro = 0
Slew rate innito, ne consegue che deve essere innita anche la corrente erogabile dal morsetto
di uscita
Larghezza di banda ad anello aperto innita
43
Assumere valide queste ipotesi può essere utile quando si deve fare una prima analisi di circuito,
successivamente però deve essere fatta una analisi più dettagliata tenendo conto almeno in parte ai
parametri reali degli amplicatori operazionali; in particolare bisogna tener conto di:
Correnti di oset e di polarizzazione in ingresso non nulle.
Tensione di oset in ingresso diversa da zero, in particolar modo per amplicatori operazionali
con stadi di ingresso a FET.
Intervallo di variazione della tensione di uscita nito, nel caso di amplicatori rail to rail è
limitato dal valore delle tensioni di alimentazione, negli amplicatori non rail to rail, invece è
ulteriormente minore.
Larghezza di banda limitata.
Valore dell'amplicazione dierenziale non innito anche se comunque solitamente molto ele-
vato, in particolare bisogna dire che l'amplicazione diventa funzione della frequenza, con una
rappresentazione a singolo polo si ha:
Ad(ω) =A0
1 + τpjω
quindi se in ingresso si ha segnali a frequenze relativamente elevate bisogna tener conto di una
eventuale distorsione del segnale in uscita, visto che le armoniche di ordine superiore potrebbero
venire attenuate.
Slew rate non innito, il morsetto di uscita non può quindi erogare una corrente innita.
Amplicazione di modo comune non nulla, quindi con un'amplicazione dierenziale anch'essa
limitata si ha un CMRR non innito.
Insieme a queste non idealità ve ne sono altre ma nella maggior parte dei casi sono trascurabili, vengono
comunque riportate per completezza:
Resistenze di ingresso non innite, ma comunque di valore molto elvato in particolar modo per
amplicatori con stadi di ingresso a MOSFET o JFET.
Resistenza di uscita non nulla, ma comunque nella maggior parte dei casi di valore trascurabile
in confronto al carico applicato al morsetto di uscita.
PSRR non innito, in particolar modo in maniera analoga al CMRR diminuisce all'aumentare
della frequenza.
Modello di OPAMP della prova
Il modello di Amplicatore operazionale utilizzato si frappone tra quello semplicistico del modello
ideale e quello più complesso del modello reale. Un'importantissima semplicazione che è possibile
44
attuare per ridurre i parametri di descrizione di un amplicatore operazionale reale e nello stesso mo-
mento fare riferimento ad un modello più preciso di quello ideale, è quella che suppone che buona
parte delle armoniche del segnale in ingresso rientrino all'interno della banda dei circuiti che utilizzano
operazionali. I segnali che si svilupperanno nel nostro circuito saranno segnali tipicamente caratteriz-
zati da frequenze basse minori di 50 Hz. Tuttavia è opportuno ricordare come questi segnali siano in
genere onde triangolari o onde quadre, ne consegue che per una loro precisa descrizione si necessita di
una banda molto maggiore, idealmente innita, ma con buona approssimazione già alla terza-quinta
armonicha si tiene conto di una percentuale considerevole dell'energia totale del segnale.
Amplicazione dierenziale e di modo comune
Nella risoluzione del circuito si farà l'assunzione che l'amplicazione dierenziale si costante in fre-
quenza, che il suo valore sia molto elevato e che l'amplicazione di modo comune sia nulla, la prima
ipotesi è giusticata dal fatto che i segnali del circuito sono comunque a frequenza relativamente basse,
la seconda e la terza sono state fatte sulla base delle dicoltà incontrate nel tentativo di calcolare
una funzione di trasferimento per l'integratore che tenesse conto anche di questa non idealità oltre alle
altre, è stato allora deciso di trascurare questa non idealità e di tener conto delle altre.
Correnti di Polarizzazione e Tensione di oset
Per lo svolgimento della prova si è tenuto conto di una possibile tensione di oset diversa da zero e di
una corrente di polarizzazione presente al piedino invertente dell'operazonale.
Per quanto riguarda le correnti abbiamo ritenuto che, in funzione del tipo di circuito quale è
quello del voltmetro a doppia rampa, la conoscenza della corrente I+ fosse superua ai ni della
determinazione della formula nale, infatti nel circuito integratore il morsetto positivo è collegato a
massa.
Circuiti di misura dei parametri degli amplicatori operazionali
Un passo importante nella determinazione del risultato nale è rappresentato dalla misurazione delle
non idealità degli amplicatori operazionali. Come è già stato introdotto nelle sezioni precedenti, in-
fatti, sia il funzionamento del circuito sia l'analisi teorica dello stesso prendono in considerazione le
grandezze rappresentanti le non-idealità dei componenti che li caratterizzano. Tra i vari dispositivi
del circuito che possono introdurre delle non idealità, un ruolo fondamentale è svolto dagli ampli-
catori operazionali. L'utilizzo di un modello più realistico dell'amplicatore operazionale comporta
notevoli complicazioni nella risoluzione del circuito. Concluso lo studio degli amplicatori operazion-
ali ci concentreremo ora sui circuiti realizzati per pervenire al calcolo di alcuni parametri di nostro
interesse.
45
Circuiti di misura
Sono stati realizzati i seguenti circuiti di misura per la determinazione di Vos e della I− dell'amplica-
tore operazionale utilizzato come integratore.
Circuito di misura di Vos
Figura 23: circuito di misura della Vos
Il circuito in gura riproduce in uscita la tensione Vos a frequenza nulla qualora valgano le ipotesi fatte
in precedenza riguardanti Ac = 0. Infatti possiamo scrivere:
Vo = Ad(Vos − Vo)
Vos =Ad
Ad + 1Vo
Si nota subito che per Ad tendente ad innito, la misura di Vo riproduce esattamente quella di Vos.
Da notare il fatto che il circuito esterno non comporta alcun componente aggiuntivo; quindi la misura
della tensione di oset è diretta a dierenza della misura di I−.
46
Circuito di misura di I−
Figura 24: circuito di misura della I−
La corrente che scorre in Rss è pari alla corrente I−. In virtù del corto-circuito virtuale, le tensioni V−
e V+ sono uguali e pari a Vos. La caduta di potenziale su Rss, con I− entrante, a cui è sommata Vos è
di conseguenza pari alla tensione di uscita. Ne consegue che:
I− =(Vo − Vos)
Rss
Come già preannunciato l'introduzione di Rss (peraltro necessaria a convertire I− in una tensione
misurabile) e anche quella di Vos nella formula che fornisce la I− introducono delle incertezze che
vanno propagate al ne di determinare l'incertezza associata ad I−. A questo scopo verranno valutate
le incertezze di tipo A di Rss e riprese quelle precedentemente determinate di Vos.
47
C Componentistica
ADG419
Figura 25: Schema dell'ADG419
L' ADG419 è un interruttore SPDT (Single pole
double throw che in italiano si traduce in Singolo
polo a due vie) CMOS monolitico. Più semplice-
mente un SPDT è un deviatore semplice, ovvero
un dispositivo avente un contatto comune (nel
nostro caso D) che viene connesso ad uno dei due
contatti (S1 S2 ), uno normalmente aperto e l'al-
tro normalmente chiuso (NO-NC). In particolare
essendo un dispositivo elettronico, la selezione del
contatto che deve essere collegata a quello co-
mune avviene in base ad un quarto segnale (IN).
Questo integrato inoltre è stato realizzato con
tecnologia LC2MOS (linear compatible CMOS )
che permette di incrementare notevolmente le prestazioni. In particolare si ottiene una bassa dissi-
pazione di potenza , un alta velocità di commutazione, una bassa resistività della connessione che
collega D ad uno dei due segnali S1 S2 e delle basse correnti di perdita. Il processo LC2MOS è princi-
palmente quello CMOS con l'aggiunta di alcune caratteristiche del processo bipolare, questo permette
di combinare i pregi delle due tecnologie (a scapito dei costi di fabbricazione) ottenendo quindi nel
singolo chip sia bassa potenza e grande integrabilità e sia alta accuratezza e basso rumore.
L' ADG419 ha una bassa resistenza di connessione su tutto il range di tensioni d'ingresso (come si
può vedere dal graco aanco), un'alta velocità di commutazione e una grande banda passante, questi
parametri garantiscono un eccellente linearità e una bassa distorsione.
Figura 26: resistenza dell'ADG419
Ogni switch del ADG419 conduce ugualmente
bene in entrambe le direzioni quando è ON (S1,
S2 e D possono essere sia ingressi che uscite), in-
oltre il range di tensioni applicabili in ingresso si
estende no alle tensioni di alimentazione.
Il dispositivo presenta inoltre una protezione per
le sovratensioni su IN, D e S, infatti quando
le tensioni su questi contatti superano la ten-
sione massima ammessa, dei diodi la limitano
riportandoli nel range ammesso.
_
_
48
Logic Switch 1 Switch 2
0 ON OFF1 OFF ON
Tabella 2: tavola di verità dell'ADG419
Switch analogici
Range segnali analogici da −Vssa Vdd VRon 45 Ω [max]
Correnti di perdita
Is o ±5 nA[max]Id o ±5 nA[max]Il o ±5 nA[max]
Ingressi digitali
input high voltage Vinh 2.4 V [min]input low voltage Vinl 0.8 V [max]
Potenza richiesta
Iss 2.5 µA [max]Idd 2.5 µA [max]Il 2.5 µA [max]
Correnti d'ingresso
corrente continua Is Id 30 mApicco di corrente Is Id 100 mA
Tabella 3: Alcuni parametri dell'ADG419
LM7805C
LM7805C è un regolatore di tensione a 5 V a tre terminali. Sebbene sia progettato principalmente come
regolatore di tensione ssa, tale dispositivo, attraverso una circuiteria esterna, può essere utilizzato
come componente per ottenere tensioni e correnti regolabili. Inoltre questo dispositivo è fornito di
molte protezioni, ha un limitatore di corrente che provvede a limitare i picchi di corrente in uscita a
valori sicuri, ha un limitatore interno di potenza che garantisce ai transistor di uscita di lavorare in area
protetta (SOA) e inne ha un circuito di protezione per il calore che lo disattiva quando le temperatura
diventa troppo alta da compromettere l'integrità del componente. Per un corretto funzionamento del
componente è necessario fornire una tensione di ingresso compresa tra i 7.5 V e i 20 V. La corrente che
assorbe il componente è al massimo di 8.5 mA, e può fornire correnti di uscita dell'ordine dell'Ampere
se gli viene applicato un dissipatore. Un altro punto di forza di questo componente è il fatto che non
necessita di dispositivi esterni per il suo funzionamento.
49
NE555
Figura 27: circuiteria interna del NE555
L' NE555 è un circuito integrato che contiene un
multivibratore che può essere congurato come
monostabile (timer) e come astabile (oscillatore)
permettendo la realizzazione di numerosissime
applicazioni diverse. Nella modalità monostabile,
il tempo (può andare da µs a h) in cui l'uscita
resta allo stato instabile è controllato da uno dei
resistori e da una delle capacità esterne collegate
al componente, mentre nella modalità astabile,
la frequenza di oscillazione (che può essere supe-
riore a 500 kHz) e il duty cycle sono entrambi
controllati con due resistori e una capacità. Il
componente può essere triggerato e resettato da
una segnale basso, inoltre l'uscita è in grado di
assorbire o erogare più di 200 mA. L'NE555 in-
oltre e compatibile con gli integrati TTL e ha una
stabilità termica di 0.005% per °C. Lo schema a blocchi del NE555 è riportato in g. 27.
Congurazione monostabile
Figura 28: congurazione monostabile del NE555
In g. 28 è rappresentata la congurazione base
del 555 come multivibratore monostabile. Lo sta-
to stabile del componente si ha quando OUT (3)
si trova a livello logico basso, infatti in tal caso
il transistore interno al 555 è saturo (ON), e ciò
impedisce che C1 possa caricarsi a Vcc attraverso
R1 in quanto il BJT forma un percorso condut-
tivo verso massa. Quindi il piedino di discharge
(7), che è collegato al collettore del transistor, in
questo caso si troverà a livello logico basso perché
il BJT come già detto è saturo, inoltre essendo
collegato insieme al piedino di threshold (6) an-
che quest'ultimo avrà una tensione bassa.. Se il
piedino di ingresso trigger (2) vale Vcc, entrambi
gli ingressi del latch S R sono 0 e quindi l'uscita
si conserverà. Anché l'uscita possa passare a livello logico alto è necessario che S riceva un 1, perché
questo avvenga devo avere che il potenziale di trigger (2) sia inferiore al potenziale sul partitore resisti-
vo, quindi dal momento che le 3 resistenze del partitore sono uguali, dobbiamo avere che la tensione di
trigger deve essere inferiore a 1/3 Vcc. In questo caso l'uscita nQ del Latch passa al livello logico basso
50
e il BJT interno al 555 si interdice, permettendo al condensatore di caricarsi. Nel frattempo terminato
l'impulso negativo sul piedino di trigger, necessario a far commutare l'uscita, avrò nuovamente un
segnale alto, quindi gli ingressi del latch valgono S = 0 R = 0 il che signica che l'uscita si conserverà
allo stato attuale (livello logico alto). L'uscita rimane in questo stato nché all'ingresso del latch non
si avrà R = 1, ovvero nché la tensione threshold (6) non supererà la tensione del partitore che vale
2/3 Vcc (tale valore deriva dal fatto che le 3 resistenze del partitore sono uguali).
Figura 29: Forme d'onda caratteristiche del
monostabile
E' da notare che il threshold (6) è collegato
al condensatore e che quando la tensione di us-
cita si trova allo stato alto, questo tende a cari-
carsi a Vcc con una legge di tipo esponenziale.
Quando la tensione sul condensatore raggiunge
2/3 Vcc l'uscita del 555 commuta al valore logico
basso, il BJT interno ritorna ad essere saturo e
quindi forma un percorso conduttivo verso massa
. Il condensatore essendo collegato al transistor
si scaricherà su esso con una costante di tempo
molto piccola in quanto la resistenza fornita dal
BJT è di valore trascurabile. A questo punto
l'uscita risulta essere allo stato logico basso con
S = R = 0 (memoria), quindi il 555 è ritornato
all'equilibrio ed è pronto per un nuovo ciclo di
temporizzazione. E' da notare inoltre che se du-
rante il tempo in cui l'uscita è alta si applicano
altri impulsi al trigger, modicando quindi il val-
ore logico di S, l'uscita non viene inuenzata, in
quanto essendo R = 0 e OUT=1 sia se S = 0 (memoria) e sia se S = 1 (set) l'uscita rimane sempre a
1 e quindi non inuisce sulla carica del condensatore, in questo caso si dice che il monostabile è non
retriggerabile. Esiste anche una congurazione in cui il monostabile è retriggerabile, ovvero dando un
nuovo impulso di trigger quando l'uscita è alta, esso torna all'inizio del ciclo. Questa possibilità si
ottiene applicando un impulso negativo contemporaneamente al terminale di reset (4) e al terminale di
trigger (2) durante un ciclo di temporizzazione. Infatti applicando un impulso di reset (attivo basso),
scarico il condensatore portando l'uscita a 0 e quindi il segnale R a 0, è da notare che questa congu-
razione è quella che si ha all'equilibrio, quindi applicando ora un segnale basso al trigger porto S a 1
(set) e quindi OUT=1 iniziando di fatto un nuovo ciclo di temporizzazione.
Calcoliamo ora la durata del ciclo di temporizzazione, abbiamo visto che il funzionamento è regolato
da un circuito di carica di tipo RC, sappiamo che la tensione sul condensatore inizialmente e circa
zero, quando l'uscita passa a 1 (istante t = 0), il condensatore cercherà di caricarsi al valore Vcc, ma
la sua carica terminerà quando raggiunge il valore 2/3 Vcc, che coincide anche con il momento in cui
la tensione di uscita ritorna al valore 0. Quindi la durata del ciclo di temporizzazione coincide con il
tempo necessario anché il condensatore si carichi ad un valore 2/3 Vcc.
51
In un circuito RC a cui è stato applicato un ingresso a gradino la tensione sul condensatore varia con
la legge:
vc(t) = V0
(1− e− t
RC
)e sapendo che la tensione nale sul condensatore vale 2/3 Vcc possiamo ricavare il tempo necessario
anché il condensatore raggiunga tale valore.
23V0 = V0
(1− e− t
RC
)⇒ 1
3= e−
tRC
da cui si ottiene:
t = RC ln(3) ∼= 1.1RC
Si noti inoltre che poiché la tensione sul condensatore e la tensione di threshold (6) del comparatore
sono entrambe proporzionali alla tensione di alimentazione la durata del ciclo di temporizzazione è
indipendente dall'alimentazione. Innine è buona consuetudine collegare il piedino di reset a Vcc se
non vene utilizzato, in maniera tale da non consentire un falso triggeraggio.
TL084
IL TL084 è un integrato contenente 4 amplicatori operazionali, costituiti da un stadio di ingresso a
JFET ad alta tensione, che gli consente di avere un alta impedenza di ingresso, il resto del circuito
invece è costituito da transistor BJT, che consentono di ottenere delle ottime caratteristiche dinamiche.
Le caratteristiche principali di questo componente sono:
Basso consumo di potenza
Ampio intervallo della tensione di ingresso di modo comune (±11V)
Ampio range della tensione dierenziale (±30V)
Basse correnti di polarizzazione e di oset
Protezione da cortocircuiti in uscita
Distorsione armonica totale (0.003% Typ)
Alta impedenza di ingresso (stadio JFET iniziale)
Compensazione interna di frequenza
Alto Slew Rate (13 V/ms Typ)
Temperatura operativa (0°C to 70°C)
52
min typ max unit
Vos 3 15 mVIos 5 200 pAAd 25 200 V/mV
CMRR 70 86 dbGPB 3 MHzRi 1 TΩ
Tabella 4: Alcuni parametri del TL084
Figura 30: Diagramma di Bode di Ad
In quest'altro graco, g. 30, viene mostrato l'andamento in frequenza dell'amplicazione dif-
ferenziale Ad, questo graco è utile per rendersi conto di quanto valga il prodotto guadagno-banda e
per determinare approssimativamente dove si trova il polo del componente, in maniera tale da poter
costruire una semplice funzione di trasferimento a polo dominante.
LM358
LM358 è un integrato contenente 2 amplicatori operazionali ad alto guadagno, con un compensatore
di frequenza interno, progettati per lavorare con alimentazione singola su un ampio range di tensioni.
Sebbene questi operazionali siano ad alimentazione singola, la tensione di uscita può raggiungere anche
il valore di massa. Le caratteristiche principali di questo componente sono:
Elevato guadagno di tensione continua: 100dB
53
Elevato prodotto banda guadagno: 1.1 Mhz
Bassissima corrente assorbita da ogni operazionale quando l'uscita è scollegata (RL = ∞): 500µA
Ampio intervallo della tensione di ingresso di modo comune (da 0 a Vcc − 1.5V )
Basse correnti di polarizzazione (20nA) e di oset (2nA)
Compensazione interna di frequenza
Temperatura operativa ( da 0°C a 70°C)
Ampio intervallo della tensione dierenziale (da 0 a Vcc)
Ampio intervallo della tensione di uscita (da 0 a Vcc − 1.5V )
min typ max unit
Vos 1 3 mVIos 2 10 nAAd 50 100 V/mV
CMRR 70 85 dbGPB 1.1 MHz
Tabella 5: Alcuni parametri del LM358
54
D Strumentazione e comunicazione
Strumentazione e protocollo GPIB
La strumentazione utilizzata in laboratorio è in grado di essere comandata mediante il protocollo di
comunicazione GPIB ed in sostanza è costituita da un oscilloscopio, un multimetro e un alimentatore.
Interfacciamento dello Strumento e il protocollo GPIB 488.2
Il programma Matlab, unito ad una apposita scheda di acquisizione, rende possibile l'interfacciamento
completo degli strumenti elettronici di misura collegati al computer. Il protocollo di comunicazione
utilizzato è il protocollo GPIB (General Purpose Interface Bus) relativo allo standard IEEE 488.2 del
1992.
Il protocollo HP-IB nacque nel 1965 come convenzione di comunicazione per i sistemi di strumen-
tazioni HP. Tale protocollo si diuse e venne regolarizzato ucialmente dieci anni dopo il suo debutto
dall'istituto per la standardizzazione, divenendo IEEE 488. Negli anni successivi il protocollo subì
numerose revisioni quando evolvette nel 1992 nello standard IEEE 488.2. Un anno dopo, venne svilup-
pato lo standard IEEE 488.3 detto anche HS488 (National Instruments) che, rispetto al predecessore,
era caratterizzato da una velocità di trasferimento dati notevolmente maggiore. Tuttavia, nonostante
lo sviluppo dello High Speed 488 nel 1993, lo standard 488.2 non venne abbandonato dal momento
che la BandWidth dell'HS-488 degenerava con l'aumentare del numero di strumenti che doveva ge-
stire. Di fatti, l'oscilloscopio Agilent 54622D utilizzato nel corso della prova, gestisce un protocollo di
comunicazione GPIB di tipo IEEE 488.2.
Il protocollo GPIB (d'ora in poi si farà riferimento alla standardizzazione 488.2 del 1992) è un
protocollo di comunicazione parallela che raggiunge un valore di Data Transfer pari a 1 MB/s perme-
ttendo il collegamento di un massimo di 15 strumenti. Il connettore GPIB è composto da 24 piedini
di cui 8 di dati, 5 di Bus Management, 3 di HandShake e 8 di massa:
Le linee di HandShake trasferiscono messaggi sotto forma di byte in maniera asincrona tra gli
strumenti;
Le linee di Data Management governano il usso dei dati attraverso le Data Lines.
La struttura della comunicazione GPIB si realizza attribuendo a ogni strumento una o più tra tre
particolari funzioni: Listener, Talker o Controller:
Talker: invia messaggi attraverso la rete ad uno o più Listeners;
Listener: riceve i dati;
Controller: governa il usso di dati attraverso la rete.
Con questa nomenclatura, un voltmetro nella rete può essere sia un Talker che un Listener. Il PC è
un Controller e un Listener.
55
L'interfacciamento di uno strumento mediante GPIB consiste nello stabilire una sorta di area di
comunicazione che permetta l'invio di comandi e di query e la ricezione di risposte, atte a congurare
e a valutare i parametri specici dello strumento che si desidera gestire.
Nel caso specico, l'interfacciamento vero e proprio consiste nell'astrazione dello strumento come
un le di testo ad accesso sequenziale. Una siatta comunicazione rappresenta la virtualizzazione
dell'apparecchiatura e in questo senso risulta essere uno strumento estremamente potente, essibile
e dinamico. Mediante le consuete funzioni di Matlab per la lettura e la scrittura formattata su le,
dunque, è possibile impartire comandi allo strumento e leggerne le eventuali risposte dal buer, qualora
siano stati istanziati ordini di query. Le funzioni utilizzate sono per l'appunto quelle di fprintf() e di
fscanf(), tipiche tra l'altro anche del linguaggio di programmazione C.
Oscilloscopio Agilent 54622D
All'interno della famiglia di oscilloscopi Agilent 54620X lo specico modello del laboratorio 54622D è
l'unico esempio che unisce una larghezza di Banda di 100MHz, 2 Canali Analogici e la possibilità di
visualizzare no a 16 ingressi digitali.
Caratteristiche generali
sample rate masssimo 200 MSa/s
profondità di memoria 4 MB (2 MB per canale)
risoluzione verticale 8bit
valutazione peaks 5 ns
funzione avarages no a 16383 elementi
larghezza di banda (−3 dB) 100 MHz
resistenza di ingresso 1 MΩ ±1%
capacità di ingresso ∼14pF
Canale Verticale
Incertezza DC guadagno verticale [1] ±2.0 full scale
Incertezza DC oset verticale [2] < 200 mV/div : ±0.1 div ±1.0 mV ±0.5 valore di oset
≥ 200 mV/div : ±0.1 div ±1.0 mV ±1.5 valore di oset
Incertezza Verticale a singolo cursore ±([1] + [2] + 0.2 full scale ( 1/2 LSB))
Incertezza Verticale a doppio cursore ±([1] + 0.4 full scale ( 1 LSB))
Canale orizzontale
Range da 5 ns/div a 50 s/div
Risoluzione 25 ps
Vernier Incrementi principali a mantisse 1,2,5 quando è o
25 incrementi tra le mantisse principali quando è on
Incertezza δt a canale unico ±0.01 valore letto ±0.1 larghezza schermo ±40 ps
56
Trigger
Modalità Auto, Auto Level, Triggered (Normal), Single
venti di trigger selezionabili Edge (Fronte), Pattern, Pulse Width (Glitch), Duration
Il Trigger
Il trigger è sicuramente uno degli elementi più importanti di un oscilloscopio, sia esso di tipo digitale
oppure di tipo analogico. La funzione principale del trigger è essenzialmente quella di garantire un'op-
portuna visualizzazione del segnale in ingresso e questo viene reso possibile mediante la generazione di
un appropriato impulso denominato impulso di trigger. L'impulso di trigger abilita la generazione
di un segnale a rampa che per tutta la sua durata permette di spazzolare lo schermo riproducendovi
il segnale nell'opportuna nestra temporale determinata dalla rampa stessa. Il tempo di durata della
rampa è legata dunque alla porzione di segnale che voglio spazzolare sullo schermo. Tuttavia, nella
maggior parte dei casi questo tempo non è sucientemente grande da poter impressionare la retina
oculare ed è quindi necessario provvedere a rispazzolare lo schermo con la stessa porzione di segnale.
Questo è possibile solamente qualora si disponga di un elemento di memoria che abbia salvato i cam-
pioni precedenti o che il segnale stesso sia di tipo ripetitivo (non necessariamente periodico). Qualora
il segnale fosse periodico, infatti, gestendo opportunamente l'impulso di trigger in maniera tale da
abilitare la visualizzazione periodicamente, lo spazzolamento avverrebbe in genere ad una frequenza
sucientemente elevata da permettere l'impressionamento della retina oculare e dunque la visione del
segnale. La traccia visualizzata su schermo, per essere funzionale a misurazioni o valutazioni da parte
dell'utente, deve dunque possedere una certa stabilità nel tempo e spesso tale stabilità è dovuta alle
impostazioni del trigger. Tutti gli eetti di visualizzazione sullo schermo dipendono dal trigger e da
come e quando viene generato il suo impulso. La generazione dell'impulso di trigger ha luogo ogni qual
volta si verica un evento di trigger sul segnale desiderato. La visualizzazione della specica porzione
di segnale è legata ad un'opportuna scelta dell'evento di trigger e ad un'appropriata impostazione
della modalità di trigger. Da ricordare il fatto che l'impulso di trigger parte subito dopo la conclusione
dell'evento di trigger.
Eventi di trigger
Livello di trigger: il principale strumento per la generazione dell'impulso di trigger è quello che
permette l'impostazione del livello di trigger quale soglia di un comparatore. Quanto il segnale
in ingresso varca tale soglia allora viene generato un impulso di trigger. I problemi principali
legati a questo genere di eventi è che il comparatore (seppur ad isteresi) è sensibile ai possibili
rumori sul segnale che in prossimità della soglia possono far partire l'impulso di trigger anche
quando ciò non è desiderato. Tutti gli oscilloscopi dispongono di questo genere di strumento.
Edge: si tratta di uno strumento che discrimina sul segnale in ingresso la presenza di un fronte
di salita o di discesa. L'impulso di trigger, dunque, può essere abilitato o meno da un evento di
trigger situato su ogni fronte del segnale, sia esso negativo o positivo. In genere questo tipo di
57
evento di trigger è disponibile sia sugli oscilloscopi analogici più moderni che sugli oscilloscopi
analogici digitali.
Glitch: rappresenta un evento di trigger particolare presente nei più moderni oscilloscopi digitali.
Questo genere di evento è stato ampiamente utilizzato nella prova in discussione, come si può
evincere dalle descrizioni degli script. In particolare il trigger a glitch riesce a generare un evento
di trigger ogni qual volta sul segnale si riscontrano dei glitch con caratteristiche particolari. Un
glitch del segnale è denito come una variazione improvvisa (un picco di tensione indesiderato)
caratterizzato da una certa durata temporale. Il trigger a glitch permette di impostare la polarità
di glitch sul quale triggerare (positivo-negativo) oltre a valutarne la durata temporale. Conve-
nientemente, un impulso di segnale, come anche un suo periodo, può essere interpretato come un
particolare glitch (in questo caso non inatteso) avente una certa polarità e un ben determinato
periodo. In virtù del fatto che l'impulso di trigger, e quindi la visualizzazione periodica, parte
solamente dopo la conclusione dell'evento di trigger allora avremo che per visualizzare l'impulso
positivo (che si suppone in genere seguire un impulso negativo di cui sappiamo che l'ampiezza
temporale è sicuramente maggiore di un certo valore x) allora è possibile triggerare l'impulso
positivo impostando il trigger di glitch in questo modo: NEGative GREater than x.
Modalità di trigger
ARM (SINGLE): il pulsante ARM dell'oscilloscopio (ARMed) viene sicamente premuto per
armare il trigger, il quale permetterà all'oscilloscopio di generare un solo impulso di trigger in
corrispondenza del solo successivo evento (in funzione delle sue impostazioni), e dunque comporta
una sola spazzolata dello schermo. Questa modalità è spesso utilizzata negli oscilloscopi digitali
(con memorizzazione dei campioni) per la visualizzazione dei transitori a cui il segnale è soggetto.
NORMAL: la modalità NORMal prevede la tipica spazzolatura (impulso di trigger) ogni qual
volta si presenta un evento di trigger. Se non avviene nessun evento di trigger allora non viene
eettuata nessuna spazzolatura dello schermo e il segnale non compare.
AUTO: questa modalità genera automaticamente un impulso di trigger (spazzolatura) se l'evento
di trigger non si verica entro un determinato intervallo temporale (in genere 25 ms). Per forme
d'onda a frequenza bassa (sotto i 40Hz) la modalità automatica (qualora ad esempio il trigger sia
impostato su un fronte di salita - si parla di un segnale ad onda quadra) genera automaticamente
un impulso di trigger tra due eventi (fronti). Questo comporta uno sfarfallamento dell'immagine,
il quale è comunque indice di necessaria correzione delle impostazioni del trigger.
Hold o
E' inne importante introdurre il concetto di Hold O. Sostanzialmente, il segnale di Hold O interno
all'oscilloscopio abilita o meno la generazione di impulsi di trigger associati agli eventi di trigger. L'Hold
O è dunque sicamente un segnale ad onda quadra che, quando positiva disabilita la generazione di
58
impulsi di trigger associati ad eventi di trigger. Il tempo di Hold O può dunque venire impostato
a piacere per evitare che, ad esempio, eventi di trigger non desiderati comportino spazzolamenti del
video in grado di generare sfarfallio.
Pre-trigger e Post-trigger
Nei modelli di oscilloscopio più recenti sono presenti due sostegni fondamentali alla visualizzazione del
segnale che sono il pre trigger e il post trigger. In sostanza essi permettono di ragurare rispettivamente
parti della forma d'onda antecedenti e postcedenti al trigger vero e proprio.
Regolazione Vernier
La regolazione della base dei tempi avviene in genere attraverso quantità rappresentabili con mantissa
1 2 o 5. La modalità Vernier, se attivata, permette di abilitare un ampio range di possibili valori
della base dei tempi. In particolare, per quanto esposto in precedenza, la modalità Vernier dell'Agilent
54622D interpone tra ogni quantità di mantissa 1 2 5, 25 ulteriori suddivisioni. Questa particolare
caratteristica è stata ampiamente sfruttata da noi in quanto, ad esempio, ci ha permesso di impostare
con grande cura la base dei tempi mediante il relativo comando. Da notare che la quantità che noi
eettivamente abbiamo utilizzato per impostare la base dei tempi è rappresentata da un numero oating
point. Questo valore viene in seguito adeguatamente approssimato al time/div con Vernier attivo più
vicino ed in seguito impostato come tale. La modalità Vernier è risultata essere dunque estremamente
utile per eettuare al meglio le misure di tempo sull'oscilloscopio permettendoci di regolare l'ampiezza
temporale dell'impulso a valori prossimi al massimo visualizzabile sullo schermo. Ricordiamo infatti
quanto misure realizzate in prossimità del fondo scala comportino un errore relativo decisamente minore
rispetto a misure eettuate a metà scala o ad inizio scala. In questo senso la regolazione Vernier è
stata fondamentale.
Considerazioni sul tipo di incertezza fornita
Il canale orizzontale fornisce una formula per il calcolo delle incertezze di misura che è di tipo minimo-
massimo. In sostanza, questo equivale ad aermare che il genere di distribuzione statistica supposta
dal costruttore per l'estrazione di questo parametro è di tipo uniforme. Il calcolo dell'incertezza di
tipo B, che verrà successivamente descritto terrà conto di questo fatto nel calcolo della varianza.
Multimetro 34401A
Il Multimetro 34401A possiede un display formato da 6½ digits permette di misurare tensioni e correnti
AC (True RMS) e DC, resistenze, frequenze, periodi e di valutare la continuità dei diodi. In partico-
lare ci interesseremo dei parametri principali riguardanti la misura di volt DC e di resistenza, quelli
eettivamente utilizzati durante la prova.
59
Fondo scala Incertezza ad un anno dalla calibratura
100.00mV 0.0050+0.0035
1V 0.0040+0.0007
10V 0.0035+0.0005
100V 0.0045+0.0006
1000V 0.0045+0.0010
Misurazione di Tensione DC (±(% valore letto + % fondo scala))
Resistenza di ingresso 10MΩ
Fondo Scala Incertezza ad un anno dalla calibratura
100 Ω 0.010+0.004
1kΩ 0.010+0.001
10kΩ 0.010+0.001
100kΩ 0.010+0.001
1MΩ 0.010+0.001
10MΩ 0.040+0.001
100MΩ 0.800+0.010
Misurazione di Resistenza (±(% valore letto + % fondo scala))
Considerazioni sul tipo di incertezza fornita
Anche in questo caso, come per l'oscilloscopio, l'incertezza fornita è di tipo massimo-minimo. Riman-
diamo ai capitoli che trattano dei cenni teorici, nonchè alle parti nelle quali questo concetto viene
ripreso ed utilizzato in pratica.
Alimentatore E3631A
L'alimentatore suddetto dispone di due uscite, una dierenziale da −25/0/+25 (V) e una variabile tra
0/+6 (V), entrambe gestibili mediante protocollo GPIB. L'alimentatore, tra i tre utilizzati, è quello i
cui parametri sono meno importanti agli scopi di misura per cui non ci soermeremo sulle sue carat-
teristiche generali, e menchemeno sull'incertezza della tensione di uscita, in quanto, come è stato fatto
notare, sarà il multimetro a leggere la tensione in uscita dall'alimentatore (a valle dell'amplicatore non
invertente in ingresso) il quale propaga un'incertezza decisamente minore di quella che si otterrebbe
studiando l'alimentatore. In questo senso è suciente sapere che l'uscita dierenziale, che fornisce
l'alimentazione al circuito (+15 / −15) è stata anch'essa misurata mediante multimetro e che l'uscita
0 / +6 viene variata per simulare la variazione di tensione di ingresso del voltmetro. La massima
corrente di uscita fornita dall'alimentazione è decisamente superiore a qualsiasi corrente assorbibile dal
circuito.
60