Hallo zusammen,
also wir hatten heute Prüfung und es ist eigentlich
sehr sehr gut gelaufen :) bis auf eine Frage, auf die ich einfach keine
Antwort hatte, aber dennoch gerne wissen würde wie die richtige antwort
lautet.
und zwar:
Welchen Zahlenwert ergibt eine Spannung von 2,5V bei einer 10Bit ADC in
der SW ?
Wäre sehr nett, wenn mir jemand dabei weiterhelfen könnte und auch wie
man auf das ergebnis kommt...
Vielen herzlichen Dank
also die 2,5V kommen soweit ich das aus der Schaltung erkennen konnte
aus einem Sharp Distanzsensor GP2D12, ist dann die referenzspannung die
versorgungsspannung meines GP2D12 oder vielleicht die des Controllers
der mit auf der Platine sitz, oder vielleicht von dem AD-Wandler ?
:) Danke
1024, hab gerade mal bei Atmel ins Datenblatt geschaut, war auch am
überlegen.
0x0000 -> Analog ground, 0x03FF VRef minus one LSB
Also VRef gar nicht messbar, somit 1024 in der Berechnung völlig i.O.
Zumindest beim AVR (ATMega168 Datenblatt, Seite 250)
In der Regel hat der AD-Wandler einen Referenzspannungseingang.
Das hängt aber nun komplett vom verwendeten IC. Eventuell
benutzt der ADC auch einfach seine Versorgungsspannung als
Referenzspannung. Bei stand-alone-ADCs gehe ich aber eher nicht
davon aus.
kmt
@Sabrina, VRef die Analoge Referenzspannung des Controllers. Je nach
Typ, Software etc, kann das quasi alles sein. VCC, VRef Eingang, AVCC
z.b. nur mal so beim AVR.
Was ist jetzt richtig 1023 oder 1024?
Das ADC-Register vom AVR kann doch max. nur 1023 werden.
Wert= (2,5V / Uref) *1023
Wert= (2,5V / Uref) *1024 ' geht doch nicht weil max nur 1023???
Als µC ist nen ATMega32 verbaut gewesen, aber ich weiss nicht ob dabei
der interne AD-Wandler verwendet wurde,
ja doch wurde er...,
der Sensor ging auf Port A0 und ein anderer auf Port A1
dahinter steht es ja in klammern
PA0(ADC0)
PA1(ADC1)
also verwendet wird doch der interne AD des ATMega32,
wartet schau mal im Datenblatt welche Refspann der hat,
oder weiss das jmd auswendig ?
1024 ist richtig...
Stimmt im Register kann max 1023 stehen, allerdings kann VRef ja auch
gar nicht gemessen werden, sondern max
VMaxMess=VRef*1023/1024
@Sabrina: Was geht auf VCC (2,5V, 5V, 3,3V?) was geht auf VRef, was geht
auf AVCC? Sind AVCC und VCC evtl verbunden? Ist VRef offen? Alles
Fragen, die man beantwortet haben müsste...
Danke, Henning!
Zur genaueren Erklärung: Der Successive-Approximation-Wandler legt zu
beginn der Messung die halbe Referenzspannung an den Komparator, und
die entspricht 1 MSB. Beim nächsten Schritt wird die Hälfte von der
Hälfte angelegt und so weiter. Es bleibt am Ende immer ein LSB übrig.
Deshalb ist der maximale Wandlungsbereich immer ((2^n - 1) /2^n) *
VREF.
10Bit sind 1024 Stufen, oder als Wert 0...1023 (was dann auch wieder
1024 Möglichkeiten sind wegen der "0").
Um die Schrittweite zu ermitteln muß ich mit 1024 rechnen.
habs schon gefunden, also pin 32 (AREF) liegt offen, geht soweit ich das
bisher erkennen konnte nichts drauf
an AVCC geht ne leitung, die sich teilt und der eine strang geht auf ne
100µH spule und danach auf VCC, der zweite strang geht auf nen 100nF C
und dann auf GND,
also ist die RefSpannung doch VCC richtig ?
Standardschaltung wie aus dem Datenblatt ;)
Hab gerade mal nachgeschaut, der Mega32 hat noch eine interne 2,56V
Referenz (Datenblatt Seite 208).
hast Du den Quelltext? Wenn ja, dann such mal REFS0 und REFS1, die
bestimmen laut Datenblatt Seite 214 die Referenzspannung.
Default REFS0: 0 REFS1: 0 "AREF, internal VRef turned off"
Nee, sorry hab kein Sourcecode,
war halt nur die Schaltung gegeben, und das Ding ist wie beschrieben
beschaltet, die interne Ref von 2,56V habe ich gesehen, aber die wird
nicht benutzt, zumindest nicht für die GP2D12, sonst vielleicht
woanders für, aber ist nicht aus dem Schaltplan gegeben :)
Also komm ich auf einen Wert von 512 richtig ?
2,5*1024 / 5,0 = 512
Danke
Wenn ich 1024V / 1024Steps rechne habe ich 1V pro Step.
der DA Wandler kann aber maximal 1023 ausgeben, also kann ich maximal
dann nur bis 1023 rechnen..
> der DA Wandler kann aber maximal 1023 ausgeben, also kann ich> maximal dann nur bis 1023 rechnen..
Na. In deinem Beispiel: Alles was größer als 1023V ist, wird
vom ADC mit einer 1023 ausgegeben.
ADC-Wert Spannung liegt im Bereich
----------------------------------------
0 < 0V
0 0V - 1V
1 1V - 2V
2 2V - 3V
....
512 512V - 513V
....
1022 1022V - 1023V
1023 1023V - 1024V
1023 > 1024
Du musst dich von der Vorstellung lösen, dass ein bestimmter
ADC Wert irgendeine Aussage darüber macht welchen exakten
Wert die Spannung hat. Ein ADC Wert sagt dir nur in welchem
Bereich sich die Spannung bewegt hat.