Innehållsförteckning:
- Steg 1: Teori
- Steg 2: Samla dina material
- Steg 3: Löd dina kondensatorer
- Steg 4: Isolera sensorerna
- Steg 5: Montera din motstånd och anslut sensorn
- Steg 6: Skrivprogramvara
- Steg 7: Utför kalibrering
- Steg 8: Programvarorunda 2
- Steg 9: Projektöversikt - Fördelar och nackdelar
Video: Använd kondensatorer för att mäta temperatur: 9 steg
2024 Författare: John Day | [email protected]. Senast ändrad: 2024-01-30 12:45
Detta projekt kom till eftersom jag köpte ett kondensatorkit med huvudsakligen X7R (god kvalitet) kondensatorer, men några av de högre värdena 100nF och högre var det billigare och mindre stabila Y5V -dielektrikumet, som uppvisar en massiv förändring över temperatur och driftsspänning. Jag skulle normalt inte använda Y5V i en produkt jag designar, så jag försökte hitta alternativa användningsområden för dem istället för att låta dem sitta på hyllan för alltid.
Jag ville se om temperaturförändringen kunde utnyttjas för att göra en användbar och mycket billig sensor, och som du kommer att se på de närmaste sidorna var det ganska enkelt, med bara en annan komponent krävs.
Steg 1: Teori
Först hjälper det att veta lite om hur kondensatorer är konstruerade och vilka typer som finns. Keramiska kondensatorer består av ett antal metallplåtar, eller "plattor" separerade av en isolator, känd som ett dielektrikum. Egenskaperna hos detta material (tjocklek, keramiktyp, antal lager) ger kondensatorn dess egenskaper som driftspänning, kapacitans, temperaturkoefficient (kapacitansförändring med temperatur) och driftstemperaturområde. Det finns ganska många dielektrikar tillgängliga, men de mest populära visas i diagrammet.
NP0 (även kallad C0G) - dessa är de bästa, med praktiskt taget ingen förändring över temperaturen, men de tenderar att endast vara tillgängliga för låga kapacitansvärden i picoFarad och lågt nanoFarad -område.
X7R - dessa är rimliga, med bara en liten procentuell förändring över driftsområdet.
Y5V - som du kan se är dessa den brantaste kurvan på grafen, med en topp runt 10C. Detta begränsar användbarheten av effekten något, för om sensorn har möjlighet att någonsin gå under 10 grader är det omöjligt att avgöra vilken sida av toppen det är.
De andra dielektrikema som visas på grafen är mellansteg mellan de tre mest populära beskrivna ovan.
Så hur kan vi mäta detta? En mikrokontroller har en logisk nivå vid vilken dess ingångar anses vara höga. Om vi laddar kondensatorn via ett motstånd (för att styra laddningstiden) kommer tiden att nå den höga nivån vara proportionell mot kapacitansvärdet.
Steg 2: Samla dina material
Du kommer behöva:
- Y5V -kondensatorer, jag använde 100nF 0805 -storlek.
- Små bitar av prototyper för att montera kondensatorerna.
- Värmekrymp för att isolera sensorerna. Alternativt kan du doppa dem i epoxi eller använda isoleringstejp.
- Nätverkskabel som kan tas bort för att ge 4 tvinnade par. Inte obligatoriskt att använda tvinnade par, men vridningen hjälper till att minska elektriskt buller.
- Mikrokontroller - Jag använde en Arduino men alla kommer att göra
- Motstånd - Jag använde 68k men det beror på storleken på din kondensator och hur exakt du vill att mätningen ska vara.
Verktyg:
- Lödkolv.
- Prototypkort för montering av mikrokontroller/Arduino.
- Värmepistol för värmekrymp. En cigarettändare kan också användas med något sämre resultat.
- Infraröd termometer eller termoelement, för att kalibrera sensorerna.
- Pincett.
Steg 3: Löd dina kondensatorer
Ingen förklaring behövs här - bara att passa dem på dina brädor med din föredragna lödmetod och fäst de två trådarna.
Steg 4: Isolera sensorerna
Montera krymprör av lämplig storlek över sensorerna så att inga ändar utsätts och krympa det med varm luft.
Steg 5: Montera din motstånd och anslut sensorn
Jag valde följande pinout.
PIN3: Utmatning
PIN2: Inmatning
Steg 6: Skrivprogramvara
Den grundläggande mättekniken visas ovan. För att förklara hur det fungerar genom att använda kommandot millis () returnerar antalet millisekunder sedan Arduino startades. Om du tar en mätning i början och slutet av mätningen och subtraherar startvärdet från slutet får du tiden i millisekunder för kondensatorn att ladda.
Efter mätning är det mycket viktigt att du ställer in utgångsstiften för att tömma kondensatorn och väntar en lämplig tid innan du upprepar mätningen så att kondensatorn laddas ur helt. I mitt fall var en sekund tillräcklig.
Jag spydde sedan ut resultaten från serieporten så att jag kunde observera dem. Inledningsvis upptäckte jag att millisekunder inte var tillräckligt noggranna (ger bara ett enda siffervärde), så jag ändrade det för att använda kommandot micros () för att få resultatet i mikrosekunder, som du förväntade dig var cirka 1000 gånger det tidigare värdet. Omgivningsvärdet på cirka 5000 varierade betydligt, så för att göra det lättare att läsa delade jag med 10.
Steg 7: Utför kalibrering
Jag tog avläsningar vid 27,5 C (rumstemperatur - varmt här i Storbritannien!), Placerade sedan sensorbunten i kylen och lät dem svalna till cirka 10 C, kontrollerade med den infraröda termometern. Jag tog en andra uppsättning avläsningar, satte sedan in dem i ugnen på avfrostningsinställningen, övervakade kontinuerligt med termometer tills de var redo att spela in vid 50C.
Som du kan se från tomterna ovan var resultaten ganska linjära och konsekventa över alla fyra sensorerna.
Steg 8: Programvarorunda 2
Jag modifierade nu min programvara med hjälp av Arduino -kartfunktionen för att göra om de övre och nedre genomsnittliga avläsningarna från tomterna till 10C respektive 50C.
Allt fungerar som planerat, jag utförde några kontroller över temperaturintervallet.
Steg 9: Projektöversikt - Fördelar och nackdelar
Så där har du det, en temperatursensor för mindre än £ 0,01 i komponenter.
Så varför skulle du inte vilja göra detta i ditt projekt?
- Kapacitansen varierar med matningsspänningen, så måste använda en reglerad matning (kan inte strömförsörja direkt från ett batteri) och om du bestämmer dig för att byta matning måste du kalibrera sensorerna igen.
- Kapacitansen är inte det enda som ändras med temperaturen - tänk på att din höga ingångströskel på din mikrokontroller kan förändras med temperaturen, och det definieras vanligtvis inte i databladet med någon precision.
- Även om mina 4 kondensatorer alla var ganska konsekventa, var de från samma sats och samma komponentrulle och jag har ärligt talat ingen aning om hur dålig batch-till-batch-variationen skulle vara.
- Om du bara vill mäta låga temperaturer (under 10C) eller höga temperaturer (över 10C) är detta bara OK, men relativt värdelöst om du behöver mäta båda.
- Mätningen går långsamt! Du måste ladda ur kondensatorn helt innan du kan mäta igen.
Jag hoppas att det här projektet har gett dig några idéer och kanske inspirerat dig att använda andra komponenter för andra ändamål än de var avsedda.
Rekommenderad:
Använd Fusion för att göra detta träverktyg !: 4 steg
Använd Fusion för att göra detta träverktyg !: Detta är ett av de enklaste projekten jag gjorde med Fusion 360 för att hjälpa nybörjare att komma igång med programvaran. Det visar några grundläggande funktioner i programvaran och är för lätt för att ta mycket tid. Programvara krävs: Fusion 360 av Autodesk Förutsättningar
555 Timer för att avge signal för att avbryta Atmega328: 7 steg
555 Timer to Emit Signal to Interrupt Atmega328: Huvudmålet med denna krets är att spara energi. Så jag tänker inte prata om arduino eftersom styrelsen själv har onödig kraftöverlag för en slutprodukt. Det är bra för utveckling. Men, inte särskilt bra för slutprojekt som körs på batt
Använd en krets för att mäta digital grindspänning: 7 steg
Använda en krets för att mäta digitala grindspänningar: Digitala kretsar använder i allmänhet 5 volt nätaggregat. Digitala spänningar som är från 5v -2,7 volt i TTL -serien (en typ av digitalt integrerat chip) anses vara höga och har ett värde av 1. digitala spänningar form 0-0.5 anses låga och har en
Använd Raspberry Pi för att utvärdera luftfuktighet och temperatur med SI7006: 6 steg
Använda Raspberry Pi, utvärdera luftfuktighet och temperatur med SI7006: Som en entusiast för Raspberry Pi tänkte vi på några mer spektakulära experiment med den. I den här kampanjen kommer vi att mäta temperatur och luftfuktighet som måste kontrolleras med hjälp av en Raspberry Pi och SI7006, Luftfuktighet och temperaturkänsla
Övertyga dig själv om att bara använda en 12V-till-AC-omriktare för LED-ljussträngar istället för att koppla om dem för 12V: 3 steg
Övertyga dig själv om att bara använda en 12V-till-AC-linjeomvandlare för LED-ljussträngar istället för att koppla om dem för 12V: Min plan var enkel. Jag ville klippa upp en väggdriven LED-ljussträng i bitar och sedan dra om den för att gå av 12 volt. Alternativet var att använda en kraftomvandlare, men vi vet alla att de är fruktansvärt ineffektiva, eller hur? Höger? Eller är de det?