Salve a tutti,
scrivo questo post perché ho un problema "concettuale" e non riesco a trasporlo a livello logico-informatico: mi sono costruito un cronotermostato con arduino, funziona bene e fa quello che voglio ma ho un problema con la lettura del sensore di temperatura. Ho un sensore di temperatura DS18B20 che restituisce un numero a due cifre decimali, lo converto in int con l'opportuno arrotondamento (<0.50 -> n; >=0.50 ->n+1) e lo faccio confrontare con la temperatura impostata t, finché le due temperature sono distanti funziona bene, il problema è quando la lettura del sensore si avvicina a quella impostata: il valore letto, infatti, comincia ad oscillare tra t-1 e t (immagino perché la temperatura letta oscilli tra t.49 e t.50 o giù di lì) il che fa scattare continuamente il relay che attacca/stacca la caldaia.
Come faccio ad avere una certa "isteresi" o comunque una soglia di trigger più ampia? Ho provato a fare la media ma non ha funzionato granchè, ho provato anche ad aggiungere/togliere un certo valore prefissato, ma questo non fa che spostare più giù o più su il problema...
Grazie a chi risponderà
Lettura sensore "con isteresi"
4 messaggi
• Pagina 1 di 1
2
voti
Pseudocodice
Leggi anche (prima voce trovata con google "hysteresis arduino")
Hysteresis
https://forum.arduino.cc/t/hysteresis/506190
- Codice: Seleziona tutto
Thi=20.2 //soglia superiore
Tlo=19.8 //soglia inferiore Thi-Tlo = isteresi
Tt=Tlo //imposto la soglia di scatto
Do loop
Ta=read_ta //leggo temperatura ambiente
If Ta < Tt //fa freddo
(istruzione per accendere la caldaia) // accendo caldaia
Tt=Th //imposto la soglia di scatto al valore superiore
else //fa caldo
(istruzione per spengere la caldaia) //spengo caldaia
Tt=Tl //imposto la soglia di scatto al valore inferiore
end loop
Leggi anche (prima voce trovata con google "hysteresis arduino")
Hysteresis
https://forum.arduino.cc/t/hysteresis/506190
0
voti
Secondo me prima di tutto devi rallentare la frequenza con cui il micro compie il controllo e utilizzare magari una media su molte letture ad esempio.
Una lettura al secondo e ogni cento fai la media e il confronto.
Puoi introdurre anche una piccola isteresi per limitare gli interventi allontanando la soglia esattamente come succede nei comparatori analogici con la reazione positiva.
Altrimenti c'è il sistema Pid che con un micro non è eccessivamente complicato da implementare.
In rete e anche su EY si trova molto materiale per studiare e affrontare l'argomento.
https://www.electroyou.it/vis_resource. ... zio&id=166
Ciao
Una lettura al secondo e ogni cento fai la media e il confronto.
Puoi introdurre anche una piccola isteresi per limitare gli interventi allontanando la soglia esattamente come succede nei comparatori analogici con la reazione positiva.
Altrimenti c'è il sistema Pid che con un micro non è eccessivamente complicato da implementare.
In rete e anche su EY si trova molto materiale per studiare e affrontare l'argomento.
https://www.electroyou.it/vis_resource. ... zio&id=166
Ciao
600 Elettra
4 messaggi
• Pagina 1 di 1
Chi c’è in linea
Visitano il forum: Nessuno e 11 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)




