www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Temperaturmessung DS18S20 mit MAX232 über Serielle Schnittstelle


Autor: Markus P. (papi70)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

ich habe eine Studienarbeit ausgeschrieben und möchte es vermeiden, dass 
der Student per Copy & Paste weiter zu seinem Ziel kommt. Daher entwarf 
ich folgende Schaltung und der Student soll ein Programm mit Visual 
Basic unter XP schreiben, um die Temperatur mit einem DS18S20 
auszulesen.

Ziel: Der Student soll die Temperatur mit Visual Basic einlesen

Ablauf: Temperatur => DS18S20 => MAX232 => RS232 => PC => Visual Basic 
=> Excel auf Windows XP

Ich habe mich in den hier im Forum bereits bestehenden Beiträge 
eingelesen und würde sagen, dass dies machbar sein könnte. Bevor ich den 
Studenten aber köpfe, möchte ich dies gerne verifiziert haben, da ich im 
programmieren nicht so fit bin.

Beitrag "DS18S20 mit Visual Basic ohne µC auslesen"
http://www.maxim-ic.com/app-notes/index.mvp/id/214

Annahme: wenn genügend Nullen auf TxD gesendet werden, sollte der Reset 
möglich sein. Im Anschluss kann über TxD die Ansteuerung des DS18S20 
starten und mit RxD ausgelesen werden. Die Stromversorgung der Schaltung 
erfolgt über einen freien USB-Port

Frage: ist eine Temperaturerfassung mit der vorhanden Schaltung möglich, 
ja oder nein?

Ich möchte bitte keine Lösung haben, der Student könnte sich ja auch 
hierher verirren...

Vielen herzlichen Dank

Markus

: Verschoben durch Admin
Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus P. aus w. schrieb:

> Ich möchte bitte keine Lösung haben, der Student könnte sich ja auch
> hierher verirren...

Könnte durchaus sein, dass der Student trotzdem auf eine mindestens 
teilweise vorgekaute Lösung stossen wird, denn ich meine, sowas schon 
mal gesehen zu haben.

Wobei sich die Frage stellt, ob ihm mit einem FT232 (USB/Serial) an 
Stelle des MAX232 zuviel zugemutet wird? Erspart die serielle 
Schnittstelle, weil USB ja sowieso schon im Boot ist. Da hier kein 
Bitbanging verwendet wird, sollte das genauso funktionieren.

Autor: Olaf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Frage: ist eine Temperaturerfassung mit der vorhanden Schaltung
> möglich, ja oder nein?

Ich denke nicht das dies moeglich ist. Der 1Wire bus hat relativ genaue 
Timinganforderungen. Ich denke mal die wird Windows nicht einhalten
koennen. Vielleicht schafft man es aber es mit viel Muehe dazu zu 
bringen das es auf manchen Rechnern manchmal, oder gar haeufig 
funktioniert.
Aber zuverlaessig ist anders!

Olaf

Autor: A. K. (prx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Olaf schrieb:

> Ich denke nicht das dies moeglich ist. Der 1Wire bus hat relativ genaue
> Timinganforderungen. Ich denke mal die wird Windows nicht einhalten
> koennen.

Nope, Timing-Probleme entstehen seitens Windows fast keine, jedenfalls 
keine knappen, weil sich das bei adäquater Einstellung der Baudrate über 
ganz normale Datentransfers bei zum 1-Wire Timing einigermassen 
passender Baudrate abwickeln lässt. Lediglich die Pausen dazwischen 
müssen abgewartet werden, was das bei USB/Serial deutlich interessanter 
gestaltet als bei einer echten RS232-Schnittstelle - aber irgendwas 
sollte der Studi ja selber denken (hint!), denn mit echter RS232 braucht 
er es m.E. nur irgendwo abschreiben und in Basic umcodieren.

Autor: Markus P. (papi70)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
der Rechner hat eine "echte" RS232 Schnittstelle und der USB dient nur, 
um die 5 Volt für den MAX232 zu haben...

Ich folgere einmal, dass diese Aufgabe umsetzbar wäre und danke für die 
sehr guten Beiträge.

Ich finde es immer wieder schön, wie einem hier geholfen wird. Schade 
das in Unternehmen die arbeitende Bevölkerung so mit Arbeit zugeschüttet 
wird, dass es kaum möglich ist, dort noch Menschen zu fragen.

Gruß & ein schönes, erholsames Wochenende

Markus

Autor: Noralem (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Timing sehe ich auch nicht als kritisch an.
Die Schwierigkeit liegt in den Read Slots verborgen. Und ich befürchte 
dazu reicht die obige Schaltung noch nicht ganz aus. Wie soll denn der 
Dallas sein Startbit senden? Nicht ohne Grund wird in eischlägigen 
Seiten im Internet das DTR Bit mitbenutzt.

Allerdings sollte der Student sich ja auch soweit reindenken, dass er 
wenigstens das RS232 und 1-Wire Protokoll kennt und sagen kann was evtl. 
noch fehlt.

Eine weitere Lösung wäre einen µC zu spendieren der die 
Protokollübersetzung übernehmen kann. Das ist noch immer anpsruchsvoll 
genug und der Student müsste nicht in die Thematik mit sämtlichen Tricks 
einsteigen sondern könnte sich langsam vorantasten. 1) µC 2) 
Kommunikation PC, µC 3) Kommunikation µC, 1-wire 4) Protokollübersetzung

Ein weitere Vorteil dieser Lösung ist, dass wenn die Übersetzung 
universell gehalten wird auch andere 1-wire Geräte damit angesteuert 
werden könnten und man somit ein auch für andere nützliches Programm 
hätte.

Autor: Peter Dannegger (peda)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Markus P. schrieb:
> Annahme: wenn genügend Nullen auf TxD gesendet werden, sollte der Reset
> möglich sein.

Nö, man stellt eine Baudrate ein, die etwa 960µs auf 10 Bit entspricht 
und sendet 0xF0.

Dann stellt man eine Baudrate ein, die etwa 60µs auf 9 Bit entspricht 
und sendet 0xFF oder 0x00.

Den Rest sollte man selber rausfinden.


Peter

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.