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
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.
> 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
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.
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
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.
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
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.