DS 1820 hőmérő - nem lehet kolvasni többet - hol a probléma?

Processing/Wiring (illetve C) nyelvű programozási fogások, tippek. (AVR-Duino, Arduino, EthDuino, Diecimila, Severino, Nano, LilyPad)
meddu
Újonc
Újonc
Hozzászólások: 10
Csatlakozott: 2014. december 24. szerda, 16:57

Re: DS 1820 hőmérő - nem lehet kolvasni többet - hol a probléma?

Hozzászólás Szerző: meddu »

Szasztok!
Olyan problémám van hogy néha nem mér vagy fals értéket ad valamelyik szenzor véletlenszerűen .
ez miatt megzavarodik a relé vezérlés.
Mit kellene változtatnom hogy jó legyen. A szenzorok normál módban vannak 4k7 ellenállással.

Kód: Egész kijelölése

#include <LiquidCrystal_I2C.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <Wire.h>

#define ONE_WIRE_BUS 2    // Hőmérők az 2 lábon

OneWire oneWire(ONE_WIRE_BUS);
LiquidCrystal_I2C lcd(0x27, 20, 4); //lcd a A4,A5 lábon

// Convert normal decimal numbers to binary coded decimal
byte decToBcd(byte val)
{
  return ( (val / 10 * 16) + (val % 10) );
}
// Convert binary coded decimal to normal decimal numbers
byte bcdToDec(byte val)
{
  return ( (val / 16 * 10) + (val % 16) );
}

// Sznzorok azonosítása
DallasTemperature sensors(&oneWire);

DeviceAddress pufferfent = { 0x28, 0x08, 0xD7, 0x45, 0x92, 0x04, 0x02, 0x31 };// "T1"
DeviceAddress pufferlent = { 0x28, 0xFD, 0x2D, 0x45, 0x92, 0x0E, 0x02, 0x54 };// "T2"
DeviceAddress bojlerfent = { 0x28, 0x13, 0x78, 0x45, 0x92, 0x13, 0x02, 0x4C };// "T3"
DeviceAddress bojlerlent = { 0x28, 0x9F, 0xD1, 0x45, 0x92, 0x11, 0x02, 0x8A };// "T4"
float T1 = 0;
float T2 = 0;
float T3 = 0;
float T4 = 0;

// Változók

int Relay1 = 11;
int Relay2 = 12;

void setup()
{
  // Relék definiálása a portokon
  pinMode (Relay1, OUTPUT);   // bojler fütés
  pinMode (Relay2, OUTPUT);   // cirkuláció bekapcsolása

  digitalWrite(11, HIGH);
  digitalWrite(12, HIGH);

  //hőmérők beállítása
  sensors.begin();
  sensors.setResolution(pufferfent, 9);  //hőmérők beállítása, pontosság 9-12 bit
  sensors.setResolution(pufferlent, 9);
  sensors.setResolution(bojlerfent, 9);
  sensors.setResolution(bojlerlent, 9);

  /*  A fix szöveg megjelentse
     A kiírás beállitsa, balfelső sarok 0,0
     1 oszlop s 0 sor */
  lcd.init();
  lcd.backlight();
  lcd.setCursor(6, 0);
  lcd.print("Bojler ");
  lcd.setCursor(13, 0);
  lcd.print("Puffer ");
  lcd.setCursor(1, 1);
  lcd.print("Felul:");
  lcd.setCursor(1, 2);
  lcd.print("Alul :");

}

void printTemperature(DeviceAddress deviceAddress)
{
  //ha nem látja a hömérséklet szenzort
  float tempC = sensors.getTempC(deviceAddress);
  if (tempC == -127.00) {
    lcd.print("?");
  } else {
    lcd.print(tempC, 0); // "1" :tizedes értékig irja "2" : szazas értékig
  }
}
void loop()
{

  sensors.requestTemperatures(); // Adatkérés a hőmérőtől
  T1 = sensors.getTempC(pufferfent);
  T2 = sensors.getTempC(pufferlent);
  T3 = sensors.getTempC(bojlerfent);
  T4 = sensors.getTempC(bojlerlent);

  delay(2000);
  // hovairjuk a hőmérsékletet
  /*  Hömrséklet kiírsa */

  lcd.setCursor(7, 1);        // A kiírás bellítsa, balfelső sarok 0,0
  printTemperature(bojlerfent); // Hömérsklet kiíratsa
  lcd.print("\337C  ");

  lcd.setCursor(7, 2);
  printTemperature(bojlerlent);
  lcd.print("\337C  ");

  lcd.setCursor(13, 1);
  printTemperature(pufferfent);
  lcd.print("\337C  ");

  lcd.setCursor(13, 2);
  printTemperature(pufferlent);
  lcd.print("\337C  ");


  //szabalyozas()
  
    if (T3 <= T1)
      digitalWrite(11, HIGH);
    //kapcsoljon Ki
    else if (T3 > 55) digitalWrite(11, HIGH);
    //kapcsoljon Ki
    else if  (T3 < 50)
      digitalWrite(11, LOW);
    //kapcsoljon Be
  

  if (digitalRead(Relay1) == LOW) //relé 1 állapot kiiratása

  {
    lcd.setCursor(1, 3);
    lcd.print("Bojler Futes: BE");
  }
  else
  {
    lcd.setCursor(1, 3);
    lcd.print("Bojler Futes: KI");
  }
}
Kép:
https://drive.google.com/drive/folders/ ... sp=sharing
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10113
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: DS 1820 hőmérő - nem lehet kolvasni többet - hol a probléma?

Hozzászólás Szerző: Robert »

Relé: Tápszűrési hiány. Táp rántása.

1-Wire alapok: parazita? 5V-t kap? tápszűrés? kábelhossz? Felhúzóellenállás értéke?
http://www.tavir.hu - a gazda :)
meddu
Újonc
Újonc
Hozzászólások: 10
Csatlakozott: 2014. december 24. szerda, 16:57

Re: DS 1820 hőmérő - nem lehet kolvasni többet - hol a probléma?

Hozzászólás Szerző: meddu »

Táp 2A 5v telefon tőltő.A szondák kábel hossz kb1.5m nem csavart érpáras.
Irtam hogy normál módban van 3 vezetékes bekőtéssel 4k7 a Felhúzóellenállás értéke.
Nem kell müködésben lenie a relének hogy ősze vissza mérjen. Valami a codomban lehet gubanc.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10113
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: DS 1820 hőmérő - nem lehet kolvasni többet - hol a probléma?

Hozzászólás Szerző: Robert »

Ha a relé nincs rajta, akkor is megőrül?
Melyik onewire/dallas könyvtárakat használod? Verzió? Illtve Melyik arduino keretrendszert? verzio?
http://www.tavir.hu - a gazda :)
meddu
Újonc
Újonc
Hozzászólások: 10
Csatlakozott: 2014. december 24. szerda, 16:57

Re: DS 1820 hőmérő - nem lehet kolvasni többet - hol a probléma?

Hozzászólás Szerző: meddu »

:?: pontossan nem tudom de ezek vannak feltelepitve: https://drive.google.com/drive/folders/ ... sp=sharing
Arduino nano: ATmega 328P (old bootloader)

Lehúztam a Relémodult teljesen, most is csinálja.
kipróbálom kötök a +5v ra egy 100uf kondit.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10113
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: DS 1820 hőmérő - nem lehet kolvasni többet - hol a probléma?

Hozzászólás Szerző: Robert »

max31850 vagy ds18b20 a hőmérőd?
http://www.tavir.hu - a gazda :)
meddu
Újonc
Újonc
Hozzászólások: 10
Csatlakozott: 2014. december 24. szerda, 16:57

Re: DS 1820 hőmérő - nem lehet kolvasni többet - hol a probléma?

Hozzászólás Szerző: meddu »

Ds18b20
Kondenzátor nem hozott eredményt. Most is néha mást mutat...
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10113
Csatlakozott: 2005. december 9. péntek, 7:00
Tartózkodási hely: Budapest
Kapcsolat:

Re: DS 1820 hőmérő - nem lehet kolvasni többet - hol a probléma?

Hozzászólás Szerző: Robert »

Próbálj másik libraryt...
http://www.tavir.hu - a gazda :)
Válasz küldése