Termostato

Vediamo in questo articolo il progetto di un termostato, ovvero un circuito in grado di accendere e spegnere un carico in base alla temperatura impostata, o ad esempio pilotare una caldaia per il funzionamento del riscaldamento domestico.
Non presenterò subito il circuito completo, ma lo andremo a progettare assieme passo passo, fino ad arrivare ad avere lo schema definitivo del nostro termostato.

Il funzionamento principale di un qualsiasi termostato, è quello di confrontare 2 temperature, una che è la temperatura da noi impostata, e l'altra che è la temperatura rilevata dal circuito, e quindi attivare o disattivare un relè, in base a quale delle 2 temperature è più alta o più bassa.
In elettronica però tutto ciò che viene rilevato, o viene impostato, è trasformato in un segnale elettrico o tensione; impostare la temperatura, significa ruotare una manopola, quindi ruotare un potenziometro ad esso collegata, e variare una tensione; allo stesso modo rilevare una temperatura, significa utilizzare un sensore o trasduttore di temperatura, che convertirà la temperatura rilevata in un segnale elettrico o tensione.

Alla fine confrontare 2 temperature, in elettronica si traduce nel confrontare 2 tensioni, una impostata da noi per mezzo di un potenziometro, e l'altra fornita dal sensore.
Ad esempio nel caso di un termostato ambiente, attivare un relè quando la temperatura e quindi tensione rilevata, è inferire alla temperatura e quindi tensione da noi impostata, e ovviamente disattivare il relè quando la tensione rilevata è maggiore della tensione da noi impostata.

Per svolgere questo compito, tra i componenti elettronici studiati, fa al caso nostro proprio l'amplificatore operazionale utilizzato in modalità comparatore.

Termostato1.bmp

Il suo funzionamento è molto semplice, lo abbiamo studiato nell'articolo sull'amplificatore operazionale, comunque quando la tensione sull'ingresso V+ è superiore alla tensione sull'ingresso V-, l'uscita di U1 si porta a circa Vcc, diversamente l'uscita rimane a zero.
Applicando quindi sull'ingresso V+ una tensione da noi impostabile per mezzo di un potenziometro, e sull'ingresso V- la tensione proveniente da un sensore di temperatura, si avrà che quando la tensione rilevata dal sensore, è inferiore alla tensione da noi impostata, l'uscita si porta a Vcc, e ci permette di far eccitare un relè per comandare ad esempio il nostro impianto di riscaldamento domestico.

Termostato2.bmp

Ecco che il nostro circuito prende forma, abbiamo aggiunto un relè che viene eccitato grazie all'utilizzo di un transistor.
Non starò a spiegare come si dimensiona il transistor e la relativa resistenza Rt, perché il tutto l'ho già spiegato nell'articolo sul transistor.
Adesso, quando l'uscita di U1 si porta a Vcc, il transistor grazie alla resistenza viene saturato, e quindi pilota il relè che si eccita, diversamente quando l'uscita di U1 è a zero, il transistor sarà interdetto, e quindi il relè diseccitato.

Questo tipo di funzionamento però da origine ad un problema, ovvero quando la tensione variabile è uguale a quella impostata, si entra in una zona di indecisione, dove l'uscita del circuito U1 potrebbe disattivarsi e attivarsi più volte, fino a quando la tensione variabile non ha superato quella impostata, con la conseguenza che il relè inizia a diseccitarsi e eccitarsi più volte dando luogo ad una vibrazione dello stesso.
D'altronde le tensioni a causa della tolleranza dei vari componenti non sono stabili, ma magari oscillano di qualche millivolt, e quando 2 tensioni apparentemente sono uguali, può accadere che una tensione sia superiore all'altra di qualche millivolt, e un attimo dopo sia inferiore, per poi tornare superiore.
Parliamo di differenza di millivolt, che causano il problema dell'attivazione/disattivazione del relè in continuazione, fino a quando una tensione non è nettamente superiore all'altra.

Poniamo ad esempio di avere un sensore di temperatura che ci restituisce 0,1V per ogni grado centigrado, ciò significa che ad una temperatura di 10 gradi il sensore ci restituisce 1V e ad una temperatura di 20 gradi ci restituisce 2V.
Vogliamo impostare il nostro termostato ad una temperatura di 18 gradi, quindi per mezzo del potenziometro regoliamo la tensione fissa a 1,8V.
Adesso quando la temperatura è inferiore a 18 gradi, e quindi la tensione fornita dal sensore di temperatura è inferiore a 1,8V il relè sarà eccitato.
La temperatura sale lentamente, e quando arriva a 18 gradi, quindi il sensore ci restituisce 1,8V abbiamo che le 2 tensioni, (quella proveniente dal potenziometro impostata a 1,8V, e quella proveniente dal sensore di temperatura) sono uguali.
In questa situazione, la tensione proveniente dal sensore potrebbe oscillare, magari per un attimo è 1,799V e il relè rimane eccitato, poi un attimo dopo diviene 1,801V e il relè si diseccita, poi torna a 1,799V e il relè si rieccita, poi torna magari a 1,802V e il relè si diseccita, e così via fino a quando la tensione proveniente dal sensore non ha decisamente superato quella impostata, magari portandosi una decina di millivolt sopra a quella impostata.

Per ovviare a questo problema, viene utilizzato un sistema detto isteresi, che consiste nel riportare per mezzo di una resistenza, la tensione di uscita su un ingresso, in modo da cambiarne leggermente il valore con il cambiare dell'uscita.

Termostato3.bmp

Sopra vediamo la resistenza R2 che svolge questo compito, e ora vediamo anche come funziona.
Intanto poniamo di utilizzare una tensione di alimentazione di 4,5V, poi di utilizzare una resistenza R1 da 1.2K, ed un potenziometro Pot da 1K, regolato in modo da presentare una resistenza di 800 Ohm.
Sappiamo che la formula per calcolare il valore di tensione in uscita da un partitore è :

Vout=Pot/(R1+Pot)xVcc → 800/(1200+800)x4,5 → 800/2000x4,5 → 0,4x4,5=1,8V

Quindi teoricamente sul pin V+ c'è una tensione di 1,8V, e se ad esempio il nostro sensore di temperatura ci sta fornendo sul pin V- una tensione di 1,799V, abbiamo che V+ è maggiore di V-, quindi l'uscita di U1 è alta pari a Vcc.
Abbiamo però una resistenza R2 che da una parte è collegata all'ingresso V+ e dall'altra è collegata all'uscita di U1 che abbiamo detto essere uguale a Vcc, quindi in pratica la nostra resistenza R2 è come se fosse collegata tra l'ingresso V+ e Vcc, in pratica è come se si trovasse in parallelo ad R1.
Abbiamo visto nell'articolo Serie e Parallelo, che quando due resistenze sono poste in parallelo, la resistenza totale è uguale a (R1xR2)/(R1+R2), e se per R2 utilizziamo un valore di 47K otteniamo una resistenza totale di:

Rtot=(R1xR2)/(R1+R2) → (1,2x47)/(1,2+47) → 56,4/48,2= 1,170K

Allora all'uscita del partitore e sul pin V+ non avremmo più 1,8V ma avremmo una tensione di:

Vout=Pot/(Rtot+Pot)xVcc → 800/(1170+800)x4,5 → 800/1870x4,5 → 0,4x4,5=1,82V

La resistenza R2 ha modificato il valore di tensione presente sul pin V+, alzandolo di 20mV.
Adesso la tensione è impostata a 1,82V in pratica noi abbiamo impostato il termostato a 18 gradi, ma per far si che il relè si disecciti, la temperatura deve salire fino a 18,2 gradi, 2 decimi di grado in più della temperatura impostata.
La nostra temperatura quindi continuerà a salire, e arrivata a 18,2 gradi e quindi quando la tensione in uscita dal sensore raggiungerà 1,82V si avrà che l'uscita di U1 passa a zero volt.

A questo punto la resistenza R2 non è più come se si trovasse collegata tra V+ e Vcc, in quanto l'uscita di U1 non è più uguale a Vcc, ma al contrario adesso la resistenza è come se si trovasse collegata tra V+ e lo zero volt, in quanto adesso l'uscita di U1 è uguale a zero volt, in pratica è come se si trovasse collegata in parallelo al potenziometro.

Il parallelo tra il potenziometro impostato ricordo a 800 Ohm, o 0,8K e la R2 che ricordo è 47K è uguale a:

Rtot=(PotxR2)/(Pot+R2) → (0,8x47)/(0,8+47) → 37,6/47,8=0,786K o anche 786 ohm

In questo caso sull'uscita del partitore e quindi sul pin V+ avremmo una tensione di:

Vout=Rtot/(R1+Rtot)xVcc → 786/(1200+786)x4,5 → 786/1986x4,5 → 0,4x4,5=1,78V

Adesso la tensione proveniente dal sensore che era arrivata a 1,82V può oscillare quanto vuole, il relè rimane diseccitato, fino a quando il valore di tensione non riscende a 1,78V.
Grazie alla resistenza R2 abbiamo creato una isteresi, ovvero regoliamo il potenziometro per ottenere in uscita dal partitore una tensione di 1,8V, ma grazie all'isteresi la tensione sull'ingresso V+ viene fissata 1,82V.
Non appena vine raggiunto questo valore, l'uscita passa subito a zero volt, e di conseguenza grazie sempre alla resistenza R2 di isteresi, sul pin V+ la tensione viene fissata a 1,78V.

Adesso che abbiamo il nostro comparatore con isteresi, e il relè che si eccita e diseccita, dobbiamo pensare al sensore di temperatura.
Esistono vari sensori di temperatura, io ho scelto un lm35, un piccolo sensore a 3 pin, dove 2 pin sono l'alimentazione positivo e negativo, e il terzo pin è l'uscita in tensione.

LM35.png

Questo sensore dal costo di qualche euro è abbastanza preciso, e una volta alimentato con una tensione compresa tra 4V e 30V, è in grado di fornire in uscita una tensione proporzionale alla temperatura rilevata, e più precisamente fornisce in uscita 10mV per grado.
Questo significa che se posto ad una temperatura di 20 gradi, il sensore fornirà in uscita una tensione di 200mV, se posto a 18 gradi fornirà in uscita una tensione di 180mV.

Certo lavorare con i millivolt non è proprio il massimo, anzi nel nostro caso è piuttosto difficoltoso, ma possiamo risolvere il problema.
Se vi ricordate stiamo utilizzando un amplificatore operazionale utilizzato in modalità comparatore, ma non dimentichiamoci che l'amplificatore operazionale è prima di tutto un amplificatore, ovvero un circuito in grado di amplificare un segnale o tensione.

E allora possiamo tranquillamente utilizzare il nostro amplificatore per amplificare la tensione in uscita dal sensore, magari amplificandola di 10 volte, in modo da ottenere una tensione di 100mV per ogni grado.

Abbiamo già visto nell'articolo sull'amplificatore operazionale, come sia possibile utilizzarlo per amplificare un segnale.

Termostato4.bmp

Sopra vediamo lo schema di un amplificatore operazionale utilizzato per amplificare una tensione, di cui è possibile calcolare il valore di amplificazione con la formula:

Amplificazione= 1+R2/R1

Abbiamo detto che a noi serve un amplificatore in grado di amplificare il nostro segnale di 10 volte, quindi possiamo scrivere che:

10=1+R2/R1

da cui ne deriva che:

R2/R1=10-1 → R2/R1=9 e quindi R1=R2/9 o anche R2=R1x9

Possiamo scegliere per R2 un qualsiasi valore e poi calcolarci R1, o viceversa scegliere un qualsiasi valore per R1 e poi calcolarci R2, ma nel nostro caso, la logica ci dice di scegliere un valore commerciale che sia facilmente divisibile per 9, in modo da ottenere come risultato un valore intero.
Ad esempio potremmo utilizzare per R2 un valore di 1,8K così da ottenere per R1 un valore di 200 ohm.
Certo 200 ohm non è un valore commerciale ma è facilmente ottenibile utilizzando 2 resistenze in serie da 100 ohm.
Possiamo pure fare la riprova:

Amplificazione=1+R2/R1 → 1+1800/200 → 1+9=10

Bene, abbiamo il nostro amplificatore dimensionato per amplificare il segnale in ingresso di 10 volte, questo significa che se in ingresso inviamo una tensione di 20mV in uscita otteniamo una tensione di 200mV.

Termostato5.bmp

Adesso non ci rimane che collegare il sensore di temperatura all'ingresso del nostro amplificatore operazionale utilizzato per amplificare il segnale di 10 volte, e poi collegare l'uscita di quest'ultimo all'ingresso del nostro circuito composto da comparatore e transistor che pilota il relè.

Termostato6.bmp

Sono state rinominate le varie resistenze, perché ovviamente in un circuito non possono esserci 2 resistenze con lo stesso nome, e pure i 2 amp.op sono stati rinominati in U1A e U1B, infatti il circuito integrato è uno solo U1 con all'interno 2 amplificatori operazionali A e B.
Adesso abbiamo il nostro circuito completato, serve solo capire a quale tensione è possibile alimentarlo.
Dato che tale circuito è stato concepito per essere utilizzato come termostato ambiente, io proporrei una alimentazione ovviamente sufficiente a far funzionare il tutto, ma non troppo alta, in modo che all'occorrenza, il nostro circuito possa pure essere alimentato per mezzo di batterie stilo.
Io proporrei una tensione di alimentazione di 4,5V, non a caso il partitore di tensione è stato calcolato proprio per una tensione di 4,5V, il sensore può funzionare a 4,5V, l'amplificatore U1 funziona bene a 4,5V, e per il relè ne esistono funzionati a 4,5V, quindi diciamo che ci siamo, deciso, il circuito funzionerà con una tensione di 4,5V in modo che all'occorrenza possa pure essere alimentato con 3 stilo da 1,5V poste in serie tra di loro.

Ok, dovremmo esserci, il circuito sembra funzionare, abbiamo quindi il nostro sensore lm35 che rileva la temperatura ambiente e ci fornisce in uscita una tensione proporzionale, più precisamente 10mV/grado, abbiamo il primo amplificatore U1A che amplifica questa tensione di 10 volte, in modo da ottenere 100mV per grado, abbiamo il secondo amplificatore U1B che compara questa tensione con quella del partitore R4-P1, impostabile tramite il potenziometro P1, e infine il relè in grado di pilotare il nostro carico.

Ma aspettate un attimo, quali sono i limiti minimo e massimo impostabili tramite il potenziometro?
Meglio calcolare e vedere un attimo:

Abbiamo detto che il partitore è costituito da una resistenza R4 da 1,2K o 1200 ohm, e da un potenziometro P1 da 1K o 1000 ohm. Quando il potenziometro è ruotato tutto verso l'alto, e quindi presenta una resistenza di 0 ohm, la tensione impostata dal partitore è :

Vout=P1/(R4+P1)xVcc → 0/(1200+0)x4,5 → 0/1200x4,5 → 0x4,5=0V

Viceversa quando il potenziometro è ruotato verso il basso, e presenta la sua resistenza massima di 1K, la tensione impostata dal partitore sarà:

Vout=P1/(R4+P1)xVcc → 1000/(1200+1000)x4,5 → 1000/2200x4,5 → 0,454x4,5=2,04V

Abbiamo una tensione minima impostabile di 0V, e una tensione massima impostabile di 2,04V, che tradotto in temperatura significa una temperatura minima impostabile di 0 gradi, e una temperatura massima impostabile di 20,4 gradi.
Direi proprio che non ci siamo, non ha senso avere un termostato ambiente con quei limiti, dobbiamo apportare delle modifiche al partitore.
Tra le altre cose oltre ai limiti da modificare, volendo, abbiamo pure un altro problema. Vediamo un attimo il valore di tensione quando il potenziometro è regolato a metà corsa, cioè quando presenta una resistenza di 500 ohm:

Vout=P1/(R4+P1)xVcc → 500/(1200+500)x4,5 → 500/1700x4,5 → 0,294x4,5=1,32V

Avete notato quale è il problema? Se ruotando la manopola al minimo imposto una temperatura di 0 gradi, e ruotando la manopola al massimo imposto una temperatura di 20,4 gradi, a logica, ruotando la manopola a metà corsa, dovrei impostare una temperatura a metà tra il minimo e il massimo e quindi una temperatura di 10,2 gradi.
Invece con il potenziometro a metà corsa abbiamo calcolato che la tensione è 1,32V il che significa una temperatura impostata di 13,2 gradi.
Il problema è che la regolazione non segue un andamento lineare, e immaginando la nostra manopola, su una scala graduata, se la regolazione non è lineare risulta difficile disegnare una scala graduata, e risulta difficile pure andare a regolare la temperatura.

Tutto ciò accade perché il potenziometro agisce solo su un ramo del partitore, regolando il potenziometro regoliamo solo la resistenza verso massa, lasciando invariata l'altra resistenza verso il positivo.
Per ovviare a questo problema possiamo adottare una semplice soluzione:

Termostato7.bmp

Adesso il partitore è costituito dal solo potenziometro, e si comporta come se fossero 2 resistenze, dove quando viene aumentata una, in proporzione diminuisce l'altra, dando origine ad un regolazione lineare.

Termostato8.bmp

Sopra vediamo come il solo potenziometro si comporta come se fossero 2 resistenze in serie, dove aumentando l'una diminuisce in proporzione l'altra.
Adesso abbiamo una regolazione lineare, il limite massimo è uguale a Vcc quindi 4,5V e il limite minimo è 0V, regolando a metà corsa il potenziometro otteniamo un valore di 2,25V che è esattamente la metà tra il minimo e il massimo.
In questo modo abbiamo risolto i 2 problemi di cui sopra, abbiamo allargato i limiti minimo e massimo, e abbiamo pure una regolazione lineare.

Certo però avere un termostato ambiente dove si possa impostare una temperatura compresa tra 0 gradi, e 45 gradi, potrebbe pure andar bene, ma almeno a me pare un po' inutile una così grande escursione, considerando poi il fatto che il nostro potenziometro e quindi manopola, effettua una rotazione di poco meno di un giro, avere una escursione di 45 gradi in neanche un giro di manopola, renderebbe difficoltosa una regolazione precisa.

Anche questo problema comunque è risolvibile, collegando una resistenza in serie sopra al potenziometro, ed un altra resistenza in serie sotto al potenziometro, possiamo modificare i limiti minimo e massimo, mantenendo comunque una regolazione lineare.

Termostato9.bmp

Aggiungendo 2 resistenze da 1K in serie al potenziometro, come da schema qua sopra, riusciamo a portare il limite massimo a 3V e il limite minimo a 1,5V.
Diciamo che adesso la possibilità di regolazione da 15 gradi a 30 gradi, è decisamente più adatta per un termostato ambiente.

Siamo quasi alla fine della progettazione, lo schema oramai è ultimato, ma abbiamo ancora un ultimissimo problema da risolvere.
Il valore di tensione in uscita dal partitore, dipende si dal valore delle resistenze, ma dipende pure dalla tensione di alimentazione.
Ora ammettiamo di alimentare il nostro circuito con 3 stilo da 1,5V, intanto se le batterie sono completamente cariche, la tensione potrebbe essere anche 1,6V, e poi comunque durante l'utilizzo le batterie inevitabilmente si scaricano, con la conseguenza che la tensione nominale, con il trascorrere del tempo cala inevitabilmente.
Con batterie completamente cariche potrei avere una tensione che raggiunge 4,8V, e magari con batterie quasi scariche avere una tensione di circa 4V.

Questa differenza di alimentazione, si ripercuote sull'uscita del partitore e quindi sulla temperatura impostata.

Prima abbiamo calcolato che con la manopola a metà corsa, otteniamo una tensione di 2,25V e quindi la temperatura è impostata a 22,5 gradi:

Vout=1500/3000x4,5=2,25V

Ma se però la tensione di alimentazione, invece di essere 4,5V è a 4,8V otteniamo:

Vout=1500/3000x4,8=2,4V

E se invece le batterie sono quasi scariche e la tensione è di soli 4V:

Vout=1500/3000x4=2V

In pratica la manopola regolata a metà corsa, imposta una temperatura di 24 gradi con batterie completamente cariche, e 20 gradi con batterie quasi scariche.
Capirete da soli che in questo modo il termostato diviene inutilizzabile, non è ammissibile che ci possa essere una differenza di 4 gradi, dovuta allo scaricarsi delle batterie.

Dobbiamo per forza di cose trovare una soluzione anche a questo problema.

Se vi ricordate abbiamo studiato un componente che poteva pure essere utilizzato per stabilizzare una tensione, esattamente il diodo zener.
Abbiamo visto che quando è polarizzato inversamente, ai suoi capi è presente una caduta di tensione fissa, uguale alla tensione di zener, e che questa caratteristica poteva essere sfruttata per ottenere un valore di tensione stabile, anche al variare della tensione di alimentazione.

Allora se utilizzo ad esempio un diodo zener da 3,6V, posso sfruttarlo per ottenere una tensione di valore fisso a 3,6V indipendentemente dalla variazione della tensione di alimentazione.

Termostato10.bmp

La resistenza serve per limitare la corrente che scorre nello zener, così adesso abbiamo una tensione fissa di 3,6V indipendente dalla tensione di alimentazione.
Ovviamente lo zener alimenta solo il partitore, e quindi volendo, adesso possiamo pure permetterci di alimentare il nostro circuito con una tensione un po' maggiore di 4,5V o un po' minore di 4,5V, possiamo pure utilizzare una tensione di 5V magari proveniente da un piccolo alimentatore, tanto tutti i componenti funzionano tranquillamente pure a 5V, pure il relè da 4,5V se alimentato a 5V non si mette a fare capricci.

L'unico neo è che adesso dobbiamo ricalcolarci nuovamente i valori delle resistenze del partitore, e della resistenza di isteresi per una tensione di 3,6V.

Oramai i calcoli li abbiamo già fatti parecchie volte, quindi non li ripeterò di nuovo, potete divertirvi a calcolare le diverse combinazioni di resistenze e potenziometro.
Io ad esempio ho calcolato la resistenza superiore da 7,5K, il potenziometro da 5K, e la resistenza inferiore da 10K.
Certo 7,5K non è un valore commerciale, ma è facilmente ottenibile mettendo 2 resistenze in parallelo da 15K.

Termostato11.bmp

Perfetto, con questa configurazione, abbiamo una tensione impostabile da un minimo di 1,6V e un massimo di 2,4V il che significa una temperatura impostabile da 16 gradi a 24 gradi, valori che una volta impostati rimangono fissi indipendentemente dalla tensione di alimentazione.

Adesso direi proprio che abbiamo finito, non ci rimane che disegnare il circuito finale.

Termostato12.bmp

R1,R2 =100
R3=1,8K
R4=82
R5,R6=15K
R7=10K
R8=220K
R9=1K
P1= pot. 5K
Dz1= zener 3,6V 0,5W
U1= Lm358
sens =LM35
Tr1=bc237
K1= relè omron 4,5V

Sotto il disegno del pcb, pronto per essere stampato, ovviamente già capovolto, in modo da poter essere utilizzato con la tecnica di incisione preferita.

Termostato_pcb
Pcb in formato pdf

Infine lo schema di montaggio, dove ho aggiunto pure 2 interruttori opzionali, il primo ON/OFF per alimentare il circuito, e un altro interruttore collegato in parallelo alla caldaia o eventuale carico, per tenere sempre attivo il carico, anche a circuito spento.
Ovviamente i 2 interruttori possono pure essere sostituiti da un unico interruttore 3 posizioni ON/OFF/MAN a 2 vie.

Termostato_pcb2.png

Avrete notato che la morsettiera per il collegamento del carico (caldaia) ha 3 morsetti.
Il centrale è il comune, quello in basso è il contatto NO, ovvero il contatto normalmente aperto, che si chiude quando il relè è eccitato, quindi il contatto da utilizzare per comandare la caldaia quando il termostato attiva il relè.
Infine vi è il morsetto in alto che è il contatto NC, ovvero il contatto normalmente chiuso, che si apre quando il relè è eccitato, quindi il contatto da utilizzare per il funzionamento inverso, ad esempio per un impianto di condizionamento o ventilazione.


Privacy Policy - Personalizza tracciamento pubblicitario