Forum: Mikrocontroller und Digitale Elektronik DS1820 / DS18S20


von scoty (Gast)


Lesenswert?

Hallo Zusammen,
ich weiß, über den DS1820 gibt es mehr als genug Einträge.
Ich muss aber doch noch einen hinzufügen, denn die bisherigen haben mich 
nicht weiter gebracht.

Ich habe bis jetzt DS1820 benutzt und alles lief wunderbar.
Ich konnte Versorgungsspannung anklemmen, den Pin auf Masse legen, oder 
einfach frei in der Luft baumeln lassen, es ging immer, nie ein Fehler, 
nie 85°

Das ganze ging mit 3 DS1820 (steht drauf, weiß nicht, ob es ein anderer 
ist).

Nun wollte ich meine Schaltung erweiter und habe bei Reichelt neue 
DS18S20 (mit Aufdruck DS1820) geordert.
Angeschlossen, und nichts geht.
Versorgungsspannung auf Masse gelegt, --> geht nicht
Wartezeit erhöht --> geht nicht
Extra nochmal in der Wartezeit mit Ossi überprüft, ob auch Spannung an 
DATA ist --> ist
Versorgungsspannung an +5V gelegt, --> geht !!!

Ich habe dann noch mit einer anderen Schaltung für die PC-Schnittstelle 
getestet, die kann die Neunen auch ohne extra Versorgungsspannung 
auslesen.

Also denke ich, ich habe irgendwas in meiner Software falsch.

Ich kann die ROM-Nummern korrekt auslesen und die 85° kommen auch 
fehlerfrei.
Was ist an diesen Sensoren jetzt auf einmal anders?
Hat jemand einen Tip?

Ich habe heute viel am Code geändert und mit dem Ossi zu dem PC-Programm 
vergleichen. Es läft alles noch mit den drei alten Sensoren.

Meinen AVR-C-Quelltext habe ich mit angehangen.


Jedem, der sich nocheinmal für mich mit dem viel diskutierten DS1820 
Problemen beschäftigt, schon einmal im Voraus vielen Dank.
Vielleicht seh ich auch den Wald vor lauter Bäumen nicht.



Gruß scoty

von Michele B. (luxx) Benutzerseite


Lesenswert?

> Meinen AVR-C-Quelltext habe ich mit angehangen.

Hast du nicht.

von Markus _. (markush)


Lesenswert?

Hi,

hab mit den Dingern auch viel rumgetestet und hatte auch genau das 
gleiche Problem wie du!
Bei mir war das Problem, dass ich nach dem senden des "Convert_T" 
Kommandos einfach die Leitung nicht lange genug auf High gesetzt habe. 
Also die Mindestzeit, wie im Datenblatt angegeben, nicht eingehalten 
habe.

Probier das mal, setz die Zeit nach dem Kommando höher.

Gruß - Markus

von Martin S. (smartinick)


Lesenswert?

Hmm.... irgendwie hab ich das gleiche problem, aber auch einen 
workaround.

2x ds1820 von conrad haben problemlos funktioniert. eeprom beschreiben, 
temperatur messen. egal ob parasite oder externer power.

jetzt hab ich 20x ds18s20 und die funktionieren "anders".
d.h. eeprom beschreiben geht nur mit externer versorgung
temperatur messen geht mit externer versorgung oder einer abwandlung von 
parasite power: gnd auf gnd, data-pin mit pullup und Vdd pin hängt in 
der luft.
sobald ich den Vdd pin wie bei den ds1820 auf gnd lege bekomm ich nur 
noch 85° - d.h. die messung funktioniert nicht. crc-fehler treten aber 
keine auf.

eine verlängerung der dauer von parasite-versorgung schrittweise bis zu 
5 sekunden bringt nichts. weder bei eeprom schreiben noch bei temperatur 
messen...

4k7 bzw. 2k2 pullup machen auch keinen unterschied.

-> d.h. meine lösung für die ds18s20 ist jetzt zum "id" speichern 
externe versorgung zu verwenden und zum temperatur messen entweder 
ebenfalls externe oder eben Vdd pin in der luft hängen lassen. Das 
klappt wiederum sehr zuverlässig. Obwohl es im Datenblatt anders steht.

von MM (Gast)


Lesenswert?

Na ja, im Datenblatt steht, daß die Parasite Versorgung bei der Messung
oder beim EEPROM schreiben anders erfolgen muß: Wärend dieser Vorgänge
muß die Datenleitung direkt auf Vcc gelegt werden (nicht über einen
Pullup).

Da man so nicht abfragen kann, ob die Wandlung fertig ist, muß das lang
genug passieren. Achtung: Beim 18S20 dauert eine Temperaturmessung
länger als beim 1820 !

Gruß, Marcus

von Martin S. (smartinick)


Lesenswert?

Hallo Markus!

Ja, stimmt, im Datenblatt ist ja auch "Strong" Pullup mit einem weiteren 
Pin und einer einfachten fet-schaltung beschrieben. Hatte ich bisher 
aber noch nicht gemacht da ja die 1.5mA die der ds18s20 lt. Datenblatt 
benötigt ja via pullup ind avr-pin auch zustande kommen.

Eben deswegen (1.5mA) muss eigentlich ja schon der auf High gezogene Pin 
des AVR ausreichen, zusätzlich habe ich den 2k2 pullup.
beim "normalen" ds1820 geht das auch problemlos,auch wenn 2 gleichzeitig 
am bus hängen und gleichzeitig konvertieren.
und beim ds18s20 soll das nicht mehr reichen...? lt. Datenblatt 
ebenfalls: 1.5mA

Von der Logik her kannst du recht haben, da es mit der Versorgung 
zusammenhängt.
Verwirrend in dem Zusammenhang: Es funktoniert aber mit frei fliegendem 
Vdd sehr wohl in Parasite power mit "nur" einem 2k2 pullup und der 
Versorgung des AVR? Dieser Umstand ist etwas eigenartig, aber was solls.

In der endgültigen Schaltung werde ich wohl wenn übrig irgendwo ein Pin 
für Strong-Pullup lt. Datenblatt opfern oder eben Vdd frei lassen, bei 
dne Funksensoren mit Tinys vielleicht auch nicht.

Das einzig störende ist jetzt noch: Die Teile (DS1820/DS18S20) haben den 
gleichen Family Code. D.h. von außen bzw. per ROMCODE ist nicht zu 
unterscheiden ob es ein ds1820 oder ein ds18s20 ist... -> ergo sofort 
beim auspacken testen und mit einem Lackstift markieren... bzw. die im 
Scratchpad reingeschriebene ID & den Typ notieren.

schönen Sonntag noch!, Martin.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.