- 3D-Druck Einstieg und Tipps         
Ergebnis 1 bis 10 von 10

Thema: DS18S20 läuft nicht... ?

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.03.2006
    Beiträge
    142

    DS18S20 läuft nicht... ?

    Anzeige

    Powerstation Test
    Hallo,

    ich hab mir jetzt entlich mal einen AtMega32 + 20 x 4 LCD aufgebaut und rennt soweit auch wirklich prima...

    Gestern hab ich mir dann zum Basteln mal einen DS 1820 ( DS18S20? )

    bei Conrad geholt und dachte mir, dass es ja ganz einfach sei, den zu benutzen...

    Kurzer Blick ins Datenblatt... Gesehen das es Bottom View ist und demnach verkabelt...

    GND an GND, Daten Leitung (mittlerer Pin) an Port C 0 (nein ich brauche I2C nicht :P) und +5v an den letzten Pin... Nun noch einen 4K7 Wiederstand zwischen +5v und der Daten Leitung und nu kann es losgehen.... Dachte ich^^

    Im Bascom hab ich denke ich alles eingetragen was nötig ist (hoffe ich)
    allerdings meldet mir 1wire immer, dass ich keinen Sensor angeschlossen habe... Ich hoffe ihr könnt mir helfen und mich auf den richtigen Weg schubsen

    Ahso, ich verwende ein 16 Mhz Quarz falls das von Bedeutung sein sollte (funzt und Fuse Bit ist gesetzt)

    Hier noch mein Test Code:

    Code:
    $regfile = "m32def.dat"
    $crystal = 16000000
    
    Enable Interrupts
    
    Config Lcdbus = 4
    Config Lcdpin = Pin , Db4 = Portd.0 , Db5 = Portd.1 , Db6 = Portd.2 , Db7 = Portd.3 , E = Portd.5 , Rs = Portd.4
    
    Config Lcd = 20 * 4
    
    Config 1wire = Portc.0
    
    Dim Anzal_tempsensoren As Byte
    
    Wait 1
    
    Initlcd
    
    Cursor Off Noblink
    
    Locate 1 , 1
    Lcd "*    Temparatur    *"
    
    Anzal_tempsensoren = 1wirecount()
    
    Locate 2 , 1
    Lcd "*    Sensoren: " ; Anzal_tempsensoren ; "   *"
    
    End
    Hab ich da evtl was vergessen oder falsch gemacht?

    Vielen Dank für eure Hilfestellungen!!!

    MFG

    Ratman2000

  2. #2
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.03.2006
    Beiträge
    142
    Hallo,

    hat keiner eine Idee?

    Ich verzweifel hie :P

    MFG

    Ratman2000

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Hi,
    probier doch mal
    Dim Anzahl_tempsensoren As Word

    So steht es jedenfalls in der Doku mit dem Hinweis, es muss Word oder Integer sein.

    Gruß

    Rolf

  4. #4
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.03.2006
    Beiträge
    142
    Hallo,

    ich habe mal aus byte = integer gemacht, aber der Wert bleibt leider trotzdem bei 0.

    Hat vieleicht sonst noch jemand eine Idee?? Muss ich für 1wire evtl vorher noch irgent etwas einstellen / einrichten?

    Ich hab Bascom nur installiert und nichts eingestellt ausser meinen Source Code... (Und das Quarz Fuse Bit)

    MFG

    Ratman2000

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    JTAG disabled? Liegt auch auf PortC.
    Oder probier mal anderen Pin.

    Gruß

    Rolf

  6. #6
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.03.2006
    Beiträge
    142
    Hallo,

    JTAG hab ich per Fuse Bit disabled... Ich habs an Port A 0 auch schon probiert...

    Habe dann den Port C gewählt, weil ich daran meine ersten experimente gemacht hatte wie z.b. ne LED zum blinken zu bringen usw... Das übliche halt :P

    Das hat alles wunderbar funktioniert!

    Nur der Sensor will nicht... Komischer weise!!!

    MFG

    Ratman2000

  7. #7
    hast du schonmal versucht den auszulesen? also temperaturmessung starten, auslesen und anzeigen? vielleicht geht der ja gar nicht? ^^

  8. #8
    Hallo,
    Ist der DS1820 wirklich richtig angeschlossen?
    Wenn die Schrift lesbar ist (vom DS) und die Anschlussbeine nach
    unten zeigen, ist das rechte Bein +5V,mittleres Bein Daten und linkes Bein
    0V.

    MfG Stefan

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    16.02.2006
    Beiträge
    1.113
    Hallo Ratman2000,
    ich habe gerade mal dein Programm (das von ganz oben) auf meine Hardware angepasst (anderer Controller, anderer Anschluss, anderes LCD) und es funktioniert auf Anhieb.
    Da muss wohl doch etwas an deiner Hardware nicht stimmen.

    Gruß

    Rolf

  10. #10
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    23.03.2006
    Beiträge
    142
    Hallo,

    merkwürdig...

    Ein verpolen kann ich ausschliessen...

    Ich habe mir eine Stabilisierte 5 v Spannungsversorgung auf die Platine gebastelt und um zu sehen ob alles i.o. ist habe ich eine LED dazu gelötet. Also eine LED die den Betrieb der Schaltung anzeigt.

    Für den Sensor habe ich nun mal 3 Sockel Pins aufgelötet und wie folgt gepolt:

    Pin 1: +5v
    Pin 2: AtMega Port C.0 + 4K7 Wiederstand auf Pin 1
    Pin 3: GND

    So... Wenn ich nun den Sensoren verpolt aufstecke geht von meiner Spannungsversorgung die LED nicht an weil es ja ein Kurzschluss sein müsste... (Sonsor wird dann auch Heiss) (Hab ich natürlich nur mit einem von beiden getestet)

    Wenn ich das auslesen direkt versuche, bekomme ich Err == 1 sobald ich 1wreset ausführe...

    Sprich irgent etwas ist da nicht ok.... Nur was???

    Wie gesagt, verpolt kann es eigentlich nicht sein... Laut Datenblatt ist auch alles korrekt angeschlossen...

    Nur funzen tut es nicht... Muss ich vieleicht irgent etwas speziell Softwaremässig einstellen?

    Danke für eure Hilfe!!!

    MFG

    Ratman2000

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen