PDA

View Full Version : PIC e sonda termica?


mystic
18-07-2003, 13:18
Per tutti gli appassionati di modding sono sicuro che controllare l'LCD sul fronte del vostro PC con un PIC è un sogno. Per alcuni è la realtà :D

Qualche esperto di elettronica mi consiglierebbe una buona sonda termica digitale (con una precisione di almeno 0.1°C direi) che comunichi in I2C standard? Dovrei naturalmente farla comunicare con un PIC, rilevare le temperature e elaborarle :rolleyes:

Grazie a chiunque mi aiuterà.

mystic
18-07-2003, 19:26
Nessuno che se ne intenda anche solo un pochino eh? :muro:

andretta
18-07-2003, 21:18
Mhh.. non è un PIC ma un controller atmel AT89C2051 pero' la funzione che vuoi la fa benissimo lo stesso... il problema è che ti devi fare tutto da solo :P

http://www.atmel.com/dyn/resources/prod_documents/DOC0597.PDF
http://www.atmel.com/dyn/resources/prod_documents/ASMPROC.EXE

dosaggio
18-07-2003, 21:32
sono tutte cose che puoi reperire facilmente in rete,sia per pic che per atmel...o altri micro. Programmi compresi (che al limite puoi modificare).

Per il sensore digitale di temperatura ti consiglio un LM75 o un LM77 ,con interfaccia I2C ...molto accurati (+- 2° da -25-100°C).
Purtroppo non ho tempo per giocare,in questo periodo,altrimenti ti aiuterei.
Consiglio: non limitarti alla MISURA dalla temperatura. Cerca di implementare anche un azione di CONTROLLO,che è davvero utile.
Cioè tu setti una temperatura (set point)...ed il controllore te la mantiene al valore impostato variando i giri della ventola.
Contemporaneamente ti fa la misura.....nella schermata di misura.

CIao.

mystic
18-07-2003, 22:31
[B]Consiglio: non limitarti alla MISURA dalla temperatura. Cerca di implementare anche un azione di CONTROLLO,che è davvero utile.
Cioè tu setti una temperatura (set point)...ed il controllore te la mantiene al valore impostato variando i giri della ventola.
Contemporaneamente ti fa la misura.....nella schermata di misura.
CIao.

Ovvio, il progetto è già tutto pronto e fatto, completo di controllo il PWM per le 4 ventole che soffiano sul radiatore del liquid cooler.
Ovviamente le ventole varieranno così la velocità in base al deltaT tra l'aria e l'acqua. Più l'acqua sarà calda rispetto all'aira e più le ventole esponenzialmente aumenteranno il numero dei loro giri (giri monitorati dal pic tramite il piedino tachimetrico direttamente dal pic, ovvio).

Come Andretta ben sà (immagino) tutto verrà monitorato direttamente sul fronte del case da un ampio display retroilluminato 20x4, controllato dal PIC.

Il progetto però come capirai non poteva essere ultimato senza le sonde termiche. Ho provato delle sonde marchiate Microchip, le TC74, ma mi sono trovato veramente veramente male! Risoluzione al grado celsius e staratura impressionante. Anche integrando le misure ottenute di 10:1, la misura appare sempre abbastanza ballerina e sfasata rispetto al mercurio.

Se ti interessa ti tengo aggiornato e ci sentiamo fuori da questo forum. Ciao e grazie del consiglio.

Mystic

andretta
18-07-2003, 22:52
Guarda il pdf.. dovrebbero usare sonde abbastanza precise, almeno per il 0.1°K.

Cmq anche se usassi sonde molto sensibili e un bus a 16bit anzichè 8, per regolare le ventole sono sprecate...

mystic
18-07-2003, 23:01
Originariamente inviato da andretta
Guarda il pdf.. dovrebbero usare sonde abbastanza precise, almeno per il 0.1°K.

Cmq anche se usassi sonde molto sensibili e un bus a 16bit anzichè 8, per regolare le ventole sono sprecate...

Gli LM75 purtroppo vengono prodotti solo SMD :mad: Sono precisissime, però in SMD sai che fatica saldare? :D
Penso che opterò a questo punto per una LM35 con convertitore ADC (molto faticoso) oppure per qualche sonda della Dallas, che dovrò acquistare nel negozio a 50 km da casa mia di persona visto che quando chiedo i samples via internet mi mandano sempre integrati... indovinata? SMD, ovvio :ncomment:

Comunque un bus a 16 bit è completamente sprecato per un uso simile. Cercavo una precisione però almeno di 0.5°C come minimo, e un minimo di taratura. Le TC74 della Microchip... una segnava 30 gradi, l'altra 23 e l'altra 36 su tre sonde che avevo :nono:

andretta
18-07-2003, 23:19
Si lo so, lo svantaggio degli smd è che serve cosucce che di solito sono vendute come professionali e quindi ottime ma con troppi 0 putroppo! :(

mystic
18-07-2003, 23:26
Originariamente inviato da andretta
Si lo so, lo svantaggio degli smd è che serve cosucce che di solito sono vendute come professionali e quindi ottime ma con troppi 0 putroppo! :(


Serve pure una vista laser per un buon hobbista, sempre se non hai una bella saldatrice a controllo numerico :D

Stampo il datasheet dell'LM35 (sonda analogica). Stasera avrò da leggere. Domani ti faccio sapere :oink:

Buona notte andretta. (Ammetti, ti ho dato un'idea su come usare il tuo secondo LCD... :sofico: )

dosaggio
18-07-2003, 23:33
ok capisco. Vedo che sai bene cosa fare.
Hai letto questo vero?
http://www.microchip.com/download/lit/pline/analog/thermal/tempsens/serial/21462c.pdf
..credo di si. Cmq. so che le microchip sono abbastanza problematiche. Un mio amico aveva provato dei sample gratuiti.
Se hai integrato le misure ed hai cercato di tenere la sonda in un ambiente termostatato (a t cost) senza ottenere stabilità....allora lascia perdere.

Con LM75 non dovresti avere problema a saldare qualche piedino in smd. Nessuna fatica titanica dai....al limite te lo riporti su uno zoccolo dil,con un pò di pazienza.
Altrimenti prova i dallas (non ricordo quali) maxim.

Riguardo alla regolazione poi...non conosco le caratteristiche del tuo sistema di raffreddamento...nè dove intendi piazzare le sonde....ma,anche per avere il minimo rumore....sarebbe poi necessario dimensionare le ventole in base allo scambio termico che vuoi ottenere,per evitare,per es,che una ventola da 8cm soffi quasi sempre a palla.Questo devi farlo...soprattutto se intendi giocare su stretti range di temperaturia.In effetti si può fare anche con delle prove. Certo che,dato che hai il liquido,il max sarebbe poter aumentare anche la portata di liquido. Basterebbe un controllo proporzionale sui giri della pompa. Ma di liquido non me ne intendo abbastanza.
Riguardo all pwm saprai che spesso si incorre in problemi di risonanza...e le ventole iniziano a fischiare (normalmente a bassi regimi).

CIao.

mystic
18-07-2003, 23:38
[B]Riguardo all pwm saprai che spesso si incorre in problemi di risonanza...e le ventole iniziano a fischiare (normalmente a bassi regimi).

CIao.

Per risolvere i problemi delle ventole ho messo 4 ventole da 8x8cm sul radiatore, che dovrebbero garantirmi un afflusso d'aria di parecchi CFM anche a bassissimi regimi.

Per evitare la risonanza che effettivamente ci sarebbe in PWM ho messo su ogni ventola dei generosissimi condensatori da 4700 uF, e ti assicuro che scompare ogni forma di onda quadra ai capi della ventola e l'alimentazione è pressochè stabilizzata.

Per le LM75... proverò a vedere anche quel datasheet. Ovviamente nel negozio sotto casa è già tanto se sanno leggere i valori di un condensatore al poliestere, quindi è ovvio che non hanno integrati della National. Dovrò andare a Milano a chiedere :D

Vi terrò informatissimi. Se avete infoz o curiosità dite e accorro :rolleyes:

buldozeer
18-07-2003, 23:51
OFF TOPIC per esperti PIC e controllori vari.
si tratta di modding per auto
voglio fare in modo che spostando l'interuttore della centralina aggiuntiva della mia auto, commutando quindi a 30 CV in +, su un display piccolo compaiano il numero di cavalli, ricommutando compaiano sul piccolo display i cavalli oriinali, il tutto preimpostato da me, e utilizzando un display a caratteri tipo Hitachi compatibile con un apio di righe e circa 16 colonne.
utilizzandolo poi per altre cosette da auto, tipo la carica della batteria, equalizzatore....temperature,...messaggio di benvenuto all'accensione...
avete qualche link??
grazie

mystic
18-07-2003, 23:58
Originariamente inviato da buldozeer
OFF TOPIC per esperti PIC e controllori vari.
si tratta di modding per auto
voglio fare in modo che spostando l'interuttore della centralina aggiuntiva della mia auto, commutando quindi a 30 CV in +, su un display piccolo compaiano il numero di cavalli, ricommutando compaiano sul piccolo display i cavalli oriinali, il tutto preimpostato da me, e utilizzando un display a caratteri tipo Hitachi compatibile con un apio di righe e circa 16 colonne.
utilizzandolo poi per altre cosette da auto, tipo la carica della batteria, equalizzatore....temperature,...messaggio di benvenuto all'accensione...
avete qualche link??
grazie

Uh, banalissimo. Siccome mi dici che hai un semplice interruttore che commuta alla seconda centralina ti spiego come fare.

Usi un piccolo Pic 16f84 con collegato ad esso un display HD44780 compatibile con controllo a 4 bit e naturalmente al pic collegherai anche ad un pin il deviatore (con tanto di resistenza di pullup) e un relè con scambio di corrente adeguata (controlla con un multimetro l'assorbimento di picco della centralina) e tensione di pilotaggio di 5V. Per pilotare la bobina del relè probabilmente ti servirà l'ausilio di un BJT come il BC337.

In questo modo programmando il pic riuscirai a rilevare la posizione del deviatore e a trasmettere il risultato sul display LCD. Ovviamente sul display LCD potrai scrivere ciò che vuoi all'accensione e in qualsiasi altro momento. Se ti intendi appena un minimo di programmazione ti sarà facile capire che quando lo stato logico del pin connesso al deviatore sarà a uno, il pic può elaborare il dato alzando il pin collegato al transistor di comando della bobina del relè a 5v. La tua centralina è quindi accesa :D

Se hai bisogno di aiuto, o se mi sono spiegato da cani (probabile visto che è l'una), siamo tutti qui.

dosaggio
19-07-2003, 00:29
e per gli rpm cosa intendi fare ?
Non intendi implementarne la misura ? (che del resto non serve)

E per la frequenza di pwm ?

Da quello che ho capito hai la necessità di controllare solo quelle 4 ventole da 8cm ? (meglio due da 12cm,più silenzio).
Non so...data l'importanza del lavoro che vuoi fare potresti anche estenderlo alla ventilazione del case...
Qualcuno aveva creato qualcosa del genere contemplando la ventilazione di TUTTI i dispositivi possibili. Addirittura usando una sonda di pressione per ottimizzare gli rpm delle ventole di aspirazione e mandata del case. Potrebbe essere un idea futura.
Ciao.

buldozeer
19-07-2003, 09:02
Originariamente inviato da mystic
Uh, banalissimo. Siccome mi dici che hai un semplice interruttore che commuta alla seconda centralina ti spiego come fare.

Usi un piccolo Pic 16f84 con collegato ad esso un display HD44780 compatibile con controllo a 4 bit e naturalmente al pic collegherai anche ad un pin il deviatore (con tanto di resistenza di pullup) e un relè con scambio di corrente adeguata (controlla con un multimetro l'assorbimento di picco della centralina) e tensione di pilotaggio di 5V. Per pilotare la bobina del relè probabilmente ti servirà l'ausilio di un BJT come il BC337.

In questo modo programmando il pic riuscirai a rilevare la posizione del deviatore e a trasmettere il risultato sul display LCD. Ovviamente sul display LCD potrai scrivere ciò che vuoi all'accensione e in qualsiasi altro momento. Se ti intendi appena un minimo di programmazione ti sarà facile capire che quando lo stato logico del pin connesso al deviatore sarà a uno, il pic può elaborare il dato alzando il pin collegato al transistor di comando della bobina del relè a 5v. La tua centralina è quindi accesa :D

Se hai bisogno di aiuto, o se mi sono spiegato da cani (probabile visto che è l'una), siamo tutti qui.

si, grazie
allora sò programmare in diversi linguaggi.
per il 16f84 ce ne ho 2 o 3 a casa con tutto il programmatore, il transistor lo compro insieme al relè.
ultimo problema: che programma uso per scrivere il codice per il pic??? per inserirlo visto che è binario o esadecimale?
per le altre cosette che faccio?? hai qualche link per elettronica-auto?

mystic
19-07-2003, 10:45
Originariamente inviato da buldozeer
si, grazie
allora sò programmare in diversi linguaggi.
per il 16f84 ce ne ho 2 o 3 a casa con tutto il programmatore, il transistor lo compro insieme al relè.
ultimo problema: che programma uso per scrivere il codice per il pic??? per inserirlo visto che è binario o esadecimale?
per le altre cosette che faccio?? hai qualche link per elettronica-auto?

Per scrivere il programma ti consiglio il linguaggio PicBasic Pro, in quanto è abbastanza intuitivo e sarebbe una autentica ca**ata scrivere il programma che ti serve :D
Cercalo con www.google.it

mystic
19-07-2003, 10:49
Originariamente inviato da dosaggio
e per gli rpm cosa intendi fare ?
Non intendi implementarne la misura ? (che del resto non serve)

E per la frequenza di pwm ?


Sì, per gli RPM intendo (più a scopo informativo che a scopo di calcolo) implementarne la misura delle 4 ventole e integrando i valori ottenuti. Tutto questo serve perchè se una ventola risulta ferma l'LCD mostrerà un messaggio di errore.

Per la frequenza di PWM esiste all'interno del 16f877 che userò, una comodissima implementazione hardware. Basta che io dico a quella la frequenza dell'onda quadra da generare con la relativa tempistica di 1 e di 0 (settabile in base al valore alto o basso di un byte) ed è fatta, il PIC genererà l'onda e nel frattempo si renderà disponibile a eseguire ulteriori funzioni di programma.
Comodo no?

dosaggio
19-07-2003, 19:33
comodissimo.
E poi è un buon modo per recuperare qualcuno di quei pic...che tutti abbiamo in casa :-)
CIao.