Externe Spannung messen mit Atmeg8. Anschlussproblem

svenna80

Mitglied
31. Juli 2009
39
0
6
Sprachen
Hallo,

ich möchte mit meinem ATmega8 eine externe USB-Spannung von 5V messen. Die Spannung gebe ich auf einem LCD-Display aus. Der ATemga8 befindet sich in einem Pollin-Evaluationsboard, von dem ich die Pins abgreife.
Wenn ich eine Schaltung aufbaue, die die VCC misst, dann funktioniert die Messung (siehe angehängte Datei Schaltung1). Ich messe 2 Spannungen mittels des ADC (ADC0 u. ADC1). Referenzspannung ist VCC (5V)

Schaltung 1.jpg

Sobald ich aber eine externe Spannung messen will, z.B. die externen 5V eines USB-Anschlusse, dann werden auf meinem Display nur undefinierte Spannungen ausgegeben. Die Anzeige wechselt ganz schnell. Egal, ob ich 5V angeschlossen habe oder 0 Volt. Es scheint ein undifinierter Zustand zu sein, den ich da messen will.
Die Schaltung zum Messen des USB-Anschlusses sieht wie folgt aus:

Schaltung 2.jpg

Da die Messung mit den internen 5V (VCC) funktioniert, denke ich, dass es evtl. kein Softwareproblem, sondern ein Hardwareproblem ist.

Anbei noch ein Photo, wo der Aufbau zu sehen ist:

2013-09-29 19.52.03.jpg

Ich hoffe ihr könnt mir helfen und bedanke mich schon einmal im Voraus!

Gruß Sven
 
Hallo Sven,

tja ... was soll ich sagen ... denk mal über folgendes nach ...

1. Ich hoffe du hast die Massen alle miteinander verbunden. Die Massezeichen sind ja im Plan 2 vorhanden.

2. Wenn der externe USB sagen wir mal 5,02V hat und dein Atmel hat nur 4,98V zur Verfügung. Welche Spannung hat dann deine Referenz für den ADC wenn du AVcc als Referenz verwendest?

Der Punkt 2 ist dabei am wichtigsten. Ich tippe mal du wirst selber drauf kommen.
In ein Wasserglas was voll ist (4,98V) kann man nix mehr reinkippen (5,02V).

Mit etwas Glück sind die Schutzdioden der Eingangspins (ADC0, ADC1) nicht gehimmelt :rolleyes:

Gruß
Dino
 
Messen der Vcc (5V) an USB

Hallo,

ich glaube, dass wird so nichts werden. Du solltest vorsichtig sein mit dem messen direkt an 5V.
Die Betriebsspannung des ATmega8 beträgt 5V. Das ist die maximale Grenze für externe Spannungen.
Anders gesagt: keine externe Spannung darf größer dieser Vcc_AVR sein.

Warum verwendest Du eigentlich nicht einen Spannungsteiler?
In Deiner der Schaltung -1- misst Du zwei Spannungen.
Dort verwendest Du für ADC1 einen Spannungsteiler.
Wahrscheinlich funktioniert das mit der Spannung an ADC0 nur deshalb, weil diese Spannung noch innerhalb der Grenzen liegt.

Bei USB-Ports kann es aber sein, dass die Vcc_USB etwas größer ist als 5V - also somit ausserhalb der Grenzen liegt.

Die beiden Massen hast Du ja miteinander verbunden - oder?


MfG
FreeVEE
 
Ah ok.

Danke Dino und FreeVEE für die Antworten!

Natürlich habe ich die beiden Massen nicht miteinander verbunden. :rolleyes: Ich wusste nicht, dass man das machen muss...
Das habe ich jetzt nachgeholt. Und siehe da, zumindest wenn die 5 V USB-Spannung anliegen, wird das auch angezeigt. Bei 0 Volt tritt aber immer noch der undefinerte Zustand auf.
Merkt man das an irgendetwas, dass sich der Atmega gehimmelt hat? :confused: Scheint soweit noch alles zu funktionieren.

Morgen oder übermorgen werde ich mich um den Spannungteiler kümmern.
Welche Werte für die Widerstände würdet ihr empfehlen und warum? Ich würde möglichst hohe Werte nehmen, damit nicht so viel Strom verbraucht wird. Allerdings weiß ich nicht welche Größenordnung gut ist bzw. Sinn macht. Ohm, Kiloohm oder Megaohm?
Und wie soll ich die beiden Widerstände aufteilen? 2 gleiche Werte? Oder zwei unterschiedliche Werte? Welchen dann noch oben und welchen nach unten? (PS.:Spannungsteiler kann ich selbst berechnen)
In der Schaltung 1 habe ich testweise zwei gleiche hohe Werte genommen.

Achso, nachdem ich nun die beiden Massen miteinander verbunden hatte und ich das Evaluationsboard spannungslos gemacht habe, (die 5V USB-Spannung waren noch dran) blieb die LED des Boards noch an und das LCD-Display auch! Allerdings zeigte das Display nix mehr an (Spannung reichte wohl nicht ganz aus). Es scheint so, dass der ATmega sich über die ADC-Pins mit Spannung versorgt hat. Ist das ein normales Verhalten, oder ist da doch schon etwas kaputtgegangen?

Und so ganz umsonst sind meine Versuche ja nicht, zumindest mache ich den Fehler kein 2. Mal und andere Forumsnutzer lernen auch noch von. :)
Verbucht das bitte unter "Jungend forscht" :D

Dankeschön nochmals und gute Nacht!

Sven
 
Natürlich habe ich die beiden Massen nicht miteinander verbunden. :rolleyes: Ich wusste nicht, dass man das machen muss...
Kerl ! :p :vollkommenauf:
Hast du schonmal ne Lampe und Batterie mit einem Draht verbunden und die Lampe hat tatsächlich geleuchtet :flute:

Bis auf nen Teslatrafo als Spannungsquelle (wo dann der Rückleiter die Luft mit dem E-Feld ist) hab ich das noch nicht gesehen.

Es heißt ja auch immerhin StromKREIS und nicht Stromlinie. Nen Azubi hätte dafür nen Frühstück ausgeben müssen :cool:

Gruß und gute Nacht :goodnight:
Dino
 
Hallo svenna80,

da du ja, wie du schreibst, den Spannungsteiler selbst berechnen kannst, erübrigt sich die Frage eigentlich - schau ins Datenblatt! Thema Eingangswiderstand - Zur Erinnerung, als Fausregel gilt, der Spannungsteiler sollte immer niederohmiger sein als der Verbraucher (Größenordnung mind. Faktor 10) damit der Einfluß des Verbrauchers möglicht gering bleibt. In Sachen Genauigkeit kannst du bei dieser Schaltung keine Wunder erwarten - Vcc als Referenz ist bestenfalls zur grundsätzlichen Erprobung geeignet - besser externe Referenz verwenden - auch hier gilt DATENBLATT !!! - da gibt es einige Hinweise zur Beschaltung.
Was deine Frage zum Weiterleuchten von LED und Display nach abschalten von Vcc angeht - schöne Grüße von bzw. an die Schtzdioden.

gp177
 
So, Du kämpfst hier an mehreren Fronten gleichzeitig...

1.: Was macht de ADC eigentlich? Er vergleicht Spannungen miteinander, und stellt eine als Anteil der anderen digital dar. Eine Spannung ist die, die Du an den Pin anlegst (und im Programm als Kanal auswählst), die andere ist die verwendete Referenzspannung. Der Kanal wird dann quasi prozentual (nur eben mit 256teln bzw 1024teln statt 100steln) zur Referenz angegeben - soweit klar? Was ist also zu erwarten, wenn man dem Controller sagt, daß er Vcc als Referenz verwenden soll, und an den Kanal Vcc anlegt (und messen läßt)?
(Bild1)

2.: Du mißt hier Spannungen. Was ist eine Spannung? Ein Potentialunterschied zwischen 2 Leitern. ZB auch zwischen VUSB und GndUSB. Der ADC des Mega8 mißt immer bezüglich Gnd (also dem Gnd, das am Mega8 anliegt). Wenn das aber Potentialgetrennt zu GndUSB ist, hast Du auch kein Potential zwischen dem Kanal (VUSB) und GndMega8

3.: Schau mal bitte ins Datenblatt des Controllers - I/O-Ports auf Seite 51. In Figure 21 sind dort unter anderem die internen Schutzdioden zu erkennen. In den Electrical Characteristics (S 235ff.) kann man ablesen, daß jedes I/O-Bein 0,5V mehr als Vcc verträgt (und 0,5V weniger als Gnd). Wieviel Strom dabei durch die Diode gehen darf, hab ich noch nicht gefunden. Zum Schutz des Controllers kann man zB in Reihe vor das Bein einen geeigneten Widerstand schalten, der den max Strom durch die Diode begrenzen würde Vorwiderstand quasi). Auf die Messung hat das dann folgende Auswirkungen: einerseits bringt der Widerstand zusätzliches Signalrauschen mit sich, andererseits reduzierst Du ja den möglichen Strom, es dauert also länger, die Eingangskapazität des Beinchens und die sample&hold-Stufe des ADC auf das (zu messende) Niveau des Pins umzuladen.

Und jetzt noch einen Hinweis bevor Du Deine Teiler berechnen willst:
Wenn Du Punkt 1 durchgegangen bist, ist Dir klar, daß die Messung mit Vcc als Referenz hier Quatsch ist. Du kannst natürlich über den AREF-Pin eine hochpräzise Referenz einspeisen, aber vielleicht reicht Dir ja auch die Verwendung der internen 2,56V-Referenz aus. Dann darf Die zu messende Spannung aber eben auch diesen Wert nicht überschreiten.
In dem Zusammenhang noch'ne Frage: den nötigen (Stütz-?)Kondensator am AREF-Pin hast Du?
 
Hi,

also die interne 2,56V-Referenz mit nem externen 100nF am ARef-Pin sollte dafür reichen.

Damit mußt du dann aber einen Spannungsteiler draußen ansetzen der deine 5V auf maximal 2,56V runterteilt. Ich würde da mindestens 0,5V oder sogar 1V Reserve reinsetzen. Also 5,5V oder 6V auf 2,56V runterteilen.

Außerdem muß der Spannungsteiler gegenüber dem Laststrom vom Mittelabgriff mindestens den 10fachen Querstrom haben. Nimm der Einfachheit halber mindestens einen 10fach kleineren unteren Widerstand gegenüber dem Eingangswiderstand des ADC-Pins.

Für eine Beruhigung bei der Messung kann man noch nen 100pF oder 1nF vom ADC-Pin nach GND schalten. Dann bekommst du aber bei sehr schneller Samplingrate keine Spannungsspitzen mehr mit. Das ist dann alles glattgebügelt.

Soviel erstmal.
Gruß
Dino
 

Über uns

  • Makerconnect ist ein Forum, welches wir ausschließlich für einen Gedankenaustausch und als Diskussionsplattform für Interessierte bereitstellen, welche sich privat, durch das Studium oder beruflich mit Mikrocontroller- und Kleinstrechnersystemen beschäftigen wollen oder müssen ;-)
  • Dirk
  • Du bist noch kein Mitglied in unserer freundlichen Community? Werde Teil von uns und registriere dich in unserem Forum.
  •  Registriere dich

User Menu

 Kaffeezeit

  • Wir arbeiten hart daran sicherzustellen, dass unser Forum permanent online und schnell erreichbar ist, unsere Forensoftware auf dem aktuellsten Stand ist und der Server regelmäßig gewartet wird. Auch die Themen Datensicherheit und Datenschutz sind uns wichtig und hier sind wir auch ständig aktiv. Alles in allem, sorgen wir uns darum, dass alles Drumherum stimmt :-)

    Dir gefällt das Forum und unsere Arbeit und du möchtest uns unterstützen? Unterstütze uns durch deine Premium-Mitgliedschaft!
    Wir freuen uns auch über eine Spende für unsere Kaffeekasse :-)
    Vielen Dank! :ciao:


     Spende uns! (Paypal)