Sei sulla pagina 1di 60

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.

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.


Figura 2: forme d'onda caratteristiche di un doppia
A questo punto la logica di controllo farà com-
rampa
mutare nuovamente l'interruttore in maniera da

switchare nuovamente Vx all'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:

ˆ ˆ
1 1
Vx dt = Vref dt
RC RC
Tr Tx

dal momento che le tensioni Vx e Vref sono costanti otteniamo:

Vx Tr = Vref Tx

misurando direttamente Tx e Tr è possibile ricavare Vx dalla relazione:

Vref Tx
Vx =
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 ∼
= Nr t c Tx ∼
= Nx t c

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
Vref Nx
Vx ∼
=
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:

´
TR
vx (t)dt
Qx =
C
applicando il teorema della media si ottiene:

V x Tr
Qx =
C
Dove Vx 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
ˆ T0 +Tx
1 sin(πf Tx )
VN = V0 sin(2πf t)dt = V0
Tr T0 πf Tx
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:

 
V0
RNdB = 20 log
VN
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 Vref − Vos
− I − Tr = + I − Tx
R R
esprimendo Vx si ottiene:

   
Tx Tx Tx
Vx = Vref + RI − 1 + + Vos 1 +
Tr Tr 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 Vof f ,
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
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: Figura 8: Amplicatore d'ingresso

9
10

Figura 7: Schema circuitale


 
R9
vo = 1 + vi
R10
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:

R2
V+ = −VEE
R2 + R1
essendo che V+ = V− = Vo , abbiamo che:

R2
Vref = −VEE
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:

Vx
voi (t) = t
RC
La tensione massima di voi si ottiene quando Vx è quella massima e quando t = Tr . Tale tensione

deve essere minore di quella di saturazione dell'operazionale, quindi:

V xM AX
Tr < Vsat
RC
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:

V xM AX
RC > Tr = 16.67 · 10−3 s
Vsat
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 VoiM AX = 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 unit


Dissipazione 500 mW
Vz 4.4 5.0 V
Tc (coeciente di temperatura) −3.5 0.2 mV /°C

Tabella 1: Parametri del diodo zener BZX79C 4V7

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
Figura 11: Caratteristica tensione corrente dello
scorre sulla resistenza non è la semplice Iz , ma è
zener
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:

Vc − Vz
R4 =
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:

2
(Vc − Vz ) ∼
PR4 = = 0.11 W
R4
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:

2
(Vc + |Vf |)
PR 4 =
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

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 Figura 13: Forme d'onda caratteristiche della logica

visto precedentemente un segnale alto nel piedi- di controllo

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 = 1 M Ω 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:

(Vx − Vos − R(V − Vos )/Rss )Tr


Tx =
(−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−5 s, 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:


∂Tx
u(TX ) =
· ub (Tr )
∂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:

Vref
dev Vx = · dev Tx
Tr
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:

N
1 X
µ = E[x] = xi
N i=1

e la migliore stima della varianza campionaria σ2 è data da:

N
1 X
σ 2 = E[(x − µ)2 ] = (xi − µ)2
N (N − 1) i=1

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:

q
uc (x) = u2a (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:

N
X ∂f
y'y+ (xi − xi )
i=1
∂xi x

La varianza del modello di misura corrisponde all'aspettazione del quadrato della dierenza tra la

funzione suddetta e il suo valore medio:

X 2
2 2 ∂f N
σ (y) = E[(y − y) ] = E[ (xi − xi )i=1 ]
∂xi x
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:

n  2 n−1 n  
2
X ∂y X X ∂y ∂y
u (y) ' u(xi ) + 2 u(xi , xj )
i=1
∂xi x i=1 j=i+1
∂xi x ∂xj x

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 è:

n
X ∂y
δy = ∂xi δxi

i=1

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 è:

n  2 n−1 n  
2
X ∂y X X ∂y ∂y
u (y) = ub (xi ) + 2 ub (xi ) · ub (xk ) · r(xi , xk )
i=1
∂xi i=1
∂xi ∂xk
k=i+1

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 è:

n  2 n−1 n  
X ∂y X X ∂y ∂y
u2a (y) = ua (xi ) + 2 ua (xi , xj ) (1)
i=1
∂xi i=1 j=i+1
∂xi ∂xj

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:

M
1 X
ua (xi , xj ) = (xij − xj )(xik − xk )
M (M − 1) i=1

41
la 1 può essere riscritta in una forma più compatta, basta introdurre la matrice delle covarianze di y:

   
var(x1 ) cov(x1 , x2 ) · · · cov(x1 , xn ) u2a (x1 ) ua (x1 , x2 ) · · · ua (x1 , xn )
 .. .   .. . 
 cov(x , x ) . .   u (x , x ) . .
. .

2 1   a 2 1
cov(y) =  =
 
. .. . . .. .

 . . .   . . . 
 . .   . . 
cov(xn , x1 ) ··· ··· var(xn ) 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:

n
X ∂y ∂y
u2a (y) = (cov(y))i,j ·
i,j=1
∂xi ∂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:

q
uc (y) = u2a (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 lim vid = 0


A→∞

ˆ 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, P SRR = ∞ (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:

A0
Ad (ω) =
1 + τp jω

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 )
Ad
Vos = Vo
Ad + 1
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:

(Vo − Vos )
I− =
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
L' ADG419 è un interruttore SPDT (Single pole

double throw che in italiano si traduce in Singolo

polo a due vie) CM OS 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).


Figura 25: Schema dell'ADG419
Questo integrato inoltre è stato realizzato con

tecnologia LC 2 M OS (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 LC 2 M OS è princi-

palmente quello CM OS 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.

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.

_ Figura 26: resistenza dell'ADG419

48
Logic Switch 1 Switch 2

0 ON OFF
1 OFF ON

Tabella 2: tavola di verità dell'ADG419

Switch analogici
Range segnali analogici da −Vss a Vdd V
Ron 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 mA
picco 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
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- Figura 27: circuiteria interna del NE555

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
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 Figura 28: congurazione monostabile del NE555

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=0R=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).

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


Figura 29: Forme d'onda caratteristiche del
altri impulsi al trigger, modicando quindi il val-
monostabile
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:

 t

vc (t) = V0 1 − e− RC

e sapendo che la tensione nale sul condensatore vale 2/3 Vcc possiamo ricavare il tempo necessario

anché il condensatore raggiunga tale valore.

2  t
 1 t
V0 = V0 1 − e− RC ⇒ = e− RC
3 3
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 mV
Ios 5 200 pA
Ad 25 200 V /mV

CMRR 70 86 db
GPB 3 M Hz
Ri 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 mV
Ios 2 10 nA
Ad 50 100 V /mV

CMRR 70 85 db
GPB 1.1 M Hz

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 M Sa/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 10 M Ω

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