Forum: Mikrocontroller und Digitale Elektronik DS18B20 Verkabelungs od Software Problem


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Achim A. (achim_a)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

evtl. passt meine Software nicht oder das Kabel, bzw, meine 
Verbindungen.

ich habe nun schon einige Links zum Thema Verkabelung OneWire Bus und 
DS18B20 gelesen als auch hier im Forum diesen Thread
Beitrag "DS18B20 Problem Telfonkabel 4 polig"

Als Verkabelung verwende ich aktuell ein Brandmeldekabel rot 
BMK-J-Y(ST)Y 2x2x0,8 , ist geschirmt , leider etwas starr, hatte ich 
noch ein paar Meter.

Als Master verwende ich einen Arduino Mega2560 Clone (habe hier zwei , 
einmal SaintSmart ca 3 Jahre alt und ein neuerer Clone ).

Als Pullups testete ich mit 4,7K und 2,2 k sowie mit 2x 4,7k.

Die Software zum Auslesen der Hardwareadressen als auch zum Auslesen der 
Temps stammt aus der DallasTemperature.h Bibliothek.

Die Sensoren sind alle an einer Leitung mit kürzeren Abgängen < 0,5m 
wobei der letzte ein DS18B20 Wasserdichter Sensor ist der an einem ca 1m 
langen ungeschirmten  Kabel hängt.

Die Verbindungen sind reine Mikrofonbuchsenstecker (siehe Bilder)

Bei den Verbindungen wurde die Abschirmung auf ca 5cm entfernt als auch 
beim Anschluß zum Arduino.

Beim Auslesen der Hardwareadresse funktioniert alles 1a. Ich bekomme 
alle Adressen.
Mit diesem Code



#include <OneWire.h>

void setup()
{
  Serial.begin(115200);
  Serial.println("//\n// Start oneWireSearch.ino \n//");

  for (uint8_t pin = 8; pin < 13; pin++)
  {
    findDevices(pin);
  }
  Serial.println("\n//\n// End oneWireSearch.ino \n//");
}

void loop()
{
}

uint8_t findDevices(int pin)
{
  OneWire ow(pin);

  uint8_t address[8];
  uint8_t count = 0;


  if (ow.search(address))
  {
    Serial.print("\nuint8_t pin");
    Serial.print(pin, DEC);
    Serial.println("[][8] = {");
    do {
      count++;
      Serial.println("  {");
      for (uint8_t i = 0; i < 8; i++)
      {
        Serial.print("0x");
        if (address[i] < 0x10) Serial.print("0");
        Serial.print(address[i], HEX);
        if (i < 7) Serial.print(", ");
      }
      Serial.println("  },");
    } while (ow.search(address));

    Serial.println("};");
    Serial.print("// nr devices found: ");
    Serial.println(count);
  }

  return count;
}

Mit diesem Code versuche ich die Sensoren auszulesen.

//
//    FILE: oneWireSearch.ino
//  AUTHOR: Rob Tillaart
// VERSION: 0.1.02
// PURPOSE: scan for 1-Wire devices + code snippet generator
//    DATE: 2015-june-30
//     URL: http://forum.arduino.cc/index.php?topic=333923
//
// inspired by 
http://www.hacktronics.com/Tutorials/arduino-1-wire-address-finder.html
//
// Released to the public domain
//
// 0.1.00 initial version
// 0.1.01 first published version
// 0.1.02 small output changes

#include <OneWire.h>

void setup()
{
  Serial.begin(115200);
  Serial.println("//\n// Start oneWireSearch.ino \n//");

  for (uint8_t pin = 8; pin < 13; pin++)
  {
    findDevices(pin);
  }
  Serial.println("\n//\n// End oneWireSearch.ino \n//");
}

void loop()
{
}

uint8_t findDevices(int pin)
{
  OneWire ow(pin);

  uint8_t address[8];
  uint8_t count = 0;


  if (ow.search(address))
  {
    Serial.print("\nuint8_t pin");
    Serial.print(pin, DEC);
    Serial.println("[][8] = {");
    do {
      count++;
      Serial.println("  {");
      for (uint8_t i = 0; i < 8; i++)
      {
        Serial.print("0x");
        if (address[i] < 0x10) Serial.print("0");
        Serial.print(address[i], HEX);
        if (i < 7) Serial.print(", ");
      }
      Serial.println("  },");
    } while (ow.search(address));

    Serial.println("};");
    Serial.print("// nr devices found: ");
    Serial.println(count);
  }

  return count;
}


Nach dem Auslesen bekomme ich gerade noch Temperaturen von 2 Sensoren 
angezeigt


Anfangs hatte ich zu Testzwecken alles nur mit normalem 0,5mm Draht 
angeschlossen, da hatte ich schon das gleiche Problem. Nach dem Lesen in 
Foren hatte ich dann dieses abgeschirmte Kabel verwendet. Wieder das 
Gleiche.

Jetzt weiß ich nicht mehr weiter

edit: Das Foto mit den offenen Kontakten des einen Sensoren dient nur 
dazu damit man sieht wie der Sensor verlötet und verbunden ist.
Die Sensoren sind an Buchsenleisten angelötet damit ich sie später mal 
leichter tauschen kann

edit2: hatte es mit 4,7 und 2,2 K probiert nicht wie oben ursprünglich 
geschrieben mit 2,5k

: Bearbeitet durch User
von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@ Achim A. (achim_a)

>Als Verkabelung verwende ich aktuell ein Brandmeldekabel rot
>BMK-J-Y(ST)Y 2x2x0,8 , ist geschirmt , leider etwas starr, hatte ich
>noch ein paar Meter.

Die Längen sind unkritisch.

>Als Pullups testete ich mit 4,7K und 2,5 k sowie mit 2x 4,7k.

Ist OK.

>Die Software zum Auslesen der Hardwareadressen als auch zum Auslesen der
>Temps stammt aus der DallasTemperature.h Bibliothek.

Welche? Du meinst eine Arduino-Lib?

>Bei den Verbindungen wurde die Abschirmung auf ca 5cm entfernt als auch
>beim Anschluß zum Arduino.

Unkritisch.

>Beim Auslesen der Hardwareadresse funktioniert alles 1a. Ich bekomme
>alle Adressen.

Gut. Aber geht auch auch dauerhaft? Mach das mal in einer Dauerschleife, 
laß dir das Ergebnis ausgeben und beobachte.

>Nach dem Auslesen bekomme ich gerade noch Temperaturen von 2 Sensoren
>angezeigt

Das kann auch ein Fehler in deinem Programm sein.

>Jetzt weiß ich nicht mehr weiter

Wenn du hast, nimm drei deiner Sensoren und pack sie auf ein Stück 
Lochraster direkt nebeneinander. Wenn dein Programm damit funktioniert, 
ist es möglicherweise ein Problem des Timing oder deiner Verkabelung. 
Wenn nicht, hast du einen prinzipiellen Softwarefehler oberhalb von 
OneWire.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> Wenn du hast, nimm drei deiner Sensoren und pack sie auf ein Stück
> Lochraster direkt nebeneinander. Wenn dein Programm damit funktioniert,
> ist es möglicherweise ein Problem des Timing oder deiner Verkabelung.
> Wenn nicht, hast du einen prinzipiellen Softwarefehler oberhalb von
> OneWire.

Vielen Dank,

ok das mit der Schleife und Auslesen probiere ich , leuchtet mir sofern 
ein, da ich dann  sehe ob es an den Wartezeiten zw. den abfragen liegen 
könnte.

Ich hatte die Wartezeiten schon geändert da ich das hier iom Forum 
gelesen hatte, aber vielleicht ist immernoch die Wartezeit nicht lange 
genug.

Auf dem Steckbrett funktioniert es einwandfrei.
Und ja es ist aus einer Arduino-Lib

Frage:
Wie kann mit einem normalen Multimeter herausfinden ob die Verkabelung 
sauber ist, sprich Verbindungen, Kontakte ok etc. Kann man das über 
Widerstandsmessung herausfinden?
Aktuell teste ich nur nach dem Verlöten ob ich eine Verbindung habe 
(normaler Durchgangsprüfung)  oder u.U. einen Kurzschluss fabrizierte

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@ Achim A. (achim_a)

>Wie kann mit einem normalen Multimeter herausfinden ob die Verkabelung
>sauber ist, sprich Verbindungen, Kontakte ok etc. Kann man das über
>Widerstandsmessung herausfinden?

Kommt drauf an.

>Aktuell teste ich nur nach dem Verlöten ob ich eine Verbindung habe
>(normaler Durchgangsprüfung)  oder u.U. einen Kurzschluss fabrizierte

Das ist OK und sollte meistens ausreichen. Man kann noch den Widerstand 
zwischen den Adern messen, der sollte im dreistelligen kOhm Bereich und 
darüber liegen.

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> Die Software zum Auslesen der Hardwareadressen als auch zum Auslesen der
> Temps stammt aus der DallasTemperature.h Bibliothek.

Ein Link darauf wäre sinvoll.

Achim A. schrieb:
> for (uint8_t pin = 8; pin < 13; pin++)

Man darf Code auch kommentieren. Was läuft denn da von 8 .. 12?

Diese tonnenweise eingestreuten Serial.print verwirren mich sehr.
Ich würde erstmal alle Daten in ein Array einlesen und danach mit 
sprintf() formatiert ausgeben.

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> Auf dem Steckbrett funktioniert es einwandfrei.

Der AVR ist etwas stark, das kann leicht zu Reflexionen auf den Kabeln 
führen. Probier mal einen Widerstand (47 ... 220Ω) in Reihe zum AVR zur 
Bedämpfung der Flanken.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> Was läuft denn d

das läuft nicht viel da ich nur den PIN 8 nutze.
das ist ein Beispiel-Sketch der Bibliothek. Den habe ich unverändert 
gelassen.
Vielleicht sucht er so mehrere Pins ab da ja auch ein Multibus möglich 
ist

der Link zur Bibliothek
https://github.com/milesburton/Arduino-Temperature-Control-Library/blob/master/DallasTemperature.h

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> stark

etwas Stark ? du meinst das Signal oder die Spannung?

den 47 Ohm bzw. 220Ohm Widerstand in Reihe, meinst Du das ich diesen in 
die Signalleitung in Reihe schalte

Den Widerstand 4,7K zw. Signal und 5V lasse ich aber oder?

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:

> Diese tonnenweise eingestreuten Serial.print verwirren mich sehr.
> Ich würde erstmal alle Daten in ein Array einlesen und danach mit
> sprintf() formatiert ausgeben.

ok, das ist unsauber auch zum Lesen des Codes,
ich muss da heute Abend mal ne abgespeckte Version probieren und dann 
hier posten

das stammt halt alles aus den Beispielen der Bibliothek.

Bei neuen Bauteilen oder Sensoren teste ich immer so, erst nachdem alles 
geht bastle ich alles in mein Programm ein, zuvor nehme ich stets vom 
Bibliothek-Programmierer bereitgestellte Beispielprogramme die 
normalerweise laufen sollten

Aber eben mit den OneWire Bus und diesen DS18B20 Sensoren gibts ja 
wirklich viel Ärger, was wohl oft nur Kleinigkeiten sind. Aber erstmal 
finden

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Hallo

welch Zufall

da ich nun alles nochmals gecheckt habe, u.a. einen anderen 
Beispiel-sketch probierte (ohne feste Adressen sondern die zuvor im 
Programm gesucht werden (was aber auch wieder nicht korrekt 
funktionierte (1 sensor war noch ok, ein zweiter auch noch, aber beim 
Dritten udn vierten kamen dann Aussetzer in der Forma das der 
Hardwarescanner sie zwar fand aber die Temps nicht mehr ausgelesen 
wurden ... die Wartezeiten hatte ich auch geändert zw. den Abfragen)
,
Danach habe  ich auch noch einen anderen Widerstand probiert zw. 5V und 
Data.
Hier wollte ich einen 2.2K nehmen
griff aber in die falsche Schachtel und baute einen 220 Ohm ein.

Urplötzlich kamen alle 4 angeschlossenen Sensoren und die Werte passten 
auch.

Ich probierte dann einen 2,2K aus... da kamen wieder Fehler. von 4 
Sensoren hat er 3 ausgelesen und den 4 einfach nicht mehr,
ich ging mit dem Widerstand weiter runter

mit 1K war es noch am besten obwohl es auch nicht ganz 100%'ig war.

Beim 220 Ohm als auch beim 1K Widerstand hatte ich trotzdem alle ca 5 
Durchläufe bei den Abfragen (Wartezeit zw. jeder Einzel-Sensor-Abfrage 5 
Sekunden)

Siehe hier.
allas Temperature IC Control Library Demo
Locating devices...Found 4 devices.
Parasite power is: OFF
Found device 0 with address: 28720D5D05000074
Setting resolution to 9
Resolution actually set to: 9
Found device 1 with address: 28616411B270468D
Setting resolution to 9
Resolution actually set to: 12
Found device 2 with address: 28616411B2763781
Setting resolution to 9
Resolution actually set to: 12
Found device 3 with address: 28616411B273415B
Setting resolution to 9
Resolution actually set to: 12
Requesting temperatures...DONE
Temperature for device: 0
Temp C: 23.00 Temp F: 73.40
Temperature for device: 1
Temp C: 23.37 Temp F: 74.07
Temperature for device: 2
Temp C: 24.37 Temp F: 75.87
Temperature for device: 3
Temp C: 23.69 Temp F: 74.64
Requesting temperatures...DONE
Temperature for device: 0
Temp C: 23.00 Temp F: 73.40
Temperature for device: 1
Temp C: -127.00 Temp F: -196.60
Temperature for device: 2
Temp C: 24.31 Temp F: 75.76
Temperature for device: 3
Temp C: 23.69 Temp F: 74.64
Requesting temperatures...DONE
Temperature for device: 0
Temp C: 23.00 Temp F: 73.40


Irgendwann bringt er dann -127 Grad

wieso zicken die so rum.
Das ich soweit mit dem Widerstand runter muss kann doch nicht normal 
sein oder?

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
220Ohms sind DEUTLICH zu klein! OneWire kann max. 4mA gegen Masse 
ziehen, also sind ~1,2k das Minimum für den Pull-Up. Bei den kurzen 
Kabels müssen auch 4k7 laufen. Wenn nicht, ist was faul! Ein Oszi wäre 
jetzt hilfreich.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> 220Ohms sind DEUTLICH zu klein! OneWire kann max. 4mA gegen Masse
> ziehen, also sind ~1,2k das Minimum für den Pull-Up. Bei den kurzen
> Kabels müssen auch 4k7 laufen. Wenn nicht, ist was faul! Ein Oszi wäre
> jetzt hilfreich.

eine Frage.

Einen Oszi habe ich leider nicht.

Kann es sein, da ich die Sensoren sehr kurz abgeschnitten habe (zum 
Anlöten der Drähte) das diese einen Hitzeschock erlitten ? :)

und aus diesem Grund es hier zu Aussetzern kommt oder sogar das ich hier 
fast nur ein "sauberes" Auslesen mit 220Ohm bekomme?

ich weiss das ist schwer für Euch aus der Ferne zu beurteilen aber wenn 
meine Verkabelung bis zum Sensor  i.O. ist, die Software so vermute ich 
auch, es auf zwei Arduino die gleichen Effekte gibt, dann bleibt nicht 
mehr viel übrig... da ich die Möglichkeiten nicht habe dies 
durchzumessen mit einem Oszi, so muss ich ein Ausschlussverfahren machen 
sonst drehe ich bis Weihnachten im Kreis

von Falk B. (falk)


Bewertung
1 lesenswert
nicht lesenswert
@ Achim A. (achim_a)

>Kann es sein, da ich die Sensoren sehr kurz abgeschnitten habe (zum
>Anlöten der Drähte) das diese einen Hitzeschock erlitten ? :)

Sehr unwahrscheinlich, heutige ICs bekommt man mit Löten kaum kaputt.

>und aus diesem Grund es hier zu Aussetzern kommt oder sogar das ich hier
>fast nur ein "sauberes" Auslesen mit 220Ohm bekomme?

Nein.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> @ Achim A. (achim_a)
>
>>Kann es sein, da ich die Sensoren sehr kurz abgeschnitten habe (zum
>>Anlöten der Drähte) das diese einen Hitzeschock erlitten ? :)
>
> Sehr unwahrscheinlich, heutige ICs bekommt man mit Löten kaum kaputt.
>
>>und aus diesem Grund es hier zu Aussetzern kommt oder sogar das ich hier
>>fast nur ein "sauberes" Auslesen mit 220Ohm bekomme?
>
> Nein.

ok,
da ich meine Kontakte die ich gelötet habe mehrmals geprüft habe, auch 
im Sketch den vor mir bestimmt 1000 andere auch schon nutzen da in der 
Bibliothek dabei,ich aber auch in diesem Beispiel-Programmen die 
Wartezeiten  nach oben und unten setze, die Sensoren wohl ok sind, kann 
es eigentlich nur noch das Kabel sein, die Pfostenverbinder (hier wurden 
die Sensoren aufgelötet und die Buchsen worden mit dem geschirmten 
Brandmeldekabel verlötet).
Ich habe nämlich als ich die einfachen dünnen Schaltdrähte nahm, mit 
denen ich erstmal getestet habe den gleichen Effekt gehabt, absolut 
gleich. Das neue abgeschirmte Kabel hat nicht im geringsten was 
geändert.
Ich vermute daher das dieses Brandmeldekabel auch nicht besser ist, was 
aber normal nicht sein dürfte da ja geschirmt und die Adern sogar einen 
größeren Querschnitt haben.

Keine Idee mehr?

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
Ne

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
Man könnte nochmal schrittweise alles aufbauen.

1.) Alle drei Sensoren wie beschrieben mit 4k7 als Pull Up in minimaler 
Drahtlänge auf Lochraster

2.) Einen Sensor ans originale Kabel

3.) Nächsten Sensor ans Kabel

... Bis alle vier Sensoren am Kabel hängen.

Bei jedem Schritt das volle Testprogramm, Scannen der IDs + Temperatur 
auslesen in Dauerschleife für 1-3 Minuten.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> n Dauerschleife für 1-3

Danke
ja, das wird mir wohl nicht erspart bleiben
kann die Spannung am Atrduino was ausmachen?
Ich habe hier bei meinem Aufbau auch ein AC/DC 220/24V/20A Netzteil mit 
entsprechenden Buck-Convertern mit denen ich später die Spannungen für 
den Arduino etc. bekomme. Ich könnte der Busleitung somit stabile 5V 
geben.

Dann hätte ich hier auch noch Reste eines CAT7 Kabels. Das 
Brandmeldekabel ist mir eh zu steif (hatte es nur rumliegen)
Beim Cat / hätte ich dann bestimmt keine Abschirmungsprobleme mehr außer 
die 5cm bei denen ich Sensoren oder Kupplungen anlöten muss.

Aber so in der Reihenfolge wie Du empfohlen hast würde ich dan auch 
vorgehen

von Falk B. (falk)


Bewertung
1 lesenswert
nicht lesenswert
@ Achim A. (achim_a)

>Ich habe hier bei meinem Aufbau auch ein AC/DC 220/24V/20A Netzteil mit

AUA!!! Du willst doch nicht schweißen! Die 5V vom USB reichen im 
Normalfall vollkommen, auch wenn es nur 4,7V oder so sind.

>den Arduino etc. bekomme. Ich könnte der Busleitung somit stabile 5V
>geben.

Kaum. Die Busleitung wird nur an die OneWire ICs, den Arduino und den 
Pull-Up angeschlossen, NICHT an konstante 5V!

>Dann hätte ich hier auch noch Reste eines CAT7 Kabels.

Meinetwegen. OneWire läuft auch mit billistem Klingeldraht. Eine 
Schirmung braucht man in den meisten Fällen NICHT.

>Beim Cat / hätte ich dann bestimmt keine Abschirmungsprobleme mehr außer
>die 5cm bei denen ich Sensoren oder Kupplungen anlöten muss.

Ist in deinem jetzigen Aufbau vollkommmen egal.

von Zeno (Gast)


Bewertung
0 lesenswert
nicht lesenswert
@TO
Lies mal hier http://www.fuchs-shop.com/de/ das FAQ zu 1-Wire.

Dann schau Dir mal dieses Projekt 
https://pic-projekte.de/blog/wp-content/uploads/2017/01/1-Wire-Projekt-V1_3.pdf 
an und programmiere das erst mal als Basis nach.
Wenn Du das verstanden hast und erfolgreich probiert hast, solltest Du 
die Grundlagen soweit verstanden haben das, Du dann Deine eigene 
1-Wire-Lib kreieren kannst.
Ich habe das so gemacht und dann meinen eigenen Code geschrieben. Die 
Maxim Libs habe ich nicht benutzt - man braucht sie auch nicht.

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@Zeno (Gast)

>Lies mal hier http://www.fuchs-shop.com/de/ das FAQ zu 1-Wire.

Nett, aber

>Wenn Du das verstanden hast und erfolgreich probiert hast, solltest Du
>die Grundlagen soweit verstanden haben das, Du dann Deine eigene
>1-Wire-Lib kreieren kannst.

Das will er gar nicht, sondern er nutzt eine vorhandene, und vermutlich 
recht stabile Arduino-Lib.

>Ich habe das so gemacht und dann meinen eigenen Code geschrieben. Die
>Maxim Libs habe ich nicht benutzt - man braucht sie auch nicht.

Jaja.

https://de.wikipedia.org/wiki/Not-invented-here-Syndrom

von my2ct (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Zeno schrieb:
> Ich habe das so gemacht und dann meinen eigenen Code geschrieben. Die
> Maxim Libs habe ich nicht benutzt - man braucht sie auch nicht.

Der nächste logische Schritt wäre dann, dass du die Sensoren selber 
baust.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> in deinem jetzigen Aufbau vo

an dem Netzteil hängen schon noch andere  Verbraucher dran.

ok, dann lass ich die Sensoren einfach am Mega ihren Strom ziehen, ist 
ja nicht viel.

das mit dem Klingeldraht und der für meine paar Meter nicht benötigter 
Abschirmung erklärt dann auch das es zuvor als ich auch schon so einen 
ungeschirmten Draht nahm auch nicht funktionierte zumindest als alle 
dran hingen. Gut da war es ein Stern-System aber auch dies hätte wohl 
die max 2
Meter schaffen sollen so wie ich das nun verstehe

Danke für die Info das beruhigt mich und schließt für mich einen 
weiteren Fehler aus

ich baue jetzt nochmal alles von neuem auf step by step und fange am 
Steckbrett an und auch beim Klingeldraht dann hänge ich erst einen 
Sensor nach dem anderen hin und lass zw. jedem Step einige Programme 
durchlaufen

von bastel_ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Wenn du neu verdrahtest, kannst du jede Stichleitung auch 4 adrig 
machen, 5V, Masse, Daten hin zum DS, Daten zurück, d.h die Datenleitung 
vom Haupstrang wird bei jeder Abzweigung unterbrochen und über den DS 
geführt. Strom ganz normal. Dann muss es aber gehen, weil für die Daten 
sich das als ein langer Draht darstellt. Egal ob die Stichleitung 5 cm 
oder 30 Meter lang ist oder alles wie ein Stern aussieht... 4 adriges 
Drahtzeug gibts recht günstig.

Haben wir hier tlws auch so gemacht, hat seine Vorteile, allerdings wird 
die Datenleitung länger als man sieht. Wir haben auch dickes Erdkabel 
tief in der Erde missbraucht. Geht auch. Von wegen dicke Kabel seien das 
Problem..

von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe auch ein paar 18B20 im Einsatz im ganzen haus und im 
Außenbereich verteil da ist NIX abgeschirmt nur mit einer 5,1 Z Diode 
gegen Überspannung gesichert.

Als widerstand habe ich auch irgendwas um die 2,5 -3 KOhm genutzt.

Das problem ist aber das der 18B20 Normal im 12 Bit läuft welches eine 
warte zeit von 750 ms verlangt.
ein abändern in 9 Bit ist leider nicht so ohne weiteres möglich.
Werden diese nicht eingehalten kommt es zu Fehler im auslesen oder ganz 
zum versagen.

Auch würde ich die Sensoren mit ihrer Adresse ansprechen.(vorher einzeln 
auslesen)

Beispiel:
#include <DallasTemperature.h>

Setup
{
DeviceAddress sensor2 = { 0x28, 0xFF, 0x51, 0x60, 0x22, 0x17, 0x3, 0x3B 
};
char sensor2Name[] = "Stube G: ";
}

Loop
{
temp2 = getTemperature(sensor2);
}

void writeTimeToScratchpad(byte * address)
{
  //reset the bus
  ds.reset();
  //select our sensor
  ds.select(address);
  //CONVERT T function call (44h) which puts the temperature into the 
scratchpad
  ds.write(0x44, 1);
  //sleep a second for the write to take place
  delay(780);
}

void readTimeFromScratchpad(byte * address, byte * data)
{
  //reset the bus
  ds.reset();
  //select our sensor
  ds.select(address);
  //read the scratchpad (BEh)
  ds.write(0xBE);
  for (byte i18b20 = 0; i18b20 < 9; i18b20++) {
    data[i18b20] = ds.read();
  }
}

float getTemperature(byte * address)
{
  int tr;
  byte data[10];

  writeTimeToScratchpad(address);

  readTimeFromScratchpad(address, data);

  //put in temp all the 8 bits of LSB (least significant byte)
  tr = data[0];

  if (address[0] == 0x10) // DS18B20
  {
    //check for negative temperature
    if (data[1] > 0x80)


      //drop bit 0
      tr = tr >> 1;

    //COUNT PER Celsius degree (10h)
    int cpc = data[7];
    //COUNT REMAIN (0Ch)
    int cr = data[6];

    return tr - (float)0.25 + (cpc - cr) / (float)cpc;
  }
  else // DS18B20
  {
    return ((data[1] << 8) + tr) * (float)0.0625;
  }
}

habe ich mal aus meiner Haussteuerung raus gerissen die code teile.

: Bearbeitet durch User
von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
bastel_ schrieb:
> Wenn du neu verdrahtest, kannst du jede Stichleitung auch 4 adrig
> machen, 5V, Masse, Daten hin zum DS, Daten zurück, d.h die Datenleitung
> vom Haupstrang wird bei jeder Abzweigung unterbrochen und über den DS
> geführt. Strom ganz normal. Dann muss es aber gehen, weil für die Daten
> sich das als ein langer Draht darstellt. Egal ob die Stichleitung 5 cm
> oder 30 Meter lang ist oder alles wie ein Stern aussieht... 4 adriges
> Drahtzeug gibts recht günstig.

das ist gut. Leuchtet mir ein. so läuft der Bus zwingend am DS vorbei. 
Hab dann nur noch die Mini-Strecke vom 1cm Pfosten des DS an dem dann 
wieder die Rückleitung bzw. die Datenleitung zum nächsten DS geführt 
wird.

Klingt gut.

Danke

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> Das problem ist aber das der 18B20 Normal im 12 Bit läuft welches eine
> warte zeit von 750 ms verlangt.
> ein abändern in 9 Bit ist leider nicht so ohne weiteres möglich.
> Werden diese nicht eingehalten kommt es zu Fehler im auslesen oder ganz
> zum versagen.

Hallo
ja das mit der Wartezeit hörte ich nun immer wieder hier.

In der Lib ist ja ein Beispielprogramm "Tester"

dort steht

// function to print the temperature for a device
void printTemperature(DeviceAddress deviceAddress)
{
  // method 1 - slower
  //Serial.print("Temp C: ");
  //Serial.print(sensors.getTempC(deviceAddress));
  //Serial.print(" Temp F: ");
  //Serial.print(sensors.getTempF(deviceAddress)); // Makes a second 
call to getTempC and then converts to Fahrenheit

  // method 2 - faster
  float tempC = sensors.getTempC(deviceAddress);
  Serial.print("Temp C: ");
  Serial.print(tempC);
  Serial.print(" Temp F: ");
  Serial.println(DallasTemperature::toFahrenheit(tempC)); // Converts 
tempC to Fahrenheit
}

normal müsste ich ja nur die Method 1 nehmen oder?

anscheinend ist so eine Wartezeit schon in der Lib vorgesehen

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> Beim 220 Ohm als auch beim 1K Widerstand hatte ich trotzdem alle ca 5
> Durchläufe bei den Abfragen (Wartezeit zw. jeder Einzel-Sensor-Abfrage 5
> Sekunden)

Laß den Pullup bei 2,2kΩ. Die 47..220Ω gehören in Reihe zum AVR. Es sind 
die Reflexionen, die den 1-Wire stören.

Man kann auch die Länge des Startpulses beim Lesen variieren (min 1µs) 
und möglichst nahe an den 15µs ran lesen. Ich hab aber noch keine 
Experimente gemacht, was besser ist.

von Joachim B. (jar)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> das mit dem Klingeldraht und der für meine paar Meter nicht benötigter
> Abschirmung erklärt dann auch das es zuvor als ich auch schon so einen
> ungeschirmten Draht nahm auch nicht funktionierte zumindest als alle
> dran hingen. Gut da war es ein Stern-System aber auch dies hätte wohl
> die max 2
> Meter schaffen sollen so wie ich das nun verstehe

ich habe hier am AVR NETIO 72m gemischte Stern-Bus-Verkabelung und 6 
Sensoren mit 1,5k, zu Anfang 2,2k die nach 1 Jahr nicht mehr liefen, 
dann zu 1,5k gewechselt und nun läufts wieder. ich habe parasitäre 
Speisung und immer ein freies Adernpaar aus den Telefonleitungen in 
jedes Zimmer.
Die DS18B20 sind in der Telefondose mit Wago 221 Klemmen an die 
Telefondrähte (etwas isolierter Schaltdraht an die Beinchen, ca 10cm) 
geklipst und schauen unter der Telefondose mit dem Köpfchen raus.

Ein Sensor ist gerade wegen Renovierung abgeklemmt.
Schnitt 77°C ist noch in der SW Bearbeitung, Wohnzimmer hat 2 Sensoren 
Warmwand & Kaltwand

: Bearbeitet durch User
von Einhart P. (einhart)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> Ich habe hier bei meinem Aufbau auch ein AC/DC 220/24V/20A Netzteil

Hast du an den 24V irgendeine nennenswerte Last? Mit einem nahezu 
unbelasteten 24V Netzteil hatte ich Probleme mit Störungen eines 
Audioverstärkers. Eine 24V Birne hat dann Abhife geschaffen.

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Joachim B. schrieb:
> ich habe hier am AVR NETIO 72m gemischte Stern-Bus-Verkabelung und 6
> Sensoren mit 1,5k, zu Anfang 2,2k die nach 1 Jahr nicht mehr liefen,
> dann zu 1,5k gewechselt und nun läufts wieder. ich habe parasitäre
> Speisung und immer ein freies Adernpaar aus den Telefonleitungen in
> jedes Zimmer.

Dann solltest du eventuell mal über das im Datenblatt im Abschnitt 
"POWERING THE DS18B20" mit der gezielten Versorgung über den 
zusätzlichen FET während Wandlung und EEPROM Kopieraktionen nachdenken.

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> Dann solltest du eventuell mal über das im Datenblatt im Abschnitt
> "POWERING THE DS18B20" mit der gezielten Versorgung über den
> zusätzlichen FET während Wandlung und EEPROM Kopieraktionen nachdenken.

warum, es läuft und ich habe viele Baustellen!

Wenn du was beizutragen hast, gerne etwas ausführlicher, ich werde es 
mir später durchlesen. (Spruch von einem Chef)

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Einhart P. schrieb:
> Achim A. schrieb:
>> Ich habe hier bei meinem Aufbau auch ein AC/DC 220/24V/20A Netzteil
>
> Hast du an den 24V irgendeine nennenswerte Last? Mit einem nahezu
> unbelasteten 24V Netzteil hatte ich Probleme mit Störungen eines
> Audioverstärkers. Eine 24V Birne hat dann Abhife geschaffen.

ups, aktuell habe ich auf dem Netzteil KEINE Last, später jedoch schon.
aha, okay das ist ein Billignetzteil aus China. Hoffte eben das es 
keinen großen Unterschied zu MeanWell & Co hat.

Trotzdem, mein letzter Versuch bei dem wieder die Fehler aufgetreten 
sind war an einem anderen Arduino-Mega2560 und dieser war nicht in der 
Nähe des Netzteils bzw., das Netzteil war aus  und der Mega hing direkt 
über USB am PC. Die Spannung für die Sensoren kam also direkt von dem 
5V_pin des Arduinos

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@Joachim B. (jar)

>> Dann solltest du eventuell mal über das im Datenblatt im Abschnitt
>> "POWERING THE DS18B20" mit der gezielten Versorgung über den
>> zusätzlichen FET während Wandlung und EEPROM Kopieraktionen nachdenken.

>warum, es läuft und ich habe viele Baustellen!

Jaja, "nobody cares how ist works as Long as it work."

Der Teilnehmer will dir wohl sagen, daß du vermutlich ein systematisches 
Problem hast, das bisher durch Zufall kaschiert wurde.

>Wenn du was beizutragen hast, gerne etwas ausführlicher, ich werde es
>mir später durchlesen. (Spruch von einem Chef)

Die DS18x20 brauchen während der Wandlung der Temperatur mehr Strom, als 
die einfache, parasitäre Versorgung liefern kann.

"In parasite power mode, the 1-Wire bus and CPP can provide sufficient 
current to the DS18B20 for most operations as long as the specified 
timing and voltage requirements are met (see the DC Electrical 
Characteristics and AC Electrical Characteristics). However, when the 
DS18B20 is performing
temperature conversions or copying data from the scratchpad memory to 
EEPROM, the operating current can be as high as 1.5mA. This current can 
cause an unacceptable voltage drop across the weak 1-Wire pullup 
resistor and is more current than can be supplied by CPP. To assure that 
the S18B20 has sufficient supply current, it is necessary to provide a 
strong pullup on the 1-Wire bus whenever temperature conversions are 
taking place or data is being copied from the scratchpad to EEPROM. This 
can be accomplished by using a MOSFET to pull the bus directly to the 
rail as shown in Figure 4. The 1-Wire bus must be switched to the strong 
pullup within 10μs (max) after a Convert T [44h] or Copy Scratchpad 
[48h] command is issued, and the bus must be held high by the pullup for 
the duration of the conversion (tCONV) or data transfer (tWR = 10ms). No 
other activity can take place on the 1-Wire bus while the pullup is 
enabled."

Das macht meine Lib direkt mit dem AVR-IO Pin, das reicht für ne 
Handvoll mA.

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@ Achim A. (achim_a)

>ups, aktuell habe ich auf dem Netzteil KEINE Last, später jedoch schon.
>aha, okay das ist ein Billignetzteil aus China. Hoffte eben das es
>keinen großen Unterschied zu MeanWell & Co hat.

Wenn das mal kein Irrtum ist! Je nach Wetterlage und "Marke" kann so ein 
Ding bei falscher Last, Verkabelung und Erdung satte Gleichtaktstörungen 
ausspucken, welche empfindliche ICs deutlich stören können. Das hatte 
ich bei OneWire auch schon mal!

Lösung. Saubere Erdung am Ausgang des Netzteil (Masse mit PE verbinden). 
Oder gleich ein besseres Netzteil verwenden. Mach deinen Test erstmal 
nur mit USB-Versorgung, für OneWire reicht das.

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> Der Teilnehmer will dir wohl sagen, daß du vermutlich ein systematisches
> Problem hast, das bisher durch Zufall kaschiert wurde.
>
> Die DS18x20 brauchen während der Wandlung der Temperatur mehr Strom, als
> die einfache, parasitäre Versorgung liefern kann.

hmmm 1 Jahr lief es mit 2,2k, natürlich mit CRC Prüfung und Prüfung auf 
Bus Error und Plausibilität zwischen 2 Messungen, dann irgendwann, ich 
tippe auf Arbeitspunktverschiebung der Sensoren ("run in") eben nicht 
mehr.

Nach wechsel auf 1,5k läuft seit Jahren nun stabil zumal ich die Zeiten 
zwischen 2 Auslesungen einhalte mit 1 Sekunde >750ms.

https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
Seite 1
the  DS18B20  can  derive  power
directly  from  the  data  line  (“parasite  power”)

Klar kann man immer behaupten das da noch Fehler drin sind in meiner 
Anschaltung und Software aber wenn ic die nicht bemerke und an den 
Messungen nichts auszusetzen habe wonach soll ich suchen?

Bedenke das entstand 2008 und läuft seit dem! länger als jeder Raspi und 
ganz zu schweigen von einem ESP32.

Ich wollte ja "nur" aus der Ferne (Fernreisen im Winter) meine 
Temperaturen überwachen, später noch eingreifen die Thermostaten 
aufdrehen aber zum "Anfunken" der Köpfe bin ich noch nicht gekommen, nun 
mit den DECT Heizkörperthermostatköpfen ist das wieder greifbar nah.

: Bearbeitet durch User
von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@Joachim B. (jar)

>https://datasheets.maximintegrated.com/en/ds/DS18B20.pdf
>Seite 1
>the  DS18B20  can  derive  power
>directly  from  the  data  line  (“parasite  power”)

Aber nicht in ALLEN Betriebszuständen. Kleingedrucktes und so.

>Klar kann man immer behaupten das da noch Fehler drin sind in meiner
>Anschaltung und Software aber wenn ic die nicht bemerke und an den
>Messungen nichts auszusetzen habe wonach soll ich suchen?

Du hast genügend Hinweise bekommen.

>Bedenke das entstand 2008 und läuft seit dem! länger als jeder Raspi und
>ganz zu schweigen von einem ESP32.

Supi!

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Joachim B. schrieb:
> Wenn du was beizutragen hast, gerne etwas ausführlicher, ich werde es
> mir später durchlesen.

Kannst du haben (Copy & Paste aus dem Datenblatt des DS18B20):

POWERING THE DS18B20
...
In parasite power mode, the 1-Wire bus and CPP can provide sufficient 
current to the DS18B20 for most operations as long as the specified 
timing and voltage requirements are met (see the DC Electrical 
Characteristics and AC Electrical Characteristics). However, when the 
DS18B20 is performing temperature conversions or copying data from the 
scratchpad memory to EEPROM, the operating current can be as high as 
1.5mA. This current can cause an unacceptable voltage drop across the 
weak 1-Wire pullup resistor and is more current than can be supplied by 
CPP. To assure that the DS18B20 has sufficient supply current, it is 
necessary to provide a strong pullup on the 1-Wire bus whenever 
temperature conversions are taking place or data is being copied from 
the scratchpad to EEPROM. This can be accomplished by using a MOSFET to 
pull the bus directly to the rail as shown in Figure 4. The 1-Wire bus 
must be switched to the strong pullup within 10μs (max) after a Convert 
T [44h] or Copy Scratchpad [48h] command is issued, and the bus must be 
held high by the pullup for the duration of the conversion (tCONV) or 
data transfer (tWR = 10ms). No other activity can take place on the 
1-Wire bus while the pullup is enabled.
The DS18B20

von BlaBla (Gast)


Bewertung
1 lesenswert
nicht lesenswert
Müsste man den Sensoren zwischen den Abfragen nicht mehr Zeit einräumen, 
um den interen Kondensatoren wieder aufzuladen? Nur so eine Idee...

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
BlaBla schrieb:
> Müsste man den Sensoren zwischen den Abfragen nicht mehr Zeit einräumen,
> um den interen Kondensatoren wieder aufzuladen? Nur so eine Idee...

ja und das mache ich doch

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> Kannst du haben (Copy & Paste aus dem Datenblatt des DS18B20):

danke, aber nix neues, jedenfalls bei mir hier, es funzt.

von eProfi (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Zur Fehlersuche ist es immer besser, die Dallas mit +5V zu versorgen 
(kein parasite power).
Wenn es damit zuverlässig läuft, kann man die 5V wegklemmen, aber 
aufpassen, damit die Sensoren sicher erkennen, dass Parasite power 
angesagt ist, muss man den Vcc Pin auf Gnd legen! Nicht einfach offen 
lassen.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> die Mini-St

DAVID -. schrieb:
> Ich habe auch ein paar 18B20 im Einsatz im ganzen haus und im
> Außenbereich verteil da ist NIX abgeschirmt nur mit einer 5,1 Z Diode
> gegen Überspannung gesichert.


Hallo
ich drehe hier bald durch.
Ich hab es jetzt von Anfang an nochmal durchgetestet.
Sobald ein 18B20 am Kabel hängt geht er nicht mehr
das gibts doch nicht

hier das was ich machte

1) alle nochmals entlötet, auf's Steckbrett OneWireSearch, etc, und 
einige andere Programme der DallasTemperature.h laufen lassen
alles 1a, geht alles easy

2) da ich noch einen Rest eines CAT7 Kabels hier habe und dachte gut da 
ist alles abgeschirmt und vielleicht brauche ich mal einen anderen 
zusätzlichen Draht
habe ich einen Ds18B20 an das Ende des Cat-kabels gehängt was die 
leichteste Übung sein sollte ca lausige 8m
gefühlte 1000mal auf Durchgang udn Kurzschluss gebprüft, OneWireSearch 
laufen lassen
0,0 findet er

Das kann doch nicht sein

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Wie schon geschrieben wurde ist auch bei zig Metern im Stern die 
Qualität der Leitung nicht so arg entscheidend. Auch ein Mix aus 
3poligem Flachbandkabel (drinnen) und Antennenkabel (draussen) 
funktioniert, vielleicht 1x täglich  CRC-Fehler. Mit 100 Ohm 
Serienwiderstand am AVR, schont Flanke und EMV.

von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
Naja wäre es möglich einen kleinen Kondensator (10-47µF noch zu test 
zwecken am 18b20 anzulöten?

Und oder noch direkt auch zum testen einen widerstand so um die 10K noch 
an jeden Sensor anzubringen ?
um aus zu schlissen das es ein Versorgungsproblem ist ?

: Bearbeitet durch User
von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> Naja wäre es möglich einen kleinen Kondensator (10-47µF noch zu test
> zwecken am 18b20 anzulöten?

Bei parasitärem Betrieb funktioniert dann garantiert nichts mehr. Und 
bei separat versorgtem Betrieb wird er nicht schaden, aber recht 
wahrscheinlich auch nichts nützen. Die Dinger sind für parasitären 
Betrieb gebaut, haben deshalb einen Kondensator für die Versorgung 
bereits eingebaut. Denn bei 0V auf der Leitung kommt ja nix.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> ie schon geschrieben wurde ist auch bei zig Metern im Stern die
> Qualität der Leitung nicht so arg entscheidend. Auch ein Mix aus
> 3poligem Flachbandkabel (drinnen) und Antennenkabel (draussen)
> funktioniert, vielleicht 1x täglich  CRC-Fehler. Mit 100 Ohm
> Serienwiderstand am AVR, schont Flanke und EMV.



Hallo
kannst du mir das bitte erklären wo ich diuesen 100Ohm Widerstand 
einbauen muss... ich vermute in Reihe bei der Datenleitung oder und zwar 
genau am AVR?


Jetzt bitte noch eine andere Frage

gerade wurde mal das Wort"Versorgungsproblem" eingeworfen

Ich kenne Eure Aussagen und auch im Netz habe ich von sehr weiten 
Strecken (100m) gelesen...
AAAber...ich weiss nicht welche AVR's diese und Du benutzt.
Ich verwende hier Arduino Clones und habe vom Saintsmart Mega259, über 
Cina-Clone.Mega2560  und UNO-Clone alles rumliegen aber eben nur Clones

Meine ganzen Tests die ich machte lassen fast diese Möglichkeit nur noch 
zu

1) auf dem Steckbrett geht alles 1a
2) mache ich eine Sternschaltung mit 3 Sensoren und billigen 0,8'er 
Schaltdrähten zw. 0,5m und 2m so gehen 3 Sensoren
4 da muss ich schon mit 2,2 Kohm Pull-Up spielen
5 gehen gar nicht mehr

3) 1 sensor an einem CAT7 kabel mit 8m geht auch nicht

Jetzt habe ich mir soeben mal 12m 2x2x0,6 abgeschirmte Klingelleitung 
geholt
ich vermute das geht auch nicht

Ich habe weder einen Kurzschluss auf der Leitung noch was anderes da ich 
stes die Leitung auf Kurzschluss und Durchgang prüfe

Einen ISZI habe ich leider auch  nicht

Wenn ich das mit Kondensatoren hin bekomme oder Widerständen dann bitte 
genau beschreiben wo diese hinkommen

Vielen Dank für Eure Hilfe und Geduld

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> hlisse

DAVID -. schrieb:
> Und oder noch direkt auch zum testen einen widerstand so um die 10K noch
> an jeden Sensor anzubringen ?
> um aus zu schlissen das es ein Versorgungsproblem ist ?

auf dem Weg in den Baumarkt zum Kaufen eines 2x2x0,6'er leitung
habe ich Deine Message gelesen
und ich glaube das auch langsam

Die Arduinos die ich hier habe packen das ganz einfach nicht
aus welchen Gründen auch immer ist deren Datenbus zu schwach
Die Versorgungsspannung glaube ich kaum

was kann ich machen?

Ich bin fast soweit das ich jeden beschi... Sensor an einen eigenen Pin 
am Arduino hänge in der Hoffnung das er so die max 3 Meter Entfernung 
packt

aber das kann es ja nicht sein ... unglaublich

von (prx) A. K. (prx)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> kannst du mir das bitte erklären wo ich diuesen 100Ohm Widerstand
> einbauen muss... ich vermute in Reihe bei der Datenleitung oder und zwar
> genau am AVR?

Siehe Bild. Pullup-Widerstand ist 5K1. Parasitäre Versorgung der 
DS18x20.

Ob die EMV-Schutzdioden nützlicher als die im AVR sind, weiss ich nicht. 
Ich hatte genug davon. Schottky wäre evtl besser. Auf die Funktion haben 
sie keinen Einfluss.

: Bearbeitet durch User
von (prx) A. K. (prx)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
In einer anderen Installation, an einem LPC2000 Controller, habe ich es 
dann so gemacht. Die Kabel sind hier etwas kürzer und die DS18x20 werden 
separat versorgt. Das ist alles nicht so sehr nach E-Technik gebaut, 
eher nach Gefühl.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Siehe Bild.

Danke

aber hier hast Du ja zwischen der Datenleitung Pin1 sowie VCC und GND 
Sperrdioden hängen und zusätzlich in der Datenleitung in Serie noch den 
100Ohm Widerstand

Brauche ich die Sperrdioden auch?

Ich habe jetzt noch einen interessante Seite gefunden
http://privatfrickler.de/188-m-616-feet-1-wire/
Hier im forum gabs schonmal so ein Problem
Beitrag "OneWire Probleme mit der Leitung (Arduino)"

Dort steht
==> Ich habe gar nicht so viel unternehmen müssen, um einen 
Temperatursensor an den 188 m Kabel zum Laufen zu bringen. 
Leitungsreflexionen treten mit TP-Kabel interessanterweise nicht auf, 
entweder passt die Impedanz des für die Tests verwendeten DS18S20 gut 
genug (in einem Datenblatt steht tatsächlich etwas von einem 100 Ω FET 
in der Endstufe) zu den 100 Ω des TP-Kabels, oder der Pull-Up-Widerstand 
am Leitungsende schluckt hinreichend Signal am Leitungsende. Eine 
Serienterminierung von 100 Ω funktioniert zwar, hat sich aber soweit 
nicht als nötig erwiesen.
<===

heist das nun ich sollte mal probieren einen 100Ohm ans Leitungsende 
hängen

In Deiner Schaltung ist er am leitungsanfang oder?

ich vermute mittlerweile zu 99% das der Datenbus ein zu schwaches oder 
unsauberes Signal hat was dann bei ein paar metern komplett einbricht

Beitrag #5569846 wurde vom Autor gelöscht.
von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> Brauche ich die Sperrdioden auch?

Auf die Funktion selbst haben die keinen Einfluss.

Das sind Angst-Dioden, die parallel zu den sowieso vorhandenen 
Schutzdioden im AVR hängen. Da hängt genug Leitung dran, dass ich bei 
Gewitter lieber einen DS18x20 verrecken sehe als den AVR. Hatte ich auch 
schon 2x in 15 Jahren.

von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe für meine Sensoren welche kreuz und quer wie es grade passte 
angeschlossen also nix stern oder sonstwas.
Und auch ich habe nur einen arduino 2560 clone.
Der Chip ist eh der selbe ob Original oder china Versand.
Ich verwende was ich grade in der länge hatte.
Altes Telefon kabel Steuerleitungen. alles was aus echten kupfer ist und 
3 oder besser 4 adern hat über die länge habe ich mir KEINEN Kopf 
gemacht.
Ein Sensor Im Außenbereich gute 18 meter Leitung 7 Davon an der Hauswand 
entlang habe ich zur Sicherheit aber doch ein bissel auf Abschirmung 
gesetzt und mir eine Leitung wie im link verwendet geht ohne wenn und 
aber.
Und auch hier reichte EIN widerstand nahe dem arduino.

Ebay-Artikel Nr. 401453903568

Tut mir leid wenn ich des überlesen haben sollte aber hast du mal den 
selben aufbau OHNE Stecker versucht ?
Gut möglich das dieser probleme verursacht.
Im Grunde genommen haste alles richtig gemacht.
Muss an den kabel oder einer Verbindung liegen.
Werden die Leitungen an den arduino angelötet oder nur gesteckt ?
ich habe mit reinfach reinstecken keine guten Erfahrungen auf dauer 
gemacht.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> In Deiner Schaltung ist er am leitungsanfang oder?

Auf der Platine mit dem AVR.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Zur Software: Ich hatte für den 1-Wire Bus Code aus dem Forum verwendet. 
Es gab anfangs ein Problem, wenn die Leitungen zu lang wurden. Später, 
mit DSO bewaffnet, konnte ich die Ursache rausfinden: Nach einem 
Bit-Transfer hat der Code nicht explizit gewartet, bis sich der Bus 
wieder auf den Ruhezustand einpendelte, sondern sich darauf verlassen, 
dass der Code dazwischen schon langsam genug sei. Bei einigen Metern 
oder niedrigem AVR-Takt war das kein Problem, aber bei 16MHz und 
insgesamt langen Leitungen war die Zeit zwischen den Bits nicht lang 
genug, um die nun kapazitiv recht belastete Leitung wieder auf 5V zu 
ziehen.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> in

A. K. schrieb:
> as sind Angst-Dioden, die parallel zu den sowieso vorhandenen
> Schutzdioden im AVR hängen. Da hängt genug Leitung dran, dass ich bei
> Gewitter lieber einen DS18x20 verrecken sehe als den AVR. Hatte ich auch
> schon 2x in 15 Jahren

Ok dann brauche ich die erstmal nicht

der 100Ohm Widerstand in reihe direkt nach dem Arduino in der 
Datenleitung hat nix gebracht

kann ich den Pull-Up mal am Arduino raußnehmen und direkt an den Sensor 
hängen also zw. 5V und Datenleitung

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> kann ich den Pull-Up mal am Arduino raußnehmen und direkt an den Sensor
> hängen also zw. 5V und Datenleitung

Kannst du, wird aber vmtl nichts ändern.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> ut mir leid wenn ich des überlesen haben sollte aber hast du mal den
> selben aufbau OHNE Stecker versucht ?
> Gut möglich das dieser probleme verursacht.
> Im Grunde genommen haste alles richtig gemacht.
> Muss an den kabel oder einer Verbindung liegen.
> Werden die Leitungen an den arduino angelötet oder nur gesteckt ?
> ich habe mit reinfach reinstecken keine guten Erfahrungen auf dauer

das dachte ich auch schon... ich sitze nun 3 Tage an dem Mist
Ich habe nun also also Stecker raußgelassen...
also direkt an den Arduino das kabel drean mit Widerstand und direkt das 
Ende des kabels mit dem Sensor verlötet

unfassbar das es NICHT geht
und das bei schlappen 8 Metern wobei die 8 Meter in CAT7 Kabel ist
Das was Du schreibst das habe ich jetzt auch schon mehrmals gelesen das 
sogar uralte Erdleitungen x-meter an Strecken überbrücken und es geht
und ich habe ein Problem hier bei 8 Metern DIREKTE Verbindung von 
Arduino zu Sensor und ohne Kupplungen
Ich habe das auch schon mit einem zweiten mega getestet... das Gleiche
am Steckbrett geht alles 1a

von DAVID B. (bastler-david)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> der 100 Ohm Widerstand in reihe direkt nach dem Arduino in der
> Datenleitung hat nix gebracht

Davon wurde auch schon oft abgeraten weil du damit die Sensoren auch 
kaputt machen kannst.

was man noch test halber mal testen könnte wäre die warte zeit ein wenig 
an zuhaben.

in Zeile 67 zufinden spiele mal mit andern Zeiten mal 1000- 1500 mS oder 
nur zum testen.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> Achim A. schrieb:
>> der 100 Ohm Widerstand in reihe direkt nach dem Arduino in der
>> Datenleitung hat nix gebracht
>
> Davon wurde auch schon oft abgeraten weil du damit die Sensoren auch
> kaputt machen kannst.
>
> was man noch test halber mal testen könnte wäre die warte zeit ein wenig
> an zuhaben.
>
> in Zeile 67 zufinden spiele mal mit andern Zeiten mal 1000- 1500 mS oder
> nur zum testen.

das wäre toll wenn er bis zu Zeile 67 kommen würde
der steigt schon viel früher aus

if ( !ds.search(addr)) {
    Serial.println("No more addresses.");
    Serial.println();
    ds.reset_search();
    delay(1250);
    return;
  }

ps ich habe hier mal auf 1250 die Zeit angehoben.. gleicher Effekt
weil er eben keine Adresse findet

: Bearbeitet durch User
von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> Kannst du, wird aber vmtl nichts ändern.


wie kann ich das Signal verstärken oder diese Flanken glätten

auf dieser Seite
http://privatfrickler.de/188-m-616-feet-1-wire/
geht es zwar um 188m aber er hat sie auch irgendwie hinbekommen mit 
Widerständen... dass ist das was ich hier noch rumliegen habe
solange es keine kondensatoren sind

von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
kannst du mal mit einen vernünftigen dmm nachmessen was für eine 
Spannung an den 18b20 ankommt wenn sie angesprochen werden ?

von Zeno (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Falk B. schrieb:
> Das will er gar nicht, sondern er nutzt eine vorhandene, und vermutlich
> recht stabile Arduino-Lib.

Der ja auch bestens funktioniert. Warum braucht er dann Hilfe?

Falk B. schrieb:
> Jaja

Das Du hier wieder rum motzen mußt war ja wohl auch klar. Geht's auch 
mal ohne?

my2ct schrieb:
> Der nächste logische Schritt wäre dann, dass du die Sensoren selber
> baust.

Genau so ein Dummschwatz.

So wie es aussieht haben Eure Beiträge den TO noch nicht wirklich weiter 
gebracht. Da ihr ja alles besser wisst wäre es ja mal an der Zeit, dem 
TO wirklich zu helfen.

Falk B. schrieb:
> und vermutlich
> recht stabile Arduino-Lib.
Bisher hat die Lib den TO offensichtlich nicht weiter gebracht, das aber 
sehr stabil.
Mal die Dokumentation (von Maxim) zum Sensor lesen oder besser 
durcharbeiten, danach ist man durchaus in der Lage C Code zu schreiben, 
um mit dem Teil zu kommunizieren. Zusätzliches Studium diverser 
Tutorials ist aber durchaus auch hilfreich. Auf alle Fälle lernt man 
dabei mehr, als wenn man sich auf fertige Libs verläßt ohne diese 
richtig verstanden zu haben.


bastel_ schrieb:
> Wenn du neu verdrahtest, kannst du jede Stichleitung auch 4 adrig
> machen, 5V, Masse, Daten hin zum DS, Daten zurück, d.h die Datenleitung
> vom Haupstrang wird bei jeder Abzweigung unterbrochen und über den DS
> geführt.
Das ist völlig überflüssig. Das funktioniert auch ohne solche Klimmzüge. 
Ich hatte ja auch noch einen Link gepostet, wo man nachlesen kann wie 
man 1-Wire richtig verdrahtet. Man muß sich halt die Mühe machen mal zu 
lesen.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> kannst du mal mit einen vernünftigen dmm nachmessen was für eine
> Spannung an den 18b20 ankommt wenn sie angesprochen werden

Die Spannung die am DS18B20 ankommt ist 5V... manchmal 4,9V
Du meinst ich soll am Datenbus messen?
wenn sie angesprochen werden?

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Zeno schrieb:
> Das ist völlig überflüssig. Das funktioniert auch ohne solche Klimmzüge.
> Ich hatte ja auch noch einen Link gepostet, wo man nachlesen kann wie
> man 1-Wire richtig verdrahtet. Man muß sich halt die Mühe machen mal zu
> lesen.

Hi
ich bin überzeugt ich habe den Link bestimmt gelesen
kannst du ihn mir bitte nochmals senden... finde ihn gerade nicht
Nicht das ich ihn doch überlesen habe

von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> Du meinst ich soll am Datenbus messen?

Ja und nein ich weiß ja nicht welches dmm du nutzt ob das in der Lage 
ist so schnell zumessen.
Aber schaden kanns Woll auch nicht.
Also Daten muss +5 Volt haben beim ansprechen müssen die auf fast null 
fallen am besten mal mit der min/max Funktion vom dmm testen.
So kann man schon mal sehen ob sich überhaupt was tut ein Oszi wirrste 
ja nicht haben sonst hättest du das schon versucht.

: Bearbeitet durch User
von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> ich üb

DAVID -. schrieb:
> Ja und nein ich weiß ja nicht welches dmm du nutzt ob das in der Lage
> ist so schnell zumessen.

ich messe hier mit einem Benning MM1-3 dmm

ich messe folgendes

Ruhezustand

beim Aufrufen
mit Min-Max-Funktion
4,91V zwischen Data und GND
im Ruhezustand
4,86V zwischen Data und GND

2. Durchlauf
mit Min-Max-Funktion
4,89V zwischen Data und GND
im Ruhezustand
4,86V zwischen Data und GND

3. Durchlauf
mit Min-Max-Funktion
4,90V zwischen Data und GND
im Ruhezustand
4,86V zwischen Data und GND

: Bearbeitet durch User
von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@Achim A. (achim_a)
>AAAber...ich weiss nicht welche AVR's diese und Du benutzt.
>Ich verwende hier Arduino Clones und habe vom Saintsmart Mega259, über
>Cina-Clone.Mega2560  und UNO-Clone alles rumliegen aber eben nur Clones

Sollten alle funktionieren, ist ja der gleiche (originale) AVR.

>2) mache ich eine Sternschaltung mit 3 Sensoren und billigen 0,8'er
>Schaltdrähten zw. 0,5m und 2m so gehen 3 Sensoren

Gut.

>4 da muss ich schon mit 2,2 Kohm Pull-Up spielen
>5 gehen gar nicht mehr

Schlecht. Da stimmt was nicht. Entweder ist dein Aufbau Schrott, dein 
Software untauglich oder?

>3) 1 sensor an einem CAT7 kabel mit 8m geht auch nicht

Grundlegendes Problem.

>Ich habe weder einen Kurzschluss auf der Leitung noch was anderes da ich
>stes die Leitung auf Kurzschluss und Durchgang prüfe

Zeig mal ein vernünftiges Bild von deinem Aufbau, vor allem den AVR und 
deinen Pull-Up.

>Wenn ich das mit Kondensatoren hin bekomme oder Widerständen dann bitte
>genau beschreiben wo diese hinkommen

Man könnte 100nF an VCC/GND am Sensor machen, wenn der normal versorgt 
wird. Bei parasitärer Versorgung nützt das nix.

Man könnte auch die oft zitierten 100 Ohm direkt zwischen AVR-Ausgang 
und Buskabel schalten, um ggf. Reflektionen zu dämpfen.

von Falk B. (falk)


Bewertung
1 lesenswert
nicht lesenswert
@Achim A. (achim_a)

>aber das kann es ja nicht sein ... unglaublich

Ich tippe auf einen fiesen Trivialfehler ;-)

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@ Achim A. (achim_a)

>das dachte ich auch schon... ich sitze nun 3 Tage an dem Mist
>Ich habe nun also also Stecker raußgelassen...

Wenn du willst, dann

pack einen deiner Arduinos, alle Sensoren, die diversen Kabel in einen 
Karton und schick mir den Kram. Das sollte mit einem Oszi und Knoff Hoff 
schnell zu finden sein. Jedenfalls 10x schneller als Remote Debugging 
per Forum. Nur so als Angebot. Schick mir ne PM.

von Achim A. (achim_a)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> Zeig mal ein vernünftiges Bild von deinem Aufbau, vor allem den AVR und
> deinen Pull-Up.

Ok

das Bild mit dem Screw-shield. da drunter steckt der Saintsmart-mega
auf dem Screw-shield habe ich eine Platine aufgesteckt damit ich den Bus 
sowie später den i2c besser anschliessen kann (die printklemmen des 
screw-shields sind recht klein

der Pull-Up müsste zu sehen sein... ich habe noch ein Bild vom Pull-up 
gemacht

Die Platine habe ich auch umgesteckt auf den anderen Mega... siehe bild 
gleicher effekt

damit ich die Platine ausschliessen konnte
habe ich das Kabel direkt an das Steckbrett gesteckt was mit dem Mega 
verbunden war
gleicher Effekt

ich werde jetzt gleich das Kabel direkt mit dem Mega verbinden.. also 
direkt in die Buchsen stecken

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> @ Achim A. (achim_a)
>
>>das dachte ich auch schon... ich sitze nun 3 Tage an dem Mist
>>Ich habe nun also also Stecker raußgelassen...
>
> Wenn du willst, dann
>
> pack einen deiner Arduinos, alle Sensoren, die diversen Kabel in einen
> Karton und schick mir den Kram. Das sollte mit einem Oszi und Knoff Hoff
> schnell zu finden sein. Jedenfalls 10x schneller als Remote Debugging
> per Forum. Nur so als Angebot. Schick mir ne PM.

darauf komme ich gerne zurück
vielen vielen dank für das Angebot
ich werde noch 1-3 tage testen und dann gehen die Sachen zu Dir inkl. 
Kabel

von Achim A. (achim_a)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Habe noch ein Bild von der Zentrale mit dem screw-shield vergessen

sorry

von Achim A. (achim_a)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
anbei noch ein Testaufbau

jetzt hängt das Cat7 direkt am Arduino und der 4,7K (zuvor hatte ich 
noch mit einem 2,2K getestet) ist zwischen Data und 5V direkt angelötet

Ergebnis= gleicher Mist

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Wenn alle Änderungen an der Hardware nichts bringen, sollte man sich 
vielleicht mal der Software widmen. Auch wenn die nach Ardiuno-Manier 
fix und fertig getestet daherkommen sollte. Wer weiss, am Ende stimmen 
aufgrund irgendeines Missverständnisses die Delays nicht.

von Soeren K. (srkeingast)


Bewertung
0 lesenswert
nicht lesenswert
Hab jetzt nicht alles gelesen, aber wo hast du die DS18S20 gekauft? Ich 
hab hier auch welche von eBay, von denen tut die Hälfte auch nur bei 
schönem Wetter was - wenn überhaupt....

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Ich hatte auch mal einen Schwung vergossener DS18S20er gekauft, mit 
unterschiedlich langen Kabeln dran. Funktioniert haben zwar alle, aber 
mit stabil unterschiedlichem Ergebnis, die kurzen Kabel anders die 
langen. Etwas mehr als eigentlich sein sollte. Und fragte mich auch, ob 
es da mittlerweile Nachbauten gibt.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
A. K. schrieb:
> und fertig g

A. K. schrieb:
> Wenn alle Änderungen an der Hardware nichts bringen, sollte man
> sich
> vielleicht mal der Software widmen. Auch wenn die nach Ardiuno-Manier
> fix und fertig getestet daherkommen sollte. Wer weiss, am Ende stimmen
> aufgrund irgendeines Missverständnisses die Delays nicht.


eigentlich bräuchte ich um die Sensoren zu suchen nur die OneWire-lib 
mehr nicht oder?

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> eigentlich bräuchte ich um die Sensoren zu suchen nur die OneWire-lib
> mehr nicht oder?

Ja, aber die kocht vielleicht auch nur mit Wasser. Ich stecke in den 
Arduinos nicht drin, kann deshalb nur allgemein spekulieren. Aber du 
wärst nicht der Erste, bei dem die reale Taktfrequenz von jener 
abweicht, von der die Software ausgeht.

Ist doch so: Wenn man alle möglichen Fehlerursachen eliminiert hat, dann 
bleiben eigentlich nur die unmöglichen übrig. ;-)

: Bearbeitet durch User
von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> eigentlich bräuchte ich um die Sensoren zu suchen nur die OneWire-lib
> mehr nicht oder?

naja die DallasTemperature library wird automatisch mit verwendet da 
diese zum umrechnen glaube sowieso gebraucht wird so fern du das nicht 
selber machen willst.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> l

na ja, ich finde ja nicht einmal ne Hardwareadresse
bis zur Dallas-lib komme ich ja gar nicht

ich habe jetzt das Cat7 Kabel auf 3m gekürzt selbst da findet er nix

ich werde jetzt noch zwei Testst machen mit einem anderen geschirmten 
2x2x0,6 Kabel und dann mit reinen 0,6'er drähten
alle so um die 2-3 meter lang

von Zeno (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> Hi
> ich bin überzeugt ich habe den Link bestimmt gelesen
> kannst du ihn mir bitte nochmals senden... finde ihn gerade nicht
> Nicht das ich ihn doch überlesen habe

Aber gern!
http://www.fuchs-shop.com/de/howto/linkfamily/
Unter fuchs-shop.com gibt es einiges Lesenswertes durchstöbere einfach 
mal die Seite.

Hier ist ein ganz gutes Tutorial 
https://pic-projekte.de/blog/wp-content/uploads/2017/01/1-Wire-Projekt-V1_3.pdf. 
Wenn man die dort gegebenen Hinweise beachtet und das eine oder andere 
mal selbst durchspielt, kommt man eigentlich recht schnell zum Ziel.
Das Tutorial erklärt recht gut wie die 1-Wire Sache funktioniert. Wenn 
man das einmal verstanden hat, kann man die SW selbst programmieren und 
braucht keine Lib mehr.
Es gibt auch noch mehr brauchbare Anleitungen. Einfach mal Google 
bemühen.

Erst mal einfach anfangen und nur einen Sensor anschließen. Wenn das 
dann sicher funktioniert Schritt für Schritt erweitern. Dabei die 
Sensoren immer mit ihrer ID direkt ansprechen. Es gibt aber Befehle mit 
denen man alle Sensoren gleichzeitig ansprechen kann, z.B. 
Initialisieren, Konvertierungsprozeß anstoßen und noch einige mehr. Kann 
man in den Orginalunterlagen von Maxim nachlesen. Das Auslesen des 
Scratchpads muß dann gezielt für jeden Sensor separat erfolgen.

von (prx) A. K. (prx)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> ich habe jetzt das Cat7 Kabel auf 3m gekürzt selbst da findet er nix

Nochmal: Wenn du immer an der gleichen Stelle suchst, aber nichts 
findest, dann such mal woanders. Vorzugsweise da, wo du bisher nicht 
gesucht hast.

von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
In Beitrag "Re: DS18B20 Verkabelungs od Software Problem"
haste es schon fast teste doch mal wie angesprochen das DIREKTE auflöten 
OHNE den pinhäder also auf der Unterseite einfach mal anlöten.

Könnte man noch testen wie gesagt ich traue dem steck Verbindungen 
nicht.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Zeno schrieb:
> das

A. K. schrieb:
> ochmal: Wenn du immer an der gleichen Stelle suchst, aber nichts
> findest, dann such mal woanders. Vorzugsweise da, wo du bisher nicht
> gesucht hast.

das wäre dann an meinem PC
das meine ich jetzt im ernst

wenn ich den Arduino abstecke (z.B., wenn ich umbaue) dann wieder an den 
USB anstecke so kann es sein das er erstmal nicht gefunden wird... die 
arduino ide zeigt mir dann den arduino am port nicht an
ziehe ich dann kurz das usb kabel und stecke es wieder rein... so zeigt 
er mir den Com-port wo der arduino hängt

nicht das ich da ein Problem habe...
das programm zum arduino läd er hoch... den seriellen monitor kann ich 
auch aufrufen und sehe wie das Programm läuft... nur findet er keinen 
sensor...
wenn alles am Steckbrett hängt geht alles wunderbar

mittlerweile habe ich ein anderes kabel genutzt auch so ca 3 meter.. der 
gleiche mist

wo sollte ich jetzt noch suchen?

ich verwende hier ja keine hokuspokus software sondern das 
standard-programm um die hardwareadresse zu lesen die nur die onewirelib 
verwendet

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@ Achim A. (achim_a)

>das Bild mit dem Screw-shield.

Lass diese Wortschöpfung mal keinen Ami hören ;-) Screw it!

Die Lötkünste sind ausbaufähig.

https://www.mikrocontroller.net/articles/L%C3%B6ten

>sowie später den i2c besser anschliessen kann (die printklemmen des
>screw-shields sind recht klein

Naja, ich würde sie eher als groß bezeichnen, wenn man nicht gerade 
Schwermaschinenschlosser ist.

>Die Platine habe ich auch umgesteckt auf den anderen Mega... siehe bild
>gleicher effekt

>damit ich die Platine ausschliessen konnte

FALSCH! Dann steck der Fehler wahrscheinlich in deinem "screw shield" !

>ich werde jetzt gleich das Kabel direkt mit dem Mega verbinden.. also
>direkt in die Buchsen stecken

Schreit nach Wackelkontakt.

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@Achim A. (achim_a)

>> vielleicht mal der Software widmen. Auch wenn die nach Ardiuno-Manier
>> fix und fertig getestet daherkommen sollte. Wer weiss, am Ende stimmen
>> aufgrund irgendeines Missverständnisses die Delays nicht.

>eigentlich bräuchte ich um die Sensoren zu suchen nur die OneWire-lib
>mehr nicht oder?

Ja, aber nur wenn du SICHER sein kannst, daß alle EInstellungen in der 
Software stimmen. Ein Oszi wäre jetzt Gold wert.

von SR (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> wo sollte ich jetzt noch suchen?

An deinen DS18B20. Wo hast du die denn nun her? Wenn dein Arduino schon 
ein "Klon" ist - dann sicher auch deine DS182B20.

von bastel_ (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Zeno schrieb:

> bastel_ schrieb:
>> Wenn du neu verdrahtest, kannst du jede Stichleitung auch 4 adrig
>> machen, 5V, Masse, Daten hin zum DS, Daten zurück, d.h die Datenleitung
>> vom Haupstrang wird bei jeder Abzweigung unterbrochen und über den DS
>> geführt.
> Das ist völlig überflüssig. Das funktioniert auch ohne solche Klimmzüge.
> Ich hatte ja auch noch einen Link gepostet, wo man nachlesen kann wie
> man 1-Wire richtig verdrahtet. Man muß sich halt die Mühe machen mal zu
> lesen.

Du meinst sicher
https://www.maximintegrated.com/en/app-notes/index.mvp/id/148
Bzw http://pdfserv.maximintegrated.com/en/an/AN148.pdf wegen Bildern.
Ja das kenne ich, eine sehr sehr sehr empfehlenswerte Lektüre.
Besonders die kleine Empfehlungen um das Netz zu verbessern..

Und das mit den 4 poligen ist halt am praktischten, wenn man erstmal 
keinen Stress will aber Abzweige > 3 Meter hat. Unter 3 Meter hat man ja 
normalerweise keine Probleme (man kann das mit den 4 poligen auch ja nur 
für die eine Stichleitung machen, die halt länger ist.)

Außerdem kann man einen Master nutzen (DS2480B) den spricht man einfach 
seriell an. Oder DS2482-100 für I2C. Gibts dann auch mit 8 Kanälen, da 
kann man dann schöne Sterne bauen.

Meine eingeschweißten Chinassensoren.. die gehen, verglichen mit 
original Maxim, aber man sieht an den Temperaturkurven, dass sie nicht 
so top sind. Gröber. Gibt aber auch Händler auf ebay die nen 10erpack 
eingeschweißt mit 1 Meter Kabel original Maxim anbieten.

von Falk B. (falk)


Bewertung
1 lesenswert
nicht lesenswert
@Zeno (Gast)

>Das Tutorial erklärt recht gut wie die 1-Wire Sache funktioniert. Wenn
>man das einmal verstanden hat, kann man die SW selbst programmieren und
>braucht keine Lib mehr.

Du bist und bleibst ein Schwätzer! Der OP ist im Moment nicht mal 
ANSETZWEISE in der Lage, sowas zu tun. Mal ganz davon abgesehen, daß man 
nicht jedes Mal das Fahrrad neu erfinden muss!

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
Im Moment tendiere ich zu einer kalten Lötstelle, so wie das alles 
aussieht.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> @ Achim A. (achim_a)
>
>>das Bild mit dem Screw-shield.
>
> Lass diese Wortschöpfung mal keinen Ami hören ;-) Screw it!
>
> Die Lötkünste sind ausbaufähig.
>
> https://www.mikrocontroller.net/articles/L%C3%B6ten
>
>>sowie später den i2c besser anschliessen kann (die printklemmen des
>>screw-shields sind recht klein
>
> Naja, ich würde sie eher als groß bezeichnen, wenn man nicht gerade
> Schwermaschinenschlosser ist.
>
>>Die Platine habe ich auch umgesteckt auf den anderen Mega... siehe bild
>>gleicher effekt
>
>>damit ich die Platine ausschliessen konnte
>
> FALSCH! Dann steck der Fehler wahrscheinlich in deinem "screw shield" !
>
>>ich werde jetzt gleich das Kabel direkt mit dem Mega verbinden.. also
>>direkt in die Buchsen stecken
>
> Schreit nach Wackelkontakt.

es kann nicht am screw-Shield liegen
ihr wisst doch wievele Varianten ich schon getestet habe
- mit screw-shield
- ohne aber mit gelöteter Platine direkt auf dem mega
- ohne Platine, Drähte der Sensoren direkt in den mega
- einen Uno hatte ich auch schon

NUR auf dem Steckbrett hat es funktioniert
und zuvor am Screw-shield mit der Sternschaltung bis 3 sensoren

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
habe es jetzt alles wieder an das Screw-Shield gehängt
wie schon beschrieben hatte ich es am Mega ohne diesem Shield und mit 
vielen anderen Variationen getestet

Jetzt wieder am Screw-shield

- 3m 0,6mm schaltdraht = Geht nicht
- 0,5m  0,6mm schaltdraht = Geht

ich denke das somit es NUR die Länge ist die hier das Problem macht

Da ich die normale testsoftware der onewire lib nehme
oder
die die Testsoftware der Dallas-lib

müssten nun schon 2 Software-Produkte fehlerhaft sein
oder sehe ich das falsch?

von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> ich denke das somit es NUR die Länge ist die hier das Problem macht

Mensch du machst es aber auch spannend :-)
Das könnte man testen in dem du mal eine serielle Verbindung auf baust.
Lasse die Leitungen wie sie sind auch die pins wo sie verbunden sind 
mache einen Software seriell Port von einen arduino zum andren über 
genau diese Leitung wenn Daten ankommen hast deine Verwirrung komplett.
https://www.google.de/imgres?imgurl=https%3A%2F%2Fi.stack.imgur.com%2FGtjtO.png&imgrefurl=https%3A%2F%2Farduino.stackexchange.com%2Fquestions%2F32300%2Fuse-an-arduino-to-intercept-transparently-serial-communication-to-grbl&docid=R5ctHMw_YMvHfM&tbnid=LS8ss1IcQGES4M%3A&vet=10ahUKEwiX59zpl9zdAhUKY1AKHSckC4UQMwg-KAEwAQ..i&w=2238&h=1032&bih=898&biw=1653&q=arduino%20software%20serial&ved=0ahUKEwiX59zpl9zdAhUKY1AKHSckC4UQMwg-KAEwAQ&iact=mrc&uact=8

Lasse mal dem einen was senden irgend und beim andren siehst was und ob 
was ankommt.

: Bearbeitet durch User
von Zeno (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Falk B. schrieb:
> Du bist und bleibst ein Schwätzer!

Wenn Du das meinst  dann ist das halt so.

Weiter gebracht hast Du den TO auch nicht! Bis jetzt also auch nur 
Geschwätz.

Problem ist, das der TO nicht strukturiert arbeitet und das Pferd von 
hinten aufzäumt. Er hat sich offensichtlich den schwierigeren Part bei 
der 1-Wire Geschichte angepackt.
Wenn er noch nicht einmal die von mir empfohlenen Tutorials versteht, 
obwohl selbige wirklich leicht verständlich sind, dann wir er auch nicht 
die von ihm benutzte Lib verstehen.
Bei mir hat die 1-Wire Sache auf Anhieb funktioniert, nachdem ich mich 
bei den von mir geposteten Quellen schlau gemacht habe.

Deine Hardwarehinweise (und Softwarehinweise) waren ja bisher 
offensichtlich auch nicht zielführend und somit stellt sich die Frage 
wer der Schwätzer ist.

Die Hardware ist auch nicht das Problem des TO. Das Problem ist die SW. 
Und da ist auch nicht das Problem das die Lib schlecht ist, der TO hat 
sie einfach nicht verstanden. Wahrscheinlich hat er die Funktionsweise 
des 1-Wire-Buse noch nicht mal ansatzweise verstanden. Man könnte dieses 
Problem leicht beheben, wenn man mal entsprechende Dokumentation 
studieren würde. Stattdessen wird nur ziellos herumgewurschtelt.

Macht mal Euer Gewurschtel so weiter, dann haben wir noch ein paar Tage 
Lesestoff.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Zeno schrieb:
> Erst mal einfach anfangen und nur einen Sensor anschließen. Wenn das
> dann sicher funktioniert Schritt für Schritt erweitern. Dabei die
> Sensoren immer mit ihrer ID direkt ansprechen. Es gibt aber Befehle mit
> denen man alle Sensoren gleichzeitig ansprechen kann, z.B.
> Initialisieren, Konvertierungsprozeß anstoßen und noch einige mehr. Kann
> man in den Orginalunterlagen von Maxim nachlesen. Das Auslesen des
> Scratchpads muß dann gezielt für jeden Sensor separat erfolgen.

Hallo
also Deinen ersten Link habe ich mir durchgelesen aber geholfen hat er 
leider nicht
denn ein verdrilltes Kabel wie ein CAT7 ist schon im Test

auch habe ich mit nur einem Sensor etc. angefangen

weshalb soll ich mein Programm selber schreiben wenn ich 
Beispielprogramm die ja zum Testen gedacht sind nutzen kann

Es funktioniert ja alles solange die Strecke unter 1m ist
Die Kabel die ich verwende sind ok... an denen und auch an meiner 
verdrahtung liegt es sicherlich nicht

Ich habe auch die Stromversorgung ausgeschlossen wie in deinem Link 
beschrieben, der Sensor bekommt seine 5V nun von einem Netzteil wobei 
auch von diesem der 4,7K Widerstand zu Data gezogen wurde.

Mittlerweile durchs Suchen im Netz kann es aber doch an der Software 
liegen
Es könnte somit an dne Wartezeiten liegen was mir aber von der Logik 
nicht begreiflich wird da dies wohl dahin gehen gemeint ist wenn es 
mehrere Sensoren gibt oder ich habe es falsch verstanden

Wenn hier jemand einen Arduino hat und noch dazu DS18B20 sensoren an 
Kabel mit länger 1-2m hängen hat so wäre es sehr nett wenn er mir die 
Software zeigt denn mit der Standardsoftware geht es wohl nicht

Bis ich mir das alles durchlese habe ich mir im Netz x-mal ein paar 
BME280'er gekauft, diese installiert und an I2C angeschlossen und diese 
doofen nicht auf längere Strecken funktionierenden Spielzeuge für die 
man einen Schrottbibliothek nur im Netz bekommt wandern aus dem Fenster

die zeit die ich hier verblödle ist schon enorm um einen Sensor an ein 
5m Kabel zu hängen wobei ich max mit 2-3 Metern leben könnte und das 
sollte i2c noch können

Viele schreiben immer nur aber anstatt das mal einer seine 
funktionerende Software rausrückt und einem wirklich auf die Sprünge 
hilft schreibt man lieber ewig lange Messages

sorry aber das muss mal gesagt werden

ich bin jedem dankbar der hilft wirklich... aber ich denke wer den 
Thread gelesen hat der weiss das es bestimmt nicht an der verkabelung 
liegt oder

von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> Viele schreiben immer nur aber anstatt das mal einer seine
> funktionierende Software rausrückt

HUST
Beitrag "Re: DS18B20 Verkabelungs od Software Problem"
Setzt aber voraus das du die Sensoren vorher schon ausgelesen hast (die 
ID)

gegen Vorschlag zeige mal was du schon hast.
ich gucke mal nach einer alten Version von mir die ich dir überlasen 
kann.
wenn ich die noch finde

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> HUST
> Beitrag "Re: DS18B20 Verkabelungs od Software Problem"
> Setzt aber voraus das du die Sensoren vorher schon ausgelesen hast (die
> ID)
>
> gegen Vorschlag zeige mal was du schon hast.
> ich gucke mal nach einer alten Version von mir die ich dir überlasen
> kann.
> wenn ich die noch finde

sorry aber ich bin hier wirklich am abkot...mit den Mistviechern

ich habe hier nur die Beispielprogramme der Dallas-lib
mehr nicht

die Hardwareadresse kann ich leicht auslesen... iich stecke sie ans 
Steckbrett und lese sie mit der Beispielsoftware OneWireSearch aus di 
bei OneWire-lib dabei ist

wenn ich dann ein Programm habe mit dem ich mir dann anhand der 
hardwareadressen die Temps ziehen kann bin ich glücklich
Mit den float-Werten und wie ich die auf meine gewünschte 
Nachkommastelle setze im Programm das weiß ich bzw. steht alles in den 
Beispielprogrammen

wäre wirklich super von dir

von DAVID B. (bastler-david)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ok habe dir mal was zusammen gezimmert wo ich weiß das es geht.
NICHT aufgeben ich kenne den mist geht mir oft so kannste jeden hier 
fragen :-)
Hat ein bissel gedauert alles für dich unwichtige raus zuhauen.

: Bearbeitet durch User
von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Heir der Code mit den festen Adressen den ich habe

ist aber aus dem Beispiel der Dallas-lib

// Include the libraries we need
#include <OneWire.h>
#include <DallasTemperature.h>

// Data wire is plugged into port 2 on the Arduino
#define ONE_WIRE_BUS 8
#define TEMPERATURE_PRECISION 9

// Setup a oneWire instance to communicate with any OneWire devices (not 
just Maxim/Dallas temperature ICs)
OneWire oneWire(ONE_WIRE_BUS);

// Pass our oneWire reference to Dallas Temperature.
DallasTemperature sensors(&oneWire);


  DeviceAddress TempBox1    = { 0x28, 0x61, 0x64, 0x11, 0xB0, 0x46, 
0xC5, 0x2B };
  DeviceAddress TempBox2    = { 0x28, 0x61, 0x64, 0x11, 0xB0, 0x65, 
0x7F, 0xF3 };
  DeviceAddress TempBox3    = { 0x28, 0x61, 0x64, 0x11, 0xB0, 0x43, 
0xF6, 0x88  };
  DeviceAddress TempBox4    = { 0x28, 0x61, 0x64, 0x11, 0xB0, 0x6B, 
0xE1, 0x21 };
  DeviceAddress TempBox5    = { 0x28, 0x61, 0x64, 0x11, 0xB3, 0x98, 
0x84, 0x53 };
void setup(void)
{
  // start serial port
  Serial.begin(9600);
  Serial.println("Dallas Temperature IC Control Library Demo");

  // Start up the library
  sensors.begin();

  // locate devices on the bus
  Serial.print("Locating devices...");
  Serial.print("Found ");
  Serial.print(sensors.getDeviceCount(), DEC);
  Serial.println(" devices.");
delay(2000);
  // report parasite power requirements
  Serial.print("Parasite power is: ");
  if (sensors.isParasitePowerMode()) Serial.println("ON");
  else Serial.println("OFF");
delay(2000);

  // method 1: by index
  if (!sensors.getAddress(TempBox1, 0)) Serial.println("Unable to find 
address for Device 0");
  if (!sensors.getAddress(TempBox2, 1)) Serial.println("Unable to find 
address for Device 1");
  if (!sensors.getAddress(TempBox3, 2)) Serial.println("Unable to find 
address for Device 2");
  if (!sensors.getAddress(TempBox4, 3)) Serial.println("Unable to find 
address for Device 3");
  if (!sensors.getAddress(TempBox5, 4)) Serial.println("Unable to find 
address for Device 4");
delay(2000);

  // show the addresses we found on the bus
  Serial.print("Device 0 Address: ");
  printAddress(TempBox1);
  Serial.println();
  delay(2000);
  Serial.print("Device 1 Address: ");
  printAddress(TempBox2);
  Serial.println();
  delay(2000);
  Serial.print("Device 2 Address: ");
  printAddress(TempBox3);
  Serial.println();
  delay(2000);
  Serial.print("Device 3 Address: ");
  printAddress(TempBox4);
  Serial.println();
  delay(2000);
  Serial.print("Device 4 Address: ");
  printAddress(TempBox5);
  Serial.println();
  delay(2000);
  // set the resolution to 9 bit per device
  sensors.setResolution(TempBox1, TEMPERATURE_PRECISION);
  sensors.setResolution(TempBox2, TEMPERATURE_PRECISION);
  sensors.setResolution(TempBox3, TEMPERATURE_PRECISION);
  sensors.setResolution(TempBox4, TEMPERATURE_PRECISION);
  sensors.setResolution(TempBox5, TEMPERATURE_PRECISION);
  Serial.print("Device 0 Resolution: ");
  Serial.print(sensors.getResolution(TempBox1), DEC);
  Serial.println();
  delay(2000);
  Serial.print("Device 1 Resolution: ");
  Serial.print(sensors.getResolution(TempBox2), DEC);
  Serial.println();
  delay(2000);
  Serial.print("Device 2 Resolution: ");
  Serial.print(sensors.getResolution(TempBox3), DEC);
  Serial.println();
  delay(2000);
  Serial.print("Device 3 Resolution: ");
  Serial.print(sensors.getResolution(TempBox4), DEC);
  Serial.println();
  delay(2000);
  Serial.print("Device 4 Resolution: ");
  Serial.print(sensors.getResolution(TempBox5), DEC);
  Serial.println();
  delay(2000);
}

// function to print a device address
void printAddress(DeviceAddress deviceAddress)
{
  for (uint8_t i = 0; i < 8; i++)
  {
    // zero pad the address if necessary
    if (deviceAddress[i] < 16) Serial.print("0");
    Serial.print(deviceAddress[i], HEX);
  }
  Serial.print("adresse gedruckt: ");
  delay(2000);
}

// function to print the temperature for a device
void printTemperature(DeviceAddress deviceAddress)
{
  float tempC = sensors.getTempC(deviceAddress);
  Serial.print("Temp C: ");
  Serial.print(tempC);
  Serial.print(" Temp F: ");
  Serial.print(DallasTemperature::toFahrenheit(tempC));
}

// function to print a device's resolution
void printResolution(DeviceAddress deviceAddress)
{
  Serial.print("Resolution: ");
  Serial.print(sensors.getResolution(deviceAddress));
  Serial.println();
}

// main function to print information about a device
void printData(DeviceAddress deviceAddress)
{
  Serial.print("Device Address: ");
  printAddress(deviceAddress);
  Serial.print(" ");
  printTemperature(deviceAddress);
  Serial.println();
}

/*
   Main function, calls the temperatures in a loop.
*/
void loop(void)
{
  // call sensors.requestTemperatures() to issue a global temperature
  // request to all devices on the bus
  Serial.print("Requesting temperatures...");
  sensors.requestTemperatures();
  Serial.println("DONE");

  // print the device information
  printData(TempBox1);
  printData(TempBox2);
  printData(TempBox3);
  printData(TempBox4);
  printData(TempBox5);
  delay(2000);
  Serial.println(" ende des sketches nach prindate");
}

: Bearbeitet durch User
von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
Für so lagen text wäre es besser das in eine txt Datei zupacken und hoch 
zuladen.
Und ich hoffe dir kann das zusammen gezimmerte helfen sollte das auch 
nicht gehen dann muss ich ganz ehrlich passen.

von Timo N. (tnn85)


Bewertung
0 lesenswert
nicht lesenswert
Kann nicht einschätzen ob das relevant ist, aber: Hast du den Schirm 
deines Kabels auch auf der Seite des Arduino mit der Masse verbunden? 
Auf den Bildern sieht es nicht so aus.


Was ich noch machen würde: Mit dem Multimeter im Modus 
Widerstandsmessung mal alle Verbindungen durchmessen (Masse, VCC und die 
Datenleitung).

Damit meine ich:
- im stromlosen Zustand
- zwischen Pinheader Arduino und dem Beinchen des letzten 
Temperatursensor (also komplette Strecke über das Kabel und alle 
sonstigen passiven Bauteile (Stecker/Klemmen) auf der Strecke.

PS:
Was mich wundert ist, dass du dir beim Fotografieren deiner Bilder 
irgendwie keine Mühe gegeben hast, da kann man kaum was erkennen. Jedes, 
aber auch wirklich JEDES Bild ist verschwommen. Du willst doch die 
Hilfe. Wäre doch besser für dich gescheite Bilder zu machen, damit wir 
das besser beurteilen können.

von Joachim B. (jar)


Angehängte Dateien:
  • 1w.ZIP (409 KB, 22 Downloads)

Bewertung
0 lesenswert
nicht lesenswert
statt arduino.lib mal
Beitrag "DS1820, DS18B20 in C"
oder "mein" AVR Code in pure C versuchen, geht auch in Arduino, da nutze 
ich es auch

: Bearbeitet durch User
von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> Ok habe dir mal was zusammen gezimmert wo ich weiß das es geht.
> NICHT aufgeben ich kenne den mist geht mir oft so kannste jeden hier
> fragen :-)
> Hat ein bissel gedauert alles für dich unwichtige raus zuhauen.

Vielen Dank
ich werde das heute Abend gleich mal testen

Joachim B. schrieb:
> statt arduino.lib mal
> Beitrag "DS1820, DS18B20 in C"
> oder "mein" AVR Code in pure C versuchen, geht auch in Arduino, da nutze
> ich es auch

das würde mich noch mehr kirre machen
Ich möchte das rein mit Deinem Code unter meiner arduino.lib versuchen
so kann ich am wenigsten falsch machen

Warum setzt du in void setup
pinMode(13, OUTPUT);
? das bräuchte ich doch gar nicht oder?

von Einhart P. (einhart)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Achim,
um die Sensoren als Fehlerquelle auszuschließen würde ich dir einen 
garantiert gut funktionierenden zusenden. Genau den, den ich testweise 
an die 50 oder 100m Telefonkabelrolle gelötet habe. Er läuft dort 
einwandfrei als einer von 8 DS18B20 Sensoren. Foto mit dem chaotischen 
Aufbau anbei.

Gruß
Einhart

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Joachim B. schrieb:
> statt arduino.lib mal
> Beitrag "DS1820, DS18B20 in C"
> oder "mein" AVR Code in pure C versuchen, geht auch in Arduino, da nutze
> ich es auch

habe nun doch schon das Programm getestet

ich bin wie folgt vorgegangen

1) ich habe den Sensor an mein Steckbrett gehangen und die HW-Adresse 
ausgelesen
2) Der Sensor wurde dann an die ca 3 Meter langen 0,6mm Schaltdrähte 
angelötet
3) die anderen Variablen und HW-Adressen in Deinem Programm  habe ich 
deaktiviert
4) den Pin habe ich auf 8 setzt da dies mein Data-pin ist

die Ausgabe sieht im Seriellen Monitor wie folgt aus

-1032.06
-1408.06
-0.06
31.94
0.94
1023.94
511.94
159.94
-0.06
1023.94
0.94
2047.94
-0.06
0.94
-0.06
15.94
0.94
-0.06

Hier das geänderte Programm
#include <DallasTemperature.h>
OneWire  ds(8); //pin für ds18b20
#include <Wire.h>

//Speicher Temp
float temp1 = 1;
//float temp2 = 1;
//float temp3 = 1;
//float temp4 = 1;
//float temp5 = 1;

void setup(void)
{
  pinMode(13, OUTPUT);
  Serial.begin(9600);
}
// HIER must du >deine< andressen eintragen // einzeln ermittel.
DeviceAddress sensor1 = { 0x28, 0x61, 0x64, 0x11, 0xB0, 0x6B, 0xE1, 0x21 
};//Temp
//DeviceAddress sensor2 = { 0x28, 0xFF, 0x5, 0x72, 0x74, 0x16, 0x3, 0xE0 
};
//DeviceAddress sensor3 = { 0x28, 0xFF, 0x2B, 0x3F, 0x73, 0x16, 0x5, 
0x60 };
//DeviceAddress sensor4 = { 0x28, 0xFF, 0xC5, 0x11, 0x73, 0x16, 0x5, 
0x7D };
//DeviceAddress sensor5 = { 0x28, 0xFF, 0xC, 0x68, 0x74, 0x16, 0x3, 0x30 
}; //Temp


char sensor1Name[] = "Temp 1: ";
//char sensor2Name[] = "Temp 2: ";
//char sensor3Name[] = "Temp 3: ";
//char sensor4Name[] = "Temp 4: ";
//char sensor5Name[] = "Temp 5: ";

void loop(void)
{
  delay(10000);
  digitalWrite(13, HIGH);
  temp1 = getTemperature(sensor1);
  //temp2 = getTemperature(sensor2);
  //temp3 = getTemperature(sensor3);
  //temp4 = getTemperature(sensor4);
  //temp5 = getTemperature(sensor5);
  Serial.println(temp1);
  //Serial.println(temp2);
  //Serial.println(temp3);
  //Serial.println(temp4);
  //Serial.println(temp5);
  digitalWrite(13, LOW);
}

void writeTimeToScratchpad(byte * address)
{
  //reset the bus
  ds.reset();
  //select our sensor
  ds.select(address);
  //CONVERT T function call (44h) which puts the temperature into the 
scratchpad
  ds.write(0x44, 1);
  //sleep a second for the write to take place
  delay(780);
}

void readTimeFromScratchpad(byte * address, byte * data)
{
  //reset the bus
  ds.reset();
  //select our sensor
  ds.select(address);
  //read the scratchpad (BEh)
  ds.write(0xBE);
  for (byte i = 0; i < 9; i++) {
    data[i] = ds.read();
  }
}

float getTemperature(byte * address)
{
  int tr;
  byte data[10];

  writeTimeToScratchpad(address);

  readTimeFromScratchpad(address, data);

  //put in temp all the 8 bits of LSB (least significant byte)
  tr = data[0];

  if (address[0] == 0x10) // DS18B20
  {
    //check for negative temperature
    if (data[1] > 0x80)


      //drop bit 0
      tr = tr >> 1;

    //COUNT PER Celsius degree (10h)
    int cpc = data[7];
    //COUNT REMAIN (0Ch)
    int cr = data[6];

    return tr - (float)0.25 + (cpc - cr) / (float)cpc;
  }
  else // DS18B20
  {
    return ((data[1] << 8) + tr) * (float)0.0625;
  }
}

Die Ausgaben kann ich nicht richtig deuten, aber ich gehe davon aus das 
er keinen Sensor gefunden hat
oder?

edit:
bei der Installation Deines Codes habe ich nur Deinen Code verwendet
diese verwendet wohl meine Wire.h
alles andere was in der zip war habe ich nicht installiert

: Bearbeitet durch User
von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Einhart P. schrieb:
> Hallo Achim,
> um die Sensoren als Fehlerquelle auszuschließen würde ich dir einen
> garantiert gut funktionierenden zusenden. Genau den, den ich testweise
> an die 50 oder 100m Telefonkabelrolle gelötet habe. Er läuft dort
> einwandfrei als einer von 8 DS18B20 Sensoren. Foto mit dem chaotischen
> Aufbau anbei.
>
> Gruß
> Einhart

Hallo Einhart

das ist sehr sher nett von Dir
ich habe hier aber 15 nagelneue DS18B20 Sensoren
die alle auf dem Steckbrett 1a funktionieren

kann es tatsächlich sein das diese aus einer Produktion stammen wo sie 
nach Ü1m Probleme machen?
das wäre ja der Obergau

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Einhart P. schrieb:
> Hallo Achim,
> um die Sensoren als Fehlerquelle auszuschließen würde ich dir einen
> garantiert gut funktionierenden zusenden. Genau den, den ich testweise
> an die 50 oder 100m Telefonkabelrolle gelötet habe. Er läuft dort
> einwandfrei als einer von 8 DS18B20 Sensoren. Foto mit dem chaotischen
> Aufbau anbei.
>
> Gruß
> Einhart

Hallo Einhart

das ist sehr sher nett von Dir
ich habe hier aber 15 nagelneue DS18B20 Sensoren
die alle auf dem Steckbrett 1a funktionieren

kann es tatsächlich sein das diese aus einer Produktion stammen wo sie 
nach Ü1m Probleme machen?
das wäre ja der Obergau

alterantiv würde ich jetzt noch zum Conrad fahren und mir von diesem 
einen DS18B20 holen
die ich kaufte stammen alle vom Makershop aus dem Netz

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@Achim A. (achim_a)

>ich habe hier aber 15 nagelneue DS18B20 Sensoren
>die alle auf dem Steckbrett 1a funktionieren

Schön.

>kann es tatsächlich sein das diese aus einer Produktion stammen wo sie
>nach Ü1m Probleme machen?

Das ist SEHR unwahrscheinlich. Der FAchim A. (achim_a)

>alterantiv würde ich jetzt noch zum Conrad fahren und mir von diesem
>einen DS18B20 holen

Mach mal, wenn das nicht zuviel Aufwand ist. Ich vermute mal es wird 
sich nichts ändern.

: Bearbeitet durch User
von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Einhart P. schrieb:
> Hallo Achim,
> um die Sensoren als Fehlerquelle auszuschließen würde ich dir einen
> garantiert gut funktionierenden zusenden. Genau den, den ich testweise
> an die 50 oder 100m Telefonkabelrolle gelötet habe. Er läuft dort
> einwandfrei als einer von 8 DS18B20 Sensoren. Foto mit dem chaotischen
> Aufbau anbei.
>
> Gruß
> Einhart

Bei mir ist folgende Aufschrift auf dem Sensor (sorry habe keine gute 
kamera)

DALLAS
18B20
1723C4
+158AC

von SR (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> Bei mir ist folgende Aufschrift auf dem Sensor (sorry habe keine gute
> kamera)

Aufdrucken kann man viel. Wenns keine große Mühe macht würd' ich zum 
Conrad fahren und einfach mal einen neuen holen. Dann ist wieder eine 
Fehlerquelle ausgeschlossen.

von Timo N. (tnn85)


Bewertung
0 lesenswert
nicht lesenswert
Du hast doch schon einen wasserdichten Sensor. Der ist wahrscheinlich 
nicht aus der gleichen Charge wie die anderen. Probier es doch mal mit 
dem und nur dem aus.

Arduino -> langes Kabel -> wasserdichter Sensor.

Wenn du einen Raspberry Pi rumliegen hast, kannst du auch leicht mal mit 
dem prüfen ob die Sensoren und Kabelstrecke funktionieren. Der hat schon 
die Software zum Auslesen vom DS18B20 drauf. Ist in 5 min getestet. Habs 
gerade selbst probiert. Allerdings ohne langes Kabel, sondern nur mit 
dem Kabel am wasserdichten Sensor.

Von dem was ich gelesen habe und was du schon probiert hast, kann man 
eigentlich noch keine Fehlerart wirklich ausschließen (Software oder 
Hardware [Verbindungsstörung in der Verkabelung, Sensor defekt, 
Versorgung])

Wegen der Versorgung:
Was du noch testen könntest, wäre mal einen kleinen Kondensator 330nF 
oder etwas größer zwischen VCC und GND direkt am Sensor zu löten. Nicht 
das beim Senden der Daten die Versorgungsspannung  kurzzeitig einbricht 
(Kabelstrecke hat ja einen gewissen Widerstand und Induktivität). Ist 
zwar unwahrscheinlich, aber auch noch eine Möglichkeit eine Fehlerquelle 
auszuschließen.

Außerdem schreibst du doch, dass du die Sensoren später über ein 
separates Netzteil versorgst, richtig? Wo speist das dann bei dir ein: 
direkt am Sensor oder über dein Kabel ?.
Der Minuspol des Netzteils ist aber bei deinen Tests schon mit dem GND 
des Arduino verbunden gewesen, oder? Das darf man allerdings nur, wenn 
der Minuspol des Netzteils  intern galvanisch getrennt von der Erde / 
PE-Leiter ist und falls man den Arduino noch über USB mit dem Computer 
verbunden hat, sonst steigt dein USB-Controller im PC aus oder geht im 
schlimmsten Fall kaputt !! Sensor und Arduino brauchen ja das gleiche 
Massebezugspotential. Ich würde sowieso alles nur ohne separates 
Netzteil testen und nur die Versorgung über die USB-Schnittstelle 
nehmen. Das sollte ja reichen.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Timo N. schrieb:
> Du hast doch schon einen wasserdichten Sensor. Der ist
> wahrscheinlich
> nicht aus der gleichen Charge wie die anderen. Probier es doch mal mit
> dem und nur dem aus.

welch Zufall
ich habe hier auch noch nagelneue gefunden. hatte sie nur verlegt.
Der erste Test schlug fehl. hatte ihn (den wasserdichten) aber an das 
lange Kabel gelötet
ich werde ihn jetzt direkt dran hängen
da vermute ich das er so funktioniert... er hat aber nur 1m Kabel dran

Frage: die wasserdichten sensoren (die neuen)  die ich habe, stammen 
auch aus china, haben aber statt dem gelben Draht einen blauen also 
Rot-Blau-schwarz
ich vermute das der blaue data ist ... korrekt?
Eine Beschreibung finde ich dazu leider nirgends nur von denen mit dem 
gelben Draht
>
> Arduino -> langes Kabel -> wasserdichter Sensor.
>
> Wenn du einen Raspberry Pi rumliegen hast, kannst du auch leicht mal mit
> dem prüfen ob die Sensoren und Kabelstrecke funktionieren. Der hat schon
> die Software zum Auslesen vom DS18B20 drauf. Ist in 5 min getestet. Habs
> gerade selbst probiert. Allerdings ohne langes Kabel, sondern nur mit
> dem Kabel am wasserdichten Sensor.

habe ich auch hier... habe aber dort nur ne abgespeckte 
webserver-installation drauf... die Idee ist aber sehr gut das könnte 
ich noch testen


>
> Von dem was ich gelesen habe und was du schon probiert hast, kann man
> eigentlich noch keine Fehlerart wirklich ausschließen (Software oder
> Hardware [Verbindungsstörung in der Verkabelung, Sensor defekt,
> Versorgung])
>
> Wegen der Versorgung:
> Was du noch testen könntest, wäre mal einen kleinen Kondensator 330nF
> oder etwas größer zwischen VCC und GND direkt am Sensor zu löten. Nicht
> das beim Senden der Daten die Versorgungsspannung  kurzzeitig einbricht
> (Kabelstrecke hat ja einen gewissen Widerstand und Induktivität). Ist
> zwar unwahrscheinlich, aber auch noch eine Möglichkeit eine Fehlerquelle
> auszuschließen.

Ja, ich hatte gestern das Thema hier schon mal . Versorgung.
Da hier aber user auch mit Arduino und längeren Strecken arbeiten 
dachte/denke ich gerade an ein anderes Problem was bei mir doch 
auftreten könnte

bis dato habe ich NUR die PIN 8 und 2 probiert. Auch auf dem Uno. Das 
sind aber u.a. PWM-pins und ich glaube mal gelesen zu haben das es beim 
Arduino Unterschiede in der Taktfrequenz den MHZ bei den einzelnen Pin's 
gibt
könnte das ein Problem sein?

da ich nämlich mittlerweile hier eine funktionierende Software habe die 
mir ein Arduino-User spendiert hat und die mit millis etc arbeitet also 
Wartezeiten, diese Software auch den DS18B20 und der Leitungsstrecke 
funktioniert
Die Verdrahtung es wohl nicht sein kann (ist fast zu 99% auszuschliessen 
sonst hätte es nachdem 20'ten test ürgendwann mal funktionieren müssen 
da ja die kurzen Strecken ca 50cm funktionieren)
bleibt nicht mehr viel übrig

ok... 330nF kondensator am sensor zw VCC und GND...
muss den schnell vom conrad holen
wenn es damit funktionieren sollte dann wüsste ich wahrscheinlich das 
die Power des Arduino doch nicht ausreicht... oder es an meinem Pin2 
oder pin8 liegt ( da es ja bei anderen usern die aber pin40 oder 50 
nutzen geht)


>
> Außerdem schreibst du doch, dass du die Sensoren später über ein
> separates Netzteil versorgst, richtig? Wo speist das dann bei dir ein:
> direkt am Sensor oder über dein Kabel ?.

Über das Kabel
ich dachte an ein Versorgungsproblem da wenn ich einige sensoren drüber 
laufen lasse, vielleicht später noch ein, zwei OLED's usw. das mir dann 
er Saft ausgehen könnte
deswegen dachte ich an diese Lösung das ich so viel als möglich 
Strom-Last vom Arduino abnehme


> Der Minuspol des Netzteils ist aber bei deinen Tests schon mit dem GND
> des Arduino verbunden gewesen, oder?
Klar. Ich gehe vom AC/DC 24V  Netzteil zu Buck-Convrtern... dort erhalte 
ich je nachdem zw.3,3V 5V , 9V und 12V (12 Volt brauche ich für ein 
relais-Brett) natürlich geht auch GND vom Buckkonverter zum Arduino (GND 
ist dort ja eh durchgeschleift.)

Aktuell bekommt aber der Arduino aber seinen Strom zum testen direkt vom 
PC also über USB. das längere USB-Kabel kann es auch nicht sein, da ich 
einen zweiten Mega hier habe und an diesem auch schon testete. Dieser 
mega hängt dann mit dem blauen kurzen USB-Kabel direkt am PC




 Das darf man allerdings nur, wenn
> der Minuspol des Netzteils  intern galvanisch getrennt von der Erde /
> PE-Leiter ist
das weiß ich natürlich nicht ob im netzteil eine galvanische Trennung 
stattfindet. bei den Billig-Buckconvertern mit sicherheit nicht
!!! soeben habe ich mit dem Durchgangspprüfer am AC/DC netzteil von 
DC-GND zu AC-Nulleiter und AC-Schutzleiter getestet = keine Verbindung
sollte so ok sein oder?
Im ausgeschalteten Zustand!!!

und falls man den Arduino noch über USB mit dem Computer
> verbunden hat, sonst steigt dein USB-Controller im PC aus oder geht im
> schlimmsten Fall kaputt !! Sensor und Arduino brauchen ja das gleiche
> Massebezugspotential. Ich würde sowieso alles nur ohne separates
> Netzteil testen und nur die Versorgung über die USB-Schnittstelle
> nehmen. Das sollte ja reichen.
habe ich schon hinter mir
bzw. mache ich das die ganze zeit
ich teste einen Mega hier am PC vor Ort und dann zusätzlich bei meinem 
Aufbau um eben alles auszuschliessen

von Achim A. (achim_a)


Bewertung
1 lesenswert
nicht lesenswert
VOILA
es geht

und an was hatb es gelegen? am PIN8 und am PIN2
nutze jetzt den pin 52 und habe ihn mit einem 3-meter langen Draht, nix 
geschirmtes am Steckbrett gestöpselt.. und am 3m Draht hängt noch ein 
wasserdichter Ds18B20 mit nochmals 1m ungeschirmt Billig-kabel ran und 
siehe da sofort hat er ihn

Es liegt also an den verwendeten PIN's

warum?

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> warum?

Vielleicht bei irgendeiner Gelegenheit halb zerschossen?

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Wolfgang schrieb:
> genhei

Wolfgang schrieb:
> chim A. schrieb:
>> warum?
>
> Vielleicht bei irgendeiner Gelegenheit halb zerschossen?

ok alles zurück aber mit Erfolg

Folgende Situation

irgend etwas brachte ich jetzt beim Test mit wasserdichten Sensoren 
durcheinander oder am Steckbrett gab es einen wackler

so wie es aussieht sind ALLE 15 DS18B20 Sensoren vom makershop.de 
schrott

alle wasserdichten Ds18B20 Sensoren sind ok und funktionieren an JEDEM 
Port auch an D-8 sowie an D50,52 etc.

so ein Witz

ich habe jetzt soeben nochmals 3 DS18B20 (keine wasserdichten) Sensoren 
am langen Kabel Cat7 getestet, keiner ging...dann habe ich die 
wasserdichten dran gemacht... zusätzlich also nochmals 1m kabel... alle 
funktionieren 1a

Wie kann das sein?

kann es sein das es eine Produktion gibt bei denen sowas vorkommt

was kann ich machen... das ist nun schon min 6 Monate her das ich die 
kaufte...

aber die Frage der Fragen

wo kauft man nun DS18B20 Sensoren zum akzeptablen Preis

Conrad verlangt a Ü4,-€/Stck
ich hätte noch DigiKey
https://www.digikey.de/product-detail/de/maxim-integrated/DS18B20%2B/DS18B20%2B-ND/956983?utm_adgroup=Sensors%2C+Transducers&mkwid=s9DJRlUNl&pcrid=239020661731&pkw=&pmt=&pdv=c&productid=956983&slid=&gclid=CjwKCAjworfdBRA7EiwAKX9HeMsJtKA-uGVJf-mB0sUHx4nMprn_cz20xH0Cgjr0qAfzrDuNo1-8LhoCPesQAvD_BwE

dort werden sie als DS18B20+ND verkauft
keine Ahnung was das für welche sind

kosten aber nur 10Stck 23,-€

wenn ich nun bei Ebay zuschlage bekomme ich die für ~ 9,-€ kann das 
sein? oder sind das solche wie ich habe die nur am Steckbrett 
funktionieren und einen Anfänger wie mich zum Verzweifeln bringen

bei Reichelt gibt es sie auch, sogar günstig aber die Preisunterschiede 
bringen mich gerade zum Grübeln
was sind da die Unterschiede?
wo habt ihr Eure gekauft die auf lange Strecken funktionieren?

: Bearbeitet durch User
von Achim A. (achim_a)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
An diesem Kabel mit den Kupplungen habe ich jetzt 2 
Wasserdichte-Sensoren angekuppelt über die Buchsen und zusätzlichem 1 
Meter kabel von den sensoren

Funktioniert 1a
meine ganzen kabel gehen also... meine ganze Arbeit, Eure ganze Geduld 
und Zeit wurde gebraucht um 15 nagelneue DS18B20 Sensoren als 
hinterlistig defekt zu identifizieren denn alle gehen am Steckbrett

tzzzz

: Bearbeitet durch User
von SR (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Achim A. schrieb:
> meine ganzen kabel gehen also... meine ganze Arbeit, Eure ganze Geduld
> und Zeit wurde gebraucht um 15 nagelneue DS18B20 Sensoren als
> hinterlistig defekt zu identifizieren

Habe ich ja gestern Abend schon geschrieben... ;)

Hätte ich vom "Makershop" (ohne ihn genauer zu kennen) zwar auch nicht 
erwartet, aber der Preis von < 10 EUR / Stück ist auch sehr günstig. 
Nicht ohne Grund verkauft Reichelt die zum doppelten Preis, die 
funktionieren auch.

Ein paar gibts kostenlos als Sample bei Maxim...

von SR (Gast)


Bewertung
0 lesenswert
nicht lesenswert
SR schrieb:
> aber der Preis von < 10 EUR / Stück

*der Preis von < 10 EUR / 10 Stück

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
SR schrieb:
> *der Preis von < 10 EUR / 10 Stück

genau <10 Euro 10 Stck...
habe sie gerade bei makershop alias sensus-de (ebay-account) reklamiert. 
Sind immerhin in D ansässig.

das ist es ja, bei Reichelt sind sie auch NOCH günstig...
hast du damit Erfahrung das diese über längere Strecken funktionieren

ich habe keine Ahnung wieso alle auf dem Steckbrett gehen aber bei 
>1-2m geht nix mehr
unglaublich
hätte ich jetzt keine neuen wasserdichten DS18B20 sensoren gefunden 
hätte ich es nicht herausgefunden da Conrad diese nicht in Nürnberg 
vorrätig hat

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
SR schrieb:
> *der Preis von < 10 EUR / 10 Stück

ps...
weisst du oder jemand hier was das bei Digikey bedeutet
dort werden sie als DS18B20+ND verkauft?
+ND ???

edit:
hab das gerade im KNX-Forum gefunden

das '+' kennzeichnet die Einhaltung bestimmter Schadstoffverordnungen, 
insbesondere ist die Beschichtung an den Anschlussbeinchen bleifrei.

Keinerlei funktionale Unterschiede.

: Bearbeitet durch User
von Timo N. (tnn85)


Bewertung
0 lesenswert
nicht lesenswert
Kaufe meist bei diesem Shop. Ziemlich günstig und nie Probleme gehabt:

https://csd-electronics.de/ICs/Sensoren/Temperatur:::12_33_258.html?MODsid=5871tbojb7t50rf2g5tm5lhqe4

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert

von Timo N. (tnn85)


Bewertung
0 lesenswert
nicht lesenswert
Einer ist DS18*B*20 und einer ist DS18*S*20. Das sind nicht die 
gleichen.

von Einhart P. (einhart)


Bewertung
1 lesenswert
nicht lesenswert
DS18B20 habe ich mehrfach billig aus China bezogen - bisher hatte ich 
kein Problem mit den Sensoren.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Timo N. schrieb:
> Einer ist DS18*B*20 und einer ist DS18*S*20. Das sind nicht die
> gleichen.

sorry ich sehe schon den wald vor lauter...

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Einhart P. schrieb:
> DS18B20 habe ich mehrfach billig aus China bezogen - bisher hatte
> ich
> kein Problem mit den Sensoren.


ich beziehe auch viel aus china
wieso hier aber alle 15 Stück hinterlistig defekt sind... keine Ahnung
ok mal sehn was makershop.de sagt
ich habe sie mal reklamiert

Beitrag #5571044 wurde vom Autor gelöscht.
von bastel_ (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Nicht das du bei den Nackten die Beinchen falsch anschließt? Bei den 
wasserdichten hat man ja Kabel mit Farben, bei den nackten Chips muss 
man aufpassen... Dreh mal einen um 180 Grad, vielleicht geht er dann? 
(Wenn nicht schon durch falsch aufstecken zerschossen...)

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
bastel_ schrieb:
> nicht schon durch fals

bastel_ schrieb:
> Nicht das du bei den Nackten die Beinchen falsch anschließt? Bei den
> wasserdichten hat man ja Kabel mit Farben, bei den nackten Chips muss
> man aufpassen... Dreh mal einen um 180 Grad, vielleicht geht er dann?
> (Wenn nicht schon durch falsch aufstecken zerschossen...)

Keine Sorge
nein das datenblatt und wie man die Teilchen richtig anschliesst ist mir 
bekannt sonst würden sie am Steckbrett nicht funktioniert haben und noch 
funktionieren

Die Teile die ich bekommen habe sind ganz einfach hinterlistig 
fehlerhaft... wer denkt denn sowas das sie am Steckbrett gehen und nach 
2 Metern kabel aussteigen

von Falk B. (falk)


Bewertung
0 lesenswert
nicht lesenswert
@Achim A. (achim_a)

>meine ganzen kabel gehen also... meine ganze Arbeit, Eure ganze Geduld
>und Zeit wurde gebraucht um 15 nagelneue DS18B20 Sensoren als
>hinterlistig defekt zu identifizieren denn alle gehen am Steckbrett

Glaub ich nicht. Schick mir die Sensoren, dann kann ich die testen und 
messen.

von DAVID B. (bastler-david)


Bewertung
0 lesenswert
nicht lesenswert
Ich habe auch gut 20 oder sogar 25 stück von diesen DS18B20 ebay teilen 
aus Fernost verbaut und hatte nie probleme.
Eigentlich sind die NICHT kaputt zubekommen falsch polen ? egal werden 
heiß geht aber nix kaputt richtig polen und geht als wäre nix.
Überspannung mit 12 volt scheinen sie nicht zu mögen laufen nach regeln 
auf 5 volt aber wieder sauber ohne Fehler.

Ich habe bis jetzt erst einen richtig kaputt bekommen (pin abgerissen)
Also ich glaube auch nicht das die Sensoren defekt sein sollen.
Da stimmt noch irgend was nicht.

Ehm was hat den dein Verkäufer gesagt ?
das er sich nicht mehr zuständig fühlt weil du schon dran rum gelötetes 
hast ?

von Wolfgang (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Timo N. schrieb:
> Einer ist DS18*B*20 und einer ist DS18*S*20. Das sind nicht die
> gleichen.

Eine vernünftige Library sollte die aber anhand des 7-Bit Family Codes 
im ROM code auseinander halten.

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
DAVID -. schrieb:
> Ich habe bis jetzt erst einen richtig kaputt bekommen (pin abgerissen)
> Also ich glaube auch nicht das die Sensoren defekt sein sollen.
> Da stimmt noch irgend was nicht.
>
> Ehm was hat den dein Verkäufer gesagt ?
> das er sich nicht mehr zuständig fühlt weil du schon dran rum gelötetes
> hast ?

Makershop ist da anscheinend recht cool.
Sie haben mir einen Rückschein gesendet, am Montag gehen die Teile 
zurück. dann bekomme ich mein Geld zurück.

Jetzt kommt es:
Ich machte meine Bedenken klar das ich schiss hätte wieder welche 
zukaufen die mir 2 Tage Nerven kosten und ich ja nicht nur 1,2 oder 3 
Ausfälle hatte sondern fast alle 15 (einer funktioniert). Der Herr im 
Service meinte: Er empfiehlt mir sie woanders zu kaufen da sie stets den 
gleichen Lieferanten hätten.

Du meinst was anderes das meinten hier im Forum auch auch die meisten 
und auch ich. Ich suchte die Fehler stets an meiner Verdrahtung, 
Schaltung und auch Software. Bestimmt 30 mal umgebaut. Steckbrett 
genutzt = geht, 50cm kabel genutzt = geht. über 1m = geht nix mehr.
Cat7 kabel mit 8m und 1 Sensor am Ende = geht nix, 3m CAT7 = geht nix.
8m CAT7 + 1 wasserdichter Sensor mit 1m Billigkabel am Ende = geht 
wunderbar. Alte Verkabelung mit ca 2,5m Brandschutzkabel und 5 Abgängen 
und 5 Mikrophonkupplungen + an jeder Kupplung 5 wasserdichte DS18B20 mit 
1m Billigkabel = geht einwandfrei

du meinst immer noch was anderes?

ich nicht, die Teile haben irgend einen Fehler
Oder sind in wasserdichten DS18B20 andere Sensoren drin als in den 
kleinen mit den kurzen Beinchen?

: Bearbeitet durch User
von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Timo N. schrieb:
> Kaufe meist bei diesem Shop. Ziemlich günstig und nie Probleme gehabt:
>
> 
https://csd-electronics.de/ICs/Sensoren/Temperatur:::12_33_258.html?MODsid=5871tbojb7t50rf2g5tm5lhqe4

Hallo,

hast du eine Ahnung was mit dem von Dir empfohlenen shop los ist

habe vor über einer Woche dort vorrätige DS18B20 sensoren sowie andere 
Bauteile bestellt, Vorkasse bezahlt (da Paypal bei denen nicht 
funktionierte) wobei der Betrag am Dienstag vergangene Woche bestimmt 
drauf war und bis heute nichts gehört.
auf keine mail wird geantwortet, ans telefon geht auch keiner
Ist CSD Pleite?
Oder driften die gerade ab?

Weiß jemand ob da was faul ist?

Grüße

von Achim A. (achim_a)


Bewertung
0 lesenswert
nicht lesenswert
Timo N. schrieb:
> Kaufe meist bei diesem Shop. Ziemlich günstig und nie Probleme gehabt:
>
> 
https://csd-electronics.de/ICs/Sensoren/Temperatur:::12_33_258.html?MODsid=5871tbojb7t50rf2g5tm5lhqe4

Sei mal Du besser vorsichtig mit Empfehlungen zu CSD habe gerade 
erfahren das dort die Insolvenz läuft
kann mir gerade 37,-€ wo hin schmieren

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.