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.

Open experiment panel in a new tab

Download reproduction source

Três experimentos no navegador

O painel acima executa o balanço térmico. Altere a carga dos LEDs, a capacidade de remoção de calor do resfriamento, a temperatura externa média, a ventilação e o ponto de ajuste de resfriamento. Umidade e CO₂ funcionam como modelos separados nos painéis abaixo. Não é necessária instalação de Python; as instruções locais mais adiante no artigo são opcionais.

Abrir experimento de umidade

Abrir experimento de CO₂

Os três mantêm as entradas sintéticas originais e passos explícitos de 60 segundos ao longo de 24 horas a partir da meia-noite. As luzes permanecem acesas das 08:00 às 24:00. Os gráficos superiores conectam as amostras iniciais e horárias, não o histórico completo de comutação ou de valores extremos; as métricas de mínimo/máximo usam cada minuto. As amostras externas horárias do modelo térmico mantêm o valor do código original um minuto antes de cada hora exibida. As barras inferiores mostram os termos integrados diários. Ventilação positiva significa transferência líquida para fora; negativa significa para dentro. Use a comparação A/B, a tabela e as condições compartilhadas para inspecionar os resultados.

Constantes térmicas: capacidade térmica de 12 MJ/K, UA de envoltória de 450 W/K, 800 W de outro calor, 22 °C inicial, amplitude externa de 6 °C com pico às 15:00. O resfriamento é comutado no ponto de ajuste ±0,5 °C. Toda a potência dos LEDs se torna calor. O kWh térmico do resfriamento não é consumo elétrico.

Constantes de umidade: 300 m³ a 24 °C, UR inicial de 65%, desumidificador liga a 75% e desliga a 65%. O excesso de água acima da saturação é contabilizado separadamente como condensação. A transpiração é prescrita, não prevista a partir da UR. A carga latente não é consumo elétrico. O ar externo também é assumido a 24 °C.

Constantes de CO₂: 300 m³, 24 °C, 101325 Pa, 600 ppm inicial, injeção liga a 700 e desliga a 900 ppm. A simplificação original usa absorção apenas quando iluminado e respiração apenas no escuro. Os limites do navegador de ventilação ≥0,03 m³/s e absorção ≤0,08 kg/h mantêm o CO₂ não negativo dentro das faixas expostas. São limites didáticos, não padrões de cultura, ventilação ou segurança.

Esses modelos não estão acoplados: a temperatura de umidade/CO₂ não vem do modelo de calor. Eles não preveem a adequação de equipamentos, o desempenho real de instalações ou a produtividade da cultura. Os ZIPs originais e os resultados esperados permanecem inalterados. Salve cada ponto de entrada do navegador, kernel e configuração juntos para reproduzir os padrões localmente.

thermal: experiment.py · thermal_kernel.py · config.json

moisture: experiment.py · moisture_kernel.py · config.json

co2: experiment.py · co2_kernel.py · config.json

Laboratório de balanço térmico da sala de cultivo — separando LEDs, ventilação, envoltória e resfriamento

Comece com o resultado

Ao longo das 24 horas sintéticas, a temperatura da sala varia entre 18,884–24,547 °C. Os LEDs adicionam 192,0 kWh de calor ao limite da sala e o resfriamento remove 184,333 kWh de energia térmica. Não são medições nem parâmetros identificados de uma fazenda interna real. São entradas didáticas para verificar se o calor que entra, sai e se acumula usa um único registro de energia consistente.

Mudança Efeito esperado Mantido constante
Reduzir pela metade a potência dos LEDs Metade do calor da iluminação; menos carga de resfriamento Clima e envoltória
Dobrar a capacitância Mudança de temperatura mais lenta Balanço em regime permanente
Aumentar a ventilação Mais troca conforme a diferença interno–externo UA da envoltória
Zerar a capacidade de resfriamento Nenhuma supressão do aumento por equipamento Calor dos LEDs

A visão geral do CEA definiu o limite planta–ambiente–equipamento, e o Laboratório VPD/DLI derivou grandezas a partir de observações. Esta próxima etapa constrói o menor modelo dinâmico que conecta equipamentos à temperatura da sala.

Diagram 1 · Use the button to switch views
Um balanço térmico de sala de cultivo de zona única conectando ganhos de LEDs e equipamentos, troca de envoltória e ventilação, e remoção de resfriamento ao armazenamento térmico

Diagrama: Duskcoil. Um limite computacional esquemático para um modelo concentrado de zona única. Plantas, umidade, CO₂, calor latente e gradientes espaciais de temperatura são excluídos.

Adicione as taxas de calor antes de atualizar a temperatura

Assuma uma zona perfeitamente misturada com capacitância térmica efetiva C [J/K] e temperatura da sala T [°C]. Expresse cada taxa de calor em watts (J/s):

C\frac{dT}{dt}=Q_{LED}+Q_{other}-K(T-T_{out})-Q_{cool}

Use K=UA+\rho c_p\dot V [W/K]. A envoltória é agregada em UA, enquanto \rho c_p\dot V representa a troca sensível pela ventilação externa. Quando o ambiente externo está mais quente, T-T_{out} é negativo e esse termo adiciona calor internamente. Sua direção segue a diferença de temperatura; não é sempre uma perda.

O guia de estufas da Oklahoma State University Extension também conecta a capacidade de aquecimento à área exposta, ao isolamento e à diferença de temperatura interno–externo, e explica o papel da ventilação no controle de temperatura e umidade. A visão geral da modelagem de energia de edifícios do DOE dos EUA descreve combinações baseadas em física de envoltória, iluminação, HVAC, cronogramas e clima, incluindo suas interações.

Fixe o limite didático

Grandeza Valor sintético Significado neste modelo
Capacitância C 12 MJ/K Agregado fictício de ar e massa interna
Envoltória UA 450 W/K Paredes e teto reduzidos a um único valor
Ventilação \dot V 0,08 m³/s Troca sensível com ar na temperatura externa
Potência dos LEDs 12 kW, 08:00–24:00 Eventualmente se torna calor dentro deste limite
Outros ganhos 0,8 kW Agregado constante de bombas, ventiladores e equipamentos
Capacidade de resfriamento 14 kW Calor removido enquanto LIGADO, não demanda elétrica
Temperatura externa 21±6 °C Senoide com pico às 15:00

A luz primeiro atinge folhas e superfícies antes de se degradar em calor. Como este modelo não separa radiação, convecção ou massa vegetal, a linha de base atribui uma fração de calor de 1,0 à iluminação elétrica dentro do limite da sala. A orientação de iluminação do DOE também trata a iluminação como um ganho de calor interno que afeta a carga de resfriamento. Um limite real precisa reconsiderar a radiação que sai da sala, os acionadores remotos e o calor latente usado para evaporação.

O valor de 14 kW de resfriamento é remoção térmica, não eletricidade do compressor. Nenhum COP é assumido, portanto este resultado não pode ser convertido diretamente em uma conta de eletricidade.

Integre em passos de um minuto

O Euler explícito avança o estado de n para n+1:

T_{n+1}=T_n+\frac{Q_{net,n}\Delta t}{C}

O resfriamento usa um ponto de ajuste de 24 °C e histerese de 0,5 °C: LIGA em 24,5 °C ou acima e DESLIGA em 23,5 °C ou abaixo. Esta é uma regra mínima de comutação, não PID ou MPC. Um passo de tempo maior altera os horários de comutação e as excursões de temperatura, portanto compare tamanhos de passo antes de confiar no resultado numérico.

Execute o código e a entrada

Extraia o ZIP do experimento e execute dentro desse diretório. Requer Python 3.10+ e apenas a biblioteca padrão; nenhum acesso à rede é usado.

python3 experiment.py config.json > result.json
python3 -m unittest -v

Veja config.json, expected.json, e o experiment.py completo. manifest.json registra o contrato de entrada e os hashes SHA-256.

conductance = envelope_ua + air_density * air_cp * ventilation
net_heat = led_heat + other_heat - conductance * (indoor - outside) - cooling
indoor_next = indoor + net_heat * dt / thermal_capacitance

Altere, quebre e verifique

  1. Defina led_power_w como 6000. O calor dos LEDs se torna 96 kWh e a remoção de resfriamento deve diminuir.
  2. Dobre thermal_capacitance_j_per_k. A mudança de temperatura de curto prazo desacelera, enquanto a energia de origem em kWh permanece inalterada.
  3. Defina interno e externo como 20 °C e todos os ganhos, resfriamento, ventilação e UA como zero. A sala deve permanecer em 20 °C após uma hora.
  4. Aumente time_step_seconds e compare os extremos. Não afirme desempenho de controle quando os resultados dependem fortemente do passo numérico.
  5. Exclua uma chave, adicione uma chave desconhecida ou insira NaN ou uma capacidade negativa. O programa deve rejeitar em vez de adivinhar.

Os dez testes cobrem a linha de base, a conservação de fluxo zero, uma solução analítica de primeira ordem, o aquecimento proporcional por LED, o resíduo de energia e entradas malformadas. Passar por eles não valida uma instalação.

O que este modelo não consegue responder

  • Temperatura foliar, transpiração, calor latente de desumidificação, umidade ou VPD
  • Concentração de CO₂ e balanço de massa de ventilação
  • Gradientes entre prateleiras, curto-circuito de fluxo de ar ou posicionamento de sensores
  • Eficiência de carga parcial do HVAC, degelo, eletricidade de ventiladores ou bombas
  • Crescimento, qualidade, produtividade ou temperatura ótima da cultura

Uma extensão posterior de umidade deve adicionar a conservação de vapor d'água e o calor latente, mantendo a verificação de resíduo de energia térmica. Antes de comparar controladores, especifique quais coeficientes são medidos e quais saídas são usadas para a identificação.

Referências

Laboratório de balanço de umidade da sala de cultivo — conserve a massa de vapor, não a UR

Comece com o resultado

Para uma sala sintética de 300 m³ fixada a 24 °C, o cálculo de 24 horas fornece 64,817–75,269% UR, 34,8 kg de vapor vegetal prescrito, 12,793 kg de remoção líquida por ventilação e 21,542 kg de remoção por desumidificador. O resíduo do balanço hídrico permanece abaixo de 10^{-12} kg. São entradas didáticas, não transpiração medida da cultura nem desempenho de instalação.

Diagram 2 · Use the button to switch views
Um modelo de zona única conectando transpiração, ventilação, desumidificação e condensação à massa de vapor armazenada, depois convertendo massa e temperatura em UR

Diagrama: Duskcoil. Sintético, bem misturado e com temperatura fixa; a UR em si não é integrada como um estado conservado.

Não some porcentagens

A umidade relativa é uma razão em relação à saturação na temperatura atual. A mesma massa de vapor pode, portanto, produzir uma UR diferente quando a temperatura muda. Armazene a massa de vapor m_v [kg] em vez disso:

\frac{dm_v}{dt}=\dot m_{plant}-\dot V(\rho_{v,in}-\rho_{v,out})-\dot m_{dehum}-\dot m_{cond}

Use \rho_v=e/(R_vT_K) e e=RH\,e_s(T)/100, com a relação de saturação da equação 11 da FAO-56. O vapor acima da saturação é transferido explicitamente para condensado, em vez de silenciosamente limitar a UR.

Limite sintético

Entrada Valor Escopo
Temperatura interna/externa fixa em 24 °C Sem acoplamento térmico dinâmico
UR inicial/externa 65% / 60% Convertida em densidade a 24 °C
Ventilação 0,08 m³/s Troca líquida bem misturada
Fonte de vapor iluminado 2,0, escuro 0,35 kg/h Prescrita, não um modelo de cultura
Desumidificação 2,5 kg/h Remoção de água, não eletricidade
Limiares LIGA/DESLIGA 75% / 65% Histerese simples

A Penn State Extension trata condensação, umidade, ventilação e circulação de ar como preocupações conectadas de gestão de estufas. Este laboratório não prevê doenças.

Leia a carga latente a partir da massa de água

Usando a aproximação da FAO \lambda=2,45 MJ/kg próximo a 20 °C, a fonte sintética de 34,8 kg corresponde a 23,683 kWh de energia de mudança de fase. Essa carga latente é distinta do calor dos LEDs e do resfriamento sensível. A carga latente derivada da água removida não é eletricidade de compressor; COP e rejeição de calor do desumidificador são excluídos.

Execute e verifique

Extraia o ZIP e execute com Python 3.10+:

python3 experiment.py config.json > result.json
python3 -m unittest -v

O pacote expõe config.json, expected.json e experiment.py. Dez testes cobrem conversões ida e volta entre UR e densidade, conservação em sala fechada, uma fonte conhecida, conversão latente e entradas rejeitadas.

Altere ventilação, desumidificação e transpiração um de cada vez. Também altere a temperatura mantendo a massa de vapor fixa e observe a mudança de UR. O modelo não consegue responder sobre condensação foliar, fluxo de ar local, transpiração responsiva, doenças, crescimento ou CO₂. O posicionamento de sensores e medições independentes de transpiração e condensado coletado são pré-requisitos para uma identificação real.

Referências

Laboratório de balanço de CO₂ da sala de cultivo — acompanhe ventilação, absorção, respiração e suprimento

Comece com o resultado

Para uma sala sintética de 300 m³ fixada a 24 °C e 101325 Pa, o CO₂ varia entre 600–906,209 ppm ao longo de 24 horas. A absorção prescrita é 1,28 kg, a respiração adiciona 0,16 kg, o suprimento adiciona 2,967 kg, e a ventilação remove 1,756 kg líquidos. O resíduo do balanço molar permanece abaixo de 10^{-10} mol. Não são medições de desempenho de cultura ou equipamento.

Diagram 3 · Use the button to switch views
Um esquema conectando o suprimento e a respiração de CO2, a absorção pelas plantas e a ventilação à quantidade de CO2 armazenada internamente e ao ppm

Diagrama: Duskcoil. Um modelo de gás ideal bem misturado a temperatura e pressão fixas.

Conserve a quantidade, não o ppm

Seja o ar total da sala n_{air}=PV/(RT) mol e o CO₂ armazenado n mol, com ppm=10^6n/n_{air}:

\frac{dn}{dt}=\dot n_{supply}+\dot n_{resp}-\dot n_{uptake}-\dot n_{vent}

A ventilação segue a diferença de concentração interno–externo e o fluxo de ar molar. Alterar a temperatura, a pressão ou o volume altera o ppm correspondente à mesma quantidade de CO₂.

A Oklahoma State University Extension conecta o uso fotossintético diurno, a respiração noturna, a ventilação e a suplementação. Um cálculo do USDA ARS também usa o volume da estufa e a absorção assumida para estimar a depleção. Os fluxos deste laboratório são sintéticos e não reproduzem efeitos de produtividade ou configurações recomendadas.

Execute e verifique

Extraia o ZIP, depois use Python 3.10+:

python3 experiment.py config.json > result.json
python3 -m unittest -v

O pacote inclui config.json, expected.json e experiment.py. O suprimento liga a 700 ppm e desliga a 900 ppm. Oito testes cobrem a conservação em sala fechada, uma fonte conhecida de um mol, o resíduo do balanço e entradas inválidas.

Defina ventilação, absorção e suprimento como zero um de cada vez. A identificação real requer troca gasosa do dossel, vazamentos, posicionamento/calibração de sensores e medições do fluxo de suprimento. Este modelo não pode determinar limites de segurança, resposta da cultura, contaminantes de combustão, custo de CO₂ ou controle acoplado de temperatura/umidade.

Referências

What to read next

Review the backgroundLaboratório VPD e DLI — verifique as séries temporais de umidade e luz.Continue the seriesControle climático em CEA — temperatura, umidade, sensores, resposta e acoplamentoExplore another aspect of this fieldAquaponia CEA — limites de qualidade da água para peixes, micróbios e plantas