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
  Sensordaten werden nicht richtig berechnet laserdoktor 3 401 05.03.2020 23:03
Letzter Beitrag: laserdoktor
  USB Programmer für esp 01 funktioniert nicht Triax16 4 656 20.12.2019 12:41
Letzter Beitrag: Triax16
  Arduino IDE ESP8266 Sketch Data Upload funktioniert nicht Triax16 22 2.335 03.12.2019 11:17
Letzter Beitrag: Triax16
  Sketch tut mit Espressif ESP-32S und 32D aber nicht mit 32C robiv8 2 578 11.11.2019 22:17
Letzter Beitrag: Tommy56
  Esp8266-->Wemos D1: Nicht funktionsfähige WiFi Chips KarlMarv 14 4.799 29.10.2019 13:48
Letzter Beitrag: uweausbaden
  ESP8266 steht nicht im Boardverwalter Udo Ohm 8 1.661 07.10.2019 17:56
Letzter Beitrag: Fips
  WeMos D1 nicht erkannt? Stagneth.Alexander 4 2.481 27.09.2019 08:59
Letzter Beitrag: geist4711
  ESP32 startet nach Netzausfall nicht mehr. magnum1795 11 1.896 25.09.2019 10:52
Letzter Beitrag: Tommy56
  MQTT Client mit Client Zertifikaten und Benutzer/Passwort klappt nicht Mausbiber 10 2.538 11.08.2019 22:28
Letzter Beitrag: Mausbiber
  ESP32 mit MAX7219 --> Programmlogik, ich verstehe es nicht... tho.schmidt 4 1.416 10.08.2019 16:43
Letzter Beitrag: Fips

Gehe zu:


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