- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: Problem mit LM75 und AT90S2313

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    25.09.2004
    Alter
    33
    Beiträge
    54

    Problem mit LM75 und AT90S2313

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo
    Ich habe ein Problem mit einem LM75 an einem AT90S2313.
    Den folgenden Code hab ich hier im Forum gefunden (von Frank glaub ich) und hab ihn auf den AT90S2313 umgeschrieben. Der µC soll die Temperatur auslesen und dann auf dem LCD anzeigen.

    Code:
    $regfile = "2313def.dat"
    $crystal = 3686400
    config LCD = 16 * 1
    
    Declare Sub Showtemperatur()
    
    Const Lm75slavewrite = &H90
    Const Lm75slaveread = &H91
    Dim Lm75high As Byte
    Dim Lm75low As Byte
    Dim Temperatur As Integer
    Dim Nachkommastelle As String * 2
    
    
         I2cinit
    Start:
         Showtemperatur
         Wait 2
         Goto Start
    
    
     Sub Showtemperatur()
       I2cstart
       I2cwbyte Lm75slaveread
       I2crbyte Lm75high , Ack
       I2crbyte Lm75low , Nack
       I2cstop
    
       If Lm75high > 127 Then
          Temperatur = Lm75high And 127
          Temperatur = Not Temperatur
          Incr Temperatur
       Else
          Temperatur = Lm75high
       End If
    
       Lm75low = Lm75low And 128
       If Lm75low > 0 Then
           Nachkommastelle = ",5"
       Else
          Nachkommastelle = ""
       End If
    
       Locate 1 , 1
       Lcd Temperatur ; Nachkommastelle
    End Sub
    Aber alles was ich auf dem LCD sehe ist ein undefinierbares zeichen (sieht aus wie so nen chinesisches schriftzeichen ).
    Ich hab den LM75 so angeschlossen:

    +Ub = +5V
    A0 = leer
    A1 = leer
    A2 = leer
    I2CData = SDA port
    I2CTakt = SCL port
    OS = leer
    GND = GND

    Ich hoffe ihr könnt mir helfen
    Vielen Dank, Markus

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    03.11.2004
    Beiträge
    370
    funktionieren denn "normale" ausgaben wie lcd "hallo welt"??

  3. #3
    Benutzer Stammmitglied
    Registriert seit
    30.01.2004
    Ort
    Hartenholm
    Alter
    74
    Beiträge
    81
    Hallo markus,

    Du solltest Dir mal das Datenblatt, insbesondere Seite 9 - 12 anschauen.
    Mir fällt z.B. auf das Du den chip nicht initialisiert hast, auch das pointerbyte
    wurde nicht gesendet.
    Im Datenblatt ist es eigentlich recht gut erklärt. Ich habe zwar mit dem LM75 keine eigenen Erfahrung, scheint mir aber ähnlich wie der DS1631 zu sein. Den habe ich in Gebrauch.

    Um mögliche Fehler im Bereich LCD auszuschließen, teste doch erst mit Ausgabe auf dem Monitor.

    BTW: hast Du SDA und SCL mit Pullup's,versehen.


    mfg gerhard

  4. #4
    Gast
    Hallo
    also erstmal danke für eure antworten.
    Die einfache Textausgabe auf dem LCD funktioniert einwandfrei.
    Pullups habe ich keine verwendet (sry, aber was ist das und wie mach ich das???).
    Also ich werd mir dann mal das Datenblatt saugen und gucken was da drin steht.
    mfg Markus

  5. #5
    Benutzer Stammmitglied
    Registriert seit
    30.01.2004
    Ort
    Hartenholm
    Alter
    74
    Beiträge
    81
    ... du mußt SCL und SDA mit pullup-Widerständen auf +5 V legen.
    Ohne die geht I2C garnicht.
    Zum Verständnis des I2C-Bus ist dieser Link recht hilfreich.
    http://www.semiconductors.philips.co...8/39340011.pdf

    mfg Gerhard

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    25.09.2004
    Alter
    33
    Beiträge
    54
    Also jetzt hab ich SCL und SDA mit 1,7K auf +5V gelegt. Allerdings bekomme ich nun konstant 23,5 grad angezeigt (auch wenn ichd das teil in die hand nehme und somit erwärme). Ist da irgendwas in der routine falsch die das LCD beschreibt oder aus dem LM75 ausliest?
    mfg Markus

  7. #7
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Zwischenfrage vom Nichtwissenden zum dazulernen: Wenn du schreibst:
    "LCD Temperatur, Nachkomma"
    wobei temp.. ein Integer und Nachk.. ein String ist
    kann der "LCD" das ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    25.09.2004
    Alter
    33
    Beiträge
    54
    Jetzt funktioniert alles so wie gewollt.
    Danke für eure Hilfe.
    mfg Markus

  9. #9
    Gast
    Zitat Zitat von Grillmeister Markus
    Jetzt funktioniert alles so wie gewollt.
    Danke für eure Hilfe.
    mfg Markus
    Hallo Markus, könntest du mal das kommentierte Programm posten, dann können wir auch noch was lernen.
    Bernd

  10. #10
    Benutzer Stammmitglied
    Registriert seit
    25.09.2004
    Alter
    33
    Beiträge
    54
    Das Programm steht oben. Wie gesagt: ich hab den code auch nur von frank.
    mfg Markus

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

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

MultiPlus Wechselrichter Insel und Nulleinspeisung Conrad