Forum: Mikrocontroller und Digitale Elektronik Problem mit LM75 und I²C Bus


von Andreas H. (raucher91)


Lesenswert?

Hey Ich hoffe Ihr könnt mir weiterhelfen.

Ich wollte an meinen Atmega644p einen LM75 Temperatur sensor abfragen 
und bin seit 2 Tagen am verzweifeln.

Der LM75 ist über I²C an meinem Mega644p angeschlossen.

Ich bekommen zwar über mein programm einen wert nur ist dieser immer bei 
125 Grad. Woran kann das liegen ?

Ich habe schon folgendes geprüft:
-PullUp Widerstände 1k5 bzw. 4k7 gegen 5Volt
-Adresse ist richtig A0-A2 sind gegen Masse

mein Code
1
$regfile = "m644pdef.dat"
2
$crystal = 16000000
3
'$sim                                                        'Frequenz 16MhZ
4
$baud = 2400                                                'Baudrate Com1 zum PC
5
$baud1 = 2400
6
$timeout = 20000000                                         'Timeout für Serial In 10 Sekunden
7
$hwstack = 90
8
$swstack = 64
9
$framesize = 64
10
'$lib "i2c_twi.lbx"
11
Config Twi = 100000
12
13
Const Lm75slavewrite = &H90
14
Const Lm75slaveread = &H91
15
Dim Lm75high As Byte
16
Dim Lm75low As Byte
17
Dim Temperatur As Integer
18
Dim Nachkommastelle As String * 2
19
20
 Dim N As Integer
21
 N = 5
22
 I2cstart
23
 I2cwbyte Lm75_adresse
24
 I2cwbyte &H00
25
 I2cstop
26
 Waitms 100
27
 Do
28
   I2cstart
29
   I2cwbyte Lm75slaveread
30
   I2crbyte Lm75high , Ack
31
   I2crbyte Lm75low , Nack
32
   I2cstop
33
34
35
   If Lm75high > 127 Then
36
      Temperatur = Lm75high And 127
37
      Temperatur = Not Temperatur
38
      Incr Temperatur
39
   Else
40
      Temperatur = Lm75high
41
   End If
42
43
   Lm75low = Lm75low And 128
44
   If Lm75low > 0 Then
45
       Nachkommastelle = ",5"
46
   Else
47
      Nachkommastelle = ""
48
   End If
49
   Locate 2 , 11
50
   Lcd "                "
51
   Locate 2 , 11
52
   Print #2 , "Temp.: " ; Temperatur ; Nachkommastelle ; " Grad"
53
   N = N - 1
54
55
 Loop Until N < 0

langsam glaub ich dass Ich entweder doof bin oder der LM75 hin ist

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