Controllo temperatura con ventola (esame maturità)

Tra 2 giorni ho l'esame di maturità , e devo parlare del progetto che abbiamo svolto (Controllo temperatura con ventola).
Di seguito vi riporto il programma di arduino :

PROGRAMMA: http://i68.tinypic.com/2vw732s.jpg.

Potete spiegarmi come funziona, e come vengono usate le istruzioni in questo caso ?
(Il programma è basato sulla percezione di 50° da parte del trasduttore LM35 che fornisce 10mV per grado)

Grazie. :slight_smile:

Immagine.jpg

Un programma talmente semplice che hai fatto pure tu e non sai spiegarlo? :slight_smile: :slight_smile: Che poi nemmeno te la segna la temperatura da quel codice, ma ti segna un ipotetico voltaggio. Che poi a sto punto era meglio usare map e poi dividere per 10/100/1000 a scelta, per le virgole se le volessi.

P.S. Ah e comunque adesso ho fatto caso che non ti sei presentato!!! Adesso arriva Guglielmo e so caxxi :smiley: Presentati QUI e leggi BENE il regolamento QUA

Fallo subito se vuoi altre risposte :wink: E vuoi evitare la caxxiata :grin:

>As_Needed: ... sono già qui e aspetto ... :smiling_imp:

Guglielmo

Ciao, mi sono presentato come mi avete suggerito , adesso posso avere una spiegazione generale, perché questo programma non l'ho scritto io .

gpb01:
>As_Needed: ... sono già qui e aspetto ... :smiling_imp:

Guglielmo

Non so d'accordo sul portare agli esami un programma che nemmeno è stato scritto da te, ma va bene, posso aiutarti

Per prima cosa chi l'ha scritto ha sbagliato la conversione

Comunque guarda qui e trovi tutto quello che ti serve
link utile

Sinceramente non so il metodo di ragionamento di quel fade value. Se vuoi accendere la ventola (anche se sul programma c'è scritto led) non basta mettere un if alla temperatura desiderata che tu NON hai calcolato?

P.S. il metodo di conversione è giusto, ma o fai il valore del sensore letto da arduino moltiplicato per la divisione tra 5 e 1023 1024 o la divisione tra 5000 e 1023 1024
Nel primo caso trovi i V ipotetici del sensore a una certa temperatura, nel secondo caso i mV

As_Needed:
P.S. il metodo di conversione è giusto, ma o fai il valore del sensore letto da arduino moltiplicato per la divisione tra 5 e 1023 o la divisione tra 5000 e 1023

Quella formula è errata ... il numero di step per cui dividere è 1024 ... da 0 a 1023.

Guglielmo

gpb01:
Quella formula è errata ... il numero di step per cui dividere è 1024 ... da 0 a 1023.

Guglielmo

Ah è vero!

Il professore ha ragionato con : 102,3 (sensor value) infatti;
Float voltage: 102,3x50/1023= 5
FadeValue = 102,3x11/4=281 (max fade) Ventola massima potenza.
Mi potete spiegare perchè usa 102,3 come valore se nel programma non ci sta.

giulio-2016:
Il professore ha ragionato con : 102,3 (sensor value) infatti;
Float voltage: 102,3x50/1023= 5

... se è vero, il professore è un ignorante che NON legge nemmeno il datasheet Atmel del ATmega328P dove è chiaramente spiegato come si calcola.

Guglielmo

Per questo chiedo a voi,come potrei spiegare al commissario esterno di sistemi un programma così.

Dove diavolo l'ha trovato 102.3 non lo so :o Forse pensa siano i 50 gradi centigradi? A parte che come ti dicevo e come giustamente mi ha corretto Guglielmo, la formula è SBAGLIATA!

Devi dividere il valore analogico del pin per 1024 che sono gli "scalini" dei pin analogici di Arduino, visto che ha un convertitore ADC a 10 bit e poi moltiplicare per 5000 e ottieni i mV

Poi per trovare i gradi centigradi dividi per 9.76 in teoria, perché sarebbe la variazione in mV di un 1 grado celsius.

P.S. Se ci capisce qualcosa, il commissario ti caxxierà :slight_smile: Dovresti riscrivere quel piccolo programma perché è sbagliato

Forse perche lm35 fornendo 0,5 V ad arduino che corrisponde ad un sensorvalue di 102,3.
Quindi la conversione dovrebbe essere da( 0 - 102,3) to (0 - 0,5 V)
0,5x10= 5V
FADE VALUE= 102,3x11/4= 281 (D.C. 100%)

giulio-2016:
Forse perche lm35 fornendo 0,5 V ad arduino che corrisponde ad un sensorvalue di 102,3.
Quindi la conversione dovrebbe essere da( 0 - 102,3) to (0 - 0,5 V)
0,5x10= 5V
FADE VALUE= 102,3x11/4= 281 (D.C. 100%)

Il sensore lm35 non fornisce niente, risponde soltanto con un valore di circa 10mV/°C, sapendo questo devi riuscire a fare una formula che è quella spiegata sopra. Non trovo il senso di 102.3. Mica rispondo così perché voglio essere scontroso, proprio non lo trovo il senso :slight_smile:

P.S. poi l'analog Write arriva al massimo a un valore di 255 e quel 11/4 anche non capisco cos'è

giulio-2016:
Per questo chiedo a voi,come potrei spiegare al commissario esterno di sistemi un programma così.

E' meglio che non lo spieghi perché quel programma è una sommatoria di cavolate, molto meglio se lo rifai come si deve, a partire dalla conversione lettura ADC in temperatura che è una delle cose più banali di questo mondo da fare, basta che usi la map() con parametri 0-1023 per la lettura ADC e 0-500 per il valore della temperatura.

astrobeed:
E' meglio che non lo spieghi perché quel programma è una sommatoria di cavolate, molto meglio se lo rifai come si deve, a partire dalla conversione lettura ADC in temperatura che è una delle cose più banali di questo mondo da fare, basta che usi la map() con parametri 0-1023 per la lettura ADC e 0-500 per il valore della temperatura.

Esatto, con la map viene fatto meglio, se proprio deve rifarlo

e poi int ledpin
int :facepalm: :smiley:

Comunque Astro, non è 0-5000?

Inoltre se ottieni la temperatura non puoi usarla per pilotare la ventola.

Devi fare un altro map per avere dei valori sensati di PWM.

Ciao Uwe

uwefed:
Inoltre se ottieni la temperatura non puoi usarla per pilotare la ventola.

Devi fare un altro map per avere dei valori sensati di PWM.

Ciao Uwe

Lo hai visto lo schema elettrico?

Lo hai visto lo schema elettrico?

L' ho scoperto solo ora.
Cosa é il rettangolo "A" tra ventola e transistor?

per la cronaca:
Sappi anche che una ventola DC non funziona bene pilotata in PWM perché il motore é un Brushless con eletronica di pilotaggio. Dovresti usare una ventola del PC a 4 Pin che ha un entrata PWM per la velocitá.

Ciao Uwe

A è un display analogico per gli Ampere, comunque abbiamo usato una ventola per PC.