PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Referenzspannung beim mega32



Christoph2
20.09.2008, 18:06
Hallo!

Ich habe selbst ein Controllerboard designed, fräsen lassen und die Bauteile eingelötet.

Es funktioniert eig. eh ganz gut, bis auf die referenzspannung.

Ich habe es so gedacht, dass AVCC immer mit 5V verbunden ist.

AREF ist über einen jumper entweder mit 5V oder mit einer Spannung zwischen 0 und 5V (von einem Poti als spannungsteiler) verbunden.

Wenn ich beim ADC im programm jetzt einstelle, dass er die Referenzspannung von AREF verwenden soll, ich aber an AREF keine Spannung anlege und einfach mal mit dem Voltmeter messe, dann liegen an AREF 5V an.

Das sollten sie aber nicht, weil ich will ja später mal 3V als Referenzspannung an AREF anlegen.

Liegt das daran dass AVCC mit 5V verbunden ist?

lg Christoph

fhs
20.09.2008, 18:16
Hallo,

am besten entkoppelst Du den Aref Pin nur mit einem Kondensator. Am Pin liegt die Spannung der per Software gewählten Referenz an.

Steht auch alles im Datenblatt:

AVCC is connected to the ADC through a passive switch. The internal 2.56V reference is generated from the internal bandgap reference (VBG) through an internal amplifier. In either case, the external AREF pin is directly connected to the ADC, and the reference voltage can be made more immune to noise by connecting a capacitor between the AREF pin and ground. VREF can also be measured at the AREF pin with a high impedant voltmeter. Note that VREF is a high impedant source, and only a capacitive load should be connected in a system. If the user has a fixed voltage source connected to the AREF pin, the user may not use the other reference voltage options in the application, as they will be shorted to the external voltage. If no external voltage is applied to the AREF pin, the user may switch between AVCC and 2.56V as reference selection. The first ADC conversion result after switching reference voltage source
may be inaccurate, and the user is advised to discard this result.

Also: Zum Testen mit AVcc fährst Du besser, AVcc intern als Referenz zu wählen und Aref nicht mit AVcc zu verbinden, sondern nur mit einem C zu entkoppeln. Der Kondensator kann dranbleiben, wenn Du später eine andere Spannung an Aref anlegen willst. Wenn Du dort aber eine Spannung anlegst, müssen REFS0 und REFS1 "0" sein!

MfG

Fred

Christoph2
20.09.2008, 18:36
thx für die schnelle antwort!!

ja mit AVCC als referenz funktioniert das ganze, ich muss aber nur Spannungen bis 3V messen, und damit es genauer wird, will ich jetzt 3V als referenzspannung.
Ich kann mir in der Software aber nur 5V oder 2,56V aussuchen, und 2,56 sind schon wieder zu wenig.

also ich muss jetzt an den aref pin 3V anlegen, und REFS1 und REFS0 zu null machen, das is klar.

aber was mach ich mit dem avcc pin, der jetzt am board schon fix mit 5V verbunden ist?
Gibt es einen Weg den einfach zu deaktivieren, oder muss ich einfach die leiterbahn auf der platine wegkratzen?

lg christoph

fhs
20.09.2008, 18:47
Hallo Christoph,

AVcc bleibt einfach mit der Betriebsspannung des Controllers verbunden, optimal über ein LC-Glied (Atmel schlägt vor 10μH und 0,1μF; ein größeres L ist gar kein Problem!).

AVCC is the supply voltage pin for Port A and the A/D Converter. It should be externally connected to VCC, even if the ADC is not used. If the ADC is used, it should be connected to VCC through a low-pass filter.

lg

Fred

uwegw
20.09.2008, 18:47
AVCC muss an 5V bleiben! Das ist nicht die Referenz, sondern die Betriebsspannung für den ADC.

Christoph2
20.09.2008, 19:32
ahhhhh jetzt funktioniert es

ich habe eine variable an das unterprogramm übergeben mit der man steuern kann, welche referenzspannung für den adc verwendet wird, und dann mit if-abfragen die REFS - bits gesetzt.

das hab ich weggegeben, und die REFS0 und REFS1 permanent auf 0 gesetzt, seit dem gehts.

thx, lg Christoph