Contents — find the section you need
Change parameters and verify
Open the panel, then press Run to load Python. You can stop execution and reset parameters. Results are computed on this device. No Python installation is required.
Local execution steps below are optional for reproducing the source results; they are not required for the browser experiment.
The experiment controls are in English.
Due esperimenti nel browser
Il pannello sopra esegue la risposta di raffreddamento: modifica la costante di tempo dell'attuatore, il calore sensibile dell'illuminazione e la capacità di raffreddamento. I preset a 0/300/900/1800 secondi mantengono gli altri input al loro valore di riferimento pubblicato. Temperatura e comando/raffreddamento erogato sono tracciati separatamente. Non è richiesta alcuna installazione di Python; i comandi di riproduzione locale riportati di seguito sono facoltativi.
Il pannello di controllo accoppiato esegue sia ON/OFF che PI per ogni variazione dei parametri. Sei grafici a barre distinti confrontano le violazioni di banda, la sovrapposizione dei comandi di raffreddamento/deumidificatore, il calore di raffreddamento, la rimozione dell'acqua e la variazione dell'attuatore. Ogni grafico ha unità e scala proprie. A/B salva un'intera coppia di risultati del controllore, cosicché il confronto tra controllori e il cambiamento delle condizioni restino distinti. Metriche complete, serie numeriche, download e condizioni condivise sono disponibili in entrambi i Lab.
La risposta di raffreddamento mantiene il modello originale di 12 ore, il passo Euler di 10 secondi per la stanza e l'aggiornamento esatto dell'attuatore del primo ordine con media sull'intervallo. Le luci si accendono a 2 ore e si spengono a 8 ore; la temperatura iniziale/di setpoint è 24°C, l'esterno 22°C, il calore di base 800 W, la capacità termica 12 MJ/K, l'UA 300 W/K e i guadagni PI fissi sono 0,6 e 0,0004. Tutti i campioni originali sono tracciati, incluso il comando finale mantenuto. La banda di valutazione resta 23–25°C. Errore e tempo in banda utilizzano l'inizio degli intervalli; gli estremi includono gli endpoint. Il modello esclude umidità e ritardo del sensore.
Il controllo accoppiato mantiene 24 ore con passi espliciti di 60 secondi, luci accese 08–24, iniziale 24°C/RH70%, 300 m³, 12 MJ/K, UA 450 W/K e ventilazione 0,05 m³/s. La temperatura esterna è 21±6°C e RH60%; la traspirazione con luce/al buio è prescritta rispettivamente a 2/0,35 kg/h. Le soglie ON/OFF restano 23,5/24,5°C e RH65/75%; i target PI restano 24°C/RH70% con i guadagni fissi originali e integrazione condizionale. Le violazioni utilizzano gli stati aggiornati rispetto a 23–25°C e RH60–80%. La variazione totale somma le variazioni assolute del comando, non il numero di commutazioni. La metrica di sovrapposizione originale conta i comandi positivi di raffreddamento e deumidificatore anche se il riscaldamento di compensazione interno è impostato a zero.
Il modello accoppiato limita l'acqua rispetto alla saturazione alla temperatura precedente, prima di aggiornare la temperatura; non ri-equilibra la condensazione dopo il raffreddamento né restituisce il calore di condensazione. Il raffreddamento è solo sensibile; l'essiccazione è un pozzo di massa prescritto con riscaldamento di compensazione separato. Non ha modello di batteria, ritardo dell'attuatore, dinamica del sensore o accoppiamento con la CO₂. I due Lab sono esperimenti sintetici distinti, non configurazioni intercambiabili. I kWh termici non sono elettricità, e limiti/preset sono ipotesi didattiche, non impostazioni per colture o dimensionamento delle apparecchiature. Kernel, configurazioni, ZIP e risultati di riferimento originali sono conservati.
cooling: experiment.py · cooling_kernel.py · config.json
coupled: experiment.py · coupled_kernel.py · config.json
Controllo di temperatura e umidità CEA — perché raffreddamento, essiccazione e ventilazione interagiscono
Temperatura e RH possono avere target separati, ma gli attuatori raramente influenzano una sola grandezza. Una batteria di raffreddamento rimuove calore sensibile e può condensare acqua sotto il punto di rugiada. Alcuni deumidificatori raccolgono acqua restituendo calore sensibile all'interno. La ventilazione trasporta insieme temperatura, vapore e CO₂ in base alle condizioni esterne. Interruttori indipendenti per temperatura e umidità possono quindi contrastarsi a vicenda.
Diagramma: Duskcoil. Uno schema a livello di responsabilità indipendente da una specifica configurazione delle apparecchiature.
Separare gli stati dai comandi
Il Lab del bilancio termico memorizza la temperatura della stanza T; il Lab del bilancio di umidità memorizza la massa di vapore m_v. La RH resta derivata anziché diventare un altro stato conservato.
| Comando | Effetto tipico sulla temperatura | Effetto tipico sull'umidità | Da misurare insieme |
|---|---|---|---|
| Raffreddamento | Rimuove calore sensibile | Condensa sotto il punto di rugiada della batteria | Temperatura di mandata, condensa |
| Deumidificazione | Può riscaldare l'ambiente interno | Rimuove acqua | Acqua raccolta, calore rigettato, potenza |
| Ventilazione | Riscalda o raffredda in base al differenziale esterno | Aggiunge o rimuove vapore | T/RH esterna, CO₂, portata d'aria |
| Riscaldamento/compensazione | Aggiunge calore sensibile | Nessuna variazione diretta di massa | La RH scende per effetto del cambio di temperatura |
| Umidificazione | L'evaporazione può consumare calore latente | Aggiunge acqua | Acqua di alimentazione, gocce, igiene |
Le linee guida HVAC del DOE statunitense distinguono il controllo sensibile da quello latente e descrivono le interazioni tra eccessivo raffreddamento e riscaldamento di compensazione. L'Oklahoma State University Extension tratta a sua volta la ventilazione della serra come parte sia della gestione della temperatura sia di quella dell'umidità.
La supervisione previene conflitti accidentali
Un raffreddamento guidato dall'umidità seguito da un riscaldamento a bassa temperatura può far funzionare insieme raffreddamento e riscaldamento. Ciò non è automaticamente sbagliato — un riscaldamento di compensazione deliberato può ridurre l'umidità — ma intento, durata consentita e costo energetico devono distinguere una modalità progettata da controllori che si annullano a vicenda.
Un supervisore minimo rende esplicite le priorità:
- Guasti dei sensori, condensazione e vincoli di protezione delle apparecchiature
- Limiti rigidi di temperatura e umidità assoluta
- Bande target normali e isteresi
- Condizioni che consentono o vietano il funzionamento simultaneo
- Limiti di potenza ed effetti collaterali come la perdita di CO₂ dovuta alla ventilazione
Condizioni di accettazione per il confronto tra controllori
I confronti on/off, basati su regole e PI devono condividere meteo, traspirazione prescritta, programma LED e stato iniziale. Fissare la capacità dell'attuatore, il tempo minimo di funzionamento/spegnimento, il ritardo, la saturazione e la contabilizzazione della potenza o dell'acqua raccolta. Riportare separatamente il tempo fuori dalle bande di temperatura e RH, la condensazione, il numero di commutazioni, il tempo di riscaldamento e raffreddamento simultanei e l'energia. Un unico errore medio non è sufficiente.
Rifiutare le esecuzioni che troncano silenziosamente i sensori, mantengono valori mancanti senza dichiararlo o forniscono meteo futuro a un solo controllore. Rifiutare anche le esecuzioni che violano i controlli residui sottostanti di energia o acqua.
Questo è un punto di partenza per la progettazione del controllo, non impostazioni specifiche per colture o raccomandazioni sulle apparecchiature. La prossima implementazione dovrebbe accoppiare solo gli stati termico e di umidità in un'unica simulazione, mantenendo la CO₂ come vincolo monitorato separatamente.
Riferimenti
- Grid-interactive Efficient Buildings: HVAC (U.S. DOE)
- The Hobby Greenhouse (Oklahoma State University Extension)
- Assessing the Risk of Disease in Greenhouses (Penn State Extension)
Sensori di temperatura e umidità — posizionamento, risposta e calibrazione
Quale temperatura vede il controllore?
Il Lab della risposta di raffreddamento separava il comando di raffreddamento dal raffreddamento erogato. Il suo controllore riceveva comunque direttamente la temperatura attuale del modello. Avvicinarsi a un impianto reale richiede di separare anche l'ambiente fisico, la lettura del sensore e il valore passato al controllo.
Si consideri un gradino ideale di temperatura dell'aria da 24°C a 26°C e un sistema di misura modellato con una costante di tempo del primo ordine di 60 secondi. Dopo 30 secondi, la sua lettura è 24,787°C. Confrontare quella lettura con 25°C non coglie uno sforamento già presente nell'ingresso. Questo è un calcolo analitico illustrativo, non dati di impianto o una specifica di prodotto.
Questo articolo è una guida alla progettazione della misura. Non ripete il Lab ad anello chiuso precedente né classifica prodotti, e la sua soglia di esempio non è una raccomandazione per una coltura.
Assegnare uno scopo a ciascuna posizione di misura
Una singola media delle letture della zona di coltivazione, dell'aria di mandata e dell'aria di ripresa elimina l'informazione su dove si è verificato un cambiamento. Definire la grandezza e la posizione di interesse prima di scegliere una regola di aggregazione. Il seguente piano di indagine è una proposta editoriale, non un requisito universale sul numero di sensori.
| Scopo | Esempi di posizioni da confrontare | Interpretazione |
|---|---|---|
| Descrivere la zona di coltivazione | Diverse altezze di ripiano, file e distanze dall'aria di mandata | Preservare le storie individuali e le differenze |
| Diagnosticare l'azione dell'HVAC | Aria di mandata e di ripresa | Tenerle distinte dalle letture della zona di coltivazione |
| Individuare scostamenti locali | Porta, parete e retro di un ripiano | Non nascondere una posizione estrema in una media |
| Indagare differenze tra strumenti | Co-locazione temporanea | Ridurre le differenze di posizione prima di confrontare gli strumenti |
La guida di progettazione di Sensirion individua nel posizionamento rappresentativo, nel ricambio d'aria dell'involucro e nelle influenze termiche questioni a livello di sistema. L'accuratezza autonoma di un sensore non stabilisce l'accuratezza installata.
Per un'indagine, registrare illuminazione, funzionamento delle ventole e stadio di crescita della coltura, quindi confrontare le posizioni in condizioni operative corrispondenti. Se un sensore portatile si sposta tra le posizioni, mantenere un punto di riferimento fisso: un cambiamento a livello dell'intera stanza durante l'indagine può altrimenti apparire come una differenza spaziale. Scambiare due strumenti tra le posizioni può aiutare, ma le condizioni possono cambiare durante lo scambio. Combinare gli scambi con la co-locazione per restringere la causa.
Separare il tempo di risposta dall'intervallo di registrazione
Leggere un valore ogni secondo non stabilisce una risposta fisica di un secondo. Temperatura e RH possono anche rispondere in modo diverso. Verificare la definizione e la configurazione installata; la guida di progettazione discute la risposta in termini di raggiungimento di circa il 63% di un gradino.
Solo per questo esempio, sia T la temperatura target, T_m la temperatura misurata e \tau_s la costante di tempo della misura:
Con equilibrio iniziale a 24°C, un ingresso costante di 26°C e \tau_s=60 secondi, la soluzione è T_m(t)=26-2\exp(-t/60).
| Tempo dopo il gradino | Temperatura target | Lettura | Target meno lettura |
|---|---|---|---|
| 30 s | 26,000°C | 24,787°C | 1,213°C |
| 60 s | 26,000°C | 25,264°C | 0,736°C |
| 180 s | 26,000°C | 25,900°C | 0,100°C |
La lettura raggiunge la soglia illustrativa di 25°C dopo circa 41,6 secondi. La registrazione discreta può posticipare il rilevamento fino al campione successivo. Questo modello inizia a rispondere immediatamente; è diverso dal puro tempo morto, durante il quale non si verifica alcuna risposta.
Salvare il seguente codice Python della libreria standard come sensor_example.py ed eseguire python3 sensor_example.py per riprodurre la tabella e il tempo di attraversamento della soglia. Non legge né scrive file esterni.
from math import exp, log
initial, final, tau = 24.0, 26.0, 60.0
for seconds in (30, 60, 180):
measured = final + (initial - final) * exp(-seconds / tau)
print(f"{seconds:3d} s: {measured:.3f} C, gap {final-measured:.3f} C")
threshold = 25.0
crossing = -tau * log((final - threshold) / (final - initial))
print(f"threshold crossing: {crossing:.1f} s")
Una stanza reale non deve necessariamente cambiare a gradino, e un sistema di misura installato non deve necessariamente avere un'unica costante di tempo. Quando si indaga la risposta a partire dai log, tenere conto della dinamica dello strumento di riferimento e dell'allineamento dei timestamp. L'intervallo tra un comando di raffreddamento e una lettura cambiata combina effetti dell'attuatore, del trasporto d'aria e della misura; quell'intervallo da solo non può identificare ciascun contributo.
Conservare il valore prima e dopo il filtraggio
Se il controllo applica una media mobile o un altro filtro, registrare sia l'output acquisito dallo strumento sia l'input di controllo elaborato. L'output acquisito potrebbe già includere elaborazioni interne. Conservare anche le impostazioni del filtro.
Per estendere il Lab precedente, utilizzare T_m-T_{sp} come errore PI mantenendo la vera temperatura del modello T per la valutazione. Contare separatamente il tempo fuori banda per la temperatura misurata e quella vera. Il calcolo qui non ha alcun anello di retroazione, quindi non fa alcuna affermazione numerica sull'oscillazione risultante o su un ulteriore sovraelongazione.
In un impianto, la temperatura vera non è direttamente disponibile. Anche le misure di riferimento indipendenti comportano incertezza; documentare lo strumento di riferimento, la posizione e le informazioni di calibrazione quando si riporta un confronto.
Trattare temperatura e RH come una coppia
L'umidità relativa esprime la pressione di vapore rispetto alla pressione di vapore saturo alla temperatura pertinente. Per i calcoli del VPD, usare temperatura e RH riferite alla stessa aria e allineare i loro timestamp. Combinare la temperatura del ripiano con la RH dell'aria di mandata non misura il VPD del ripiano.
Una sonda di umidità riscaldata richiede di distinguere la regione di rilevamento riscaldata dall'aria ambiente. La nota di Vaisala sulla sonda riscaldata descrive l'uso di una misura aggiuntiva della temperatura ambiente per ottenere la RH ambiente. Seguire la specifica di output dello strumento selezionato invece di trattare ogni output di sonda riscaldata come temperatura e RH della zona di coltivazione.
Quando si forniscono valori al Lab del VPD, distinguere un calcolo basato sulla temperatura dell'aria da un calcolo foglia-aria che usa la temperatura fogliare. Senza una misura della temperatura fogliare, non etichettare il risultato basato sull'aria come una condizione fogliare misurata.
Tenere separate calibrazione, regolazione e indagini di posizionamento
La nota di calibrazione di Vaisala distingue il confronto con un riferimento dalla regolazione di uno strumento. L'accordo in un punto non verifica l'intero intervallo operativo. Scegliere i punti di confronto e i limiti di accettazione tenendo conto dell'intervallo operativo e dell'incertezza del riferimento.
Registrare l'ID dello strumento, la lettura prima della regolazione, la lettura di riferimento, le condizioni di stabilizzazione e la data. Se avviene una regolazione, aggiungere le variazioni di impostazione e il confronto successivo. Scartare la discrepanza originale rende più difficile valutare i registri di coltivazione precedenti.
Due strumenti in accordo non escludono un bias condiviso. La calibrazione non stabilisce nemmeno che la posizione installata rappresenti la zona di coltivazione. Completare il confronto tra strumenti e l'indagine di posizionamento come compiti separati.
Definire il record passato al controllo
I seguenti campi sono una proposta di progettazione della registrazione, non un insieme di dati misurati.
| Campo | Scopo |
|---|---|
| Timestamp di misura e ricezione, fuso orario | Separare il ritardo di comunicazione dal cambiamento ambientale |
| ID strumento, ID posizione, altezza installata | Tracciare sostituzioni e spostamenti |
| Temperatura, RH, unità, stato dello strumento | Identificare modalità di riscaldamento e letture non valide |
| Impostazioni del filtro e valore di controllo elaborato | Ricostruire l'ingresso del controllore |
| Illuminazione, ventole, comando di raffreddamento e stato operativo | Allineare i disturbi con la risposta dell'apparecchiatura |
| Storico di calibrazione, sostituzione e pulizia | Spiegare discontinuità attorno alla manutenzione |
Mantenere l'ultima lettura durante un guasto di comunicazione può produrre una visualizzazione rassicurante ma piatta. Trasmettere l'età del campione e la sua validità insieme al valore. Definire il limite dei dati obsoleti e la conseguente azione di controllo per l'apparecchiatura e la coltura effettive, quindi verificare quel comportamento durante il collaudo.
Prima del prossimo esperimento, indagare le differenze tra strumenti tramite co-locazione, le differenze spaziali tramite un'indagine di posizionamento e la latenza dall'acquisizione all'ingresso di controllo. Insieme, questi record supportano la decisione se modificare il controllore o migliorare il processo di misura.
Lab della risposta di raffreddamento — separare il comando PI dal raffreddamento erogato
Capacità di raffreddamento uguale non significa risposta uguale
Il confronto precedente sul controllo accoppiato supponeva che un cambiamento nel comando modificasse immediatamente la capacità di raffreddamento ed essiccazione. Questo esperimento isola il raffreddamento sensibile e lascia che la capacità erogata segua gradualmente il comando. È un modello sintetico di stanza, non un impianto di coltivazione misurato.
Nello stesso arco di 12 ore, aumentando la costante di tempo dell'attuatore da zero a 900 secondi, l'errore assoluto integrato di temperatura passa da 2,287 a 4,351 K·h e la temperatura minima da 23,419 a 23,044°C. Entrambi i casi restano entro la banda scelta di 23–25°C. Un controllo binario superato/non superato della banda nasconde quindi una differenza sostanziale nella risposta.
Figura: Duskcoil, generata dalla simulazione Python distribuita. La traccia rossa a 1800 secondi è un caso di stress. La banda è un'ipotesi sperimentale, non una raccomandazione per una coltura.
Un esperimento deliberatamente più piccolo
Questo è un esperimento separato per isolare la risposta dell'attuatore, non una riesecuzione a un solo parametro del modello accoppiato precedente. Esclude umidità, traspirazione, riscaldamento di compensazione del deumidificatore e CO₂. Tutti i casi usano 22°C di aria esterna, 800 W di calore di fondo e un ulteriore calore sensibile legato all'illuminazione di 8.000 W tra le ore 2 e 8. Gli 8.000 W non sono una stima della domanda elettrica dell'illuminazione.
| Impostazione | Valore | Interpretazione |
|---|---|---|
| Capacità termica effettiva | 12 MJ/K | Stanza sintetica e contenuti, non solo l'aria |
| Conduttanza dell'involucro | 300 W/K | Trasferimento di calore proporzionale al differenziale interno/esterno |
| Raffreddamento massimo | 12 kW | Rimozione di calore sensibile, non elettricità |
| Temperatura iniziale e setpoint | 24°C | Identica in ogni caso |
| Banda di valutazione | 23–25°C | Criterio di accettazione per questo esperimento |
| Intervallo di simulazione e controllo | 10 secondi | Le transizioni della luce si allineano alla griglia |
| Guadagni PI | 0,6 K⁻¹; 0,0004 K⁻¹s⁻¹ | Impostazioni sintetiche fisse |
| Costante di tempo dell'attuatore | 0, 300, 900 secondi | La variabile in confronto |
Il progetto DOE sulla separazione sensibile/latente descrive una tecnologia che gestisce separatamente i carichi termici e di umidità. Questo modello di stanza non riproduce quell'apparecchiatura; il controllo dell'umidità e l'elettricità richiedono modelli e valutazioni aggiuntivi.
Assegnare al comando e all'output erogato variabili separate
Definire l'errore in modo che una temperatura superiore al setpoint aumenti il raffreddamento. L'output PI limitato a 0–1 è il comando u. Il raffreddamento erogato come frazione della capacità massima è a.
Questo è un ritardo del primo ordine. Sotto un comando costante, una costante di tempo copre circa il 63,2% della variazione richiesta. Una costante di tempo di 900 secondi non significa che non accada nulla per 900 secondi: quello sarebbe tempo morto. L'output erogato parte da zero; solo il caso a costante di tempo nulla segue il comando istantaneamente.
La stanza utilizza un bilancio di calore sensibile:
Il codice mantiene il comando per ciascun intervallo di dieci secondi e calcola analiticamente il punto finale e la media sull'intervallo dell'attuatore. La temperatura della stanza usa Euler in avanti con il raffreddamento medio sull'intervallo. Ciò evita di contare la velocità di raffreddamento al punto finale come se fosse stata erogata per tutto l'intervallo.
Il controllore PI utilizza l'integrazione condizionale: congela l'integrale quando il comando non vincolato supera il proprio limite superiore e l'errore lo spingerebbe ulteriormente verso la saturazione, ma consente l'integrazione che ne libera l'uscita dalla saturazione. MathWorks distingue questo metodo dal tracciamento dell'effettiva uscita dell'attuatore. Qui è implementata solo l'integrazione condizionale; da sola non compensa la dinamica dell'attuatore.
Confrontare le metriche sullo stesso intervallo
| Costante di tempo | Minimo °C | Massimo °C | Fuori banda h | Errore assoluto K·h | Calore di raffreddamento kWh |
|---|---|---|---|---|---|
| 0 secondi | 23,419 | 24,580 | 0,000 | 2,287 | 51,572 |
| 300 secondi | 23,319 | 24,679 | 0,000 | 2,751 | 51,953 |
| 900 secondi | 23,044 | 24,877 | 0,000 | 4,351 | 53,072 |
| 1800 secondi, caso di stress | 22,730 | 25,110 | 3,650 | 6,880 | 54,380 |
L'errore assoluto integrato accumula |T-T_{sp}|, quindi le deviazioni calde e fredde non possono annullarsi a vicenda. La durata in banda e l'errore usano la temperatura all'inizio di ciascun intervallo: sono approssimazioni a dieci secondi. I minimi e i massimi includono tutti gli endpoint della griglia, incluso lo stato iniziale e finale.
Allo spegnimento delle luci, l'ingresso di calore sensibile scende immediatamente mentre il raffreddamento erogato decade gradualmente. Confrontare l'output residuo del pannello inferiore dopo la diminuzione del comando con l'escursione fredda del pannello superiore. Un aumento del calore di raffreddamento non può essere interpretato direttamente come un aumento di elettricità o costo: non esiste un modello di COP di raffreddamento, pompa o ventola.
Esegui, poi cambia una condizione
Estrarre lo ZIP riproducibile in una directory vuota. Il calcolo e i test richiedono solo la libreria standard di Python; la convalida ha usato Python 3.12.
python3 reproduce.py
python3 -m unittest -v
python3 experiment.py config.json --tau 900 --csv trace-local.csv
python3 experiment.py config.json --tau 1800
reproduce.py verifica gli hash dei file distribuiti e ricalcola i casi salvati a 0, 300 e 900 secondi. L'esportazione CSV rifiuta di sovrascrivere un file esistente. La riga finale del CSV riporta il comando precedente mantenuto; non rappresenta un nuovo aggiornamento di controllo al punto finale.
Download individuali: configurazione, codice sorgente del calcolo, risultati di riferimento, risultato a 1800 secondi, CSV a 900 secondi, e manifest.
Provare prima 1800 secondi senza cambiare i guadagni. Trascorre 3,650 ore fuori banda. Ciò significa il fallimento del criterio di accettazione scelto, non una divergenza o un guasto dimostrato dell'apparecchiatura. Poi tornare a 900 secondi e cambiare dt_s a 5 per esaminare gli effetti della discretizzazione. Cambiare tutte le condizioni insieme oscura la causa del miglioramento.
Correttezza numerica e idoneità per l'impianto sono controlli diversi
Dieci test coprono la risposta analitica del primo ordine, la suddivisione dell'intervallo, i limiti dell'attuatore, il congelamento/rilascio dell'integrale, la soluzione nota a calore costante, il residuo del bilancio termico, gli output di riferimento, l'input non valido, la convergenza a mezzo passo e la violazione di banda nel caso di stress. Nei tre casi standard, dimezzare il passo da dieci a cinque secondi cambia gli estremi, l'errore assoluto e il calore di raffreddamento rispettivamente di meno di 0,03°C, 0,03 K·h e 0,03 kWh. La convergenza numerica non stabilisce che i parametri sintetici rappresentino un impianto.
Per un'installazione reale, raccogliere storici dei comandi e misure che possano stimare il raffreddamento erogato, quindi separare i dati di identificazione da quelli di convalida. Ritardo del sensore, tempi minimi di funzionamento, funzionamento a stadi, tempo morto e accoppiamento con l'umidità sono ulteriori estensioni. Setpoint per la coltura, rischio di malattie e percentuali di risparmio energetico non sono output di questo esperimento.
Continua a leggere
Sensori di temperatura e umidità esamina il posizionamento, la risposta della misura e la calibrazione prima di passare le letture al controllo.
Lab del controllo accoppiato — confrontare on/off e PI in presenza degli stessi disturbi
Partiamo dal risultato
Nello stesso arco sintetico di 24 ore, il PI riduce la variazione totale dell'attuatore da 34,0 a 2,853 e la rimozione di calore da raffreddamento da 182,233 a 178,854 kWh. Ma la violazione della temperatura aumenta da 7,95 a 10,02 h, e il raffreddamento simultaneo con riscaldamento di compensazione del deumidificatore aumenta da 9,37 a 14,65 h. Questa esecuzione non stabilisce la superiorità del PI.
Diagramma: Duskcoil. Confine di sistema condiviso per il confronto tra controllori.
Condizioni condivise
I bilanci termico e di umidità sono combinati con soli due stati: la temperatura della stanza T e la massa di vapore m_v. Meteo, LED, traspirazione prescritta, stato iniziale, passo di 60 secondi, 14 kW di raffreddamento e 2,5 kg/h di essiccazione sono identici. Il deumidificatore sintetico restituisce 1,8 kW di calore sensibile all'interno. La CO₂ resta separata.
Le soglie di isteresi commutano intorno a 24±0,5°C e 65/75% RH. Gli output PI saturano a 0–1 e usano anti-windup condizionale. I guadagni sono sintetici, non impostazioni di apparecchiature calibrate.
| Metrica | On/off | PI |
|---|---|---|
| Fuori 23–25°C | 7,95 h | 10,02 h |
| Fuori 60–80% RH | 4,25 h | 4,25 h |
| Rimozione da raffreddamento | 182,23 kWh | 178,85 kWh |
| Acqua deumidificata | 24,25 kg | 23,06 kg |
| Raffreddamento/compensazione simultanei | 9,37 h | 14,65 h |
| Variazione totale dell'attuatore | 34,0 | 2,85 |
Come spiegano le linee guida DOE, il controllo sensibile e latente può comportare eccessivo raffreddamento e riscaldamento di compensazione. Una minore energia da sola non risolve la progettazione quando aumentano le violazioni o il funzionamento simultaneo.
Esegui e verifica
Estrarre lo ZIP:
python3 experiment.py config.json > result.json
python3 -m unittest -v
Vedere config.json, expected.json, e experiment.py. Otto test coprono entrambi i controllori, il determinismo, i residui di energia/acqua e gli input non validi.
Prima di regolare i guadagni, fissare bande di accettazione, pesi delle metriche, limiti di funzionamento simultaneo, conversione elettrica e ritardi dell'attuatore. Un'implementazione reale deve separare i dati di identificazione da quelli di convalida. Questo articolo non fornisce impostazioni per colture, risparmi reali sulle apparecchiature o una garanzia di superiorità del PI.
Il seguito sulla risposta di raffreddamento separa il comando dal raffreddamento erogato e fa variare solo la costante di tempo dell'attuatore.

Commenti
Accedi per continuare.
Nessun dato disponibile.