Stránka 1 z 1

WZP-Pt100

Napsal: 02 pro 2017, 13:51
od Rellik
Zdravím vespolek. Tohle je mé první seznámení s arduinem, tak snad se zeptám správně.
Potřebuju měřit dvě teploty najednou a na základě toho pak spínat relé, které bude ovládat další zařízení.
Jako teplotní čidla jsem koupil Pt100 ( https://arduino-shop.cz/arduino/1191-pt ... 47957.html ) nicméně se s nima nemůžu domluvit. Přitom když použiju klasické čidlo, které je na kdejakém termostatu z číny ( https://www.ebay.com/itm/Sensor-de-temp ... lmCpUXVaLw ), tak funguje dobře.
Testovací kód pro to "čínské" mám tak:

Kód: Vybrat vše

int ThermistorPin = A0;
int Vo;
float R1 = 10000;
float logR2, R2, T, Tc, Tf;
float c1 = 1.009249522e-03, c2 = 2.378405444e-04, c3 = 2.019202697e-07;

void setup() {
    Serial.begin(9600);
    pinMode(8,OUTPUT);
    pinMode(12,OUTPUT);
}

void loop() {

  Vo = analogRead(ThermistorPin);
  R2 = R1 * (1023.0 / (float)Vo - 1.0);
  logR2 = log(R2);
  T = (1.0 / (c1 + c2*logR2 + c3*logR2*logR2*logR2));
  Tc = T - 273.15;
  Tf = (Tc * 9.0)/ 5.0 + 32.0; 

  Serial.print("Teplota: "); 
  Serial.print(Tc);
  Serial.println(" °C");  

   if(Tc >= 26) {
    digitalWrite(12, HIGH);
    digitalWrite(8, LOW);
   }
   else {
        digitalWrite(8, HIGH);
        digitalWrite(12, LOW);
   }

  delay(500);
}
Pokud to použiju s tím Pt100 čidlem, tak to píše "nesmysly". Hledal jsem na netu jak to správně zprovoznit s tímto čidlem, ale bohužel bez výsledku. :(
Poradí někdo? Díky

Re: WZP-Pt100

Napsal: 02 pro 2017, 15:19
od pavel1tu
1) PT100 má odpor při 0stC 100 OHM
2) To čínské čidlo podle všeho 10 kOHM = 10.000 OHM

3) pošli odkaz podle čeho jsi to zapojil nebo jak to máš zapojené, musíš přepočítat dělič co tam máš z odporů, pokud máš ...

PS: Vzhledem k malému odporu se PT100 na delší vzdálenosti zapojuje s kompenzační smyčkou, mohu vysvětlit až to rozchodíš 2 vodičově

Na více zatím nemám čas.

Re: WZP-Pt100

Napsal: 02 pro 2017, 15:44
od Rellik
Ano přesně tak to je. Nicméně teď jsem zkoušel jak se ty čidla chovají.
U toho čínského se se zvyšující teplotou odpor zmenšuje.
U toho Pt100 se naopak zvětšuje.
A tady bych asi viděl ten problém.
Jinak zapojeno je to jako odporový dělič.
Zatím teda s tím čínským jedním čidlem asi takto http://www.circuitbasics.com/wp-content ... Set-Up.png

Re: WZP-Pt100

Napsal: 02 pro 2017, 16:31
od pavel1tu
Problém to není, je to o přepočítání na teplotu a správném převodníku ....

Já bych dal dělič PT100/3300 OHM, ten odpor proti zemi. Pak při 0 stC bude na vstupu při Ujm=5V asi 4,85V - ale nebude to spolehlivé !

Problém je, že PT100 generuje relativně malou změnu odporu při změně teploty. Ale je to nejpřesnější čidlo co znám a používám jej již 20 let u zákazníků.
Je NUTNÉ mít zdroj konstantního proudu, ideální je pak použít nějaký operační zesilovač (pracné), nebo převodník v "můstkovém zapojení".
Ne pro Arduino, ale jiný automat jsem před rokem použil toto a fungovalo to, je tam pěkně popsané i jak to nakalibrovat v Arduinu.
Výhodou je dozažená přesnost, pokud ji potřebujete.

Pokud jen měříte teplotu +/- 0,5 stC, šel bych do DS18B20 v provedení na kabelu, pokud jde o místnost, nebo voný prostor tak BME280.

Re: WZP-Pt100

Napsal: 02 pro 2017, 18:43
od Rellik
Díky za nakopávku. Jako dělící odpor jsem měl 1kΩ. Zkusím ten větší a nějak doladit počítání. Na přesnosti moc záležet nebude. Zamýšlená aplikace má ovládat ohřev vody v bazénu. Takže teplota +-0.5 (1)°C není problém.
Pokud to s tím Pt100 nebude tak jednoduché (což jak vidím asi nebude), tak koupím ty "čína" čidla, které mi pro danou aplikaci budou postačovat...

Nicméně po dobu než přijdou, tak budu zkoušet upravit kód aby ty Pt100 ukazovaly alespoň +- dobře...

Zatím totiž co jsem zbastlil, tak při jejich ohřevu teplota na výstupu (sériový monitor) klesala místo toho aby šla nahoru...