davideandClaude Sonnet 4.6 6e5e08d82f report_completo: identità aziendale, math LaTeX, T∞ dinamica
- Costanti aziendali: SOCIETA, DIPARTIMENTO, DOC_NUM, REVISIONE, CLASSIFICAZIONE
- Copertina con scheda documento (codice, revisione, stato, classificazione)
- Header a due righe: azienda | titolo | doc+rev / dipartimento | data
- Footer: classificazione | riferimento documento | pagina X/Y
- render_eq e render_sym con altezza dinamica (ImageReader)
- Simboli matematici nelle tabelle via render_sym (matplotlib mathtext)
- T∞ letta dinamicamente da start/report.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-14 11:01:44 +02:00
2026-04-01 09:32:16 +02:00
2026-05-14 08:21:14 +02:00
2026-04-01 09:32:16 +02:00

Analisi Termica Forno — Cevolani

Script Python per l'analisi del profilo termico di una scatola che attraversa un forno industriale, con acquisizione tramite sensori IR.

Setup (Windows)

python -m venv venv
venv\Scripts\activate
pip install -r requirements.txt

Avvio rapido

Tutto il progetto è accessibile tramite un menu interattivo:

python main.py

Il menu si ripete dopo ogni operazione finché non si preme 0 per uscire. Le voci del menu vengono costruite automaticamente in base alle cartelle presenti nel progetto: aggiungere una nuova cartella induttoreX/ con un appX.py la fa apparire automaticamente.


Struttura del progetto

temperatura/
├── data.csv                  # dati acquisiti (input)
├── main.py                   # menu interattivo
├── report_completo.py        # generatore report PDF + LaTeX
├── requirements.txt
├── start/
│   ├── calcola_t_amb.py      # calcola T∞ media ponderata
│   └── plot_temperatura.py   # visualizza i dati raw
└── induttoreX/               # una cartella per ogni induttore
    ├── appX.py               # script di fit (parametri hardcoded)
    ├── induttoreX.png        # grafico generato
    └── reportX.md            # report generato

Voci del menu

Calcola T ambiente

Script: start/calcola_t_amb.py

Calcola la temperatura ambiente media ponderata sul tempo (regola dei trapezi) usando la colonna temp_amb IR [C] dell'intera acquisizione. Stampa i risultati a console e genera start/report.md.

Il valore ottenuto viene usato come costante T∞ in tutti i fit.


Plot dati raw

Script: start/plot_temperatura.py

Visualizza il profilo grezzo di entrambe le serie (temp_obj IR e temp_amb IR) nell'intervallo definito dalle variabili T0 e T_END in cima al file. Salva il grafico in start/plot_temperatura.png.


Induttore X — appX.py

Script: induttoreX/appX.py

Esegue la regressione non lineare sul tratto di acquisizione definito dalle variabili T0 e T_END in cima allo script (modificabili manualmente). Produce:

  • induttoreX/induttoreX.png — grafico con dati raw e curva di fit sovrapposti
  • induttoreX/reportX.md — equazione trovata, parametri stimati con incertezze (1σ) e R²

Per aggiungere un nuovo induttore: copiare uno script esistente, aggiornare T0, T_END (e W0_START/W0_END se serve escludere un intervallo), e salvarlo in una nuova cartella induttoreX/.


Report completo (PDF + LaTeX)

Script: report_completo.py

Legge automaticamente tutti i reportX.md presenti nelle cartelle induttore*/ e genera:

  • report_completo.tex — sorgente LaTeX compilabile con MikTeX o TeX Live
  • report_completo.pdf — PDF professionale con cover page, scheda documento, header/footer e tabella riepilogativa finale

Il PDF viene generato direttamente da Python tramite reportlab (nessuna dipendenza esterna richiesta).


Dati

data.csv — colonne utilizzate:

Colonna Descrizione
time since start [ms] tempo dall'inizio (convertito in secondi negli script)
temp_obj IR [C] temperatura della scatola (target del fit)
temp_amb IR [C] temperatura ambiente (usata per calcolare T∞)

Modello di fitting

Tutti i fit usano il modello di raffreddamento di Newton:

T(t) = T∞ + A · exp( -(t - t₀) / τ )

con T∞ fissa (calcolata da calcola_t_amb.py) e parametri A, τ liberi, stimati con regressione non lineare (metodo TRF di scipy.optimize.curve_fit).

S
Description
No description provided
Readme
2 MiB
0 Stars 1 Watchers 0 Forks
Languages
Python 90.2%
TeX 9.2%
Shell 0.6%