Indholdsfortegnelse:

Måling af temperatur ved hjælp af en PT100 og en Arduino: 16 trin
Måling af temperatur ved hjælp af en PT100 og en Arduino: 16 trin

Video: Måling af temperatur ved hjælp af en PT100 og en Arduino: 16 trin

Video: Måling af temperatur ved hjælp af en PT100 og en Arduino: 16 trin
Video: Sådan forbindes industrielle 4-20mA-sensorer med Raspberry Pi Pico PLC | Mitsubishi FX1N PLC 2024, Juli
Anonim
Måling af temperatur ved hjælp af en PT100 og en Arduino
Måling af temperatur ved hjælp af en PT100 og en Arduino

Formålet med dette projekt er at designe, bygge og teste et temperatursensoranlæg. Systemet er designet til at måle et temperaturområde på 0 til 100 ° C. En PT100 blev brugt til at måle temperaturen, og det er en modstandstemperaturdetektor (RTD), der ændrer dens modstand afhængigt af dens omgivende temperatur.

Trin 1: Apparat

1x PT100

1x brødbræt

2x 2,15 kohms modstande

1x 100 ohm modstand

Ledninger

Strømforsyning

Differentialforstærker

Trin 2: Om PT100

Om PT100
Om PT100

Som en del af vores projekt har vi til opgave at måle omgivelsestemperaturen fra 0 grader til 100 grader Celsius. Vi besluttede at bruge PT100 på grund af følgende årsager:

PT100 er en modstandstemperaturdetektor (RTD), som kan måle temperaturer fra -200 grader til maksimalt 850 grader Celsius, men normalt ikke bruges til at måle temperaturer over 200 grader. Denne serie opfylder vores krav.

Denne sensor producerer en modstand for en given omgivende temperatur. Forholdet mellem sensorens temperatur og modstand er lineært. Dette sammen med det minimale setup, sensoren kræver, gør det let at arbejde med og alter, hvis der er behov for andre temperaturområder i fremtiden.

PT100 har også en langsom responstid, men er præcis. Disse egenskaber har ikke stor indflydelse på vores mål og var derfor ikke så indflydelsesrige, når de besluttede hvilken temperatursensor der skulle bruges.

Trin 3: Wheatstone Bridge

Wheatstone Bridge
Wheatstone Bridge

Wheatstone Bridge bruges til at måle en ukendt elektrisk modstand ved at afbalancere to ben i et brokredsløb, hvoraf det ene ben indeholder den ukendte komponent.

Den primære fordel ved kredsløbet er dets evne til at få en række udgangsspændinger, der begynder ved 0V.

En simpel spændingsdeler kunne bruges, men ville ikke tillade os at slippe af med enhver offset, der ville gøre forstærkning af spændingsudgangen mindre effektiv.

Modstanden i en PT100 varierer fra 100 til 138.5055 ved en temperatur på 0 til 100 grader Celsius.

Formlen for en hvedestenbro er nedenfor, den kan bruges til at skalere hvedestenbroen for forskellige intervaller hentet fra den vedhæftede pdf -tabel.

Vout = Vin (R2/(R1+R2) - R4/(R3+R4))

I vores scenario:

R2 vil være vores PT100 -modstand.

R1 vil være lig med R3.

R4 skal være lig med 100 ohm for at levere 0V ved 0 grader Celsius.

Indstilling af Vout til 0V og Vin til 5V giver os mulighed for modstand at opnå værdier for R1 og R2 = 2,2k ohm.

Vi kan derefter indlæse 138.5055 ohm for sensorens modstand for at opnå vores udgangsspænding ved 100 grader Celsius = 80mV

Trin 4: Simulering af kredsløbet

Simulering af kredsløbet
Simulering af kredsløbet

Et værktøj til simulering af kredsløb, OrCAD Capture blev brugt til at simulere vores kredsløb og finde forventede spændingsudgange ved forskellige temperaturer. Dette ville senere blive brugt til at sammenligne, hvor nøjagtigt vores system var.

Kredsløbet blev simuleret ved at gennemføre en transient tidsanalyse med en paramatisk sweep, der varierede pt100 -modstanden fra 100 ohm til 138.5055 ohm i trin på 3.85055 ohm.

Trin 5: Simulerede resultater

Simulerede resultater
Simulerede resultater

Resultaterne ovenfor viser det lineære forhold mellem kredsløbets udgangsspænding og modstandsværdierne.

Resultaterne blev derefter indført i excel og afbildet. Excel giver den lineære formel, der er knyttet til disse værdier. Bekræfter sensorens linearitet og udgangsspændingsområde.

Trin 6: Oprettelse af kredsløbet

Oprettelse af kredsløbet
Oprettelse af kredsløbet

Kredsløbet blev sat sammen ved hjælp af to 2,2 k ohm modstande og en 100 ohm modstand.

Modstandene har en tolerance på +-5%. De forskellige modstandsværdier får broen til at være ubalanceret ved 0 grader.

Parallelle modstande blev tilføjet i serie til 100 ohm modstanden for at tilføje nominelle mængder modstand for at få R4 så tæt på 100 ohm som muligt.

Dette producerede en udgangsspænding på 0,00021V, som er ekstremt tæt på 0V.

R1 er 2, 1638 ohm og R3 er 2, 1572 ohm. Mere modstand kunne tilsluttes for at gøre R1 og R3 nøjagtigt ens, hvilket giver en perfekt afbalanceret bro.

mulige fejl:

variabel modstandskasse, der bruges til at teste forskellige temperaturværdier, kan have været unøjagtig

Trin 7: Målte resultater

Målte resultater
Målte resultater

De målte resultater kan ses herunder.

Ændring i temperatur blev målt ved hjælp af en variabel modstandskasse for at indstille modstanden på R2 til forskellige modstande, der findes i PT100 -databladet.

Formlen fundet her vil blive brugt som en del af koden til at bestemme temperaturudgangen.

Trin 8: For meget større temperaturintervaller

For meget større temperaturområder
For meget større temperaturområder

Et type K termoelement kan indføres i kredsløbet, hvis der skal registreres meget høje temperaturer. Type K termoelement kan måle et temperaturområde på -270 til 1370 grader Celsius.

Termoelementer fungerer baseret på den termoelektriske effekt. En temperaturforskel giver en potentiel forskel (spænding).

Da termoelementer fungerer baseret på forskellen mellem to temperaturer, skal temperaturen ved referenceforbindelsen være kendt.

Der er to metoder til måling med termoelementer, vi kunne bruge:

En PT100 -sensor kunne placeres ved referencekrydsningen og måle referencespændingen

Termoelementets referencekryds kunne placeres i et isbad, der ville være konstant 0 grader Celsius, men ville være upraktisk for dette projekt

Trin 9: Oversigt: Differential Amplifier Stage

Oversigt: Differential Amplifier Stage
Oversigt: Differential Amplifier Stage

Differentialforstærkeren er en integreret del af konstruktionen. Differentialforstærkeren kombinerer det, der i det væsentlige er en ikke-inverterende og inverterende forstærker i et enkelt kredsløb. Selvfølgelig, som med enhver build, kommer det med sine egne begrænsninger, men som det skal vises i de næste trin, hjælper det helt sikkert med at opnå den korrekte effekt på 5V.

Trin 10: Om differentialforstærkeren

Om differentialforstærkeren
Om differentialforstærkeren

Differentialforstærkeren er en operationsforstærker. Det spiller en central rolle i dette kredsløbsdesign for at forstærke spændingsoutputtet fra Wheatstone -broen i mV til V og læses derefter ind som en spændingsindgang af Arduino. Denne forstærker tager to spændingsindgange og forstærker forskellen mellem de to signaler. Dette kaldes differentialspændingsindgangen. Differentialspændingsindgangen forstærkes derefter af forstærkeren og kan observeres ved forstærkerens output. Forstærkerindgangene hentes fra spændingsdelerne på Wheatstone -broen i det foregående afsnit.

Trin 11: Fordele og begrænsninger

Differentialforstærkeren har sin egen andel af fordele og ulemper. Den største fordel ved at bruge en sådan forstærker er for nem konstruktion. Som et resultat af denne lette konstruktion gør det lettere og mere effektivt at løse problemer med kredsløbet.

Ulemperne ved at bruge et sådant kredsløb er, at for at justere forstærkerens forstærkning skal forstærkningsbestemmende modstande (feedbackmodstand og jordforbundet modstand) begge slukkes, hvilket kan være tidskrævende. For det andet har op-amp en relativt lav CMRR (common-mode rejection ratio), som ikke er ideel til at afbøde indflydelsen af input offset spænding. I en konfiguration som vores er det derfor vigtigt at have en høj CMRR for at afbøde virkningerne af offset spænding.

Trin 12: Valg af ønsket outputforstærkning

Op-amp har fire modstande forbundet til kredsløbet. 2 matchede modstande ved spændingsindgange, en anden tilsluttet jord samt en feedbackmodstand. Disse to modstande fungerer som op-amp's inputimpedans. Typisk bør en modstand i området 10-100 kilohms være tilstrækkelig, men når disse modstande er blevet indstillet, kan forstærkningen bestemmes ved at lade den ønskede udgangsforstærkning svare til forholdet mellem feedbackmodstanden og inputmodstanden ved en af indgangene (Rf/Rin).

Den jordforbundne modstand, såvel som feedbackmodstanden, matches. Disse er de forstærkningsbestemmende modstande. Ved at have en høj indgangsimpedans minimerer den belastningens virkninger på kredsløbet, dvs. forhindrer store mængder strøm i at køre gennem enheden, hvilket kan have ødelæggende virkninger, hvis den ikke er kontrolleret.

Trin 13: ARDUINO MIKROKONTROLLER

ARDUINO MIKROKONTROLLER
ARDUINO MIKROKONTROLLER

Arduino er en programmerbar mikrokontroller med digitale og analoge I/O -porte. Mikrokontrolleren var programmeret til at aflæse spændingen fra forstærkeren via en analog indgangsstift. For det første vil Arduino læse spændingen fra kredsløbets udgangsområde 0-5 V og konvertere den til 0-1023 DU, og den vil udskrive værdien. Dernæst multipliceres den analoge værdi med 5 og divideres med 1023 for at få spændingsværdien. Denne værdi vil blive ganget med 20 for at give den nøjagtige skala for temperaturområdet fra 0-100 C.

For at få offset- og følsomhedsværdierne blev målingerne fra inputpinnen på A0 taget med forskellige værdier for PT100, og grafen blev afbildet for at få den lineære ligning.

Koden der blev brugt:

ugyldig opsætning () {Serial.begin (9600); // start den serielle forbindelse med computeren

pinMode (A0, INPUT); // output fra forstærkeren vil blive forbundet til denne pin

}

hulrum ()

{float offset = 6.4762;

float følsomhed = 1,9971;

int AnalogValue = analogRead (A0); // Læs input på A0

Serial.print ("Analog værdi:");

Serial.println (AnalogValue); // udskriv inputværdien

forsinkelse (1000);

float DigitalValue = (AnalogValue * 5) / (1023); // mul med 5 for at give området 0-100 grader

Serial.print ("Digital værdi:");

Serial.println (DigitalValue); // analog spændingsværdi

float temp = (AnalogValue - offset)/følsomhed;

Serial.print ("Temperaturværdi:");

Serial.println (temp); // udskrivningstemp

forsinkelse (5000);

}

Trin 14: Fejlfinding

15V forsyningen til op-amp og 5V til wheatstone bridge og arduino skal have en fælles grund. (alle 0v -værdier skal forbindes sammen.)

Et voltmeter kan bruges til at sikre, at spændingen falder efter hver modstand for at sikre, at der ikke er kortslutninger.

Hvis resultaterne er varierende og inkonsekvente, kan de anvendte ledninger testes ved hjælp af voltmeteret til at måle trådens modstand, hvis modstanden siger "offline" betyder det, at der er uendelig modstand, og ledningen har et åbent kredsløb.

Ledninger skal være mindre end 10 ohm.

Spændingsforskellen over hvedestenbroen skal være 0V ved minimumsområdet for temperaturområdet, hvis broen ikke er afbalanceret, kan det skyldes:

modstande har en tolerance, hvilket betyder, at de kan have en fejl, der kan få hvedestenbroen til at være ubalanceret, kan modstandene kontrolleres med et voltmeter, hvis den fjernes fra kredsløbet. mindre modstande kunne tilføjes i serie eller parallelt for at balancere broen.

Rserier = r1+r2

1/Rparallel = 1/r1 + 1/r2

Trin 15: Omskalering

Formlen og metoden til at skalere systemet til en anden temperatur kan findes i sektionen hvedestensbro. Når disse værdier er fundet, og kredsløbet er konfigureret:

PT100 skal udskiftes med en modstandskasse. Modstandsværdierne skal justeres fra det nye temperaturområde ved hjælp af de passende modstandsværdier opnået fra den vedhæftede pdf.

Den målte spænding og modstande og skal afbildes i excel med temperatur (modstand) på x -aksen og spænding på y.

En formel vil blive givet fra dette plot, forskydningen vil være den konstant, der tilføjes, og følsomheden vil være tallet ganget med x.

Disse værdier skal ændres på koden, og du har omskaleret systemet.

Trin 16: Opsætning af Arduino

slut udgangen fra kredsløbsforstærkeren til A0 -indgangsstiften på Arduino

Tilslut Arduino Nano via USB -porten på en pc.

indsæt koden i Arduino sketch -arbejdsområdet.

Kompilér koden.

Vælg Værktøjer> Board> Vælg Arduino Nano.

Vælg Værktøjer> Port> Vælg COM -port.

Upload koden til Arduino.

Den digitale værdi, der udsendes, er spændingsudgangen fra op-amp (skal være 0-5V)

Temperaturværdien er systemernes læste temperatur i Celsius.

Anbefalede: