DS18B20 als Bus an Pokeys

Hallo zusammen,

nachdem ich nun auch seit einigen Tagen im Pokeys-Fieber bin, habe ich ein Problem beim Anmelden der 10 Sensoren als Bus an Pin55.

Der erste läßt sich über den Sensoren-Dialog der PoKeys-SW einrichten: „Speicherplatz“ links markieren, „Read current“ (-> ID erscheint), „Save“, „Ok“, „Send to device“ auf der Hauptseite. Danach wieder rein und und „Read current value“ geklickt und über einen richtigen Wert gefreut.

Ab dem zweiten geht es nicht mehr. Auch ein Reset zwischen den Anmeldungen hilft nicht. Allerdings bleibt der Speicherplatz mit „DS18B20: temperature“ beschriftet. Es wird auch beim Klick darauf die richtige ID angezeigt. Nur der Wert ist immer 0. So auch mit den weiteren. Auch „Send to device (no save)“ ging es nicht. (Save habe ich vorher geklickt)

Dann habe ich mal testweise auf Potlog27 umgestellt und jeden Sensor mittels 3,3k gegen +5V angeschlossen, Reset des Boards und schon konnte ich die 10 Werte sehen (und auch im IPS anzeigen lassen). Somit ist die Verkabelung, die Sensoren etc. okay. Seit ca. 1 Woche keinerlei Ausfälle.

Grund zum Rückwechsel zum Bus sind zwei Dinge: Counter für die S0-Impulse des Stromzählers und eine geplante autarke Heizungssteuerung.

Hat(te) jemand ähnliche Probleme? Oder sogar einen Vorschlag? Habe auch mit verschiedenen Buswiderständen hantiert, auch den 5k wie es im Handbuch steht - aber wieder nichts.:confused:

Hast Du auch zu Beginn jeden Sensor einzeln an Pin 55 angelernt (ID ausgelesen), bevor Du alle anhängst?

Ja habe ich:

  1. den 1. angelernt,

  2. diesen abgezogen,

  3. dann den 2. angehängt,

  4. angelernt.

  5. Dann den 2. ausgelesen -> 0 Grad.

  6. Wieder abgesteckt.

  7. Den 1. wieder abgesteckt,

  8. Wert lässt sich ablesen: 20,56 Grad - passt.

  9. Dann den zweiten dazu.

  10. Wert1 okay - Wert2 nicht.

  11. langsam verzweifel …:mad:

Hallo Andreas,
lösche mal alle Sensoren bis auf den Ersten. Dann nimm mal den 2. Eintrag für den 2. 18B20 save und das ganze Tüddelüt.

Also die Reihenfolge auf der linken Seite befolgen.

Dann den 3. Sensor wenn Das funktioniert.

Das wäre ein Versuch wert.

Gruß Helmut

Also bei mir läuft das perfekt.

  • Sensor einzel angehängt.
  • die Werte zum PoKeys gesendet
  • nächster Sensor
  • die Werte zum …
  • alle Sensoren an den Bus Pin55 und ein 3k3 Pullup an 5V

PS: Sorry Helmut, hat sich überschnitten.

Bin noch unterwegs, daher werde ich das nachher ausprobieren.

Die Reihenfolge habe ich auch Verdacht - hatte das vorhin durcheinander gemacht. Eben kam mir noch was ein: Auf einem Screenshot hatte ich was von Refreshing oder Intervall oder so ähnlich gelesen. Da habe ich bisher noch nicht dran geschraubt. Vielleicht hilft das. Würde zumindest Sinn machen. Aber warum wird dann der erste Sensor korrekt gelesen?

Ich teste nachher und vermelde die Ergebnisse. Danke vorerst.

Durch das Löschen und Neueinrichten habe ich nun folgendes feststellen können:

es sind immer nur max. 2 Sensoren parallel betreibbar. Wenn mehr dran sind, werden als Werte entweder 0 oder -0,25 bei allen angezeigt. Ein System kann ich nicht nachvollziehen, da sowohl bei gesteckten als auch bei nicht gesteckten Sensoren 0 oder -0,25 ermittelt werden.

Die Leitungslänge der Sensoren ist ca. 15m. Einen weiteren habe ich noch mit 25m überschlagen, den hatte ich beim Test mal weggelassen, um die unterschiedliche Länge als Fehler auszuschließen.

Das klingt doch alles irgendwie nach instabiler Spannungsversorgung der Sensoren resp. einem zu hohen Leitunsgwiderstand. Mit Potlog kann ich alle Sensoren sauber ansprechen und auslesen. Kondensatoren habe ich derzeit nicht drin, weil es vorher mit dem Buskoppler und jetzt mit Potlog ja auch funkioniert. Vielleicht sind diese noch einen Versuch wert. Hatte hier schon mal Sorgen mit etwas ähnlichem.

Ach so: die 5V entnehme ich einem USB-Anschluss des IPS-Rechners. Kann das vielleicht auch ein Problem darstellen?
Antwort vom Support steht noch aus. Mal schauen, ob die noch eine Idee haben.

Evtl. kann auch das Board einen an der Waffel haben. Ich hoffe mal für mich, dass dieser Zustand nicht auf selbst auch übergeht.:smiley:

EDIT: Kondensatoren bringen es auch nicht!

Hallo Andreas,

klingt nach Abschlußwiderstand, Den hast Du wie groß und wo angeklemmt?

Gruß Helmut

Mal so nebenbei die wichtigste Info. Tststst

Der USB-Anschluß ist völlig unzureichend. Damit geht der PoKeys nackt aber nicht sicher mit diversen Devices. Das hättest Du ja selbst ziemlich einfach Gegenchecken können.

Genau mit so einer Unterversorgung bekommst Du dies seltsamen Phänomene. Ich hab das mal mit Display dran gesehen.

Das mit den stabilen 5 Volt, das ist schon wichtig.

Ein 5 Volt Netzteil aus einem USB-Hub kannst Du ja mal versuchen. Wenn dann mehr Sensoren funktionieren, ist Das ein Ansatz.

Ein 100µF 16V Elko und ein 100 nF Kerko auf die 5 Volt wären auch mal einen Test wert.

Gruß Helmut

Hallo ihr beiden,

@boui:
es muss scheinbar an der Anschaltungsvariante liegen bzw. den höheren Voraussetzungen im Bus-Betrieb. Denn nur mit einem 3,3k zw. +5V und Data im potlog-Betrieb funktionieren alle Sensoren zuverlässig (7x 15m + 1x 25m, ohne Kondens. und ohne andere Tricks). Scheinbar hat die Leitungslänge und/oder das Netzteil (USB) in dieser Betriebsart keinen großen Einfluss. Beim Bus-Betrieb offensichtlich schon. Den brauche ich allerdings wegen der S0-Counter, welche nicht mit potlog gehen. Andere Spannungsversorgung (5V / 2300mA) eines USB-Hubs bringt das gleiche unbefriedigende Ergebnis.

@helmut:
Im Moment (Bus) mit 3,3k nahe am Pokey. Kondensatoren hatte ich inzwischen auch probiert (s. EDIT) -> keine Besserung.

Du bist mit 3,3kOhm an 5Volt und an Data?

Ich würde wirklich mal mit 2,2kOhm bis 4,7kOhm als Buswiderstand spielen. Ev. mal 4,7kOhm mit 'nem 10kOhm Poti als Parallelschaltung und mal langsam drehen.

Das Gleiche mal mit 3,3Volt Spannung für die 1Wire-Bausteine testen.
Gruß Helmut

Nach langem Suchen und Probieren habe ich nun die Ursache gefunden. Es ist die Leitungslänge. Habe dem Pokey testweise einen anderen Platz spendiert und die Sensoren der Heizung direkt aufgeklemmt. Und schon wurde jeder Sensor mit seiner ID und dem Wert erkannt. Also 5V vom USB meines Netbooks, 3.3k Buswiderstand und keinerlei Kondensatoren. Nun muss ich mir überlegen, wie in dieser Nähe den Pokey installiere. Vermutlich mittels Helmuts Trägerplatinen und einem kleinen Hutschienenkasten. Aber nun bin ich einen entscheidenden Schritt voran gekommen. Danke für die Unterstützung.

Das ist seltsam. Hast Du evtl. Die Abzweigungen vom Bus selbst zu den Sensoren zu lange gewählt?

Zum erfolgreichen Test ist folgendes zu sagen:

[ol]
[li]Ich habe eine Buchsenleiste mit LSA+ aus einem Patchfeld entnommen und zu einem Bus gemacht -> Parallelschaltung aller Buchsen und Aufklemmen des 3,3k zw. 5V und Data.
[/li][li]Anschließen an Pokey.
[/li][li]Alle Sensoren sind auf ein ca. 3-4 m langes Telefon-Anschluss-Kabel gelötet und mit einem RJ45-Stecker versehen.
[/li][li]Diese dann schrittweise in obiges „Ex-Patchfeld“ gesteckt und angelernt.
[/li][li]Am Ende alle gemeinsam aufgesteckt.
[/li][li]Somit sternförmig zu den Sensoren.
[/li][/ol]

Ich habe mal die Bitte, dass einer der Schaltungsexperten den kompletten Schaltplan (z.B. als JPG) mit Angabe der Widerstandswerte (für irgendwelche Pull-Ups, Abschlüsse, wo Elkos) eines Buses mit bis zu 10 Sensoren an PoKeys57E postet!

Ich hab nämlich hier im Forum immer nur verbale Beschreibungen gefunden, mit denen ich nicht vollständig klar komme (braucht man eine zusätzliche SV oder nicht ?). Bei PoLabs hab ich nur die Schaltung für einen einzigen Sensor an Pin55 gefunden.

Angabe der möglichen Leitungslängen des Buses (wo können Abzweigungen eingesetzt werden?) wäre auch nützlich.

Der Unterschied zwischen DS18B20 und DS18S20 ist mir auch nicht klar (die beiden Datenblätter mit „1-Wire is a registered trademark of Maxim Integrated Products, Inc.“ hab ich)

Danke schon mal im voraus

Harald

Lies doch dieses mal. Vielleicht hilft es.
Mikrocontroller.net

Am Ende des Internet…

Vollständiges JPEG…Das könnte ich Dir nicht malen…

Der Buswiderstand ist abhängig von den einzelnen Längen, von dem Aufbau. Wichtig ist zu wissen, dass man so zwischen 1kOhm und 4,7kOhm testen sollte.

Spannungsversorgung sollte stabil und wenig AC-Anteil haben. Bei den Sensoren sollte auch noch die Spannung stabil und wenig Restwelligkeit haben.

Das zu erreichen, könnte dann ein Elko und/oder ein Kerko helfen.

Bei Problemen mit Fühlern liest man ja auch erst solche Texte.

18B/S20…Brauchst die Datenblätter nur lesen: speziel Auflösung, Familiencode.

Gruß Helmut

Danke, noch viel besser finde ich http://www.avr-projekte.de/ds18b20.htm weil da ein Bits- und Byte-Programmierer auf die Bus-Steuerung eingeht.

Und das Original hab ich dann auch noch gefunden: http://www.maximintegrated.com/en/app-notes/index.mvp/id/4377
APPLICATION NOTE 4377
Comparison of the DS18B20 and DS18S20 1-Wire® Digital Thermometers
© Mar 18, 2009, Maxim Integrated Products, Inc.

Viele Grüsse
Harald

ja, mit 0,4 Mbit/s, aber die örtlichen Grünen meinen ja, es „haben heute bereits 53,99% der Haushalte Zugang zum schnellen Internet mit einer Datenübertragungsrate von 50mbit/s“ (gesprochen fünfzig milli-Bit pro Sekunde) und deshalb soll man sich ja nicht am Netzausbau beteiligen, sonst reicht das Geld nicht fürs Schwimmbad:(

Vollständiges JPEG…Das könnte ich Dir nicht malen…

Ich hab halt mal gedacht, dass einer der Bastler seinen vorhandenen Schaltplan in den Scanner wirft :).

Bei den beschriebenen Schwierigkeiten werde ich wohl die PotLog Firmware anwenden, wie im WIKI beschrieben.

Ich setze da voraus, dass ich die “parasite power” vom PoKeys bekomme und ich mir ein zusätzliches Netzteil sparen kann (ist doch so, oder…?)

Viele Grüsse
Harald