mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Atmega 10 Bit AD Wandlung in Spannungsbereich von 0,8V - 1,8V


Autor: Wayne Interessierts (mustang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo zusammen,

mal ne generelle Frage zu den Atmegas.
Habe ich die Möglichkeit eine 10 Bit AD Wandlung im Bereich von 0,8 - 
1,8V (oder so ähnliche Spannung) zu machen?
Hintergrund ist der: Ich möchte relativ genau die Spannung an einem Akku 
(1,2V) überwachen. Und wenn ich das mit der internen Referenzspannung 
von 2,56V mache, bekomme ich eine Genaugkeit von 2,56V/1024 = 2,5mV. Ich 
hoffe mir somit die genauigkeit zu steigern.

Was mir eingefallen ist: über einen Subtrahierer eine feste Spannung von 
0,8V vorgenen und diese permanent von der gemessenen Spannung abziehen, 
sodass ich eine niedrigere auf Masse bezogene Spannung habe, und erst 
diese an den Mega weitergebe.

Gibt es sonst noch eine Möglichkeit? Vielleich auch über die Software?

Gruß und Dank

Autor: Timmo H. (masterfx)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kannst du machen per OPV => Subtrahierer. Einfach 0,8V abziehen und die 
Verstärkung so einstellen, dass du auf die 2,56V bei 1,8V (also nach 
Abzug 1V) kommst.

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder mit Tiny26.

Differenzialmessung mit Gain 20 (macht 1,25 V Messberech), negativen 
Eingang an 0,8 V (Spannungsteiler aus VCC) legen.

...

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Dirk K. (mustang)

>von 2,56V mache, bekomme ich eine Genaugkeit von 2,56V/1024 = 2,5mV.

Nöö, eine Auflösung von 2,5mV. Das ist nicht unbedingt die Genauigkeit, 
siehe Artikel Auflösung und Genauigkeit.

> Ich hoffe mir somit die genauigkeit zu steigern.

Wozu? Auf wieviel Mikrovolt glaubst du das steigern zu müssen? 2,5mV bei 
1,2V Zellenspannung is1 ~ 1/500 oder 2 Promille. Das ist schon eine sehr 
hohe Auflösung.

>Gibt es sonst noch eine Möglichkeit? Vielleich auch über die Software?

Ja. Einfach eine grosse Anzahl Messungen machen und den Mittelwert 
bilden, damit kann man ein paar Bits mehr Auflösung rausholen. Also 16 
Messwerte addieren und danach aber durch 4 Statt 16 teilen. Schon hat 
man zwei Bit mehr Auflösung. Das klappt auch praktisch ganz gut. Und ist 
bei langsamen Messungen kein Problem.

Der Aufwand mit OPV etx. ist hier IMO nicht gerechtfertigt.

MFG
Falk

Autor: Wayne Interessierts (mustang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zuerst mal zum Tiny 16: Ich wollte eigentlich beim Mega 32 bleiben, da 
ich mich für meine Projektarbeit bisher darauf eingearbeitet habe, 
möglicherweise muss ich, falls der Speicher nicht reicht, später auf 
einen größeren Typ umsteigen, aber das ist gerade eine andere 
Geschichte.

Da ich ja nicht nur eine Signal zu messen habe, sondern 4 (weil so viele 
Batterien gleichzeitig geladen werden sollen) erscheint mir die variante 
mit mehreren Messwerten aufaddieren am sinnvollsten.

Und warum ich so eine hohe auflösung benötige:
Ich möchte eine Minus Delta U Abschaltung realisieren. Für die jenigen 
die nichts mit dem Begriff anfangen könne, man erkennt einen vollen NiMh 
oder NiCD akku daran, wenn die Akkuspannung nach dem erreichen des 
höchstwertes plötzlich absinkt. Beim erreichen des höchstwertes ist er 
voll, lädt man danach noch weiter, so kann die Energie nicht mehr 
gebunden werden, und wird in wärme umgesetzt. Man erkennt also somit 
wann der Akku minimal überladen ist, und beendet dann den Ladevorgang.
Dies alles spielt sich im Bereich weniger mV ab. Handelsübliche 
Ladegeräte erkennen typischerweise ein -DeltaU von 10-15mV. Das ist mir 
für mein Projekt jedoch zu schlecht. Ich möchte im Bereich von 6 - 10mV 
bleiben. Und deshalb benötige ich eine möglichst kleine AD Auflösung, um 
diesen Spannungsabfall feststellen zu können.

Oder gibt es noch eine ganz andere Möglichkeit?

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn dein Controller mit 5V läuft, dann nimm diese Schaltung:

  Beitrag "Re: Sensorschaltung"

und ersetze dabei

  15V durch 5V
  R1  durch 30kΩ
  R2  durch 24kΩ
  R3  durch 7,5kΩ

Dann ist

  UA = 5·UE - 4

Die 5V sind auch die Referenzspannung für den ADC. Der OpAmp sollte
idealerweise ein Rail-to-Rail-Typ (z.B. TS912) sein, damit er den vollen
Eingangsspannungsbereich des ADC abdeckt.

Hast du statt der 5V nur 3,3V (oder eine andere Spannung >=1,8V), musst
du die Widerstände entsprechend anpassen.

Autor: Hannes Lux (hannes)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> Ich möchte eine Minus Delta U Abschaltung realisieren.

32 aufaddierte 10-Bit-Messungen gegen interne 2,56V gemessen reichen 
dazu völlig aus.

...

Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ yalu: muss für diese schaltung der OPV mit einer negativen spannung 
versorgt werden oder geht auch ground (+5V und 0V) ?

Autor: yalu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> muss für diese schaltung der OPV mit einer negativen spannung versorgt
> werden oder geht auch ground (+5V und 0V) ?

+5V und 0V reichen. Am oberen Ende (knapp unter 5V am Ausgang) wird die
Genauigkeit etwas leiden, weil sich dort die Belastung durch die
Gegenkopplungswiderstände bemerkbar macht. Da der TS912 Mosfet-Eingänge
hat, kann man die Widerstände aber auch noch um den Faktor 10 größer
machen.

Autor: Wayne Interessierts (mustang)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Hannes Lux: Wie viele mV beträgt bei deinem Lader der -deltaU, wenn du 
sagst das eine Auflösung von 2,5mV ausreicht?
Ich bin gerade an der Programmierung des -DeltaU abschaltvorgangs.
Hab auch schon was lauffähiges hinbekommen, aber könntest du mir evtl 
mal dein Quellcode hierfür zukommen lassen?
Für die Zukunft habe ich vor die Ableitung der Spannung nach der Zeit zu 
realisieren, hast du damit auch erfahrungen gemacht?

@ yalu: Die beschaltung ist ja mal klasse! Das ist genau sowas wie ich 
benötige.
Verstehe ich das richtig, dass ich nach am oberen Ende der Spannung 
besser etwas luft lassen sollte, sodass ich keine Verzerrungen durch die 
OP beschaltung habe?
Und jetzt entschuldige bitte meine primitive Frage, aber ich bin wenn es 
OP s geht echt nicht fit: Was ist das für eine OP Grundschaltung? Ich 
habe gerade im guten alten Tabellenbuch nachgesehen, aber nichts 
gefunden was auch nur annähernd darauf passt, außer Nichtinvertierender 
Verstärker mit dem dem zusätzlichen Widerstand gengen +.

Und könntest du mir eine Formel geben, wie ich die Widerstände 
dimensioniern muss für einen Spannungsbereich 0,8 - 2V?

Autor: Master Snowman (snowman)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
danke yalu!! genau sowas suchte ich schon lange, danke dass du hier 
kompetent antwort gibts (inkl. tips) **ich dir ein kränzchen wind**

@Dirk: zuerst berechnest du (R2/R1)*Up (das ist die offsetspannung die 
du abziehen willst). daraus ergibt sich R1 und R2 und dann fügst du die 
werte in (1+..)*Ue ein und berechnest wie gross  R3 sein muss, für 
deinen verstärkungsfaktor

Autor: Hannes Lux (hannes)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dirk K. schrieb:
> @ Hannes Lux: Wie viele mV beträgt bei deinem Lader der -deltaU, wenn du
> sagst das eine Auflösung von 2,5mV ausreicht?

Das müsstest Du am rechten Bild sehen können, die Skalen sind 
beschriftet. Im Tiny26 des Laders wird direkt mit der 15-Bit-Zahl (32 
Messungen a 10 Bit) gerechnet. Das sind 12800 Einheiten pro Volt, bzw. 
78 µV pro Einheit. Da die Werte für den Grafen bereits skaliert sind, 
hat der Graf eine bedeutend grobere Auflösung von 1 mV.

> Ich bin gerade an der Programmierung des -DeltaU abschaltvorgangs.
> Hab auch schon was lauffähiges hinbekommen, aber könntest du mir evtl
> mal dein Quellcode hierfür zukommen lassen?

Meinen Quellcode? Der wird Dir nix nützen, von mir ist erstmal nur das 
in VB6 geschriebene PC-Programm. Der Akkulader ist von Andreas Dittrich, 
das Projekt ist im Netz zu finden:
http://www.student.uni-kl.de/~dittrich/trxcharger/index.html
Ich habe lediglich ein paar kleine Änderungen betreffs Datenübertragung 
vorgenommen, um Strom und Spannung auswerten zu können, bin aber noch 
nicht ganz fertig damit.

> Für die Zukunft habe ich vor die Ableitung der Spannung nach der Zeit zu
> realisieren, hast du damit auch erfahrungen gemacht?

Die Zeit wird bei der Abschaltung auch berücksichtigt. Den genauen 
Algorithmus habe ich aber noch nicht analysiert.

Ich habe eigentlich nicht die Absicht, den Dittrich-Lader großartig 
umzustricken, sondern ihm einen Master vor die Nase zu setzen, der ihm 
einen Akku nach dem anderen unterjubelt und die Ergebnisse loggt (und 
auf einem Bondrucker druckt). Denn dieser Lader ist so gut, dass er viel 
zu schade für nur einen Akku ist. Und ich möchte mich nicht zum Sklaven 
(Akkuwechsler und Ergebnisaufschreiber) (m)eines Akkuladers machen.

...

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.