Jump to content
PLC Forum


Controllo temperatura con Arduino


Fabri82
 Share

Recommended Posts

Salve a tutti,

chiedo consiglio a voi esperti...devo controllare la temperatura della mandata del mio riscaldamento. In poche parole vorrei alzare un'uscita (far partire un contaore per esempio, sempre su arduino) ogni volta che la caldaia si accende. Diciamo che voglio controllare il "fronte di salita" della temperatura ovvero quando da uno stato di riposo (acqua in fase di raffreddamento) si passa ad un "fronte di salita" ovvero quando la caldaia si accende e scalda l'acqua del riscaldamento.

Sostanzialmente ho bisogno di fare qualche calcolo matematico...pensavo di leggere una temperatura, tenerla in memoria, rileggere nuovamente e a questo punto fare una differenza tra l'ultima lettura e la precedente. se il risultato è maggiore di "0" allora significa che la caldaia è accesa e sta scaldando la mandata.

Rimane il fatto che avere un contatto normalmente aperto sulla morsettiera della caldaia che mi dia un segnale ad ogni accensione sarebbe il top ma ho notato che questa possibilità manca e quindi devo inventarmi qualcosa 🙃😄.

 

In allegato riporto un grafico che forse spiega meglio l'applicazione.

 

Avete qualche spunto per scrivere due righe di programma? O anche altre idee chiaramente! 

Grazie infinite!!!

Schermata 2021-12-22 alle 23.47.24.png

Link to comment
Share on other sites


Io hogia fatto qualche cosa di simile con Arduino Nano.

A me serve per avvisarmi quando la caldaia a legna inizia a mandare acqua calda in circolo, così daevitare che la caldaia rimanga senza combustibile.

 

Io ho usato una sonda DS8B20, un po' perchè ne ho alcune in casa ed un po' perchè così misuro anche la temperatura dell'acqua con discreta precisione senza dover fare tarature. Però se ti serve solo per rilevare le variazioni di temperatura, puoi usare una sonda NTC posta sul rubinetto di ingresso di un radiatore.

 

Fa attenzione ad una cosa inportante: Arduino non ha alcuna immunità ai disturbi, tende ad "andare in palla" ad ogni starnuto di zanzara, quindi alimentazioni filtrate molto bene e, soprattutto, attivare il watch dog in modo che, nel caso malaugurato che il programma vada per ranocchie, si resetti tutto e riparta, visto che il tuo sistema non è assolutamente pericoloso.

 

Come realizzare il tutto?

Semplice usi l'istruzione millis che ti da il tempo trascorso dall'accensione, espresso in ms, sino a 1193 ore. Leggi e compari il tempo in modo che ogni 5" (esempio di intervallo di misurazione) lanci la lettura della temperatura. Se per 10 letture cosecutive il valore letto è aumentato hai il tuo fronte di salita che segnala la mandata dell'acqua. Io ho usato 10 letture consecutive, ma puoi anche ridurre i numero.

Similmente per la discesa.

Al riconoscimento dell'arrivo dell'acqua calda leggi sempre il tempo con milli, memorizzi il valore; ripeti la lettura al riconoscimento dell'inizio di raffreddamento. La differenza ti da il valore di tempo in cui la caldaia ha inviato acqua, espresso in ms.

Se vuoi tenere conto delle ore e minuti di riscaldamento, oltre a fare le conversioni opportune, puoi memorizzare il totale nella memmoria permanente di arduino, così in caso di spegnimento, reset o altro, hai sempre in memoria ild ato che ti interessa.

Se ci metti anche un visualizzatore 2x16 puoi visualizzare temperatura e totalizzatore di tempo di riscaldamento.

Link to comment
Share on other sites

del_user_293569

 

 

8 ore fa, Fabri82 ha scritto:

Rimane il fatto che avere un contatto normalmente aperto sulla morsettiera della caldaia che mi dia un segnale ad ogni accensione sarebbe il top ma ho notato che questa possibilità manca e quindi devo inventarmi qualcosa 

Se ti serve solo sapere quando si accende e si spegne il riscaldamento, ci sono dei termostati con contatto N.O. ;

Hanno una isteresi, ma se non e' necessaria una precisione al secondo, vanno bene;

Da prove che ho fatto va più che bene un termostato con soglia di intervento di 40°C.

Link to comment
Share on other sites

Fai attenzione solo che letture successive non è detto che avranno un valore maggiore anche durante il riscaldamento.

Prevedi una isteresi, a me è successo una cosa simile, sicuramente potresti avere lo stesso valore....

Link to comment
Share on other sites

20 ore fa, Fabri82 ha scritto:

ogni volta che la caldaia si accende. Diciamo che voglio controllare il "fronte di salita"

ma devi proprio vedere che ogni volta si accende il bruciatore?

Oppure puoi attendere che l'impianto si reffredda?

Se è il primo, e difficile monitorare quando il bruciatore si ferma per raggiungimento del set point dell'acqua, che ad esempio sarà di 70°. La fluttuazione sara solo di 10°C

Link to comment
Share on other sites

12 ore fa, Livio Orsini ha scritto:

Io hogia fatto qualche cosa di simile con Arduino Nano.

A me serve per avvisarmi quando la caldaia a legna inizia a mandare acqua calda in circolo, così daevitare che la caldaia rimanga senza combustibile.

 

Io ho usato una sonda DS8B20, un po' perchè ne ho alcune in casa ed un po' perchè così misuro anche la temperatura dell'acqua con discreta precisione senza dover fare tarature. Però se ti serve solo per rilevare le variazioni di temperatura, puoi usare una sonda NTC posta sul rubinetto di ingresso di un radiatore.

 

Fa attenzione ad una cosa inportante: Arduino non ha alcuna immunità ai disturbi, tende ad "andare in palla" ad ogni starnuto di zanzara, quindi alimentazioni filtrate molto bene e, soprattutto, attivare il watch dog in modo che, nel caso malaugurato che il programma vada per ranocchie, si resetti tutto e riparta, visto che il tuo sistema non è assolutamente pericoloso.

 

Come realizzare il tutto?

Semplice usi l'istruzione millis che ti da il tempo trascorso dall'accensione, espresso in ms, sino a 1193 ore. Leggi e compari il tempo in modo che ogni 5" (esempio di intervallo di misurazione) lanci la lettura della temperatura. Se per 10 letture cosecutive il valore letto è aumentato hai il tuo fronte di salita che segnala la mandata dell'acqua. Io ho usato 10 letture consecutive, ma puoi anche ridurre i numero.

Similmente per la discesa.

Al riconoscimento dell'arrivo dell'acqua calda leggi sempre il tempo con milli, memorizzi il valore; ripeti la lettura al riconoscimento dell'inizio di raffreddamento. La differenza ti da il valore di tempo in cui la caldaia ha inviato acqua, espresso in ms.

Se vuoi tenere conto delle ore e minuti di riscaldamento, oltre a fare le conversioni opportune, puoi memorizzare il totale nella memmoria permanente di arduino, così in caso di spegnimento, reset o altro, hai sempre in memoria ild ato che ti interessa.

Se ci metti anche un visualizzatore 2x16 puoi visualizzare temperatura e totalizzatore di tempo di riscaldamento.

Grazie mille per la dritta Livio. Gentilissimo.

Molto interessante la tua idea, cercherò di dargli forma anche se non sono un gran programmatore.

Magari provo a chiedere aiuto ai più esperti su come buttar giù un programmino...

 

Ti chiedo una cosa però: nella parte del grafico dove la curva si appiana, sia in salita che in discesa, ci saranno sicuramente (ho verificato facendo un datalog con Logo della Siemens) dei punti in cui la temperatura "balla" un po'. Intendo che ci sono delle variazioni di più o meno un grado che si verificano quando la temperatura non cambia in maniera repentina come nel momento in cui comincia a scaldare o quando la caldaia si spegne e la temperatura diminuisce rapidamente. Sul grafico si vedono bene questi momenti. Credo sia molto difficile filtrare questi piccole variazioni...non trovi? Specialmente in fase di riscaldamento quando, seppur la temperatura sia stabilizzata, la caldaia non è spenta e quindi non vorrei perdere dal conteggio questa "fase del grafico". Mi son spiegato 🤔 😁???

Link to comment
Share on other sites

6 minuti fa, max.bocca ha scritto:

Fai attenzione solo che letture successive non è detto che avranno un valore maggiore anche durante il riscaldamento.

Prevedi una isteresi, a me è successo una cosa simile, sicuramente potresti avere lo stesso valore....

Ciao Max, 

grazie per il passaggio. In effetti hai ragione 👍. E' quello che ho scritto in risposta a Livio (non avevo letto il tuo post...).

 

Link to comment
Share on other sites

7 minuti fa, DavidOne71 ha scritto:

ma devi proprio vedere che ogni volta si accende il bruciatore?

Oppure puoi attendere che l'impianto si reffredda?

Se è il primo, e difficile monitorare quando il bruciatore si ferma per raggiungimento del set point dell'acqua, che ad esempio sarà di 70°. La fluttuazione sara solo di 10°C

Ciao DavidOne,

grazie mille anche a te per l'interessamento!

Questa applicazione è più che altro una sfida....vorrei controllare il consumo della caldaia e l'unico modo che al momento vedo possibile è calcolare per quanto tempo rimane accesa. Purtroppo non ho nessun segnale digitale offerto dalla caldaia da portare fuori e gestirlo in maniera più facile...non ho altre idee...accetto volentierissimo consigli su altre strade da seguire!

Link to comment
Share on other sites

12 ore fa, Francesco_54 ha scritto:

 

 

Se ti serve solo sapere quando si accende e si spegne il riscaldamento, ci sono dei termostati con contatto N.O. ;

Hanno una isteresi, ma se non e' necessaria una precisione al secondo, vanno bene;

Da prove che ho fatto va più che bene un termostato con soglia di intervento di 40°C.

Ciao Francesco,

interessante anche il tuo consiglio. Forse lo vedo un po' troppo delicato in quanto devo lavorare in un range di temperatura abbastanza ridotto...circa 10°C. Trattasi di riscaldamento a pavimento e quindi il valore minore di temperatura è di circa 32°C mentre il valore massimo è di circa 43°C.

 

Link to comment
Share on other sites

del_user_293569
46 minuti fa, Fabri82 ha scritto:

Trattasi di riscaldamento a pavimento e quindi il valore minore di temperatura è di circa 32°C mentre il valore massimo è di circa 43°C.

Troppo ristretto l'intervallo di temperatura, anche mettendo un termostato da 35°C e' sicura la chiusura quando la temperatura sale, ma l'apertura a 32°C la vedo dura. A questo punto conviene andare su qualcosa di elettronico,

tipo questo qui sotto che puoi programmare la temperatura di intervento a passi da 0.1 °C.

Lo regoli a circa metà dell'escursione, 37°C e non hai problemi.

Io ne ho uno simile per le mie prove di laboratorio e va ottimamente.

Un poco ingombrante ma o così o vai sulle cineserie.

 

41SrwiN0AdL._AC_SX425_.jpg.331e1516e0200479950acac573ccbfb7.jpg

Edited by Francesco_54
Link to comment
Share on other sites

2 ore fa, Fabri82 ha scritto:

vorrei controllare il consumo della caldaia

Quindi bisogna captare tutte le volte che il bruciatore parte (certo che se il bruciatore modula il calcolo è un pò falsato).

Per fare questo un modo sarebbe fare la differenza della temp. d'ingresso e di uscita in modo da calcolare un valore assoluto e non relativo come sarebbe misurando solo la mandata.

Secondo me, ma poi farai delle prove, la soglia sara attorno ai 5°C sarebbe meglio dire 5K.

 

Es.

SET = 5K

Tin = 65°C

Tout = 75°C

Tdiff = Tout - Tin = 10K

se Tdiff>Set bruciatore ON

 

Dovrai inserire un isteresi, ma quello lo vediamo dopo se l'idea ti piace

 

Link to comment
Share on other sites

10 ore fa, Fabri82 ha scritto:

Ti chiedo una cosa però: nella parte del grafico dove la curva si appiana, sia in salita che in discesa, ci saranno sicuramente (

 

Certo e anche durante le salite e discese. Anche con temperatura rigorosamente costante ci possono essere due letture contigue che differiscono leggermente, questaper la somma degli errori del sistema di misura.

Ci sono diverse metodologie per eliminare l'influenza di queste oscillazioni.

Io ho usato una soglia minima di variazione ed una media a finestra scorrevole.

Il programma, tutto sommato, è semplicissimo una decina di righe o poco più, escludendo le librie per la gestione display e sensore.

 

Molto dipende da quello che vuoi fare.

Se ti interessa solo avere un'indicazione di quando parte la mandata dell'acqua calda e quando inizia a raffreddarsi, dopo lo spegnimento del bruciatore, un bel termostato elettromeccanico è la soluzione più sempòice ed affidabile.

 

Se invece vuoi, non solo sapere quando inizia il riscaldamento dell'acqua e quanto dura, ma anche tenere traccia di tutto allora devi usare sicuramente un qualche cosa simile ad arduino.

Io ho un altro dispositivo, che uso sempre per cointrollare il mio sistema di riscaldamento e non solo. In questo caso oltre a rilevare temperature ho un orologio e una memori card, così faccio del data logging sul microclima casalingo.

Se vuoi solo fare il conteggio del tempo di accensione del bruciatore, tutto sommato, la via di un micro come arduino è ancora la più semplice perchè, come ti ho scritto in precedenza, hai tutto pronto nella scheda con la sola interfaccia del sensore di temperatura. Memorizzi il totalizzatore di tempo di accensione nella EEProm della scheda. Per rileggere ed uasere questo dato ti basta poi il monitor diretto da PC.

Link to comment
Share on other sites

Rieccomi qua, ho dovuto dare la precedenza al lavoro nei giorni scorsi...

 

Prima di addentrarmi nel vivo del "progetto" ho preferito verificare bene la fattibilità del sistema con termometro alla mano e andando a misurare manualmente le temperature in gioco durante l'intero ciclo di accensione e spegnimento della caldaia. Ovviamente sia sulla mandata che sul ritorno perché mi piace l'idea di Davide, ovvero quella di lavorare sul delta differenziale tra le due misure per estrapolare un valore comparato con un SET definito. Io credo che purtroppo capire con una certa precisione se la caldaia è in funzione o se spenta è un'operazione molto ardua lavorando sulla rilevazione delle temperature....nel senso che mi son reso conto esserci una grosso divario di tempo per "trasportare" il calore dato dalla caldaia al circuito di mandata. Quindi perdo molto tempo...sostanzialmente perché il sistema ha un'inerzia elevata e quindi non credo di arrivare al risultato prefissato. Farò comunque dei tentativi e poi li confronterò con l'effettivo andamento della caldaia rilevato "manualmente" per capire quanto perdo...

Vi aggiornerò!!!

 

Grazie infinite a tutti quantiiiiii

E se vi vengono in mente altri consigli io ho sempre le orecchie aperte 😁

 

Link to comment
Share on other sites

Potresti inserire un pressostato (o trasmettitore di pressione se vuoi avere un segnale analogico) in modo da controllare quando il circolatore è attivo.

Oppure, se disponi degli schemi della caldaia, e se vuoi/puoi fare una modifica alla stessa, potresti mettere un relè in parallelo all'alimentazione del circolatore (soluzione da valutare come alternativa a quanto proposto sopra) ...

Link to comment
Share on other sites

Il circolatore può rimanere attivo anche con bruciatore spento.

L'alternativa è rilevare la tensione sulla valvola del gas, ma è un pò invasivo

Link to comment
Share on other sites

Prima sfogliavo il libretto della caldaia ed in effetti lo schema elettrico è abbastanza completo. L'unica cosa che però mi frena è che non ho nessuna conoscenza tecnica in materia di idraulica\termoidraulica per cui non ci ho ancora messo le mani...

Lo schema sarebbe questo 

https://www.schede-tecniche.it/schede-tecniche-caldaie/BUDERUS-scheda-tecnica-caldaia-condensazione-LOGAMAX-PLUS-GB172-HM.pdf

 

Pagina 8.

 

 

Link to comment
Share on other sites

9 ore fa, Fabri82 ha scritto:

per cui non ci ho ancora messo le mani...

 

Serebbe meglio non farlo.

La caldaia è un dispositivo certificato; oltre ad eventuali problemi di garanzia c'è anche un problema legale. Nel malaugurato caso di incidente avendo comunque manomesso il dispositivo ne saresti comunque coinvolto per la responsabilità.

 

Io eviterei qualsiasi interferenza/manomissione con i dispositivi della caldaia.

 

Se il tuo scopo è quello di avere un monitoraggio dei consumi della caldaia lo puoi ottenere indirettamente registrando la temperatura dell'acqua

Link to comment
Share on other sites

1 ora fa, Livio Orsini ha scritto:

Io eviterei qualsiasi interferenza/manomissione con i dispositivi della caldaia.

Effettivamente è meglio non modificare la caldaia anche solo per rilevare dei segnali, avrei fatto meglio a non suggerirlo ...

Oltre alla temperatura io registro anche la pressione del circuito, l'utilizzo dei 2 valori può agevolare l'analisi del funzionamento della caldaia.

Avrei aggiunto un grafico dei dati rilevati dalla mia caldaia ma sembra non sia possibile inserire dei jpg.

Link to comment
Share on other sites

11 ore fa, Fabri82 ha scritto:

Prima sfogliavo il libretto della caldaia ed in effetti lo schema elettrico è abbastanza completo. L'unica cosa che però mi frena è che non ho nessuna conoscenza tecnica in materia di idraulica\termoidraulica per cui non ci ho ancora messo le mani.

Lascia perdere ...

Se il bus di comunicazione della tua caldaia fosse un bus aperto potresti recuperare i dati (e magari anche comandare la caldaia) direttamente dal bus ma sembra che tu non abbia questa fortuna : ecocan-bus logamatic

Io ho una vaillant che utilizza un protocollo / bus proprietario (ebus) : dopo molte ricerche (sebbene abbia trovato un gateway) ho deciso di ricavare i dati utilizzando sensori esterni alla caldaia abbandonando l'idea di recuperare tutti i dati direttamente dalla caldaia. Purtroppo mi manca il dato più importante : il consumo di gas per il quale non credo di trovare un modo sicuro (non posso e non voglio modificare la linea del gas per installare un misuratore di portata), economico (i misuratori di portata gas che utilizzo per lavoro costano molto di più della caldaia stessa ) per averlo (in occasione del cambio di contatore ho chiesto al mio fornitore se era possibile averlo dotato di uscita impulsiva o con la possibilità di poterlo interrogare tramite qualche bus ma questa possibilità non è prevista/contemplata).

Link to comment
Share on other sites

2 ore fa, Livio Orsini ha scritto:

 

Serebbe meglio non farlo.

La caldaia è un dispositivo certificato; oltre ad eventuali problemi di garanzia c'è anche un problema legale. Nel malaugurato caso di incidente avendo comunque manomesso il dispositivo ne saresti comunque coinvolto per la responsabilità.

 

Io eviterei qualsiasi interferenza/manomissione con i dispositivi della caldaia.

 

Se il tuo scopo è quello di avere un monitoraggio dei consumi della caldaia lo puoi ottenere indirettamente registrando la temperatura dell'acqua

 

E' proprio per questo che in prima battuta ho preferito cercare un sistema non invasivo da porre "in parallelo". 

Se ci fosse stata una morsettiera con un contatto libero e comodo avrei forse pensato di utilizzarlo ma un intervento massiccio sul cablaggio lo eviterei.

 

Grazie mille.

 

1 ora fa, max.riservo ha scritto:

Effettivamente è meglio non modificare la caldaia anche solo per rilevare dei segnali, avrei fatto meglio a non suggerirlo ...

Oltre alla temperatura io registro anche la pressione del circuito, l'utilizzo dei 2 valori può agevolare l'analisi del funzionamento della caldaia.

Avrei aggiunto un grafico dei dati rilevati dalla mia caldaia ma sembra non sia possibile inserire dei jpg.

 

 

Grazie mille Max per il suggerimento e per l'attenta precisazione!!👍😉

 

 

Link to comment
Share on other sites

del_user_293569

Penso ti possa essere molto utile questo link: gestione sensori temperatura

Inoltre si può abbinare un sensore portata acqua e utilizzarlo come da gestione sensore portata

Puoi utilizzare i due sensori di temperatura per ottenere la temperatura differenziale tra mandata e ritorno.

Questo valore differenziale moltiplicato per il valore della portata acqua ti da un valore  proporzionale alla quantità di calore ceduto dall'impianto.

Edited by Francesco_54
Link to comment
Share on other sites

  • 1 year later...
iciamo che voglio controllare il "fronte di salita" della temperatura ovvero quando da uno stato di riposo (acqua in fase di raffreddamento) si passa ad un "fronte di salita" ovvero quando la caldaia si accende e scalda l'acqua del riscaldamento.

ogni caldaia quando deve partire con l apertura della valvola gas riceve un segnale da termostato , quindi puoi usare lo stato del segnale per misurare il tempo di funzionamento della caldaia, misurare la temperatura dell acqua non mi sembra un sistema preciso, perchè la variazione di temperatura è influenzata anche da altri fattori durante il raffreddamento dell acqua.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...