Hallo, ich versuche mich grade an dem Temperatursensor. Jedoch hat mein Code bisher nicht funktioniert. Nun habe ich mal mit einem Multimeter gemessen und bei einem LOW Pegel immernoch 4,36 V gemessen (High liegt bei ca. 5V) Nun die Frage ob das LOW entspricht. Zur Schaltung: Vdd zu 5V (Netzteil) alle GND zusammengeschaltern (vom STK500, Sensor, und vom Netzteil) DQ zum Eingangspin und ebenso noch eine Verbindung mit 4,7k nach 5V (vom Netzteil). Wenn nötig ist mach ich noch ein Bild vom Steckbrett. Hoffe das mit jemand helfen kann ;)
Black wrote: > Hallo, > > ich versuche mich grade an dem Temperatursensor. Jedoch hat mein Code > bisher nicht funktioniert. Nun habe ich mal mit einem Multimeter > gemessen und bei einem LOW Pegel immernoch 4,36 V gemessen (High liegt > bei ca. 5V) Nun die Frage ob das LOW entspricht. Tut es nicht. > Zur Schaltung: > Vdd zu 5V (Netzteil) > alle GND zusammengeschaltern (vom STK500, Sensor, und vom Netzteil) > DQ zum Eingangspin und ebenso noch eine Verbindung mit 4,7k nach 5V (vom > Netzteil). Wenn nötig ist mach ich noch ein Bild vom Steckbrett. > > Hoffe das mit jemand helfen kann ;) Schaltplan wäre nützlich und die Angabe von wo nach wo du mit dem Multimeter gemessen hast und auch in welchem Zustand deiner Schaltung, d.h. wo in welchem Code sich das System befindet.
Anbei der Aufbau. Gemessen hab ich vom Punkt 1 (GND STK500) nach Punkt2 (DQ Pin). Obwohl es der gleich Wert ist wie am obersten Widerstandsbeinchen oder am grünen Kabel. Code: .equ DS1820_REG = DDRB .equ DS1820_PORT = PORTB .equ DS1820_PIN = PINB .equ DS1820_WIRE = 0 ..... Gemessen 5,15V bei: cbi DS1820_PORT, DS1820_WIRE ; High cbi DS1820_REG, DS1820_WIRE main: rjmp main Gemessen 4,32V bei: cbi DS1820_PORT, DS1820_WIRE ; LOW sbi DS1820_REG, DS1820_WIRE main: rjmp main
> cbi DS1820_PORT, DS1820_WIRE ; High > cbi DS1820_REG, DS1820_WIRE Du hast hier einen Eingang definiert (DDRB.0 = 0) und den zugehörigen internen Pullup ausgeschaltet (PORTB.0 = 0). Die gemessene Spannung (ohne Kontrolle der Messpunkte s.u.) von 5,15V kann ich nicht nachvollziehen. Nur soviel: vom µC kann die Spannung nicht kommen, d.h. sie kommt über die externe Beschaltung (4,7K Pullups?). > cbi DS1820_PORT, DS1820_WIRE ; LOW > sbi DS1820_REG, DS1820_WIRE Während des Codeablaufs hast du zunächst einen Eingang mit deaktiviertem internem Pullup, d.h. am Eingang ist vom µC her keine Spannung messbar. Nach dem Codeablauf hast du einen Ausgang mit Pegel LOW, d.h. am Ausgang SOLLTE vom µC her auch keine Spannung messbar sein. Ich würde die externe Beschaltung peinlichst genau untersuchen. Für ddie Ferndiagnose ist der Schaltplan dazu das Mittel der Wahl. Mit dem Foto kann ich nichts anfangen. Da ich kein STK500 besitze müsste ich zuerst den Schaltplan heraussuchen und dann die Leitungen aus deinem Foto versuchen in den Schaltplan einzuordnen... vielleicht kann jemand mit einem STK500 vor sich besser helfen.
Hab den Fehler gefunden. Hab den Sensor falsch rum reingesteckt. Das Dallas Datenblatt ist auch irreführend. Normalerweise (Technische Zeichnung) müsste das die Draufsicht sein und nicht die Ansicht von unten. :p Naja nächstemal lesen das es die Ansicht von unten ist.
Bei der Pinbelegung von Transistoren ist die Sicht von unten, also auf die Pins, ziemlich verbreitet. Und der DS18x20 sitzt nun einmal in einem Transistorgehäuse.
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.