Output analogico

Buongiorno a tutti!
Sono un po' di giorni che studio arduino, ho in mente un progettino banale ma molto utile per casa mia (ma questo non è il tema del topic), ma non sono riuscito a capire se posso avere un segnale di uscita analogico, non digitale, in mV.
Grazie mille per l'aiuto...

Arduino UNO ha 6 uscite PWM. Il PWM é un segnale digitale (onda rettangolare) dove viene variato il rporto di tempo livello HIGH e livello LOW. La media del signale é confrontabiel a una tensione costante che varia il valore.
La media si puó fare con una resistenza che carica un condensatore.

L'alternativa é un DAC che converte un numero digitale in una tensione analogica. Per esempio il MCP4921 con 2 uscita e il MCP4922 con 2 uscite.

Poi con un partitore resistivo puoi abbassare la tensione ai valori da te richiesti (mV).

ciao Uwe

Grazie Uwe della risposta. In pratica avrei bisogno di sostituire la sonda climatica esterna della mia caldaia con arduino, quindi devo collegare la caldaia con arduino in maniera tale che arduino invii alla caldaia il segnale analogico in mV che invierebbe la sonda climatica, il tutto in automatico in base al codice di programma che carico su arduino. Tutto questo perchè così sarò io a regolare la temperatura di mandata della caldaia non solo in base alla temperatura esterna, ma tenendo conto di altri parametri che con arduino posso gestire.

ma che sonda devi sostituire?
Ciao Uwe

In pratica, adesso ho una sonda climatica (semplice sensore di temperatura) collegata alla caldaia e la caldaia mi manda l'acqua calda al pavimento in base alla temperatura esterna. Poichè la potenza della caldaia è maggiore del fabbisogno dell'abitazione, la caldaia fa continue accensioni di pochi secondi ogni 3 minuti. La mia idea consiste nel sostituire la sonda climatica con arduino e comunicare alla caldaia la differenza di potenziale come farebbe la sonda climatica, ma al valore che programmo io, tenendo conto della temperatura di ritorno dall'impianto, della temperatura esterna, della potenza minima della caldaia, in modo da permettere alla caldaia di funzionare in maniera più regolare. Non mi voglio dilungare per non farti perdere tempo, ma se vuoi posso spiegarti nel dettaglio cosa ho bisogno di fare...
Perciò, ho bisogno che il segnale che produce arduino sia un segnale in analogico, simile a quello della sonda esterna.

Si, perfetto, ma di che valori stiamo parlando ?
mV, Volts....
la sonda climatica ha un nome... o meglio ancora un modello ?

Dire " un sensore di temperatura" e' un po' generico. Puo' essere una termocoppia, una termoresistenza, PT100,PT1000,NTC,PTC, un sensore IC... troppi ce ne sono

Ricuzzu, la vedo dura.
Non é facile sostituire un sensore.
Ciao Uwe

Grazie brunello e Uwe per il vostro aiuto.
Domani scollego la sonda dalla caldaia e la apro, così brunello ti saprò dire di più. Comunque, se non erro, il segnale che arriva alla caldaia è in mV.

Uwe, stavo riflettendo, mi sa che è davvero dura. Dovrei trovare un potenziometro che, settato secondo le impostazioni della caldaia, vada a sostituire la sonda. Questo potenziometro dovrebbe variare la ddp in base al valore che arduino gli comunica, valore calcolato tenendo conto di vari parametri. In pratica, se arduino dai calcoli mi dice che a 0°C l'uscita deve essere di 10 mV, questi 10 mV devo comunicarli alla caldaia. Se cambiano dei parametri e l'uscita passa a 20 mV, il potenziometro dovrà variare la ddp per comunicarla correttamente alla caldaia. Ma come fare? Immagino che esistano dei potenziometri non manuali. Se così fosse, in base all'uscita analogica di arduino andrei a regolare il potenziometro per darmi la corretta ddp alla caldaia.

Esistono resistenze digitali che vengono pilotate via interfaccia ma sono ne di grande potenza (qualche mA) ne di grande tensione (normalmente solo 5V) e né di tanti passi (max 256) I valori sono normalmente 10, 50 e 100kOhm
Ciao Uwe

Ricuzzu:
Uwe, stavo riflettendo, mi sa che è davvero dura. Dovrei trovare un potenziometro che, settato secondo le impostazioni della caldaia, vada a sostituire la sonda. Questo potenziometro dovrebbe variare la ddp in base al valore che arduino gli comunica, valore calcolato tenendo conto di vari parametri.

La prima cosa da fare è determinare il tipo di sensore, se è una NTC/PTC la puoi sostituire con un potenziometro digitale di opportuno valore, lo comandi da Arduino tramite I2C o SPI, se è una termocoppia, o un sensore a semiconduttore, le cose si complicano non poco perché devi realmente simulare una tensione variabile nel giusto range, ti serve un DAC per farlo e a seconda del range di tensione potrebbe rivelarsi una cosa abbastanza delicata/complessa da implementare.

uwefed:
né di tanti passi (max 256) I valori sono normalmente 10, 50 e 100kOhm

Come passi i potenziometri digitali esistono anche da 1024 e 2048, come valore fondo scala si parte da 100 ohm a salire, semmai potrebbe essere difficile reperire il giusto potenziometro digitale per sostituire la sua sonda, ammesso che sia una NTC/PTC.
Se il corretto valore del potenziometro digitale risulta irreperibile sul normale mercato consumer è sempre possibile autocostruirlo tramite un array di resistenze e degli switch analogici, p.e. con 12 resistenze di precisione opportunamente scalate ottieni un potenziometro digitale da 2048 step.

Buonasera a tutti e grazie mille per l'aiuto.
Domani proverò a scollegare questa sonda esterna e l'aprirò per capire come è fatta. Mi sto rendendo conto che risulta essere molto complesso quello che chiedo di fare, forse è troppo per un principiante come me.

che fai, abbandoni ?
Ma se nemmeno abbiamo cominciato.

Ma non e' che quella caldaia si attiva anche in altre modalita', oltre a codesta "sonda di temperatura" ?

ma il classico termostato, non c'e'..... o e' appunto codesta sonda ?

No, forse mi sono espresso male, per mia natura sono testardo e tenace, intendevo dire che sono ancora un principiante e che prima di farvi perdere tempo dovrei imparare molto. Comunque, visto che sei molto disponibile, ti spiego:
la caldaia attualmente e collegata con sonda climatica e manda acqua calda all'impianto in base alla temperatura esterna. Nel mio caso, poichè la potenza della caldaia è troppo elevata per il fabbisogno dell'appartamento, appena tenta di alzare la temperatura di mandata posizionandosi su quella corretta come da curva climatica, spegne il bruciatore perchè la potenza necessaria è inferiore a quella minima della caldaia e il brucatore rimane inattivo per 3 minuti, poi ci riprova e così da 3 settimane...
la caldaia, senza sonda climatica, ha la regolazione a punto fisso, ovvero io posso impostare la temperatura di mandata all'impianto e se imposto un valore per cui supero la potenza minima della caldaia, essa funziona. Il problema è che ho un impianto a pavimento, perciò, se invio acqua più calda di quella necessaria, mi trovo con temperature troppo alte in casa, pessimo comfort e alti consumi. Se avessi i caloriferi non ci sarebbero problemi, appena la temperatura interna raggiunge il valore impostato, per esempio 20 °C, la caldaia si spegne fino a che il termostato non la riaccende. Con il riscaldamento a pavimento, l'alta inerzia termica non si sposa con la regolazione a termostato, ma si preferisce una regolazione climatica.
Ora devo escogitare un sistema per impedire alla mia caldaia di fare accensioni ogni 3 minuti di pochi secondi. L'idea era quella di creare con arduino un falso segnale alla caldaia regolato da me: se con 9°C il fabbisogno energetico dell'abitazione è 1.95 kWh, facciamo 2 kWh, se la potenza minima della caldaia è 5.5 kW, se riuscissi a tenerla accesa un'ora immetterei nell'impianto 5.5 kWh, se la tenessi accesa 30 min. immetterei 2.75 kWh di energia termica. Perciò, se la tenessi accesa 22 minuti avrei circa i 2000 Wh che mi occorrono. Tutto il ragionamento ha senso se nei 22 minuti si rimane con i 5.5 kW di potenza. Se la potenza aumenta, diminuisce il tempo di accensione. Nei restanti 38 minuti, il bruciatore rimarrebbe spento e il circolatore continuerebbe a far circolare l'acqua nell'impianto; l'acqua continuerebbe a rilasciare il calore nell'ambiente pari a quello che viene disperso dall'abitazione. So bene che ci possono essere delle variazioni di temperatura durante i 60 minuti, ma poichè l'intervallo e abbastanza limitato, queste dovrebbero essere quasi impercettibili. Quindi, a 9°C poniamo che la sonda invii un segnale di 30 mV. Allora, con arduino, io trovo il valore per cui la caldaia riesce a rimanere accesa al minimo e trovo, per esempio, che la temperatura esterna dovrebbe essere di -2°C. Allora, con arduino invio alla caldaia la ddp che serve per far credere alla caldaia che fuori ci sono -2°C quando invece ce ne sono 9°C, per un tempo che il programma gestirà autonomamente seguendo il codice che avrò io creato. Non so se sono stato chiaro... mi scuso...

Controlla che la caldaia non abbia anche un ingresso di regolazione potenza alternativa alla sonda climatica esterna,che sicuramente sarà una Ntc... Ad esempio recentemente ho apportato una modifica simile ad una caldaia DeDietrich che oltre all'ingresso modulante da sonda climatica ne aveva uno ben più comodo 0-10 volt... Controlla sul manuale della caldaia,oramai sono dei micro controllori pure loro...solo un suggerimento

Salute a tutti! Oggi sono riuscito a fare due foto alla sonda collegata alla caldaia...

La caldaia non ha l'ingresso che mi suggerisci tu...

Direi che è un termistore, ora tocca capire se è una NTC o una PTC, riesci a leggere la sigla sul componente ?

In questa foto si legge? Altrimenti, dove devo cercare?

Quella è la sigla del produttore per quel modulo, serve quella sul sensore vero e proprio che è la pastiglia di colore blu montata a lato del morsetto a vite.

Ciao a tutti, sono nuovo del forum.
Leggo con interesse questa discussione perché io sto cercando di realizzare la stessa cosa, ma per un altro motivo (modifica in remoto tramite SMS della curva climatica di un palazzo).
Essendo un idraulico so dirti che "praticamente tutte" (almeno quelle che installo io) le caldaie hanno un controllo sui tempi tra un accensione e l'altra, e che quindi basta chiedere all'assistenza tecnica dalla casa produttrice (se sono un po' svegli) per farsi allungare i tempi tra un'accensione e l'altra.
Inoltre si possono aumentare e diminuire la temperatura di accensione e spegnimento della caldaia. Basta solo conoscere un po' i menù segreti dalla caldaia (chiedi all'assistenza).
Il tuo problema quindi si risolverebbe molto semplicemente senza l'ausilio di hardware aggiuntivo.
Inoltre se hai una caldaia a condensazione in generale modula la sua potenza da un 10 al 100%: per esempio se hai una 35kW modula fino a 3,5kW.
In buona sostanza SE il tuo idraulico ha fatto un bel lavoro, hai diritto alla "prima accensione" GRATUITA da parte della casa produttrice, e loro che conoscono alla perfezione centralina e menù ti DEVONO settare la caldaia bene per il tuo impianto, Risolvendoti il problema senza modifiche.
Se vuoi ottenere una cosa simile puoi fare in modo da interrompere con un mini relè il circuito con la sonda esterna, e la caldaia passa in automatico a punto fisso, o come suggerito prima, con qualche contatto ausiliare (molte caldaie ce l'hanno).

Io invece ho studiato come far emulare "bene" (spero) una sonda NTC al nostro piccolo Arduino in modo da ingannare la caldaia: prendendo delle resistenze ad alta precisione e con l'ausilio di alcuni micro-relè o qualcosa di simile. Però non ho capito una cosa: Come posso fare leggere una sonda di temperatura PT1000 ad Arduino?

Grazie del Vostro aiuto. Se riesco nel mio intento posto poi tutto il materiale!