Indholdsfortegnelse:

Brug kondensatorer til at måle temperatur: 9 trin
Brug kondensatorer til at måle temperatur: 9 trin

Video: Brug kondensatorer til at måle temperatur: 9 trin

Video: Brug kondensatorer til at måle temperatur: 9 trin
Video: Zigbee датчик освещенности, температуры и влажности с экраном на электронных чернилах Moes 2024, Juli
Anonim
Brug kondensatorer til at måle temperaturen
Brug kondensatorer til at måle temperaturen

Dette projekt opstod, fordi jeg købte et kondensatorsæt med hovedsageligt X7R (god kvalitet) kondensatorer, men nogle af de højere værdier 100nF og derover var det billigere og mindre stabile Y5V -dielektrikum, som udviser en massiv ændring i forhold til temperatur og driftsspænding. Jeg ville normalt ikke bruge Y5V i et produkt, jeg designer, så jeg forsøgte at finde alternative anvendelser til dem frem for at lade dem sidde på hylden for altid.

Jeg ville se, om temperaturændringen kunne udnyttes til at lave en nyttig og meget billig sensor, og som du vil se i løbet af de næste par sider var det ganske enkelt, med kun en anden komponent påkrævet.

Trin 1: Teori

Teori
Teori
Teori
Teori
Teori
Teori

Først hjælper det at vide lidt om, hvordan kondensatorer er konstrueret, og hvilke typer der er tilgængelige. Keramiske kondensatorer består af et antal metalplader eller 'plader' adskilt af en isolator, kendt som et dielektrikum. Dette materiales egenskaber (tykkelse, keramiktype, antal lag) giver kondensatoren dens egenskaber som driftsspænding, kapacitans, temperaturkoefficient (kapacitansændring med temperatur) og driftstemperaturområde. Der er ganske få dielektrikere til rådighed, men de mest populære er vist på grafen.

NP0 (også kaldet C0G) - disse er de bedste, næsten uden ændringer i temperaturen, men de har en tendens til kun at være tilgængelige for lave kapacitansværdier i picoFarad og lavt nanoFarad -område.

X7R - disse er rimelige, med kun en lille procentvis ændring over driftsområdet.

Y5V - som du kan se, er disse den stejleste kurve på grafen, med en top på omkring 10C. Dette begrænser anvendeligheden af effekten noget, for hvis sensoren har mulighed for nogensinde at gå under 10 grader, vil det være umuligt at afgøre, hvilken side af toppen det er.

De andre dielektrikker vist på grafen er mellemtrin mellem de tre mest populære beskrevet ovenfor.

Så hvordan kan vi måle dette? En mikrokontroller har et logisk niveau, hvor dets input betragtes som høje. Hvis vi oplader kondensatoren via en modstand (for at styre opladningstiden), vil tiden til at nå det høje niveau være proportional med kapacitansværdien.

Trin 2: Saml dine materialer

Saml dine materialer
Saml dine materialer
Saml dine materialer
Saml dine materialer

Du får brug for:

  • Y5V kondensatorer, jeg brugte 100nF 0805 størrelse.
  • Små stykker prototypebord til montering af kondensatorerne.
  • Varmekrymp for at isolere sensorerne. Alternativt kan du dyppe dem i epoxy eller bruge isoleringstape.
  • Netværkskabel, der kan fjernes og give 4 snoede par. Ikke obligatorisk at bruge snoede par, men vridningen hjælper med at reducere elektrisk støj.
  • Mikrocontroller - Jeg brugte en Arduino, men enhver vil gøre det
  • Modstande - jeg brugte 68k, men det afhænger af størrelsen på din kondensator og hvor præcis du vil have målingen.

Værktøjer:

  • Loddekolbe.
  • Prototypebord til montering af mikrokontrolleren/Arduino.
  • Varmepistol til varmekrymp. En cigarettænder kan også bruges med lidt dårligere resultater.
  • Infrarødt termometer eller termoelement, til kalibrering af sensorerne.
  • Pincet.

Trin 3: Lodd dine kondensatorer

Lod dine kondensatorer
Lod dine kondensatorer
Lod dine kondensatorer
Lod dine kondensatorer
Lodde dine kondensatorer
Lodde dine kondensatorer

Ingen forklaring nødvendig her - bare pas dem til dine brædder ved hjælp af din foretrukne loddemetode, og fastgør de to ledninger.

Trin 4: Isoler sensorerne

Isoler sensorerne
Isoler sensorerne
Isoler sensorerne
Isoler sensorerne

Monter varmekrympeslange i passende størrelse over sensorerne, så ingen ender udsættes, og krymp det ved hjælp af varm luft.

Trin 5: Tilpas din modstand, og tilslut sensoren

Monter din modstand, og tilslut sensoren
Monter din modstand, og tilslut sensoren
Monter din modstand, og tilslut sensoren
Monter din modstand, og tilslut sensoren
Monter din modstand, og tilslut sensoren
Monter din modstand, og tilslut sensoren

Jeg valgte følgende pinout.

PIN3: Output

PIN2: Indtastning

Trin 6: Skriv software

Skriv software
Skriv software

Den grundlæggende måleteknik er vist ovenfor. For at forklare, hvordan det fungerer, returnerer kommandoen millis () antallet af millisekunder siden Arduino blev tændt. Hvis du tager en måling i begyndelsen og slutningen af målingen, og trækker startværdien fra slutningen, får du tiden i millisekunder, før kondensatoren kan oplades.

Efter måling er det meget vigtigt, at du sætter udgangsstiften lavt for at aflade kondensatoren og venter et passende stykke tid, før målingen gentages, så kondensatoren er helt afladet. I mit tilfælde var et sekund tilstrækkeligt.

Jeg spyttede derefter resultaterne ud af den serielle port, så jeg kunne observere dem. I første omgang fandt jeg ud af, at millisekunder ikke var præcise nok (giver kun en enkelt talværdi), så jeg ændrede den til at bruge kommandoen micros () for at opnå resultatet i mikrosekunder, som du ville forvente var omkring 1000x den tidligere værdi. Omgivelsesværdien på omkring 5000 svingede betydeligt, så for at gøre det lettere at læse delte jeg med 10.

Trin 7: Udfør kalibrering

Udfør kalibrering
Udfør kalibrering
Udfør kalibrering
Udfør kalibrering
Udfør kalibrering
Udfør kalibrering

Jeg tog aflæsninger ved 27,5C (stuetemperatur - varmt her i Storbritannien!), Og placerede derefter sensorbundtet i køleskabet og lod dem afkøle til cirka 10C, kontrolleret med det infrarøde termometer. Jeg tog et andet sæt aflæsninger og satte dem derefter i ovnen på afrimningsindstillingen, løbende overvågning med termometer, indtil de var klar til at optage ved 50C.

Som du kan se fra plotterne ovenfor, var resultaterne ret lineære og konsistente på tværs af alle 4 sensorer.

Trin 8: Software runde 2

Software runde 2
Software runde 2

Jeg ændrede nu min software ved hjælp af Arduino -kortfunktionen for at omforme de øvre og nedre gennemsnitlige aflæsninger fra plotterne til henholdsvis 10C og 50C.

Alt fungerer som planlagt, jeg udførte et par kontroller på tværs af temperaturområdet.

Trin 9: Projektoversigt - fordele og ulemper

Så der har du det, en temperatursensor til mindre end £ 0,01 i komponenter.

Så hvorfor ville du ikke gøre dette i dit projekt?

  • Kapacitans svinger med forsyningsspænding, så skal bruge en reguleret forsyning (kan ikke strømforsynes direkte fra et batteri), og hvis du beslutter dig for at skifte forsyning, skal du kalibrere sensorerne igen.
  • Kapacitansen er ikke det eneste, der ændrer sig med temperaturen - overvej, at din input -tærskel på din mikrokontroller kan ændre sig med temperaturen, og den er normalt ikke defineret i databladet med nogen præcision.
  • Selvom mine 4 kondensatorer alle var temmelig konsistente, var de fra den samme batch og den samme komponentrulle, og jeg har ærligt talt ingen idé om, hvor dårlig batch-til-batch-variationen ville være.
  • Hvis du kun vil måle lave temperaturer (under 10C) eller høje temperaturer (over 10C), er dette kun ok, men relativt ubrugeligt, hvis du skal måle begge.
  • Måling er langsom! Du skal aflade kondensatoren helt, før du kan måle igen.

Jeg håber, at dette projekt har givet dig nogle ideer og måske inspireret dig til at bruge andre komponenter til andre formål end de var beregnet til.

Anbefalede: