tu hai due condizioni (credo):
sopra i 24 la ventola è accesa
sotto i 20 la ventola è spenta
in mezzo non cambia nulla: se ci arrivi scendendo è accesa la ventola e se ci arrivi salendo è acceso il riscaldatore no?
se cosi fosse il mio codice senza la riga in mezzo introuce l'isteresi corretta
isteresi con arduino
15 messaggi
• Pagina 2 di 2 • 1, 2
0
voti
Così a me parrebbe semplice e pulito:
L'isteresi diretta sulla variabile di processo (temperatura) l'hai già definita con i tre valori.
A meno che tu non abbia fluttuazioni istantanee che la portano dalla soglia alta (H_temp) alla soglia bassa (L_temp) o viceversa, non accade che nella medesima esecuzione del ciclo occorre attivare la ventola e disattivare la piastra o viceversa.
L'attivazione della ventola o della piastra avviene solo ed esclusivamente se, rispettivamente, la temperatura supera in eccesso H_temp o supera in difetto L_temp (verso della variazione).
Non credo occorranno flag di appoggio.
Quello che potresti ancora aggiungere, eventualmente, sarebbe una isteresi temporale rispetto al superamento di ogni soglia.
Saluti
- Codice: Seleziona tutto
//...
//...
# define H_temp 491
# define M_temp 450
# define L_temp 409
//...
//...
void setup()
{
//...
//...
}
void loop()
{
int temperatura;
temperatura =analogRead(0);
if (temperatura > H_temp)
{
digitalWrite(ventola,HIGH);
}
else
{
if (temperatura < M_temp)
{
digitalWrite(ventola,LOW);
}
}
if (temperatura < L_temp)
{
digitalWrite(piastra,HIGH);
}
else
{
if (temperatura > M_temp)
{
digitalWrite(piastra,LOW);
}
}
}
L'isteresi diretta sulla variabile di processo (temperatura) l'hai già definita con i tre valori.
A meno che tu non abbia fluttuazioni istantanee che la portano dalla soglia alta (H_temp) alla soglia bassa (L_temp) o viceversa, non accade che nella medesima esecuzione del ciclo occorre attivare la ventola e disattivare la piastra o viceversa.
L'attivazione della ventola o della piastra avviene solo ed esclusivamente se, rispettivamente, la temperatura supera in eccesso H_temp o supera in difetto L_temp (verso della variazione).
Non credo occorranno flag di appoggio.
Quello che potresti ancora aggiungere, eventualmente, sarebbe una isteresi temporale rispetto al superamento di ogni soglia.
Saluti
W - U.H.F.
-

WALTERmwp
30,2k 4 8 13 - G.Master EY

- Messaggi: 8982
- Iscritto il: 17 lug 2010, 18:42
- Località: le 4 del mattino
0
voti
dadduni ha scritto:tu hai due condizioni (credo):
sopra i 24 la ventola è accesa
sotto i 20 la ventola è spenta
in mezzo non cambia nulla: se ci arrivi scendendo è accesa la ventola e se ci arrivi salendo è acceso il riscaldatore no?
se cosi fosse il mio codice senza la riga in mezzo introuce l'isteresi corretta
si dovrebbe essere corretta....non avendo al momento arduino...ho fatto una prova con il devc++ e sembra funzionare...
0
voti
WALTERmwp ha scritto:Così a me parrebbe semplice e pulito: (...)
anche questo programma mi sembra buono
grazie mille...
Ultima modifica di
WALTERmwp il 26 giu 2018, 8:54, modificato 1 volta in totale.
Motivazione: Ridotta citazione, la sua integrità è ininfluente.
Motivazione: Ridotta citazione, la sua integrità è ininfluente.
15 messaggi
• Pagina 2 di 2 • 1, 2
Chi c’è in linea
Visitano il forum: Nessuno e 8 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)


