Inhoudsopgave:

Gebruik condensatoren om de temperatuur te meten: 9 stappen
Gebruik condensatoren om de temperatuur te meten: 9 stappen

Video: Gebruik condensatoren om de temperatuur te meten: 9 stappen

Video: Gebruik condensatoren om de temperatuur te meten: 9 stappen
Video: Dit gebeurt er als je een week geen ondergoed draagt 2024, Juli-
Anonim
Gebruik condensatoren om temperatuur te meten
Gebruik condensatoren om temperatuur te meten

Dit project kwam tot stand omdat ik een condensatorkit kocht met voornamelijk X7R-condensatoren (van goede kwaliteit), maar sommige van de hogere waarden van 100 nF en hoger waren het goedkopere en minder stabiele Y5V-diëlektricum, dat een enorme verandering in temperatuur en bedrijfsspanning vertoont. Normaal gesproken zou ik Y5V niet gebruiken in een product dat ik aan het ontwerpen ben, dus ik probeerde alternatieve toepassingen voor hen te vinden in plaats van ze voor altijd op de plank te laten staan.

Ik wilde zien of de temperatuurverandering kon worden benut om een bruikbare en zeer goedkope sensor te maken, en zoals je op de volgende pagina's zult zien, was het vrij eenvoudig, met slechts één ander onderdeel dat nodig was.

Stap 1: Theorie

Theorie
Theorie
Theorie
Theorie
Theorie
Theorie

Ten eerste helpt het om een beetje te weten hoe condensatoren zijn geconstrueerd en welke typen beschikbaar zijn. Keramische condensatoren bestaan uit een aantal metalen platen, of 'platen', gescheiden door een isolator, ook wel een diëlektricum genoemd. De eigenschappen van dit materiaal (dikte, type keramiek, aantal lagen) geven de condensator zijn eigenschappen zoals bedrijfsspanning, capaciteit, temperatuurcoëfficiënt (capaciteitsverandering met temperatuur) en bedrijfstemperatuurbereik. Er zijn nogal wat diëlektrica beschikbaar, maar de meest populaire staan in de grafiek.

NP0 (ook wel C0G genoemd) - dit zijn de beste, met vrijwel geen verandering in temperatuur, maar ze zijn meestal alleen beschikbaar voor lage capaciteitswaarden in het picoFarad- en lage nanoFarad-bereik.

X7R - deze zijn redelijk, met slechts een kleine procentuele verandering over het werkbereik.

Y5V - zoals je kunt zien zijn dit de steilste curve in de grafiek, met een piek rond de 10C. Dit beperkt het nut van het effect enigszins, want als de sensor de mogelijkheid heeft om ooit onder de 10 graden te gaan, is het onmogelijk om te bepalen aan welke kant van de piek het is.

De andere diëlektrica die in de grafiek worden getoond, zijn tussenstappen tussen de drie meest populaire die hierboven zijn beschreven.

Dus hoe kunnen we dit meten? Een microcontroller heeft een logisch niveau waarop de ingangen als hoog worden beschouwd. Als we de condensator opladen via een weerstand (om de oplaadtijd te regelen), zal de tijd om het hoge niveau te bereiken evenredig zijn met de capaciteitswaarde.

Stap 2: Verzamel uw materialen

Verzamel je materialen
Verzamel je materialen
Verzamel je materialen
Verzamel je materialen

Je zal nodig hebben:

  • Y5V-condensatoren, ik gebruikte de maat 100nF 0805.
  • Kleine stukjes prototypebord om de condensatoren te monteren.
  • Krimpkous om de sensoren te isoleren. Je kunt ze ook in epoxy dopen of isolatietape gebruiken.
  • Netwerkkabel die kan worden gestript tot 4 getwiste paren. Het is niet verplicht om getwiste paren te gebruiken, maar het draaien helpt elektrische ruis te verminderen.
  • Microcontroller - ik heb een Arduino gebruikt, maar elke is voldoende
  • Weerstanden - Ik heb 68k gebruikt, maar dit hangt af van de grootte van je condensator en hoe nauwkeurig je de meting wilt hebben.

Gereedschap:

  • Soldeerbout.
  • Prototyping bord om de microcontroller/Arduino te monteren.
  • Warmtepistool voor de krimpkous. Een sigarettenaansteker kan ook worden gebruikt met iets slechtere resultaten.
  • Infraroodthermometer of thermokoppel, om de sensoren te kalibreren.
  • Pincet.

Stap 3: Soldeer uw condensatoren

Soldeer uw condensatoren
Soldeer uw condensatoren
Soldeer uw condensatoren
Soldeer uw condensatoren
Soldeer uw condensatoren
Soldeer uw condensatoren

Hier is geen uitleg nodig - plaats ze gewoon op uw borden met de door u gewenste soldeermethode en bevestig de twee draden.

Stap 4: Isoleer de sensoren

Isoleer de sensoren
Isoleer de sensoren
Isoleer de sensoren
Isoleer de sensoren

Plaats een krimpkous van de juiste maat over de sensoren en zorg ervoor dat er geen uiteinden zichtbaar zijn, en krimp deze met behulp van hete lucht.

Stap 5: Pas uw weerstand aan en sluit de sensor aan

Pas uw weerstand aan en sluit de sensor aan
Pas uw weerstand aan en sluit de sensor aan
Pas uw weerstand aan en sluit de sensor aan
Pas uw weerstand aan en sluit de sensor aan
Pas uw weerstand aan en sluit de sensor aan
Pas uw weerstand aan en sluit de sensor aan

Ik heb de volgende pinout gekozen.

PIN3: Uitgang

PIN2: Invoer

Stap 6: Software schrijven

Software schrijven
Software schrijven

De basismeettechniek is hierboven weergegeven. Om uit te leggen hoe het werkt, retourneert het gebruik van de opdracht millis() het aantal milliseconden sinds de Arduino werd opgestart. Als u een meting doet aan het begin en het einde van de meting en de startwaarde van het einde aftrekt, krijgt u de tijd in milliseconden die de condensator nodig heeft om op te laden.

Na de meting is het erg belangrijk dat u de uitgangspen laag zet om de condensator te ontladen, en een geschikte tijd wacht voordat u de meting herhaalt, zodat de condensator volledig ontladen is. In mijn geval was een seconde voldoende.

Ik spuugde toen de resultaten uit de seriële poort zodat ik ze kon observeren. Aanvankelijk ontdekte ik dat milliseconden niet nauwkeurig genoeg waren (met slechts één cijferwaarde), dus ik veranderde het om het micros()-commando te gebruiken om het resultaat in microseconden te verkrijgen, wat zoals je zou verwachten ongeveer 1000x de vorige waarde was. De omgevingswaarde rond de 5000 fluctueerde aanzienlijk, dus om het leesbaarder te maken heb ik gedeeld door 10.

Stap 7: Kalibratie uitvoeren

Kalibratie uitvoeren
Kalibratie uitvoeren
Kalibratie uitvoeren
Kalibratie uitvoeren
Kalibratie uitvoeren
Kalibratie uitvoeren

Ik nam metingen bij 27,5C (kamertemperatuur - heet hier voor het VK!), plaatste de sensorbundel in de koelkast en liet ze afkoelen tot ongeveer 10C, waarbij ik de infraroodthermometer controleerde. Ik nam een tweede set metingen en plaatste ze in de oven op de ontdooistand, voortdurend in de gaten houdend met een thermometer totdat ze klaar waren om op te nemen bij 50C.

Zoals je kunt zien aan de hand van de grafieken hierboven, waren de resultaten vrij lineair en consistent voor alle 4 sensoren.

Stap 8: Softwareronde 2

Softwareronde 2
Softwareronde 2

Ik heb nu mijn software aangepast met behulp van de Arduino-kaartfunctie, om de bovenste en onderste gemiddelde waarden van de plots opnieuw toe te wijzen aan respectievelijk 10C en 50C.

Alles werkt zoals gepland, ik heb een paar controles over het temperatuurbereik uitgevoerd.

Stap 9: Projectoverzicht - voor- en nadelen

Dus daar heb je het, een temperatuursensor voor minder dan £ 0,01 aan componenten.

Dus waarom zou je dit niet in je project willen doen?

  • De capaciteit fluctueert met de voedingsspanning, dus moet een gereguleerde voeding gebruiken (kan niet rechtstreeks vanuit een batterij worden gevoed) en als u besluit van voeding te veranderen, moet u de sensoren opnieuw kalibreren.
  • De capaciteit is niet het enige dat verandert met de temperatuur - bedenk dat de hoge invoerdrempel op uw microcontroller kan veranderen met de temperatuur, en het wordt meestal niet nauwkeurig gedefinieerd in de datasheet.
  • Hoewel mijn 4 condensatoren allemaal behoorlijk consistent waren, waren ze van dezelfde batch en dezelfde componentspoel en ik heb eerlijk gezegd geen idee hoe slecht de batch-naar-batch-variatie zou zijn.
  • Als u alleen lage temperaturen (onder 10C) of hoge temperaturen (boven 10C) wilt meten, is dit alleen OK, maar relatief nutteloos als u beide moet meten.
  • Meting is traag! Je moet de condensator volledig ontladen voordat je weer kunt meten.

Ik hoop dat dit project je op ideeën heeft gebracht en je misschien inspireert om andere componenten te gebruiken voor andere doeleinden dan waarvoor ze bedoeld waren.

Aanbevolen: