PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Gleichspannung verstärken mit OPV



Pferd
11.03.2008, 14:26
Hallo,
ich möchte gerne mit einem ATMega16 über den AD-Wandler die Temperatur einlesen. Dafür habe ich einen LM35DZ-Temperatursensor.
Das heißt bei 25°C wird 0,25V eingelesen usw.
Bei so kleinen Spannungen gibt es aber scheinbar Probleme mit dem AD-Wandler, weil der nicht hoch genug aufgelöst ist, um auch die erste Nachkommastelle der Temperatur richtig einzulesen.

Deshalb möchte ich die Spannung um den Faktor 10 verstärken. Ich habe dazu einen nicht invertierenden Verstärker mit einem ua741 und den Widerständen 1,8kOhm und 200Ohm aufgebaut.
Vss+ ist auf 5V, Vss- auf GND. (das Projekt hängt an einer 9V-Batterie mit Spannungsregler auf 5V)

Das Problem:
Anscheinend wird die Spannung falsch verstärkt. Bei 0,23V kommt hinten 4,17V raus anstatt 2,3V.
Hat jemand eine Idee, was falsch sein könnte?

BASTIUniversal
11.03.2008, 15:03
Hi!
Also der µA741 war so ziemlich der erste einwandfrei Funktionierende Operationsverstärker in einem kleinen Gehäuse. Aktuell war diese Technik vor vielleicht 30 Jahren!
Der 741er braucht eine ziemlich hohe Eingangsspannung (je nach Verstärkung) und bei deiner kleinen Eingangsspannung auf jeden Fall eine negative Versorgungsspannung.
Ein besserer Verstärker, der all dies nicht braucht, ist z.B. der TLC272 oder der LM358.

Die einfachste Möglichkeit bei dir: Der Mega16 besitzt schon einen internen Verstärker, den man dazuschalten kann (Verstärkung von 1x, 10x oder 200x).

Jetzt kommt es nur noch darauf an, welche Auflösung du haben möchtest. Der LM35 gibt eine Spannung von 10mV/°C aus, bei 10 Bit Auflösung gibt das einen kleinsten Schritt von etwa 0,5°C. Verwendet man die interne Referenz von 2,56V, dann verkleinert sich dieser auf 0,25°C.
Die Genauigkeit des LM35DZ liegt bei 1-2°C, eine Nachkommastelle ist also im Prinzip sinnlos.

MfG
Basti

ranke
11.03.2008, 15:04
Vermutlich ist der UA741 übersteuert.
Das Datenblatt http://focus.ti.com/lit/ds/symlink/ua741.pdf sagt für eine Betriebsspannung von +/- 15V eine "Common mode input voltage range" von minimal +/- 12V (typ. +/- 13V).
das heißt, er will am Eingang eine Spannung sehen, die 3V oberhalb der negativen Betriebsspannung und 3 V unterhalb der positiven Betriebsspannung liegt.
Das ist schon mal ziemlich schwierig bei einer Betriebsspannung von nur 5 Volt.

EDIT: Da war basti mal wieder schneller...

Pferd
11.03.2008, 15:24
Danke für die Antworten. Ich werde die Nachkommastelle einfach weglassen, dann muss ich auch nichts verstärken.
temperatur = readADC(0)*500/1024;

So müsste das doch stimmen, oder? Vref ist 5V.

Besserwessi
11.03.2008, 20:05
Also wenigstens sollte man die interne Referenz (2,5 V) nehmen. Damit hat man schon mal 2 mal mehr Auflösung. Die Interne Verstärkung sollte auch nicht so schwierig sein.