Forum: Mikrocontroller und Digitale Elektronik LM35 an ATmega


von Franz M. (shadow010)


Angehängte Dateien:

Lesenswert?

Hallo Zusammen

Ich habe eine Testschaltung (siehe Anhang, 5V)mit einem LM35 und Atmega8 
aufgebaut. (später werde ich noch an AVCC eine 10uH Spule in das Plus 
schalten)

Mein Programm sieht folgendermassen aus:
1
'Temperaturmessung mit LM35
2
'
3
'"Spannungsteiler" an ADC0
4
'
5
'Display
6
$regfile = "m8def.dat"
7
$crystal = 1000000
8
$swstack = 10
9
10
Config Lcdpin = Pin , Db4 = Portd.4 , Db5 = Portd.5 , Db6 = Portd.6 , Db7 = Portd.7 , E = Portd.3 , Rs = Portd.2
11
Config Lcd = 16 * 2
12
Cursor Off
13
Cls
14
Waitms 10
15
16
Config Adc = Single , Prescaler = Auto , Reference = Avcc   'Analogwandler definieren
17
18
Config Portc.0 = Input                                      'ADC
19
20
Dim Analogwandler As Integer                                'Variable zur Aufnahme des Wertes vom Analogwandler
21
Dim Volt As Single
22
Dim Lm35_temperatur As Single
23
24
Locate 1 , 1
25
Lcd "U:     Volt"
26
27
Locate 2 , 1
28
Lcd "T:     " ; Chr(223) ; "C"
29
30
31
Do
32
Analogwandler = Getadc(0)                                   'AD-Wandler einlesen. Werte zwischen 0 und 1023
33
34
Volt = Analogwandler * 4.9                                  '0...1024 -> 0..5000
35
Volt = Volt / 1000                                          '0..bis 5,..
36
Locate 1 , 4
37
Lcd Fusing(volt , "#.###")
38
39
Lm35_temperatur = Volt * 100
40
Locate 2 , 4
41
Lcd Fusing(lm35_temperatur , "##.#")
42
43
Waitms 100
44
Loop
45
End

Das Problem ist der Display zeigt mir 0.555Volt an und dementsprechend 
auch die Temperatur 55.5C effektiv habe ich aber eine Raumtemperatur von 
23C
Was mir aufgefallen ist der LM35 wird extrem heiss. Ich habe den LM35 
kurze Zeit mal an einen anderen Testaufbau angeschlossen dort ist 
allerdings das Plus an den LM35 mit einem 2,2k Widerstand vorgeschalten 
und er wird nicht heiss.

Kann mir vielleicht jemand sagen wo meine Überlegung falsch ist.

von Icke ®. (49636b65)


Lesenswert?

1. Die Zeichnung sieht gräßlich aus.

2. Woher bekommt der AD-Wandler (AVCC) seine Spannungsversorgung?

von Nico (nico123)


Lesenswert?

Bist Du dir sicher, dass Du einen LM35 hast und nicht einen LM335?
Den LM35 kannst Du von 4-20V direkt versorgen, der LM335 benötigt einen 
Vorwiderstand!
Und AVCC muss angeschlossen sein, sonst funktioniert der ADC nicht!

von Dominik S. (dasd)


Lesenswert?

Franz Maier schrieb:
> später werde ich noch an AVCC eine 10uH Spule in das Plus
> schalten

Das wird dann in etwa auch der Zeitpunkt sein zu dem dein Controller 
anfängt mal was sinvolles zu tun.
Wie soll der AD-Wandler ohne Spanungsversorgung funktionieren?

Wenn das Problem ist, dass du gerade keine passendes Spule da hast, dann 
schließ den Pin einfach direkt an.

von Franz M. (shadow010)


Lesenswert?

Danke für die Antworten

Ja Sorry AVcc ist natürlich an Plus. Hab ich falsch gezeichnet. Ja die 
Zeichnung ist echt scheusslich habe ich mit sPlan erstellt aber leider 
passen die Linien nicht ganz.

Ja es ist ein LM 35 CZ der eigentlich auch direkt an 5V gelegt werden 
kann.

Leider habe ich aber den Fehler trotzdem.

Gruss und Danke

von Nico (nico123)


Lesenswert?

Und Du hast den LM35 auch 100%ig richtig angeschlossen? Achte auf die 
Ansicht es Bauteils bei der PIN-Zuordnung!

von Jojo S. (Gast)


Lesenswert?

wenn der LM heiss wird kann er nur falsch angeschlossen sein oder es ist 
der falsche Typ. Also erstmal nur den LM an die Versorgung anschliessen 
und die Ausgangsspannung mit dem Multimeter kontrollieren, dann fallen 
schonmal die möglichen Controllerfehler weg. Und die Bezeichnung des 
Teils mit der Lupe kontrollieren, solche Fehler gab es hier schon 
häufiger das man glaubte das richtige Teil zu haben.

von Pete K. (pete77)


Lesenswert?

Schau Dir noch einmal die Datenblätter (ja, die gibt es!) zu Deinen 
verwendeten Bauteilen an und beschalte nach den Datenblättern.

Versuche auch einen anderen Sensor zu nehmen. Wenn ein Bauteil heiß 
wird, ist es oft zerstört (z.B. durch Verpolung oder zu hohe Spannung).

Die 100ms würde ich mal auf 1000ms hochsetzen. So schnell ändert sich 
die Umgebungstemperatur nicht.

von Franz M. (shadow010)


Lesenswert?

Danke für den Tip das werde ich heute Abend gleich mal versuchen

von Franz M. (shadow010)


Lesenswert?

Hallo Zusammen

Danke für euer Hilfe. Die Messunk funktioniert nun tip top. Ich habe den 
crystal noch angepasst "8000000". Ich hatte auf dem Board einen kleinen 
Schluss den ich nicht gesehen habe. Von einem Litzenkabel ist da eine 
einzehlne Ader gelegen welche mit ein Schluss verursacht hatte.

Gruss und danke

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.