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

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

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
  Stromversorgung Sensoren wonk 12 1.082 13.02.2021 17:23
Letzter Beitrag: hotsystems
  D1 Mini - WLAN bei Frost nicht möglich? KlaRa 45 1.883 10.02.2021 11:24
Letzter Beitrag: hotsystems
  ESP8266 Webserver nach Zeit nicht mehr verfügbar. ESPWolf 21 1.865 02.02.2021 17:54
Letzter Beitrag: Tommy56
  Sketch upload funktioniert plötzlich nicht mehr basementmedia 2 433 02.01.2021 17:31
Letzter Beitrag: Jan Hirt
  ESP32 Devkit c4 Oled und RFID RC522 betreiben klappt nicht steffus 1 405 23.12.2020 12:45
Letzter Beitrag: hotsystems
  ESP8266-01 verbindet sich nicht mit dem WLAN Kopernikus 1 465 02.12.2020 20:02
Letzter Beitrag: Tommy56
  Wifi Reconnect - nicht blockierend Arduino4Fun 6 693 29.11.2020 10:32
Letzter Beitrag: Arduino4Fun
  LittleFS Open, seekSet und Write / Read tut nicht, was es soll Nichtraucher 11 996 23.11.2020 21:53
Letzter Beitrag: Nichtraucher
  D1 Mini digitalWrite(D7, LOW) wird nicht LOW KlaRa 3 553 19.11.2020 13:04
Letzter Beitrag: hotsystems
  8266 EEPROM Zugriff funktioniert nicht BerndP 3 489 18.11.2020 14:28
Letzter Beitrag: Tommy56

Gehe zu:


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