Innehållsförteckning:

Mät temperatur med en PT100 och en Arduino: 16 steg
Mät temperatur med en PT100 och en Arduino: 16 steg

Video: Mät temperatur med en PT100 och en Arduino: 16 steg

Video: Mät temperatur med en PT100 och en Arduino: 16 steg
Video: Använda Melexis MLX90614 Infraröd termometer med Arduino 2024, Juli
Anonim
Mät temperatur med en PT100 och en Arduino
Mät temperatur med en PT100 och en Arduino

Syftet med detta projekt är att designa, bygga och testa ett temperaturavkännande system. Systemet var utformat för att mäta ett temperaturintervall från 0 till 100 ° C. En PT100 användes för att mäta temperaturen, och det är en motståndstemperaturdetektor (RTD) som ändrar dess motstånd beroende på dess omgivande temperatur.

Steg 1: Apparat

1x PT100

1x brödbräda

2x 2,15 kohms motstånd

1 x 100 ohm motstånd

Trådar

Strömförsörjning

Differentialförstärkare

Steg 2: Om PT100

Om PT100
Om PT100

Som en del av vårt projekt har vi till uppgift att mäta omgivningstemperaturen från 0 grader till 100 grader Celsius. Vi beslutade att använda PT100 på grund av följande skäl:

PT100 är en motståndstemperaturdetektor (RTD), som kan mäta temperaturer från -200 grader till högst 850 grader Celsius, men används vanligtvis inte för att mäta temperaturer över 200 grader. Denna serie uppfyller våra krav.

Denna sensor producerar ett motstånd för en given omgivande temperatur. Förhållandet mellan temperatur och motstånd hos sensorn är linjärt. Detta, tillsammans med den minimala inställningen sensorn kräver, gör det enkelt att arbeta med och altare om andra temperaturområden behövs i framtiden.

PT100 har också en långsam responstid men är korrekt. Dessa egenskaper påverkar inte vårt mål särskilt mycket och var därför inte lika inflytelserika när vi bestämde vilken temperatursensor som ska användas.

Steg 3: Wheatstone Bridge

Wheatstone Bridge
Wheatstone Bridge

Wheatstone Bridge används för att mäta ett okänt elektriskt motstånd genom att balansera två ben i en bryggkrets, varav ett ben innehåller den okända komponenten.

Den främsta fördelen med kretsen är dess förmåga att få ett utgångsspänningsintervall som börjar vid 0V.

En enkel spänningsdelare kan användas men skulle inte tillåta oss att bli av med eventuella förskjutningar, vilket skulle göra förstärkning av spänningsutmatningen mindre effektiv.

Motståndet i en PT100 varierar från 100 till 138.5055 för en temperatur på 0 till 100 grader Celsius.

Formeln för en vetestensbrygga finns nedan, den kan användas för att skala om vetebryggan för olika intervall som hämtats från den bifogade pdf -tabellen.

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

I vårt scenario:

R2 blir vårt PT100 -motstånd.

R1 är lika med R3.

R4 måste vara lika med 100 ohm för att mata ut 0V vid 0 grader Celsius.

Genom att ställa in Vout till 0V och Vin till 5V kan vi motstånd få värden för R1 och R2 = 2,2k ohm.

Vi kan sedan lägga in 138.5055 ohm för sensorns motstånd för att få vår utspänning vid 100 grader Celsius = 80mV

Steg 4: Simulera kretsen

Simulera kretsen
Simulera kretsen

Ett verktyg för simulering av kretsar, OrCAD Capture användes för att simulera vår krets och hitta förväntade spänningsutgångar vid olika temperaturer. Detta skulle användas senare för att jämföra hur exakt vårt system var.

Kretsen simulerades genom att göra en transient tidsanalys med ett parametriskt svep som varierade pt100 -motståndet från 100 ohm till 138.5055 ohm i steg om 3.85055 ohm.

Steg 5: Simulerade resultat

Simulerade resultat
Simulerade resultat

Resultaten ovan visar det linjära sambandet mellan kretsens utspänning och motståndsvärdena.

Resultaten inmatades sedan i excel och ritades. Excel tillhandahåller den linjära formeln som är associerad med dessa värden. Bekräftar sensorns linearitet och utgångsspänningsområde.

Steg 6: Skapa kretsen

Skapa kretsen
Skapa kretsen

Kretsen sattes ihop med två 2,2 k ohm motstånd och ett 100 ohm motstånd.

Motstånden har en tolerans på +-5%. De olika motståndsvärdena gör att bron är obalanserad vid 0 grader.

Parallella motstånd tillsattes i serie till 100 ohm -motståndet för att lägga till nominella mängder motstånd för att få R4 så nära 100 ohm som möjligt.

Detta gav en utspänning på 0,00021V som är extremt nära 0V.

R1 är 2, 1638 ohm och R3 är 2, 1572 ohm. Mer motstånd kan anslutas för att göra R1 och R3 exakt lika, vilket ger en perfekt balanserad bro.

möjliga fel:

variabel motståndslåda som används för att testa olika temperaturvärden kan ha varit felaktiga

Steg 7: Uppmätta resultat

Uppmätta resultat
Uppmätta resultat

De uppmätta resultaten kan ses nedan.

Förändring i temperatur mättes med en variabel motståndslåda, för att ställa in motståndet för R2 till olika motstånd som finns i PT100 -databladet.

Formeln som finns här kommer att användas som en del av koden för att bestämma temperaturutmatningen.

Steg 8: För mycket större temperaturintervaller

För mycket större temperaturintervall
För mycket större temperaturintervall

Ett typ K -termoelement kan införas i kretsen om mycket höga temperaturer måste registreras. Termoelementet typ K kan mäta ett temperaturintervall på -270 till 1370 grader Celsius.

Termoelement fungerar baserat på den termoelektriska effekten. En temperaturskillnad ger en potentialskillnad (spänning).

Eftersom termoelement fungerar baserat på skillnaden mellan två temperaturer måste temperaturen vid referensövergången vara känd.

Det finns två metoder för mätning med termoelement som vi kan använda:

En PT100 -sensor kan placeras vid referensövergången och mäta referensspänningen

Termoelementets referenskoppling skulle kunna placeras i ett isbad som skulle vara konstant 0 grader Celsius men skulle vara opraktiskt för detta projekt

Steg 9: Översikt: Differentialförstärkarsteg

Översikt: Differential Amplifier Stage
Översikt: Differential Amplifier Stage

Differentialförstärkaren är en integrerad del av bygget. Differentialförstärkaren kombinerar vad som i huvudsak är en icke-inverterande och inverterande förstärkare till en enda krets. Naturligtvis, som med alla byggnader, kommer det med sina egna begränsningar, men som kommer att visas under de närmaste stegen hjälper det definitivt till att få rätt effekt på 5V.

Steg 10: Om differentialförstärkaren

Om differentialförstärkaren
Om differentialförstärkaren

Differentialförstärkaren är en operationsförstärkare. Det spelar en nyckelroll i denna kretsdesign för att förstärka spänningsutmatningen från Wheatstone -bron i mV till V och läses sedan in som en spänningsingång av Arduino. Denna förstärkare tar två spänningsingångar och förstärker skillnaden mellan de två signalerna. Detta kallas differentialspänningsingången. Differentialspänningsingången förstärks sedan av förstärkaren och kan observeras vid förstärkarens utgång. Förstärkaringångarna erhålls från spänningsdelarna på Wheatstone -bron i föregående avsnitt.

Steg 11: Fördelar och begränsningar

Differentialförstärkaren har sin egen andel av fördelar och nackdelar. Den största fördelen med att använda en sådan förstärkare är enkel konstruktion. Som ett resultat av denna enkla konstruktion gör det felsökningsproblem som uppstår med kretsen enklare och mer effektivt.

Nackdelarna med att använda en sådan krets är att för att justera förstärkarens förstärkning måste de förstärkningsbestämmande motstånden (återkopplingsmotståndet och det jordanslutna motståndet) stängas av, vilket kan vara tidskrävande. För det andra har op-amp en relativt låg CMRR (common-mode rejection ratio) som inte är idealisk för att mildra påverkan av ingångsförskjutningsspänning. Således i en konfiguration som vår är det viktigt att ha en hög CMRR för att mildra effekterna av förskjuten spänning.

Steg 12: Välja önskad utgångsförstärkning

Op-amp har fyra motstånd anslutna till kretsen. 2 matchade motstånd vid spänningsingångarna, ett annat anslutet till jord samt ett återkopplingsmotstånd. Dessa två motstånd fungerar som op-förstärkarens ingångsimpedans. Normalt bör ett motstånd i intervallet 10-100 kilohms räcka, men när dessa motstånd har ställts in kan förstärkningen bestämmas genom att låta den önskade utgångsförstärkningen vara lika med förhållandet mellan återkopplingsmotståndet och ingångsmotståndet vid en av ingångarna (Rf/Rin).

Det jordanslutna motståndet, liksom återkopplingsmotståndet, matchas. Dessa är förstärkningsbestämmande motstånd. Genom att ha en hög ingångsimpedans minimerar den effekterna av belastning på kretsen, det vill säga förhindrar att stora mängder ström körs genom enheten som kan ha förödande effekter om de inte är kontrollerade.

Steg 13: ARDUINO MIKROKONTROLLERA

ARDUINO MIKROKONTROLLERA
ARDUINO MIKROKONTROLLERA

Arduino är en programmerbar mikrokontroller med digitala och analoga I/O -portar. Mikrokontrollern var programmerad att läsa spänningen från förstärkaren via en analog ingångsstift. Först kommer Arduino att läsa spänningen från kretsutgångsområdet 0-5 V och konvertera den till 0-1023 DU och det kommer att skriva ut värdet. Därefter multipliceras det analoga värdet med 5 och divideras med 1023 för att få spänningsvärdet. Detta värde multipliceras med 20 för att ge den exakta skalan för temperaturområdet från 0-100 C.

För att få offset- och känslighetsvärden togs avläsningarna från ingångsstiftet på A0 med olika värden för PT100 och diagrammet ritades för att få den linjära ekvationen.

Koden som användes:

void setup () {Serial.begin (9600); // starta den seriella anslutningen med datorn

pinMode (A0, INPUT); // utmatning från förstärkaren kommer att anslutas till denna pin

}

void loop ()

{float offset = 6.4762;

flytkänslighet = 1,9971;

int AnalogValue = analogRead (A0); // Läs ingången på A0

Serial.print ("Analogt värde:");

Serial.println (AnalogValue); // skriv ut inmatningsvärdet

fördröjning (1000);

float DigitalValue = (AnalogValue * 5) / (1023); // mul med 5 för att ge intervallet 0-100 grader

Serial.print ("Digitalt värde:");

Serial.println (DigitalValue); // analogt spänningsvärde

float temp = (AnalogValue - offset)/känslighet;

Serial.print ("Temperaturvärde:");

Serial.println (temp); // utskriftstemp

fördröjning (5000);

}

Steg 14: Felsökning

15V-matningen till op-amp och 5V till wheatstone bridge och arduino måste ha en gemensam grund. (alla 0v -värden måste kopplas ihop.)

En voltmeter kan användas för att se till att spänningen sjunker efter varje motstånd för att säkerställa att det inte finns några kortslutningar.

Om resultaten är varierande och inkonsekventa kan trådarna som används testas med hjälp av voltmätaren för att mäta trådens motstånd, om motståndet säger "offline" betyder det att det finns oändligt motstånd och tråden har en öppen krets.

Ledningar bör vara mindre än 10 ohm.

Spänningsskillnaden över Wheatstone Bridge bör vara 0V vid det lägsta intervallet för temperaturområdet, om bron inte är balanserad kan det bero på att:

motstånd har en tolerans, vilket innebär att de kan ha ett fel som kan orsaka att wheatstone -bron är i obalans, motstånden kan kontrolleras med en voltmeter om den tas bort från kretsen. mindre motstånd kan läggas till i serie eller parallellt för att balansera bron.

Rserier = r1+r2

1/Rparallell = 1/r1 + 1/r2

Steg 15: Omskalning

Formeln och metoden för omskalning av systemet för en annan temperatur kan hittas i avsnittet om Wheatstone Bridge. När dessa värden hittats och kretsen är konfigurerad:

PT100 bör bytas ut mot en motståndslåda. Motståndsvärdena bör justeras från det nya temperaturområdet med hjälp av lämpliga motståndsvärden från bifogade pdf.

Den uppmätta spänningen och motstånden och bör ritas i excel med temperatur (motstånd) på x -axeln och spänning på y.

En formel kommer att ges från denna tomt, förskjutningen är den konstant som läggs till och känsligheten är talet multiplicerat med x.

Dessa värden bör ändras på koden och du har omskalat systemet.

Steg 16: Konfigurera Arduino

anslut utgången från kretsförstärkaren till A0 -ingångsstiften på Arduino

Anslut Arduino Nano via USB -porten på en dator.

klistra in koden i Arduino sketch -arbetsytan.

Kompilera koden.

Välj Verktyg> Kort> Välj Arduino Nano.

Välj Verktyg> Port> Välj COM -port.

Ladda upp koden till Arduino.

Det digitala värdet som matas ut är spänningsutgången från op-amp (bör vara 0-5V)

Temperaturvärdet är systemets lästa temperatur i Celsius.

Rekommenderad: