27 Temperaturen (1Wire) Dallas 18B20 über Ethernet messen

Ich bastel zur Zeit an einer SPS, die ich mit 2 Pokey56e Modulen über Modbus TCP verheirate.

Mit Denen kann man die SPS mit sehr, sehr vielen Ein- und Ausgängen erweitern. Das ist aber noch nicht alles.

Mit der normale Firmware vom Pokey56E lassen sich schon Counter, I2C-Bausteine, analoge Ein- und Ausgänge, 6 PWM-Ausgänge und auch bis zu 10 1Wire Temperaturfühler 18B20 ausser den I/O’s über Modbus TCP in die SPS einbinden.

Das ist schon richtig viel, was aber noch über die alternative Firmware möglich ist, ist das Einlesen von bis zu 27 1Wire-Temperaturfühler über Modbus TCP.

Dann fallen einige andere Möglichkeiten weg, aber immernoch recht viele Pin’s warten auf ihre Parametrierung.

Wer also ein LAN-Anschluß hat, kann sich preisgünstig Temperaturen einlesen.

Die Fühler werden in dieser Variante an 27 Pin’s einzel angelötet, mit Pokey56E Firmware „nur“ 10 an einen Pin (als Bus).

Als ich diese Geschichte testen wollte, funktionierte die PotLog56E nicht richtig, aber der Support, speziell Herr Matevž Bošnak, hat schnell geholfen, das ist wirklich lobenswert!!

Hier ein Bild, live zeige ich es in Hamburg, die SPS mit Reglern und Pokey’s-Modulen auch.

Wenn jemand mit Pokey was machen will, ich zeige auch gerne auf, wie es eingerichtet wird. Eine Anleitung steht im Docfile im Zip-Anhang.
Edit: 18B20 werden ab Adr 400 mit Dword gelesen. Ist im Doc-File geändert, vertan…
Gruß Helmut

Pokey_Anleitung.zip (559 KB)

Hi kannst du mir bitte sagen, wie ich z.B. den Digitalen Eingang 1 auslesen kann ?

Was muss ich beim MoBus Gerät einstellen ( Datentyp, Leseadresse usw. ?)

Ist es normal, das wenn ich de Modbus debugge, permanet Daten kommen, auch wenn ich bis jetzt nur den 1 digitalen Eingang aktiviert habe ?

Hier ein Auszug:

02 00 00 00 01
00 04 00 00 00 04 00 02 01 01
02 01 01
02 00 00 00 01
02 00 00 00 01
00 05 00 00 00 04 00 02 01 01

Vielen Dank für deine Hilfe :slight_smile:

Du bist in dem Tread, indem der Pokey56E bis zu 27 18B20 Fühler anzeigen kann.

Dazu mußte der Pokey56E mit der Firmware Potlog27 betrieben werden.

Hast Du das gemacht, dann kannst Du erst ab Modbusadresse 27 einen Ein/Ausgang benutzen.

Wenn nicht, bzw wenn ja: dann, ist mein Ein/Ausgang1-Beispiel auf ModbusAdresse 27 umzustricken

Hier, hier und hier und natürlich im Modbus-PDF sind weitere Informationen.

Das was auf dem Modbus zusehen ist, liegt an einem Haken, den Du sicher im Status emulieren gemacht hast.
Gruß Helmut

Danke habs hinbekommen :slight_smile:

Hallo Helmut,

hab mir jetzt auch einen Pokeys56E bestellt , um meine 1-Wire Sensoren direkt über Modbus auf meine S7 zu verbinden.

Was ich aber jetzt nicht aus der Doku entnehmen kann, ist wie du die Sensoren angeschlossen hast?

VCC == 5V
Data == PIN von Pokey
Gnd == GND

brauch ich noch Pullup’s wenn ja wie groß ?

Gruß Michael

Ja, 4k7 oder ggf. kleiner.

Frohes, gesundes neues Jahr,
jaein laut PDF S.50 nur wenn man den PIN55 mit dem Bus nimmt:

PoKeys56E devices support communication with 1-Wire slave devices (without parasitic power supply), connected to the pin 55 with external pull-up resistor (of approximately 5 kΩ).

Wenn man die Polog27-Firmware nimmt nicht.

Der Widerstand ist ja auch ein Abschlußwiderstand, d.h. es könnte auch ein 2,2kOhm besser sein, kommt auf den Bus an :wink:

Gruß Helmut

Ach sorry, ich bin ja im falschen Thread und ging von der echten 1wire-Busversion an Pin55 aus und übersah die für mich unsinnige 27Pin Version, um die es hier geht.
mea culpa

Ach Sorry , auch ein Gutes neues Jahr an alle.

@Helmut

Ok , das mit dem bus ist klar , wenn ich aber die 27 pin Version nutze ist der anschluss oben richtig?

noch ne andere Frage ,wie schnell wird den gepollt, wenn nur ein Sensor dranhängt ?

Theoretisch ja unter 1 Sec (bei einem Sensor), wenn ich es noch richtig weiss ,hatte mal die 1-Wire Geschichte direkt mit rs232 an der S7 hängen.

Gruß Michael

Hallo Michael,
Je Sensor >850ms, wenn Du unter 10 Sensoren brauchst kann Das mit dem BUS-System an PIN55 passieren.
Dann brauchst Du einen Busabschluß.

Nimmst Du die PotLog27-Firmware mit bis zu 27 Fühlern, hat jeder Sensor einen eigenen Pin und es braucht keinen Widerstand, nur wenn die Zuleitung Probleme macht.

Man sollte aber in der SPS mal einen Ausetzer verarbeiten. zB man addiert 10 Messwerte eines Fühlers und teilt das Ergebniss durch 10.

Es gibt ja auch noch andere Fühleranschlußmöglichkeiten, die gehen schneller und sind nicht so „Peakträchtig“, zB PT1000 mit Wandler an Pin43 bis 47.

Gruß Helmut

Hallo Helmut,
Ich habe die Erfahrung gemacht, dass eine ungeschirmte Zuleitung mit 0,08mm2 bei max. 1 Meter Länge schon Probleme macht.
Mit größerem Querschnitt 0,1mm2 und Abschirmung komme ich auf 2,5m Störungsfreien Betrieb (ohne PullUp-Widerstand).

JoeB

Ja,
ich habe ähnliche Erfahrung, mit 100nF direkt am Sensor wirds besser, nur wenn mal vergossene Fühler hat… dann muß man 'ne Menge probieren. Drossel, RC-Glied, Abschlußwiderstand in Zuleitung.

Gruß Helmut

Habt ihr das mal mit 'nem Oszi nachgemessen? Wäre mal interessant ob die Spannungsversorgung dann Probleme macht oder die Datenleitung.

Wenn’s die Stromversorgung ist, hilft ggf. auch ein etwas dickeres C …

Hallo Leute,
folgendes war erfolgreich:

Stabiles Signal mit PoKeys56E / PotLog27 und Sensor DS18B20 (handverlötet, da im 10er-Pack gekauft)
Kabel: Steuerleitung, 3x 0,04mm² mit 2m Länge
PullUp: 4,7KOhm
VDD: 3,3V

Kabel: Steuerleitung, LIYY (Telefonleitung 0,28mm²) 5m Länge
PullUp: 10KOhm (bei 12kOhm Signalverlust)
VDD: 3,3V

<edit>
Mit einem geschirmten Kabel (Mikrofonleitung) waren auf Anhieb 10m Kabellänge möglich!
<edit Ende>

(ohne PullUp direkt am Sensor wird z.T der Sensor erkannt, es erfolgt aber keine Messung:()

Da zwischen VDD und DQ nur ca 0,6V anliegen ist die Belastung der Spannungsversorgung auch bei einem PullUp von 4,7kOhm zu vernachlässigen.
Der DS18B20 zieht max. 9mA Arbeitstrom, also muss auch ein Leitungsquerschnitt von 0,04mm² reichen :slight_smile:

@kofu: Die Versorgungsspannung war bei mir nicht das Problem, ich hatte ohne PullUp sowohl bei 3,3V und 5V das gleiche Ergebnis = kein Signal bei „langer“ Zuleitung.

Aber wie Helmut schon schrieb…„da muss man viel probieren“…

JoeB

Hallo ,

bin heute mal dazu gekommen mein Pokey inbetrieb zu nehmen, nach erfolgreichem einbinden der SPS und einlesen ein paar direkt angeschlossen Sensoren , wollte ich nun das System in meine Hausinstalltion übernehmen, jedoch ohne Erfolg.
Also auf dem Schreibtisch hat alles funktioniert, ohne Pullups oder sonstiges.

Es liegen IYSTY 2x2x0,6 (Telefonkabel) in jedem Raum, bisher auch ohne Pullups, nur 100nF Kondensator auf 5v / Gnd.
So erkennt zwar der Pokey die Sensoren , es kommt aber zu keiner Messung. Hab jetzt’s mit Pullups versucht ,hab ein Poti 10Kohm ,zwischen 5V und Data eingebaut und auf verschieden Werte eingestellt, ohne erfolg.

Was kann ich noch versuchen ?

Vorher mit USB-Adpater von Fuchs hatts ohne Probleme funktioniert.

MFG
Michael

PS.: das längste Kabel ist ca 20m.

Er liest die SerienNr ohne Pullup, aber nicht den Wert? Komisch… dann muß es eigentlich mit Pullup auf jeden Fall gehen…ist ja der gleiche Datenverkehr, nur mit anderen Lesebefehlen…

Netzteil sollte kein Schaltnetzteil sein, 100nF hast Du schon, dann muß eigentlich nur der Pullup noch stimmen…

Gruß Helmut

Hallo Helmut,

ok pullup hab ich nun raus gefunden, mann kann nicht einfach einen Wert einstellen sondern muss jedes Mal das Pokey neustarten, dann geht jetzt bei mir bei ca. 20m Leitung mit 4,2 Kohm.Muss jetzt erstmal überrall Poti’s Nachrüsten.

das mit dem Netzteil ist so ne Sache, hab natürlich ein 24V/10A Netzteil von Siemens ,was ja bestimmt ein Schaltnetzteil ist. Meinste es reicht nicht einen Spannungsregler 5v und einpaar Kondensatoren?

Gruß Michael

streiche Pokey45E, setze Pokey56E, in der Überschrift :wink:

Ja, das müßte ich viel deutlicher machen:

Pokey56e, bzw die Firmware PotLog56, liebt es auf „in’s Gerät schreiben/übernehmen“ und noch mehr kurz Spannung wegnehmen und NEU starten,
damit Pokey was für seine Zukunft begreift :wink:

Da ist Pokey56 aber auch nicht allein, die ThingetSPS, mit Der ich gerade spiele, will auch nur so etwas begreifen…
bloß bis ich Das gemerkt habe… Da hat der Support der ThingetSPS hier in HH gut geholfen.

Gruß Helmut und Toi Toi toi, das wird schon

Der Entwickler, mit dem ich gerade ein anderes Problem per Mail erörterte, wollte diesen Punkt 1wire in einem Firmwareupdate verbessern. Ich scheiterte auch erst an dem ins Gerät schreiben. Da kommt man auch nicht zwingend drauf.

Aktuell kämpfe ich mit dem Analogeingang. PoKey macht alles fein aber der Messverstärker oder der PT1000 liefern Werte, die mich verzweifeln lassen. :frowning:

Hallo,

hab jetzt überall meine Pullups nachgerüstet, und es funktioniert 1a.

Es gibt euch ne neue Firmware , die ist aber nicht zu empfehlen ,weil die zuordung der Sensoren nicht mehr stimmt.

Michael
PS.: Danke Helmut für die tolle Idee , hab gestern mein 2. Pokey bestellt.:smiley: