Arduino

Arduino

Regolazione P.I.D.

In questo progetto simulo la regolazione della temperatura di un forno elettrico con un regolatore che interviene in modo proporzionale, proporzionale+integrativo, proporzionale+integrativo+derivativo rispetto all'errore che si presenta al comparatore dovuto alla differenza tra il valore di set point (valore di temperatura impostato) ed il valore della grandezza rilevata in uscita dal forno stesso.
Supponendo che il forno, in base ai dati nominali di tensione e potenza, riesca a raggiungere una temperatura massima superiore al set point, il regolatore, agendo sull'alimentazione dell'elemento scaldante, dovrà essere in grado di riportare la temperatura del forno, dopo poche oscillazioni, al valore di set point in un tempo non troppo lungo.
Nel mio caso simulerò le regolazioni P, P.I. e P.I.D. facendo notare la differenza che esiste tra loro.
Per apprezzare questo confronto farò uso del PC trasferendo i dati elaborati da Arduino a Processing che infine li tradurrà in grafico su un piano cartesiano dove sulle ascisse c'è il tempo in minuti e sulle ordinate la temperatura in gradi centigradi.
Desidero precisare che la qualità della regolazione è influenzata dalla scelta ponderata dei coefficienti Kp, Ki e Kd in quanto valori non adeguati possono portare il sistema ad una instabilità permanente.

Per la realizzazione del progetto mi sono servito di:
1) un display LCD 2004 con interfaccia I2C per mostrare sia i messaggi all'utente che per impostare i valori dei coefficienti di regolazione e del coefficiente di scala;
2) tre potenziometri che mi permettono di selezionare il valore dei coefficienti ruotando la manopola;
3) due pulsanti, uno per impostare il coefficiente di scala Ks ed uno per inviare i dati tramite seriale a Processing;
4) due led, uno rosso ed uno verde, che si accendono quando la tempereatura, rispettivamente, supera il set point oppure sta sotto di esso;
5) uno speaker che emette dei beep seguendo l'andamento dei due led.

Collegamenti:
a) display LCD
Due terminali sono connessi all'alimentazione (+5V e GND) mentre gli agli due ai pin analogici A4 (SDA) e A5 (SCL);
b) potenziometri
Tutti sono connessi all'alimentazione (+5V e GND) con il morsetto centrale al pin analogico A2 (quello di sx relativo al Kd), al pin analogico A1 (quello centrale relativo al Ki), al pin analogico A0 (quello di dx relativo al Kp);
c) LED
Connessi con il lato corto tramite una resistenza di 220 ohm al GND e con il lato lungo al pin digitale A10 (ROSSO) e A11 (VERDE);
d) pulsanti
Connessi all'alimentazione (+5V e GND) tramite una resistenza di 10Kohm. A monte di quest'ultima si deriva un collegamento che va al pin digitale A7 (NERO) e al pin digitale A4 (GIALLO);
e) speaker
Connesso all'alimentazione con il cavo nero al GND e con quello rosso al pin digitale A13.

Il codice relativo al progetto è disponibile al link PID mentre quello relativo ai grafici al link processing_PID.

 

Nessun commento:

Posta un commento