Temperaturmåling med NTC+AVR

Jeg vil gerne lave en meget nøgagtig temperaturmåling med en NTC og en AVR.

Jeg vil gerne måle i området -20 til 100 grader, gerne med en bedre opløsning end 0.1 grader.

Problemet er at AVR'ens A/D converter har en opløsning på 10 bit, så teoretisk set bør jeg kunne få en opløsning på 0.14 grader, hvis NTC'en var liniær og spændingen dækkede hele ADC'ens måleområde.

Ind til videre har jeg opnået en opløsning på 0.11 grader eller bedre i området -20 til +65 og 0.12 til 0.15 resten af vejen op til 100 grader ved at bruge 3 forskellige pull up modstande og skifte til den der giver den bedste opløsning for den aktuelle temperatur.

Min anden ide er at oplade en kondensator via NTC'en og så tage tid på opladningen, så er det kun clock frekvensen der sætter begrænsningen på opløsningen, til gengæld er det ikke så nemt at regne sig til temperaturen og kondensatoren kan skride i værdi over temperatur/tid.

Data for NTC'en er: ca 100k ved -20 grader (ca 4k/grad), 10k ved 25 grader (ca. 0.5k/grad) og 0.7k ved 100 grader (20 ohm/grad).

Hvad gør folk?

Reply to
Flemming Frandsen
Loading thread data ...

Flemming Frandsen skriver:

Bruger en pt100 føler.

Klaus

--
  Modelbane Europas hjemmeside: http://www.modelbaneeuropa.hadsten.dk
  Modeltog, internet, gratis spambekæmpelse, elektronik og andet:
 Click to see the full signature
Reply to
Klaus D. Mikkelsen

Hmm:

1) Pt100 er ikke den føler jeg har. 2) ... Fordi de pt100 prober ikke billige (min 100 kr hos Elfa) 3) Det hjælper ikke på at min ADC er på 10 bit.

... Jeg tror bare jeg slår mig til tåls med den opløsning jeg kan få med NTC'en (0.1 grader i gennemsnit over -20 til 100 grader)

Reply to
Flemming Frandsen

hvorfor ikke anvende en DAC til at generere reference spændingen til ADCen ? Eller det kan man måske ikke ved AVR ? (Kender ikke lige til AVR serien..så ved ikke om der er mulighed for ekstern reference?) Så kan man jo opnå højere grad af opløsning ved at lade målealgoritmen skifte reference spændingen (via DACen)...man zoomer så og sige :) Andre processorer har en intern DAC til at generere referencespændingen...men som sagt...bær over med mig...kender intet til AVR serien :)

Reply to
Frank Jensen

Man setter seg ned og tenker litt, de som kan da :-)

100 grader + (-20) grader = 120 grader = 1200 /10 grader. 10 bits oppløsning gir en oppløsning på 1024. Du ønsker mer en en AVR kan.

120/1024 = 0,117. Det er fineste oppløsning du teoretisk kan få.kan få.

NTC: R-20 grader = 100 000R R25 grader = 7 000R R100 grader = 700R

Du oppererer over et svært stort måleområde, både absolutt og i forhold til motstanden, og fremfor alt, NTC-en er ulineer.

Vis du nu skifter ut seriemotstanden med en konstant strømgenerator da tar du bort den ulineeriteten som seriemotstanden gir.

Et alternativ til NTC-en er å bruke en billig PTC som er betraktelig mer lineer: PHILIPS KTY81-210, TO92 hus.

Siden du med en NTC alikevel trenger en OPAMP, kan du likegodt bruke en

555 med NTC/PTC som det frekvensvariable ledd og et par POT for å justere. Bruk T1, 16 bit, for å måle pulslengden fra 555. (Tell clk. pulser.)

Ellers bør du vurdere feilkildene, men det blir kanskje et annet spørsmål.

HM

Reply to
Harald Mossige

Flemming Frandsen skriver:

Det kan du få.

Hvor mange skal du bruge ?

formatting link

Nej, men på linearitet af din måling. Klaus

--
  Modelbane Europas hjemmeside: http://www.modelbaneeuropa.hadsten.dk
  Modeltog, internet, gratis spambekæmpelse, elektronik og andet:
 Click to see the full signature
Reply to
Klaus D. Mikkelsen

Harald Mossige skrev i meddelelsen ...

Nemlig, det er føleren alle de italienske styringer til semikommercielle kølemøbler bruger, det være sig SAE, LAE, Eliwell mfl. Den føler virker nemlig også om et år eller to.

Men vi var "klogere" i Aalestrup den gang, :-| NTC var godt nok, WRONG ! En NTC lever ca. en måned i et fordampermiljø, (-15° til +5°), så har fugt allerede ændret materialets egenskaber. Alverdens indstøbninger kunne ikke ændre ved, at fugt trak ind gennem ledningerne. Dette problem har KTY'en ikke, den finder sig i det barske miljø, (temperatursvingninger under 0°).

mvh Orla

formatting link

Reply to
Orla Pedersen

Tak:)

Ikke nødvendigvis, NTC'en er jo ikke liniær, så hvis man skifter vref ud kan man flytte de 1024 inddelinger ned i det område hvor ændringen i modstanden er blevet komprimeret, så jeg burde kunne komme langt over 10 bit effektivt.

Det trick kan man ikke med en PTC:)

Nu føler jeg mig ret dum, den har jo både fine specs og er billig:)

Fin ide.

Reply to
Flemming Frandsen

Frank Jensen wrote: > hvorfor ikke anvende en DAC til at generere reference spændingen til ADCen ?

Hmm, det var da en mulighed.

Jeg har masser af digital io (ATmega88) og 6 ADC'er.

Den har en intern vref på 1.1V, som jeg kan switche til ekstern hvis jeg har lyst.

Jeg vil lige prøve at regne på det, tak for forslaget.

Reply to
Flemming Frandsen

Joda. (forutsatt OPAMP). Du kan endre ofsett. 1 bit gir 2 måleområder, 2 bit gir 4, 3 bit gir 8. Så er du oppe i 13 bit oppløsning.

HM

Reply to
Harald Mossige

Der findes ganske gode og veldefinerede formler for NTC'ere. Tag et kig på Steinhart-hart ligningen (1/T = a+b*ln(R)+c*(ln R)^3). T er den målte temperatur, R er følerens aktuelle modstand og a, b og c er konstanter der er individuelle for hver føler. Med ovenstående formel kan man opnå en præcision på op til +-0,001°C i et interval på 100°C.

Man kan, hvis ikke fabrikanten af føleren opgiver det, beregne a, b og c ved hjælp af praktiske målinger med føleren. Mål modstanden i føleren ved 3 forskellige veldefinerede temperature og løs tre ligninger med tre ubekendte. Så er det ikke længere følerens uliniaritet der sætter begrænsningen.

Inden for et begrænset måleområde er en NTC faktisk en ganske god og billig føler.

- Lars

Reply to
Lars Kristensen

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.