Arduino

Arduino

Regolazione ON-OFF

Questo progetto è stato creato per simulare la regolazione di temperatura con il metodo ON-OFF.
Quando si vuole riscascaldare un corpo ad una certa temperatura, occorre conoscere:

1) le caratteristiche della sorgente di energia;
2) le caratteristiche fisiche del corpo;
3) le condizioni dell'ambiente in cui il corpo si trova 

Ad esempio, se si prende uno scaldabagno elettrico e si vuole scaldare l'acqua in esso contenuta sono necessari:
a) il valore della potenza elettrica dell'elemento scaldante;
b) la massa complessiva dell'acqua;
c) le caratteristiche fisiche del contentenitore;
d) le caratteristiche ambientali

Il modello matematico che si applica a questo processo si riferisce all'equazione dell'equilibrio termico:
Energia fornita = energia accumulata + energia dispersa

In termini analitici si scriverà:


W*Dt = c*M*DT + K*S*DT'*Dt

dove:

W: potenza elettrica in watt
c: calore specifico dell'acqua in Kcal/Kg*°C
M: massa dell'acqua in Kg
DT: salto di temperatura tra lo stato iniziale e quello finale in °C
K: coefficiente globale di trasmissione termica in W/m²*°C
S: superficie globale di smaltimento in m²
DT': salto di temperatura tra lo stato finale e quella esterna in °C
Dt: tempo per il riscaldamento dallo stato iniziale a quello finale in s

Ogni corpo ha un suo tempo di reazione al riscaldamento che dipende sia dalle sue caratteristiche fisiche che dall'ambiente in cui esso si trova e prende il nome di costante di tempo che si calcola con la seguente formula: tau = cM/KS.
Si nota che tau è proporzionale alla massa quindi corpi di grandi dimensioni si scaldano con difficoltà rispetto a quelli più piccoli.

Se vogliamo una stima del tempo che il bollitore impiegherà per far raggiungere all'acqua la temperatura finale desiderata, bisogna ricavare dalla formula dell'equilibrio termico il termine Dt:


Dt = cM*(Tf - Ti)/(W - KS*(Tf - Ti)

Quando la temperatura finale è stata raggiunta bisogna cercare di mantenenerla in modo da avere a disposizione una massa d'acqua a temperatura pressochè costante.
Per fare ciò occorre impostare una regolazione automatica che svolga questo compito.
I metodi per farlo sono diversi ma prima alcune premesse su come un sistema qualsiasi possa essere regolato. Lo schema a blocchi seguente illustra il controllo di una grandezza X.






Essa è prelevata alla fine del processo e rimandata all'inizio per confrontarla con il valore di riferimento R. Da questo confronto si calcola un errore R-X che può essere grande o piccolo, positivo o negativo. Esso entra nel regolatore R che decide quale azione intraprendere comunicandola all'attuatore A. Esso traduce gli ordini del regolatore emettendo una grandezza Y che, entrando nel sistema S, fa variare la grandezza X.
Tutto si ripete fino a quando l'errore R-X tende a zero.
Purtroppo nel sistema si introducono dei disturbi(ad es. un continuo prelievo di acqua calda con conseguente ingresso di fredda; abbassamento della temperatura ambiente; etc...) che non aiutano la regolazione della grandezza X e costringono il regolatore a svolgere il suo compito con più impegno.

La più comune e la più semplice delle regolazioni è quella detta di ON-OFF.
In questo caso l'attuatore A non dovrà fare altro che accendere o spegnere l'elemento scaldante, con la chiusura o apertura di un interruttore, fino a quando la temperatura non si attesta sul valore di setpoint cioè quello di riferimento.
E' chiaro che il sistema presenta una sua inerzia termica per cui questo tipo di regolazione deve possedere i seguenti requisiti:

- R : temperatura che si vuole raggiungere (setpoint)
- D : differenziale di temperatura cioè la distanza che esiste tra lo stato spento (OFF) e quello acceso (ON) detto anche zona neutra

Quando la temperatura sale, lo spegnimento avverrà per valori di T>R+D/2 mentre l'accensione  per valori di T<R-D/2.
Questa pendolazione sarà più accentuata se i disturbi sono frequenti e se il differenziale è ridotto.

Il progetto è stato realizzato mediante l'impiego di Arduino che, tramite la porta seriale, trasmette dati ad uno sketch di Processing facendo in modo che la regolazione sia visibile graficamente.

Per la realizzazione del progetto ho utilizzato:
1) un modulo Keypad 4x4 per l'input dei dati necessari;
2) un display LCD 1602 con interfaccia grafica I2C per visualizare le fasi della regolazione e le variazioni di temperatura;
3) due LED, uno rosso ed uno verde, per segnalare la fase di riscaldamento e quella di raffreddamento;
4) un buzzer o speaker che emette un beep ogni volta che si passa da una fase all'altra;
5) tre pulsanti, uno rosso che ha la funzione di favorire gli input necessari, uno blu che avvia il processo ed uno verde per resettare tutto e ricominciare.

Collegamenti:
a) modulo KeyPad
A partire da destra verso sinistra sulla morsettiera, gli otto terminali sono connessi ai pin digitali 9-8-7-6-5-4-3-2;
b) display LCD
Due terminali all'alimentazione (+5V e GND) mentre gli altri due ai pin analogici A5 (SCL) e A4 (SDA);
c) LED
Un terminale al GND ed uno, tramite resistenza da 220 ohm, al pin digitale 14 (A0) quello rosso, al pin digitale 15 (A1) quello verde;
d) buzzer
Un terminale al GND ed uno al pin digitale 16 (A2);
e) pulsanti
Alimentati tra il GND e i +5V tramite una resistenza di 10 Kohm. Il terminale connesso al GND, a monte della resistenza va al pin digitale 13 (rosso), al pin digitale 12 (blu) e al pin digitale 11 (verde).

Il codice relativo al progetto è disponibile al link Keypad_ON_OFF mentre quello di Processing al link ON_OFF.





Nessun commento:

Posta un commento