Innholdsfortegnelse:
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-23 15:02
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
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
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
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
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
Jeg valgte følgende pinout.
PIN3: Utgang
PIN2: Inngang
Trinn 6: 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
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
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:
4 trinn for å måle den interne motstanden til batteriet: 4 trinn
4 trinn for å måle batteriets indre motstand: Her er de 4 enkle trinnene som kan hjelpe deg med å måle den interne motstanden til røren
I2C / IIC LCD -skjerm - Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: 5 trinn
I2C / IIC LCD -skjerm | Bruk en SPI LCD til I2C LCD -skjermen Bruke SPI til IIC -modulen med Arduino: Hei folkens siden en vanlig SPI LCD 1602 har for mange ledninger å koble til, så det er veldig vanskelig å koble den til arduino, men det er en modul tilgjengelig på markedet som kan konverter SPI -skjerm til IIC -skjerm, så da trenger du bare å koble til 4 ledninger
Sender IoT trådløs temperatur- og fuktighetssensordata til trådløst område til Google Sheet: 39 trinn
Sender IoT Long Range trådløs temperatur- og fuktighetssensordata til Google Sheet: Vi bruker NCDs temperatur- og fuktighetssensor her, men trinnene forblir like for ethvert av ncd -produktene, så hvis du har andre trådløse ncd -sensorer, er det gratis å observere ved siden av i tillegg. Ved å stoppe denne teksten, må du
Hvordan måle vekselstrømfaktor ved bruk av Arduino: 4 trinn
Hvordan måle vekselstrømfaktor ved hjelp av Arduino: Hei alle sammen! Dette er min tredje instruerbare, håper du finner den informativ :-) Dette vil være en instruks om hvordan du gjør en grunnleggende effektfaktormåling ved hjelp av en Arduino. Før vi begynner er det noen ting å huske på: Dette vil KUN fungere med
Legg til en PC-synkroniseringskontakt til en Nikon Sc-28 Ttl-kabel (bruk Autoinnstillinger for en på kamerablits og utløser kamerablitser!): 4 trinn
Legg til en PC-synkroniseringskontakt til en Nikon Sc-28 Ttl-kabel (bruk Autoinnstillinger for på-kamera-blits og utløserkamera-blitser !!): I denne instruksen vil jeg vise deg hvordan du fjerner en av de irriterende proprietære 3-pinners TTL-kontaktene på på siden av en Nikon SC-28 av kameraet TTL-kabel og bytt den ut med en standard PC-synkroniseringskontakt. dette lar deg bruke en dedikert blits, s