ADC ATxmega32A4

Gast #4596786
Lesenswert?
• ▲
▼
Hallo,
hat jemand einen lauffähigen Programm-Code der z.B. an PA0 des 
ATxmega32A4
eine Spannung misst.
Ich verwende den AVR-Compiler von Imagecraft.
Falls du einen anderen Compiler verwendest bitte alle *.h-Files
mitliefern.
alfred.witzl@googlemail.com
Mercy im voraus...
Gast #4597664
Lesenswert?
• ▲
▼
Entschuldige, aber natürlich hab ich es erst mal selber probiert.
Das wirkliche Problem habe ich bei der Kalibrierung, wo mein Compiler
folgende Funktionen bzw. Konstanten nicht kennt:
- NVM_CMD
- pgm_read_byte()
- ADCA.CALL
- ADCA.CALH
Wahrscheinlich sind alle Beispiele für den GCC ausgelegt ?
#4597717
Lesenswert?
• ▲
▼
Hallo Alfred,

- NVM_CMD
- pgm_read_byte()
sind für den Zugriff auf das Program Memory, das brauchst du zunächst 
nicht für den ADC (bzw. weiter unten für Methode a.)

- ADCA.CALL
- ADCA.CALH
diese brauchst du, allerdings heißen die bei allen Compilern geringfügig 
anders. Da musst du bei deinem Compiler im Manual nachsehen. Falls dort 
nichts steht nimm lieber einen anderen der für den Xmega besser ist.

Jetzt mal zur Kalibrierung:
dieses Thema ist beim ATXmega etwas speziell und gewöhnungsbedürftig
weil es einen absichtlichen Offset gibt, den man rausrechnen muss.
Diesen Offset zu bestimmen gibt es verschiedene Wege:
a) den von Atmel programmierten Calib-Wert auslesen
b) den Offset selbst bestimmt. Dazu legt man einen ADC Eingang fest auf 
GND und misst die Spannung nach dem Reset. Diese Spannung zieht man 
später von den Messwerten ab. So macht es zB der CAVR Compiler.
c) den festen Offsetwert aus dem Datasheet abziehen

Ich habe das alles durchprobiert und habe gesehen dass es für 99% der 
Anwendungen ausreicht wenn man den Festwert aus dem Datasheet abzieht. 
Der Messwert mit Methode B) unterscheidet sich kaum davon, vielleicht um 
1 oder maximal 2.

Falls du dir schwer tust den nötgen Code für den ADC zu schreiben, dann 
lade dir die freie Version des CodeVision CAVR Compilers herunter. Da 
ist ein Code-Wizard drin wo du mit ein paar Mausklicks den kompletten 
Code für den ADC automatisch erzeugen kannst.

viel Erfolg
Harry

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren