INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Dallas-Sensoren plötzlich nicht mehr erkannt
19.12.2019, 11:25
Beitrag #9
RE: Dallas-Sensoren plötzlich nicht mehr erkannt
Wie lange, das verrät Dir das Datenblatt. Allerdings nicht, wie das bei 5 Sensoren ist. Das musst Du selbst raus finden.
Du kannst ja die Versorgungsspannung der Sensoren per Reedrelais abschalten, wenn der ESP schläft. Da sind sie auf alle Fälle besser wieder ansprechbar, als im parasitären Betrieb.

Welche Lib benutzt Du? (Link bitte)

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.12.2019, 11:29
Beitrag #10
RE: Dallas-Sensoren plötzlich nicht mehr erkannt
(19.12.2019 11:25)Tommy56 schrieb:  Du kannst ja die Versorgungsspannung der Sensoren per Reedrelais abschalten, wenn der ESP schläft.

Das müsste doch auch über einen Pin gehen.
Oder irre ich mich da?

Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.12.2019, 11:30
Beitrag #11
RE: Dallas-Sensoren plötzlich nicht mehr erkannt
Ja, sollte auch gehen.

@TO: Was hast Du für einen Pullup an der Datenleitung?

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.12.2019, 11:52
Beitrag #12
RE: Dallas-Sensoren plötzlich nicht mehr erkannt
(19.12.2019 11:14)Fips schrieb:  Gegenfrage:
Sind die Sensoren im parasitären Modus, bis zum deepSleep, nicht permanent an der Spannungsquelle?

Ja, ich denke schon, aber sind sie das in den 15min Pause auch?
Wahrscheinlich nicht, da sonst die Frage des Timings und entladenen Kondensatoren nicht so wichtig wäre. Und das Verhältnis zwischen Run und Pause ist dann doch so 30 s zu 15 min.
Da wäre mir ein Aufladen von sagen wir 5s (wenn es reicht) vor der Initialisierung lieber und weniger Aufwand.

-- diwoma
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.12.2019, 11:54
Beitrag #13
RE: Dallas-Sensoren plötzlich nicht mehr erkannt
(19.12.2019 11:30)Tommy56 schrieb:  Ja, sollte auch gehen.

@TO: Was hast Du für einen Pullup an der Datenleitung?

zur Zeit wieder die Standard 4.7k.

-- diwoma
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.12.2019, 12:06
Beitrag #14
RE: Dallas-Sensoren plötzlich nicht mehr erkannt
Das ist der Standardwert für 1 Sensor. Ob der alle 5 laden kann, weiß ich nicht.

Mit Sketch und Link zur Lib hätte ich noch ein paar Ideen zum Austesten.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.12.2019, 12:18
Beitrag #15
RE: Dallas-Sensoren plötzlich nicht mehr erkannt
Du kannst die Sensoren über einen Pin vor dem deepSleep abschalten.

Fünf Stück mit 4,7k klappt bei mir ohne Sorgen, allerdings mit drei Leitungen.

Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
19.12.2019, 15:09
Beitrag #16
RE: Dallas-Sensoren plötzlich nicht mehr erkannt
(19.12.2019 12:06)Tommy56 schrieb:  Mit Sketch und Link zur Lib hätte ich noch ein paar Ideen zum Austesten.

Ich nehme an, der Sketch dürfte nicht so interessant sein, aber die Library wahrschenlich schon.
Zum Programmieren verwende ich VS-Code mit PlatformIO.

Libraries:
Code:
#include <Arduino.h>
//#include <string>  

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <ArduinoJson.h>
#include <OneWire.h>
#include <DallasTemperature.h>
#include <ESP8266HTTPClient.h>
#include "MQTT.h"
#include <PubSubClient.h>
#include <ESP8266httpUpdate.h>

Defines:
Code:
//------------------------------------------
//DS18B20
#define ONE_WIRE_BUS D1       //Pin to which is attached a temperature sensor
#define ONE_WIRE_MAX_DEV 10   //The maximum number of devices

// Define Function in the script
OneWire oneWire(ONE_WIRE_BUS);
DallasTemperature DS18B20(&oneWire);

Initialisierung Dallas:
Code:
//Initialize the temperature sensor
void SetupDS18B20(){
  DS18B20.begin();
  startBlink(2);

  Serial.print("Parasite power is: ");
  if( DS18B20.isParasitePowerMode() ){
    DS18B20.setResolution(9);
    Serial.println("ON");
  }else{
    Serial.println("OFF");
    DS18B20.setResolution(12);
  }
  
  numberOfDevices = DS18B20.getDeviceCount();
  Serial.print( "Device count: " );
  Serial.println( numberOfDevices );

  if(numberOfDevices == 0) {
    Serial.println("Keine Devices gefunden -> return");
    return;
  }

  DS18B20.requestTemperatures();
  delay(200);
  startBlink(1);
  
  // Loop through each device, print out address
  for(int i=0;i<numberOfDevices; i++){
    // Search the wire for address
    if( DS18B20.getAddress(devAddr[i], i) ){
      //devAddr[i] = tempDeviceAddress;
      Serial.print("Found device ");
      Serial.print(i, DEC);
      Serial.print(" with address: " + GetAddressToString(devAddr[i]));
      Serial.println();
    }else{
      Serial.print("Found ghost device at ");
      Serial.print(i, DEC);
      Serial.print(" but could not detect address. Check power and cabling");
    }

    //Get resolution of DS18b20
    Serial.print("Resolution: ");
    Serial.print(DS18B20.getResolution( devAddr[i] ));
    Serial.println();

    //Read temperature from DS18b20
    float tempC = DS18B20.getTempC( devAddr[i] );
    Serial.print("Temp C: ");
    Serial.println(tempC);
  }
}

Aufruf:
Code:
void setup() {
  Serial.begin(115200);
  /*
  InitSPIFFS();
  FormatSPIFFS();
  TryOpenFile(configFilName);
*/
  delay(1000);
  printHardwareVersion();
  printSoftwareVersion();
  delay(500);
  
  pinMode(LED_BUILTIN, OUTPUT);
  pinMode(PROG_SWITCH, INPUT);
  
  SetupDS18B20();
  ....

Welche Versionsnummern die Libraries haben, kann ich nicht sagen, weil die nicht im Git gespeichert sind.

-- diwoma
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP32 CAM Programmierung nicht möglich Manny 3 615 31.07.2020 16:04
Letzter Beitrag: Manny
  ESP32 überträgt nicht alle Datein aus dem SPIFFS Pertho 11 1.388 21.07.2020 21:46
Letzter Beitrag: Bitklopfer
  WS2812b am Wemos mini - Idee, warum's nicht geht? a-stern.1 10 1.478 03.07.2020 05:17
Letzter Beitrag: N1d45
  Netzteil für WS2812b funktioniert nicht Kollegeblock 30 3.127 02.07.2020 22:17
Letzter Beitrag: hotsystems
  Heltec Wifi Kit 32 nicht erkannt Bobonetto 3 759 17.06.2020 20:45
Letzter Beitrag: nbk83
  i2c LCD Display am Wemos D1 Mini mit mqtt klappt nach modifikation nicht raspido 5 855 15.06.2020 22:19
Letzter Beitrag: stw
  ESP8266 im Betrieb zeitweise nicht mehr zu erreichen Faror 4 700 13.06.2020 18:10
Letzter Beitrag: elux011
  LCD 20x04 an I2C läuft nicht LutzS 19 2.076 27.05.2020 21:38
Letzter Beitrag: Tommy56
  Wemos D1 mini (ESP8266) wechselt nicht mehr in auto-sleep Zipfel1 5 1.041 27.04.2020 14:07
Letzter Beitrag: rev.antun
  MQTT Subcribe funktioniert nicht crazysky 13 1.508 20.04.2020 17:39
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste