Bruk kondensatorer til å måle temperatur: 9 trinn
Bruk kondensatorer til å måle temperatur: 9 trinn
Anonim
Bruk kondensatorer til å måle temperaturen
Bruk kondensatorer til å måle temperaturen

Dette prosjektet kom fordi jeg kjøpte et kondensatorsett med hovedsakelig X7R (god kvalitet) kondensatorer, men noen av de høyere verdiene 100nF og over var det billigere og mindre stabile Y5V -dielektrikumet, som viser en massiv endring over temperatur og driftsspenning. Jeg ville normalt ikke bruke Y5V i et produkt jeg designer, så jeg prøvde å finne alternative bruksområder for dem i stedet for å la dem sitte på hylla for alltid.

Jeg ønsket å se om temperaturendringen kunne utnyttes til å lage en nyttig og veldig billig sensor, og som du vil se i løpet av de neste sidene var det ganske enkelt, med bare en annen komponent nødvendig.

Trinn 1: Teori

Teori
Teori
Teori
Teori
Teori
Teori

Først hjelper det å vite litt om hvordan kondensatorer er konstruert, og hvilke typer som er tilgjengelige. Keramiske kondensatorer består av et antall metallplater, eller ‘plater’ atskilt med en isolator, kjent som et dielektrikum. Egenskapene til dette materialet (tykkelse, type keramikk, antall lag) gir kondensatoren dens egenskaper som driftsspenning, kapasitans, temperaturkoeffisient (kapasitansendring med temperatur) og driftstemperaturområde. Det er ganske mange dielektrikum tilgjengelig, men de mest populære er vist på grafen.

NP0 (også kalt C0G) - disse er de beste, med praktisk talt ingen endring i temperatur, men de pleier bare å være tilgjengelige for lave kapasitansverdier i picoFarad og lavt nanoFarad -område.

X7R - disse er rimelige, med bare en liten prosentvis endring over driftsområdet.

Y5V - som du kan se er dette den bratteste kurven på grafen, med en topp på rundt 10C. Dette begrenser nytten av effekten noe, fordi hvis sensoren har mulighet til å gå under 10 grader, vil det være umulig å bestemme hvilken side av toppen det er.

De andre dielektrikene vist på grafen er mellomtrinn mellom de tre mest populære beskrevet ovenfor.

Så hvordan kan vi måle dette? En mikrokontroller har et logisk nivå der inngangene anses som høye. Hvis vi lader kondensatoren via en motstand (for å kontrollere ladetiden), vil tiden for å nå det høye nivået være proporsjonal med kapasitansverdien.

Trinn 2: Samle materialet ditt

Samle materialet ditt
Samle materialet ditt
Samle materialet ditt
Samle materialet ditt

Du vil trenge:

  • Y5V kondensatorer, jeg brukte 100nF 0805 størrelse.
  • Små biter av prototypebrett for montering av kondensatorene.
  • Varmekrymping for å isolere sensorene. Alternativt kan du dyppe dem i epoxy, eller bruke isolasjonstape.
  • Nettverkskabel som kan fjernes for å gi 4 vridde par. Ikke obligatorisk å bruke vridde par, men vridningen bidrar til å redusere elektrisk støy.
  • Mikrokontroller - Jeg brukte en Arduino, men noen vil gjøre det
  • Motstander - jeg brukte 68k, men dette avhenger av størrelsen på kondensatoren og hvor nøyaktig du vil at målingen skal være.

Verktøy:

  • Loddejern.
  • Prototypebrett for montering av mikrokontrolleren/Arduino.
  • Varmepistol for varmekrympingen. En sigarettenner kan også brukes med litt dårligere resultat.
  • Infrarødt termometer eller termoelement, for å kalibrere sensorene.
  • Pinsett.

Trinn 3: Lodd kondensatorene

Lodd kondensatorene
Lodd kondensatorene
Lodd kondensatorene
Lodd kondensatorene
Lodd kondensatorene
Lodd kondensatorene

Ingen forklaring er nødvendig her - bare sett dem på brettene ved hjelp av din foretrukne loddemetode, og fest de to ledningene.

Trinn 4: Isoler sensorene

Isoler sensorene
Isoler sensorene
Isoler sensorene
Isoler sensorene

Monter krympeslangen i passende størrelse over sensorene, slik at ingen ender blir utsatt, og krymp den med varm luft.

Trinn 5: Monter motstanden og koble sensoren

Monter motstanden og koble sensoren
Monter motstanden og koble sensoren
Monter motstanden og koble sensoren
Monter motstanden og koble sensoren
Monter motstanden og koble sensoren
Monter motstanden og koble sensoren

Jeg valgte følgende pinout.

PIN3: Utgang

PIN2: Inngang

Trinn 6: Skriv programvare

Skriv programvare
Skriv programvare

Den grunnleggende måleteknikken er vist ovenfor. For å forklare hvordan det fungerer, returnerer millis () -kommandoen antall millisekunder siden Arduino ble slått på. Hvis du tar en måling i begynnelsen og slutten av målingen, og trekker startverdien fra slutten, får du tiden i millisekunder for kondensatoren å lade.

Etter måling er det veldig viktig at du setter utgangspinnen lavt for å tømme kondensatoren, og venter en passende tid før du gjentar målingen slik at kondensatoren er helt utladet. I mitt tilfelle var et sekund tilstrekkelig.

Jeg spydde deretter resultatene ut av serieporten slik at jeg kunne observere dem. I utgangspunktet fant jeg ut at millisekunder ikke var nøyaktig nok (gir bare en enkelt tallverdi), så jeg endret den for å bruke kommandoen micros () for å få resultatet i mikrosekunder, som du forventer var rundt 1000x den forrige verdien. Omgivelsesverdien på rundt 5000 svingte betydelig, så for å gjøre det lettere å lese delte jeg med 10.

Trinn 7: Utfør kalibrering

Utfør kalibrering
Utfør kalibrering
Utfør kalibrering
Utfør kalibrering
Utfør kalibrering
Utfør kalibrering

Jeg tok avlesninger ved 27,5C (romtemperatur - varmt her i Storbritannia!), Og plasserte deretter sensorbunten i kjøleskapet og lot dem avkjøle seg til omtrent 10C, sjekk med det infrarøde termometeret. Jeg tok et annet sett med avlesninger, og satte dem deretter i ovnen på avrimingsinnstillingen, og overvåket kontinuerlig med termometer til de var klare til å registrere ved 50C.

Som du kan se fra plottene ovenfor, var resultatene ganske lineære og konsistente på tvers av alle 4 sensorene.

Trinn 8: Programvarerunde 2

Programvare runde 2
Programvare runde 2

Jeg endret nå programvaren min ved hjelp av Arduino -kartfunksjonen, for å omforme den øvre og nedre gjennomsnittlige avlesningen fra plottene til henholdsvis 10C og 50C.

Alt fungerer som planlagt, jeg utførte noen få kontroller over temperaturområdet.

Trinn 9: Prosjektoppsummering - Fordeler og ulemper

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

Så hvorfor vil du ikke gjøre dette i prosjektet ditt?

  • Kapasitansen svinger med forsyningsspenningen, så må bruke en regulert forsyning (kan ikke strømforsynes direkte fra et batteri), og hvis du bestemmer deg for å bytte strøm må du kalibrere sensorene igjen.
  • Kapasitansen er ikke det eneste som endres med temperaturen - tenk på at inngangsterskelen på mikrokontrolleren kan endres med temperaturen, og den er vanligvis ikke definert i databladet med noen presisjon.
  • Selv om mine 4 kondensatorer alle var ganske konsistente, var de fra samme batch og samme komponentrulle, og jeg har ærlig talt ingen anelse om hvor ille batch-til-batch-variasjonen ville være.
  • Hvis du bare vil måle lave temperaturer (under 10C) eller høye temperaturer (over 10C), er dette bare OK, men relativt ubrukelig hvis du trenger å måle begge.
  • Måling er treg! Du må tømme kondensatoren helt før du kan måle igjen.

Jeg håper dette prosjektet har gitt deg noen ideer, og kanskje inspirert deg til å bruke andre komponenter til andre formål enn de var tiltenkt.

Anbefalt: