www.elektronik.si Seznam forumov www.elektronik.si
Forum o elektrotehniki in računalništvu
 
 PomočPomoč  IščiIšči  Seznam članovSeznam članov  SkupineSkupine  StatisticsStatistika  AlbumAlbum  DatotekeFilemanager DokumentacijaDocDB LinksPovezave   Registriraj seRegistriraj se 
  PravilaPravila  LinksBolha  PriponkePriponke  KoledarKoledar  ZapiskiZapiski Tvoj profilTvoj profil Prijava za pregled zasebnih sporočilPrijava za pregled zasebnih sporočil PrijavaPrijava 

Meritev temperature s PT100

 
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija
Poglej prejšnjo temo :: Poglej naslednjo temo  
Avtor Sporočilo
Mislincan
Član
Član



Pridružen-a: Ned 11 Okt 2009 12:55
Prispevkov: 30
Aktiv.: 0.17
Kraj: Mislinja

PrispevekObjavljeno: Pet Jan 13, 2017 10:47 am    Naslov sporočila:  Meritev temperature s PT100 Odgovori s citatom

Pozdravljeni!
Pri poskusu merjenja temparature s PT100, dobim previsoke vrednosti. Najverjetneje leži vzrok v 10 bitnem A/D pretvorniku. Kakšno rešitev mi predlagate?

Moj program:
Koda:
/*
  Meritev temperature s PT100
  Vezava:
   Upor in PT100 sta vezana zaporedno.
    sredinski odcep je vezan na  analog pin 0.
   upor je priključen na  +5V, PT 100 na GND.
*/

const int analogInPin = A0;
float sensorValue = 0;

void setup() {
  // initialize serial communications at 9600 bps:
  Serial.begin(9600);
}

void loop() {
  // read the analog in value:
  sensorValue = analogRead(analogInPin);
  //Serial.print("Odcitek  :");
  //Serial.println(sensorValue);
  float napetost = (sensorValue * (5.0 / 1023.0));
  // Serial.print("Napetost :");
  //Serial.println(napetost);
  // Uporabil zaporedni upor 470 ohm
  float Upornost = 470 * napetost / (5 - napetost);
  //  Serial.print("Upornost :");
  //Serial.println(Upornost);
  float temperatura = (Upornost - 100) / .39;
  // temperatura je previsoka, prevelika napaka odcitka
  Serial.print("Temperatura :");
  Serial.println(temperatura);
  Serial.println();
  delay(2000);
}
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mislincan
Član
Član



Pridružen-a: Ned 11 Okt 2009 12:55
Prispevkov: 30
Aktiv.: 0.17
Kraj: Mislinja

PrispevekObjavljeno: Pet Jan 13, 2017 10:59 am    Naslov sporočila:   Odgovori s citatom

Dopolnitev gornjega vprašanja:
Pri napetosti 5V in 10 bitnem A/D pretvorniku (5/1023) je občutljivost le 4,887 mV. To pomeni da lahko Arduino Uno zana pri PT100 spremembo temperature, če je večja kot 1,246 st.C, PT10000 pa že pri 0,277 st.C. Ali obstaja še kakšna druga pot, brez ojačevalca signala za povečanje občutljivoti za PT100.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
dgrude
Član
Član



Pridružen-a: Sob 15 Nov 2008 13:44
Prispevkov: 193
Aktiv.: 1.03
Kraj: Velike Lašče

PrispevekObjavljeno: Pet Jan 13, 2017 11:56 am    Naslov sporočila:   Odgovori s citatom

Na hitro sem pogledal program in mi deluje OK. Koliko prevelike odčitke temperature si dobil (10%, 20%, 50...). Kakšno toleranco ima 470E upor(5%, 10%)?
Za večjo občutljivost uporabi notranjo 1,1V referenco.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mislincan
Član
Član



Pridružen-a: Ned 11 Okt 2009 12:55
Prispevkov: 30
Aktiv.: 0.17
Kraj: Mislinja

PrispevekObjavljeno: Pet Jan 13, 2017 12:18 pm    Naslov sporočila:   Odgovori s citatom

Hvala za odgovor. Tole okoli notranje reference pa moram "naštudirati", ker mi je neznanka! Procentov napake nisem računal ampak je razlika za par stopinj. Bom ponovil meritev.
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
Mislincan
Član
Član



Pridružen-a: Ned 11 Okt 2009 12:55
Prispevkov: 30
Aktiv.: 0.17
Kraj: Mislinja

PrispevekObjavljeno: Pet Jan 13, 2017 1:26 pm    Naslov sporočila:   Odgovori s citatom

Rešil sem zadevo. V izračunu je potrebno upoštevati dejansko upornost merilne proge (dodatni upor in vodniki). Po kalibraciji mi kaže pravo vrednost. Razz
Nazaj na vrh
Odsoten Poglej uporabnikov profil Pošlji zasebno sporočilo
BojanR
Član
Član



Pridružen-a: Tor 08 Apr 2008 9:52
Prispevkov: 683
Aktiv.: 3.51
Kraj: Vnanje Gorice

PrispevekObjavljeno: Pet Jan 13, 2017 4:10 pm    Naslov sporočila:   Odgovori s citatom

Ali upoštevaš tudi lastno segrevanje Pt člena?
Gotovo ga ne, ker uporabljaš uporovni delilnik. Potem je škoda da ne uporabiš kar kakšen NTC. Bo ceneje in ne dosti slabše.

Če pa se hočeš iti resne igre, naštudiraj kako se meri s Pt členi in uporabi namenski čip, NPR XTR112 ali podobnega. Ti čipi segrevajo Pt element minimalno, saj skozi spuščajo od 500uA navzdol (XTR114 celo samo 100uA).
Nazaj na vrh
Skrit Poglej uporabnikov profil Pošlji zasebno sporočilo
Pokaži sporočila:   
Objavi novo temo   Odgovori na to temo   Printer-friendly version    www.elektronik.si Seznam forumov -> Arduino sekcija Časovni pas GMT + 2 uri, srednjeevropski - poletni čas
Stran 1 od 1

 
Pojdi na:  
Ne, ne moreš dodajati novih tem v tem forumu
Ne, ne moreš odgovarjati na teme v tem forumu
Ne, ne moreš urejati svojih prispevkov v tem forumu
Ne, ne moreš brisati svojih prispevkov v tem forumu
Ne ne moreš glasovati v anketi v tem forumu
Ne, ne moreš pripeti datotek v tem forumu
Ne, ne moreš povleči datotek v tem forumu

Uptime: 47 dni


Powered by phpBB © 2001, 2005 phpBB Group