from tclab import TCLab, clock, Historian, Plotter
= TCLab()
lab print("TCLab Temperatures:", lab.T1, lab.T2)
lab.close()
TCLab Lab 2: Identificazione del modello
Per questa sessione di laboratorio raccoglierai dati da un esperimento di step test, quindi adatterai i dati a modelli derivati dai bilanci energetici dei principi primi. Adattare i modelli ai dati è un’abilità ingegneristica che collega il mondo reale dei sistemi ingegneristici alla teoria appresa in classe.
Esercizio 1. Verificare il funzionamento del laboratorio di controllo della temperatura.
Eseguire la cella seguente per verificare di disporre di una connessione funzionante all’hardware del laboratorio di controllo della temperatura. Questo testerà l’installazione di TCLab.py, la connessione al dispositivo Arduino e il firmware funzionante all’interno di Arduino.
Esercizio 2. Verifica dello stato stazionario
Come discusso in classe, per un buon adattamento del modello è essenziale che l’hardware TCLab sia allo stato stazionario prima di procedere con lo step test. Eseguire il codice seguente per verificare che i riscaldatori siano spenti e che le temperature siano a una temperatura ambiente costante.
# experimental parameters
= 30
tfinal
# perform experiment
with TCLab() as lab:
= Historian(lab.sources)
h = Plotter(h, tfinal)
p for t in clock(tfinal):
p.update(t)
Esercizio 3. Prova a passi.
Il test a gradini consiste nell’accendere un riscaldatore al 50% della potenza e registrare i dati di temperatura per almeno 800 secondi. Copia e incolla il codice dell’esercizio 2 nella cella seguente, quindi modificalo secondo necessità per eseguire lo step test.
# write your code here
Esercizio 4. Verifica e salva i dati in un file .csv
Esegui la cella seguente per verificare e salvare i tuoi dati in un file “.csv”. Assicurati di poter trovare e localizzare i dati sul tuo laptop prima di lasciare il laboratorio. Avrai bisogno di accedere a questi dati per gli esercizi successivi.
import matplotlib.pyplot as plt
= h.fields
t, T1, T2, Q1, Q2
plt.plot(t, T1, t, T2, t, Q1, t, Q2)'T1','T2','Q1','Q2'])
plt.legend(['Time / seconds')
plt.xlabel(
plt.grid()
'tclab-data.csv') h.to_csv(
Esercizio 5. Analisi
1.) Approssimando i risultati dello step test per T1 come funzione di trasferimento del primo ordine, stimare la costante di tempo e il guadagno. Scrivi la tua risposta nella cella seguente.
# write your code here
2.) Come abbiamo discusso in classe, un semplice modello di bilancio energetico per T1 è dato da
\[C_p \frac{dT_1}{dt} = U_a(T_{amb} - T_1) + P Q_1\]
dove il parametro \(P\) è stato determinato, con mezzi indipendenti, come un aumento percentuale di 0.04 watt in \(Q_1\). Utilizza i risultati di questo esperimento per stimare i valori di \(C_p\) e \(U_a\). Scrivi le tue risposte nella cella seguente.