close

Vores nyhedsbreve

close
Ved at tilmelde dig accepterer du vores Brugerbetingelser, og at Mediehuset Ingeniøren og IDA-gruppen lejlighedsvis kan kontakte dig om arrangementer, analyser, nyheder, tilbud mm via telefon, SMS og email. I nyhedsbreve og mails fra Mediehuset Ingeniøren kan findes markedsføring fra samarbejdspartnere.
phloggen

DS18B20 Kalibrering

Som jeg nævnte i forrige blogindlæg har jeg indkøbt en stak temperatursensorer til at overvåge varmesystemet i huset.

Min favorit-sensor til den slags opgaver har siden 1990'erne været Dallas Semiconductors DS18B20 - 1-Wire Temperature Sensor.

Det med "1-Wire" er en vild overdrivelse, i praksis er det rigeligt med 1/32 af en ledning per sensor, for sensorene kan parallelforbindes da de har hver deres fabriksindkodede addresse.

I stedet for at sidde og rode med loddekolben selv, købte jeg et bundt på 30 færdikonfektionerede sensorer på eBay, velvidende at de havde gjort det skrupforkert.

De fleste antager at en DS18B20 måler temperaturen på plastikhuset, jeg har sågar set folk påstå at det var den flade side af huset den målte, men det gør den ikke, den måler temperaturen på ben 1 - GND.

Her er et billede fra Ken Schirriff blog der viser hvorledes en TO-92 er opbygget:

Foto: Ken Shirriff

Epoxy er et glimrende materiale, men det er ikke i nærheden af kobbers varmeledning og hvis man bare ukritisk lodder et kabel på en DS18B20 ender man derfor med at måle temperaturen på sensorens kabel.

Resultatet for 29 af de 30 sensorer der virkede er at de måler præcist ved rumtemperatur og 1°C for lavt ved 40°C:

Foto: Poul-Henning Kamp

(Nummer 8 bliver lagt til side til senere undersøgelse)

Her er min opstilling:

Foto: Poul-Henning Kamp

Bemærk at det sorte kabel til sensoren er udsat for rumtemperatur indtil et par centimeter fra selve sensoren.

Foto: Poul-Henning Kamp

Her er opstillingen adskilt: Peltier-elementet på kølepladen bruges til at kontrollere temperaturen i et lille isoleret hulrum på ca. 4x4x4cm.

Foto: Poul-Henning Kamp

Inde i hulrummet er en stump printkort med en Pt100 sensor og to clips til montering af DS18B20 sensorene.

Pt100 sensoren er koblet til et Ohm-meter, der via IEEE-488 aflæses af et Python-script, der igen via IEEE-488 indstiller den (bipolare) strømforsyning der driver Peltier-elementet.

Scriptet stepper temperaturen fra 21°C til 36°C og opsamler målingerne fra DS18B20 sensorene.

Foto: Poul-Henning Kamp

Her er resultatet for to sensorer, de violette og cyan symboler viser gennemsnit og ± en standardafvigelse, linien er et mindste kvadraters fit.

Til sidst lidt rå måledata for en enkelt sensor:

Foto: Poul-Henning Kamp

Den grønne kurve er Pt100 sensoren og udsvingene følger køleanlægget i rummet. Jeg har ikke gjort mig specielt umage med at tune PI sløjfen, så der er lidt overshoot.

De violette punkter er målingerne fra DS18B20 sensoren og som man kan se springer den et trin (= 1/16°C) op før køleanlægget kobler ind - fordi kablet varmes op udenfor det temperatur-kontrollerede rumfang.

Den rigtige måde at bruge en DS18B20 på er at omgive den med kobber, enten et lille tyndvægget kobber-rør (svære at skaffe) eller kobberfolie, som ben 1 loddes på. Så langt fra ben1 som muligt lodder man en enkelt eller to tråde fra kablet til kobberetuiet. Derefter indkapsles det hele på passende vis.

Hvis man bruger DS18B20 til at måle temperaturen af et printkort er det lige ud af landevejen: Bare plask den ned i groundplane et sted.

Men hvis man vil måle temperaturen på noget bestemt på printkortet, en CPU eller en FPGA f.eks, er det smartest at montere DS18B20 på den modsatte side af printet med ben 1 loddet direkte på samme ground-plane som den pågældende chip bruger.

phk

Poul-Henning Kamp
er selvstændig open source-softwareudvikler. Han skriver blandt andet om politik, hysteri, spin, monopoler, frihedskampe gør-det-selv-teknologi og humor.

Glimrende artikkel, kan selv anbefale den 'gamle' Dallas 1-wire standard især hvis der skal trækkes lange tilslutninger.
Indre diameter i 1/8 tomme kobber vandrør (som f.eks. bruges til at tilslutte en amerikansk køleskab med vand/is automat) passer nøjagtigt til DS18B20 huset.

  • 1
  • 0