PDA

Vollständige Version anzeigen : Abschirmung


Import-Script
14.01.2002, 20:16
Ich habe mir einen Temperaturmesser mit einem DS1820 aufgebaut. Die Schaltung funktioniert auch. Verlängere ich aber die Datenleitung auf ca. 1m bricht der Datenstrom ab. Ich benötige aber mindestens 2,5m. Reicht es nun die Datenleitung einfach durch eine Abgeschirmte-Mikrofonleitung zuersetzen oder müssen hier weiter Maßnamen getroffen werden(Schmittrigger)?

Import-Script
14.01.2002, 22:29
das wirst du wohl nur herausfinden, wenn du deine eigenen vorschläge ausprobierst, also geschirmtes kabel und/oder schmittrigger

Import-Script
15.01.2002, 08:11
Ich glaube nicht, da&szlig; Abschirmung hilft, ist doch digital. <BR>Vielleicht ist Dein Timing so kritisch an der Grenze, da&szlig; die paar pF Leitungskapazit&auml;t sich auswirken. Oder der Arbeitswiderstand ist zu klein. <BR> <BR>Also 10m sind auf alle F&auml;lle drin. <BR>Ich schalte sogar mehrere parallel und benutzte "Parasite Power" und es geht wie toll. <BR> <BR> <BR>Peter

Import-Script
15.01.2002, 18:41
Zum Timing kann ich keine Angaben machen. Ich habe das Prog mit Bascom geschrieben.

Import-Script
15.01.2002, 22:57
Dann ist also der DS1820 f&uuml;r Dich eine Black-Box. <BR>Macht denn sowas Spa&szlig;, etwas zu machen, ohne es zu verstehen ? <BR> <BR>Somit d&uuml;rfte eine Fehlersuche unm&ouml;glich sein. <BR> <BR>Oder traust Du Dich das DS1820 Datenblatt runterzuladen und die Funktionen selber in Assembler zu schreiben ? <BR>Es gibt auch einige Assemblerlistings im Web aber fremde Programme zu verstehen ist nicht immer einfach. <BR> <BR>Ich denke mal, die Bascomfunktion ist nur f&uuml;r einen ganz bestimmten Quarz und eine ganz bestimmte CPU geschrieben, sonst stimmt das Timing nicht. <BR> <BR>In meinem Programm mu&szlig; man die Quarzfrequenz angeben. Au&szlig;erdem ist es f&uuml;r den Standard 8051 mit Teilerfaktor 1/12. <BR>Z.B. beim DS80C320 mit 1/4 mu&szlig; man anders rechnen. <BR> <BR> <BR>Peter

Import-Script
16.01.2002, 15:25
ReadTemp: <BR>PUSH psw <BR>MOV A,#cch 'SkipRom <BR>call WriteByte <BR>MOV A,#44h 'ConverTemp <BR>call writeByte <BR>call WaitForDS1820 <BR>call resetandpresence <BR>MOV A,#cch 'skiprom <BR>call writebyte <BR>MOV A,#beh 'ReadRam <BR>call writebyte <BR> <BR>CLR Ea <BR>call ReadByte <BR>MOV TLow,A <BR>call ReadByte <BR>CLR low <BR>JNB a.7,RT_W1 <BR>SETB low <BR> <BR>RT_W1: <BR>SETB ea <BR>PUSH 7 <BR>MOV R7,#7 <BR> <BR>RT_W2: <BR>call ReadByte <BR>DJNZ 7,RT_W2 <BR>POP 7 <BR>POP psw <BR>RET <BR> <BR>ResetAndPresence: <BR>SETB C <BR>SETB sensor <BR>NOP <BR>NOP <BR>CLR Sensor <BR>call wait_700us <BR>setb sensor <BR>call wait_15 <BR>JB Sensor,_RAPFehler <BR>call wait_5 <BR>JB sensor,_RAPFehler <BR>call wait_700us <BR>'call wait_500 <BR>JNB sensor,_RAPFehler <BR>ret <BR>_RAPFehler: <BR>clr c <BR>ret <BR> <BR>WaitForDS1820: <BR>PUSH psw <BR>SETB Sensor <BR>_WFDS_01: <BR>call ReadBit <BR>call wait_300ms <BR>JNC _wfds_01 <BR>POP psw <BR>RET <BR> <BR>ReadByte: <BR>PUSH psw <BR>CLR ea <BR>MOV R6,#8 <BR>CLR A <BR>_RB_1: <BR>call readbit <BR>RRC A <BR>DJNZ R6,_rb_1 <BR>SETB ea <BR>POP psw <BR>RET <BR> <BR> <BR>WriteByte: <BR>PUSH psw <BR>CLR ea <BR> <BR>MOV R6,#8 <BR>_WB_1: <BR>RRC A <BR>call writebit <BR>DJNZ R6,_wb_1 <BR>SETB ea <BR>POP psw <BR>RET <BR> <BR>WriteBit: <BR>NOP <BR>NOP <BR>JC _w_one <BR>CLR sensor <BR>call wait_60 <BR>call wait_5 <BR>SETB sensor <BR>call wait_5 <BR>RET <BR>_w_one: <BR>CLR sensor <BR>call wait_5 <BR>'NOP <BR>SETB sensor <BR>call wait_60 <BR>RET <BR> <BR>ReadBit: <BR>CLR sensor <BR>NOP <BR>NOP <BR>SETB sensor <BR>call wait_10 <BR>MOV C,sensor <BR>call wait_60 <BR>RET <BR> <BR> <BR>Das ist ein kleiner Auszug aus meinem selbstgeschriebenen Assembler Prog. Ich habe mir das Datenblatt sehrwohl zu Gem&uuml;te gef&uuml;hrt und auch kappiert. Leider hat es aber nicht funktioniert. Irgendwo hab ich dann aber gelesen, dass Bascom einen 1Wire Support bietet. Ich hab mir dann die Demo runtergeladen und 2 Tage sp&auml;ter hatte ich ein funktionierendes Thermometer mit 3 Muliplexten 7-Segement Anzeigen. Warum h&auml;tte ich mich da noch l&auml;nger mit Assembler rumschlagen sollen, wenn es schon funktionierte. Jedenfalls bis ich die Leitung verl&auml;ngerte. <BR>Peter ich sch&auml;tze deine Beitr&auml;ge sehr, die du oft hier im Forum schreibst, denn sie sind sachlich und helfen meist dem Betroffenen weiter. Ich wei&szlig; nicht ob du gestern schlechte Laune hattest, aber so ein Posting habe ich von dir noch nie erlebt. <BR>Naja ich werd dann mal ein Abgeschiermtes Kabel nehmen. Wenn das nichts hilft, ist wohl wieder Assembler dran. <BR> <BR>Gru&szlig; Schneidertobi

Import-Script
16.01.2002, 17:19
Hi, <BR>Da f&uuml;hlt sich aber einer auf den Schlips getreten. <BR>Ich finde Peter's Posting eigentlich nicht &uuml;bertrieben, woher sollte er auch wissen das du ASM beherrscht und Timing ist was sehr wichtiges. Du hast noch nicht einmal Angaben zum &micro;C gemacht,und dein ASM geht auch nicht, aber Ok. Ich denke jedenfalls auch das dein Timing sehr kritisch ist. <BR>Irgendwo sind bestimmt ganz kurze Imp. die von der Kap. der l&auml;ngeren Leitung verschluckt werden oder sowas. Wenn es so ist, sollte es mit gesch. Kabel noch schlechter werden. <BR>Also schreibe ordentlich in ASM, "denn klapp's auch mip'm Sensor! Oder waren's Nachbarn? <BR>sch&ouml;n locker bleiben <BR>Uwe

Import-Script
16.01.2002, 21:03
Hallo Schneidertobi, <BR> <BR>also in Deinen Kopf reinsehen kann ich nun wirklich nicht. <BR> <BR>Und es klang alles so als ob Du nur die Bascom-Funktion probiert hast. <BR> <BR>Ich stimme Uwe zu, ein geschirmtes Kabel wird wohl nichts n&uuml;tzen. <BR> <BR>Ich gebe zu, da&szlig; die Beispiele auf meiner Webseite nicht gerade sehr ausf&uuml;hrlich erkl&auml;rt sind. <BR> <BR> <BR>Aber auf der Dallas I-Button-Seite habe ich auch was gefunden, zwar nicht so kurz und optimiert, aber ne Menge Erkl&auml;rungen dabei. <BR> <BR>Ich hab auch irgendwo was in Deutsch gesehen. <BR>Also ruhig mal so im Web rumsuchen. <BR>Alles von Null auf selber zu machen mu&szlig; ja nicht sein. <BR> <BR> <BR>Peter