- LiFePO4 Speicher Test         
Ergebnis 1 bis 9 von 9

Thema: XMega ADC arbeitet nicht korrekt

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hi,

    laut Datenblatt von meinem ATXMEGA64A3 (du hast ja nicht angegeben, welchen du verwendest) darf AREF höchstens mit VCC-0.6V beschaltet werden. Somit kannst du eine Spannung von 3.3V gar nicht messen?!
    Auch ist für mich nicht ersichtlich, welche Referenz du im Programm gewählt hast, da ich kein (zu wenig) C kann. Mach doch noch genauere Angaben (welcher µC, welche Referenz), damit man mehr sagen kann

    Gruß
    Chris

  2. #2
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Stimmt! Ganz vergessen.
    Also ich verwende einen XMega128A1 auf einem AVR XPlained 128A1 Board.
    Als Taktfrequenz verwende ich den 32MHz Oszillator den ich auf 41MHz gestellt habe (mittels PLL).
    Die Referenzspannung von 3,3V ist Boardbedingt schon an den passenden Pin angeschlossen.

    Edit......ich Idiot. Ich hab gerade gesehen das nur AVCC am Board angeschlossen ist aber nicht AREF. Von daher messe ich gerade ohne Referenzspannung.
    Ich glaube das Problem hat sich damit erledigt -.-
    Aber selbst für den XMega128 darf man nur eine max. Referenzspannung von Vcc - 0,6V nehmen.
    Danke für den Hinweis

    Noch ein Edit:
    Aber das komische Verhalten bleibt weiterhin bestehen.
    Ich habe an meinem Labornetzteil nun eine Spannung von 0,2V eingestellt und das Terminal gibt 125 aus.
    Geändert von Kampi (30.09.2012 um 13:31 Uhr)
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  3. #3
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Was für eine Referenz hast du den nun?
    Ich bin mir grade nicht sicher, ob der ADC auch einen Offset bei Single-ended Inputs hat, aber dem würde ich auf jeden Fall mal nachgehen

    Gruß
    Chris

  4. #4
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Die interne 1V Referenz:

    ADCA.REFCTRL = ADC_REFSEL_INT1V_gc;

    Aber ein Offset würde das Ergebnis ja erhöhen. Ich hab ja den Fall das es teilweise niedriger wird wenn ich die Spannung hochdrehe.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  5. #5
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hm, das hört sich komisch an ...
    GND ist verbunden?
    ADC ist auf Single-ended eingestellt?
    Die Spannung stimmt auch?
    Wie hoch ist den der Prescaler des ADC? Laut DB darf der mit maximal 2Msps laufen, bei deinen 41MHz muss der Prescaler >= 32 sein. Ich würde es aber erstmal zum testen sowieso mit 512 probieren, da es dadurch genauer wird. Den MUX Kanal hast du auch richtig einstellt?

    Sorry für meine doofe Fragerei, aber aufgrund meiner beschränkten C-Kenntnisse kann ich dir so besser helfen.

    Gruß
    Chris

  6. #6
    Moderator Robotik Einstein Avatar von Kampi
    Registriert seit
    21.11.2009
    Ort
    Monheim, Nordrhein-Westfalen, Germany
    Alter
    35
    Beiträge
    3.501
    Blog-Einträge
    9
    Ja GND ist verbunden und der ADC ist auf Singleended eingestellt.
    Die Versorgungsspannung ist mittels USB gegeben und wird auf 3,3V runtergeregelt.
    Den Prescaler hatte ich jetzt nicht drin, aber hab ihn mal mit einem Wert von 512 hinzugefügt.
    Ins MUXCTRL Register schreibe ich eine 0 rein, sprich es ist Kanal 0 ausgewählt da ich als Input Mode 0:1, also Singleended gewählt habe.
    In das ADC.CH0 Register schreibe ich eine 0x81 rein, sprich ich aktiviere Kanal 0 und stelle den Inputmode auf 01.
    Schaut ruhig mal auf meiner Homepage vorbei :
    http://kampis-elektroecke.de

    Oder folge mir auf Google+:
    Daniel Kampert

    Es gibt 10 Arten von Menschen. Die einen können Binär, die anderen nicht.

    Gruß
    Daniel

  7. #7
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Scheint ja alles richtig zu sein.. Dann kann ich dir momentan leider auch nicht weiterhelfen, aber wenn mir was einfällt, lasse ich es dich wissen

    Gruß
    Chris

Ähnliche Themen

  1. XMega UART funktioniert nicht
    Von Kampi im Forum C - Programmierung (GCC u.a.)
    Antworten: 4
    Letzter Beitrag: 02.04.2012, 05:53
  2. AD-Wandler läuft nicht korrekt...
    Von DanielSan im Forum AVR Hardwarethemen
    Antworten: 16
    Letzter Beitrag: 05.01.2012, 12:48
  3. LCD-Ansteuerung nicht korrekt
    Von EagleStar im Forum AVR Hardwarethemen
    Antworten: 30
    Letzter Beitrag: 20.11.2007, 19:08
  4. Pic führtprogramm nicht korrekt aus
    Von cavorca im Forum PIC Controller
    Antworten: 3
    Letzter Beitrag: 16.04.2007, 19:01
  5. Antworten: 9
    Letzter Beitrag: 11.02.2006, 01:50

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests