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

: Bearbeitet durch User
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.