Ciao a tutti,
vorrei ricevere un parere su questione riguardante il sistema di controllo implementato in un termostato. La domanda riguarda un mix tra termotecnica e teoria dei controlli. Parti dal presupposto che qualsiasi soluzione avrà dei limiti di cui sono conscio però in qualche modo un modello approssimato “cautelativo” dobbiamo individuarlo.
Allego 2 figure inerenti il sistema di controllo implementato in modo da cercare di essere chiaro per quanto possibile. In allegato troverete lo schema di controllo principale ed anche un dettaglio del calcolo per determinare il contributo energetico delle stanze adiacenti (in altre parole un esploso dello riquadro giallo che si trova nell’immagine “schemadicontrolloprincipale”).
Come si vede nell’immagine “schemadicontrolloprincipale” il controllore implementato per ogni stanza si costituisce di un blocco PID (blocco rosso) che ha in ingresso la temperatura della stanza ed il setpoint da raggiungere, in funzione di tale differenza e delle costanti integrative e proporzionali il controllore da in uscita un segnale che viene limitato tra 0 e 100 dal blocco detto “Saturation”. Questo segnale verrà sottratto all’eventuale contributo derivante dalle stanze adiacenti (blocco giallo). In altre parole, nel caso ci sia un contributo dalle stanze adiacenti, l’azione di regolazione “ultima” verrà diminuita (riferimento uscita del blocco “raw_PI_fdw_command”) con conseguente diminuzione, seppur minima, del tempo di apertura della valvola (organo attuativo).
Detto ciò descrivo l’esploso del blocco giallo “dettagliostanzeadiacenti”: in ogni blocco “DeltaX” viene effettuata la sottrazione tra la temperatura misurata nella stanza adiacente X e la temperatura misurata nella stanza sulla quale si sta gestendo il controllo. L’uscita di ogni blocco “Delta” viene moltiplicata per un fattore decimale compreso tra 0 1 denominato “Peso”, ciò viene effettuato per tutte le stanze adiacenti (max 4). Tutti questi contributi vengono sommati, il risultato viene moltiplicato per la costante proporzionale del Controllore PID (ma questa moltiplicazione la puoi trascurare) ed infine limitato tra 0 e 100. L’uscita di tutta rappresenta la parte del blocco rosso ovvero quella sopra indicata come “all’eventuale contributo derivante dalle stanze adiacenti”.
Ora il mio problema è il seguente: conoscendo materiale, spessore, area di tutte le superfici contigue ed ovviamente la temperatura misurata nella stanza adiacente determinare un metodo per poter calcolare il “peso” da assegnare (esploso del blocco giallo) in modo da poter prendere in considerazione in minima parte ed in via cautelativa il contributo delle stanze adiacenti senza però rischiare che muoiano di “freddo”.Si Parta dal presupposto che se anche siamo un attimo sovrabbondanti sarà poi il controllore PID principale a rendersi conto di ciò e cercare di riportare la situazione alla normalità aumentando la propria azione.
Capisco che è un po incasinato quello che ti ho detto però se avete qualche idea per me può essere utile.
Grazie
PID e Feed Forward per controllo Temperatura
Moderatori:
dimaios,
carlomariamanenti
10 messaggi
• Pagina 1 di 1
0
voti
Ho capito abbastanza bene quanto hai scritto.
Anni fa mi ero dilettato a studiare qualcosa di simile, però senza giungere a conclusioni.
Purtroppo riesco solo a fare solo ulteriori domande.
Dovresti creare un modello matematico della capacità termica / resistenza termica delle quattro stanze e tempo di ritardo di propagazione del calore da una stanza e individuare le fonti di disturbo (persone oppure porte/finestre aperte, oppure la temperatura esterna) e poi provare la risposta con vari tipi di regolatore. partendo dal controllore più semplice: ogni locale ha un controllore indipendente)
Vuoi una regolazione proporzionale o una con banda morta?
Tutte le stanze hanno un proprio regolatore della temperatura?
Il sensore della temperatura rappresenta fedelmente la temperatura media di una stanza?
L'uscita del regolatore agisce su un termosifone (lento a variare il calore prodotto) o un fan coil (termoventilatore a rapoda variazione di calore ) ? Quanto è la inerzia termica del termosifone ?
Modello matematico del calore emesso in funzione del comando e della temperatura ambiente?
Risposta della temperatura a una variazione a gradino del comando ?
Nei requisiti tolleri delle sovraelongazioni della temperatura o vuoi una risposta sovrasmorzata?
Ora non mi viene più in mente altro.
Anni fa mi ero dilettato a studiare qualcosa di simile, però senza giungere a conclusioni.
Purtroppo riesco solo a fare solo ulteriori domande.
Dovresti creare un modello matematico della capacità termica / resistenza termica delle quattro stanze e tempo di ritardo di propagazione del calore da una stanza e individuare le fonti di disturbo (persone oppure porte/finestre aperte, oppure la temperatura esterna) e poi provare la risposta con vari tipi di regolatore. partendo dal controllore più semplice: ogni locale ha un controllore indipendente)
Vuoi una regolazione proporzionale o una con banda morta?
Tutte le stanze hanno un proprio regolatore della temperatura?
Il sensore della temperatura rappresenta fedelmente la temperatura media di una stanza?
L'uscita del regolatore agisce su un termosifone (lento a variare il calore prodotto) o un fan coil (termoventilatore a rapoda variazione di calore ) ? Quanto è la inerzia termica del termosifone ?
Modello matematico del calore emesso in funzione del comando e della temperatura ambiente?
Risposta della temperatura a una variazione a gradino del comando ?
Nei requisiti tolleri delle sovraelongazioni della temperatura o vuoi una risposta sovrasmorzata?
Ora non mi viene più in mente altro.

0
voti
Mi associo a quanto espresso da
Candy.
Anche perché, visto che in un tuo precedente posto chiedevi info su una villa con piscina: vuoi realmente controllare la temperatura dell'ambiente? o prevenire la condensa sulle pareti?
Anche perché, visto che in un tuo precedente posto chiedevi info su una villa con piscina: vuoi realmente controllare la temperatura dell'ambiente? o prevenire la condensa sulle pareti?
Altrove. .Volutamente Anonimo
0
voti
Grazie a tutti per le risposte...
Solo per rispondere brevemente alle osservazioni
1) è un applicazione pratica
2) il post della piscina non c'entra nulla con questo discussione
Grazie ancora
Solo per rispondere brevemente alle osservazioni
1) è un applicazione pratica
2) il post della piscina non c'entra nulla con questo discussione
Grazie ancora
0
voti
Ok io non ho studiato teoria dei controlli, ma ho fatto per diversi anni regolazione.
Ma da un punto di vista pratico se vai a correggere a valle dell'uscita PID rendi il sistema instabile.
Il PID legge la T, cerca di correggere l'uscita Y per raggiungere il set-point; a valle di questo tu vai a variare l'uscita del PID e quindi la T ambiente (in virtù della correzione che introduci legata alle stanze adiacenti).
Il PID legge un nuovo scostamento e corregge l'errore.
Ottieni solo un pendolamento e successivamente il sistema si riposiziona alla T impostata come set-point
Ma da un punto di vista pratico se vai a correggere a valle dell'uscita PID rendi il sistema instabile.
Il PID legge la T, cerca di correggere l'uscita Y per raggiungere il set-point; a valle di questo tu vai a variare l'uscita del PID e quindi la T ambiente (in virtù della correzione che introduci legata alle stanze adiacenti).
Il PID legge un nuovo scostamento e corregge l'errore.
Ottieni solo un pendolamento e successivamente il sistema si riposiziona alla T impostata come set-point
Altrove. .Volutamente Anonimo
0
voti
Personalmente non vedo lo scopo dell'andare a rilevare l temperatura altrove, dalle stanze confinanti, per poi calcolare semplicemente un contributo proporzionale. Hai già il contributo proporzionale del regolatore PID. Ammesso che per un ambiente civile abbia reale senso l'impiedo del regolatore PID.
Il senso del feedforward è, per cosa ne capisco e pratico, più utile in caso di predizione dell'azione in funzione di informazioni precise: E' stata aperta una porta, od una finestra, per x tempo, quindi, anche se il sensore non si è ancora accorto, aumento il riscaldamento dello n% per lo stesso tempo, perché è certo che è arrivata da fuori aria più fredda, (o calda). Cioè ho effettuato una regolazione in funzione di un conoscenza diretta di eventi rilevanti per la stabilità del sistema.
Anche quello di cui stai ragionando è parte sensata di una regolazione feedforward. Indubbiamente l'analisi della temperatura sulle 6 pareti esterne al cubo corrispondente permette in qualche modo di conoscere quanta energia viene persa causa temperature differenti, ma io mi limiterei ad associare dei coefficienti da proporzionare alla differenza di temperatura, senza troppi ragionamenti sui materiali, ecc., perché è una ricerca di precisione inutile in un controllo che può, tutto sommato essere semplice.
Per il riscaldamento è meglio investire in isolamento che in precisione della regolazione.
Il senso del feedforward è, per cosa ne capisco e pratico, più utile in caso di predizione dell'azione in funzione di informazioni precise: E' stata aperta una porta, od una finestra, per x tempo, quindi, anche se il sensore non si è ancora accorto, aumento il riscaldamento dello n% per lo stesso tempo, perché è certo che è arrivata da fuori aria più fredda, (o calda). Cioè ho effettuato una regolazione in funzione di un conoscenza diretta di eventi rilevanti per la stabilità del sistema.
Anche quello di cui stai ragionando è parte sensata di una regolazione feedforward. Indubbiamente l'analisi della temperatura sulle 6 pareti esterne al cubo corrispondente permette in qualche modo di conoscere quanta energia viene persa causa temperature differenti, ma io mi limiterei ad associare dei coefficienti da proporzionare alla differenza di temperatura, senza troppi ragionamenti sui materiali, ecc., perché è una ricerca di precisione inutile in un controllo che può, tutto sommato essere semplice.
Per il riscaldamento è meglio investire in isolamento che in precisione della regolazione.
-

Candy
32,5k 7 10 13 - CRU - Account cancellato su Richiesta utente
- Messaggi: 10123
- Iscritto il: 14 giu 2010, 22:54
0
voti
Ciao Mauro,
grazie per le utili osservazioni. Se possibile ti chiederei se in funzione di quanto hai letto ti viene in mente un metodo per poter stabilire un coefficente/peso attendibile o meglio cautelativo che possa determinare il contributo fornito dalla stanza adiacente tenendo solo conto delle differenze di temperatura senza andare a complicarmi la vita come giustamente da te suggerito.
Sono conscio che a livello termotecnico ci sono molte pecche implementate sul mio ragionamento del feed forward ma quanto da te scritto è proprio quello che dovrei implementare ovvero stabilire dei coefficenti moltiplicativi che possano seppur in minima parte tenere conto dell'eventuale contributo delle stanze adiacenti mediante individuazione delle differenze di temperatura senza compromettere il comfort della stanza.
Si parta dal presupposto che il controllo effettivo viene implementato dal PID e come tale controllo venga aggiornato ogni minuto anche se sono conscio che le inerzie in ambito termico sono ben più grandi del minuto in questione.
I parametri inerenti superficie, spessore, tipologia di materiale sono cose che posso rilevare ma se ad i fini del contributo energetico della stanza adiacente hanno poca importanza per come è stato impostato il controllo posso anche farne a meno. Pensavo che tali parametri potessero essere utili per determinare il coefficente moltiplicativo per la differenza di temperatura tra stanza in esame e stanza adiacente, ma se ciò non ha senso è inutile complicarmi la vita.
Grazie
grazie per le utili osservazioni. Se possibile ti chiederei se in funzione di quanto hai letto ti viene in mente un metodo per poter stabilire un coefficente/peso attendibile o meglio cautelativo che possa determinare il contributo fornito dalla stanza adiacente tenendo solo conto delle differenze di temperatura senza andare a complicarmi la vita come giustamente da te suggerito.
Sono conscio che a livello termotecnico ci sono molte pecche implementate sul mio ragionamento del feed forward ma quanto da te scritto è proprio quello che dovrei implementare ovvero stabilire dei coefficenti moltiplicativi che possano seppur in minima parte tenere conto dell'eventuale contributo delle stanze adiacenti mediante individuazione delle differenze di temperatura senza compromettere il comfort della stanza.
Si parta dal presupposto che il controllo effettivo viene implementato dal PID e come tale controllo venga aggiornato ogni minuto anche se sono conscio che le inerzie in ambito termico sono ben più grandi del minuto in questione.
I parametri inerenti superficie, spessore, tipologia di materiale sono cose che posso rilevare ma se ad i fini del contributo energetico della stanza adiacente hanno poca importanza per come è stato impostato il controllo posso anche farne a meno. Pensavo che tali parametri potessero essere utili per determinare il coefficente moltiplicativo per la differenza di temperatura tra stanza in esame e stanza adiacente, ma se ciò non ha senso è inutile complicarmi la vita.
Grazie
2
voti
Il problema è stato impostato in modo completamente errato.
Essendo per definizione un sistema multivariabile è inversimile trattarlo con dei PID che agiscono localmente e poi tentare di compensare i disturbi esterni ( temperature delle altre aree ) "smanettando compulsivamente" su coefficienti inverosimili.
Se si usano dei PID locali la temperatura delle stanze adiacenti risulta un disturbo sulla regolazione della temperatura locale ed il feedforward non è la soluzione corretta.
Se si usasse invece un controllore multivariabile ( un LQG va benissimo in questo caso ) allora si potrebbe pensare ad un'equalizzazione globale imponendo i vincoli del caso.
In alternativa, se il modello è fatto bene, puoi usare il controllo predittivo.
Essendo per definizione un sistema multivariabile è inversimile trattarlo con dei PID che agiscono localmente e poi tentare di compensare i disturbi esterni ( temperature delle altre aree ) "smanettando compulsivamente" su coefficienti inverosimili.
Se si usano dei PID locali la temperatura delle stanze adiacenti risulta un disturbo sulla regolazione della temperatura locale ed il feedforward non è la soluzione corretta.
Se si usasse invece un controllore multivariabile ( un LQG va benissimo in questo caso ) allora si potrebbe pensare ad un'equalizzazione globale imponendo i vincoli del caso.
In alternativa, se il modello è fatto bene, puoi usare il controllo predittivo.
Ingegneria : alternativa intelligente alla droga.
-

dimaios
30,2k 7 10 12 - G.Master EY

- Messaggi: 3381
- Iscritto il: 24 ago 2010, 14:12
- Località: Behind the scenes
0
voti
Secondo me, visto che hai ed usi MATLAB, ti conviene modellare il contributo delle altre stanze come un disturbo agente sul sistema da controllare. Dopodiché invece di utilizzare un PID potresti progettare un controllo robusto, in grado di controllare il sistema anche se (come è logico che sia) il modello di sistema non è preciso e sul sistema stesso agiscono disturbi di vario tipo. Mi sembra che MATLAB abbia un toolbox apposito per aiutarti nella procedura di design di questo tipo di controlli.
Sicuramente non è la via più semplice da seguire, ma potrebbe darti qualche soddisfazione in più di un PID.
Andrea
Sicuramente non è la via più semplice da seguire, ma potrebbe darti qualche soddisfazione in più di un PID.
Andrea
10 messaggi
• Pagina 1 di 1
Torna a Automazione industriale ed azionamenti
Chi c’è in linea
Visitano il forum: Nessuno e 4 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)





