www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik DS18S20 Temperatur-Sensor


Autor: Felix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo an Alle

Hat irgendjemand von euch ein assembler-programm mit dem ich einen 
ds18s20 oder ds1820 ansprechen und dessen temperatur-werte auslesen 
kann? Vielen Dank im Voraus
MfG Felix

Autor: Matthias (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

gibt es große Unterschiede zwischen dem LM75 und der DS Serie ?

Oder ist ein PT100  NTC  PTC eher zu empfehlen ?


Gruß
Matthias

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Matthias,

der Hauptunterschied ist, daß der LM75 nur im blöden SO-8 Gehäuse, d.h. 
als Sensor äußerst ungünstig zu montieren ist.

Der DS1820 ist dagegen im Transistor TO-92 Gehäuse viel besser an den 
Meßort zu bringen.

Außerdem können die DS18B20 viel kleiner auflösen (0,0625°) und beliebig 
viele Sensoren können parallel geschaltet werden, da jeder eine weltweit 
einmalige Adresse hat.

Ich hab hier was in C:

http://www.specs.de/users/danni/appl/soft/c51/thcl...

Und das Assemblerlisting ist hier:

http://www.specs.de/users/danni/appl/soft/c51/thcl...


Von PT100 und Konsorten ist abzuraten.
Es sei den Du schlägst Dich gern mit Problemen wie 
Leitungswiderstandskompensation, Kennlinienentzerrung, Brummen, 
Störabstand, AD-Wandlung rum, aber da muß man wohl schon Masochist sein.

Einzige Außnahme sind Hochtemperaturanwendungen.



Peter

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hat schon mal jemand ne Routine für den searchROM-Befehl vom DS1820 in 
Assembler geschrieben? Ich hab mal versucht damit anzufangen, mir ist 
abner nach relativ kurzer Zeit klar geworden, dass mein KnowHow dafür 
noch nicht ausreicht. Ist das wirklich so kompliziert oder hat das schon 
mal jemand gemacht?

Autor: A. Arndt (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

schau mal den Beitrag (relativ neu) analog - Digitalwert auslesen an, 
dort gibt es komplettes (kurzes) Listing zum Auslesn und Darstellen auf 
LCD von Werten mit DS1820.

Gruss
A. Arndt

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Marco,

oben ist doch schon das Assemblerlisting mit bei.

Außerdem hab ich es mal auf dem ACE1202 programmiert:

http://www.specs.de/users/danni/ace/ds1820/index.htm


Um beides zu verstehen, muß man sich aber schon mal die Mühe machen und 
die Ablaufdiagramme auf den Maxim-Datenblättern durcharbeiten.


Peter

Autor: Marco (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Peter,

das Diagramm und die Klartextbeschreibung hab ich wohl schon angeschaut.
Welchen uC verwendest du? Dein AssemblerCode ist glaub ich nicht ganz 
kompatibel mit dem vom Atmel AVR, zumindest kenn ich da einige Befehle 
nicht (z.B. acall, jnc, jz,...).

mfg marco

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Marco,

von AVR hast Du ja nirgends was gesagt.

Das eine ist 8051, das andere ACE.

Das C-Programm läuft auf einem AT89C2051.


Peter

Autor: Felix (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
habs jetzt endlich selber hingekriegt, auch wenn mir hier in diesem 
beitrag nicht so richtig jemand geantwortet hat. aber das ist nicht so 
schlimm.
gruß felix

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Felix,

danke für Deine Antwort.

Aber so ein Forum ist nicht nur nehmen, sondern auch geben, sonst 
funktioniert es nicht !!!

Deshalb, wenn man das Problem selber gelöst hat, dann bitteschön auch 
die gefundene Lösung posten.


Peter

Autor: Felix (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
na klar, ist doch kein problem. hier ist mein selbstgebastelter 
quellcode. ist in assembler und ich hoffe, dass die kommentare 
verständlich sind, was abläuft. ist für eine taktfrequenz von 8MHZ 
ausgelegt, für eine andere frequenz müssen die warte-schleifen 
entsprechend abgeändert werden. die einzelnen werte, die ausgelesen 
werden, stehen dann in den einzelnen speicherstellen (dürfte aber ohne 
probleme aus der datei ersichtlich werden). was man dann mit den werten 
anfängt bleibt jedem selbst überlassen (zb ausgabe auf ein lcd oder über 
die spi-schnittstelle...). falls jemand noch fragen dazu hat, dann 
schickt mir doch einfach eine email. ich versuch dann mit meinem wissen 
diese zu beantworten.
viel spaß noch, gruß felix

ps ich möchte nochmal auf meinen anderen beitrag aufmerksam machen, da 
ich da nicht weiterkomme
http://www.mikrocontroller.net/forum/read-1-18184.html

Autor: ling (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dear sir,

Good afternoon.


Please quote :

P89C51RD2BN, PHIL 02+, 3000 PCS.
DS18S20 ( TO-92), DALLAS 01+, 1000 PCS
UPD78F9116ABMC-5A4         NEC 02+          500 or more pcs.

New original packing.

Thank you.


Best regards,
Ms. Ling Tsang
LUCKY TOP TECHNOLOGIES LTD
TEL:852-26872839
FAX:852-26871179
E-MAIL: ling@luckytop.com.hk
Web site: http://www.luckytop.com.hk



------------------------------------------------------------------------ 
--------

Autor: Onur Demir (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mein Ziel ist es, ein Temperatursensor (DS18S20) mit einem ATMEGA8515
anzusteuern, und auszulesen. Dafür habe ich den Code von Felix
genommen, und Ihn für den Prozessor mit 4MHz angepasst. Der Code ist
logisch und ist auch einfach zu verstehen. Da ich aber neu in Sachen
AVR Programmierung bin, und ich mich immer noch im Anfangsstadium
befinde, habe ich noch einige Fragen:

1. Theoretisch und Praktisch müsste der Temperaturwert im Register
Temperatur_LSB stehen, oder?

2. Wie kann ich die Adresse auslesen? Kann ich das mit Read, und dann
irgendwo als *.Hex File abspeichern? Müsste der Wert dann dort stehen?

Wenn Nein,

3. Wie kann ich dann die Echtzeittemperatur erfahren?

Ziel ist es, ein Temperaturwert über irgendeine Adresse binär
auszulesen, ohne den Wert an ein LCD, oder USART auszugeben. Das kommt
später.
Danke für die Antworten.

MFG

Onur

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]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [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.