www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik ADC -Spinnt


Autor: Sebastian__ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich möchte mit meinem TINY26 schwankungen auf einer 12Vleitng messen, dh 
ich muss einen bereich von 11V-13,2V erfassenkönne, da habe ich einen 
spannungsteiler mit 10K und 1,8K genommeen und die mitte auf den AD des 
µController gepackt.
Ich verwende die interne 2,56V referenz spannung,.. nun habe ich aber 
ein kleines problem, die pannung sprigt wesentlich mehr als die im 
datenblatt angegebnen 3mV also 1,5LSB.

der Code ist folgender:

Init_ADC:
  ;ADC = Enable, ADC-IRQ= Enable, ADC Prescaler = 32
  ldi temp0, 
(1<<ADEN)|(0<<ADSC)|(0<<ADFR)|(1<<ADIE)|(0<<ADPS2)|(0<<ADPS1)|(0<<ADPS0)
  out ADCSR, temp0
  ;interne 2,56V referenz und ein C an PA3=AREF, Channel0 ist selektiert 
mit Mux0-4
  ldi temp0, 
(1<<REFS1)|(1<<REFS0)|(0<<ADLAR)|(0<<MUX4)|(0<<MUX3)|(0<<MUX2)|(0<<MUX1) 
|(0<<MUX0)
  out ADMUX,temp0
  sei            ;// Global IRQ Enable


;startet eine singel ADC Conversion und gibt sie in Strom_L,Strom_H aus
ADC_Conversion:
  sbi ADCSR,ADSC      ;setze bit Start ADC Conversion, ADC startet
ADC_Conversion_1:
  sbic ADCSR,ADSC
  rjmp ADC_Conversion_1
  in Return_L, ADCL
  in Return_H, ADCH
  ret


ist etwa in der SW ein fehler oder ist die intern referenz nicht 
brauchbar,.. ich brauch keine super genauen messerte, aber mit 20mV 
Auflösung sollte dass dann schon passen.

Autor: Markus Burrer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
bevor Du alles verfluchst solltest Du an den AD Wandler Eingang einen 
kleinen Kondensator hinmachen, zb. 100nF. Vielleicht hilft das ja schon. 
Die Spannung schwankt vielleicht. Hast Du ein Oszi mit dem Du das 
checken kannst?

Autor: Sebastian__ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, kondensator war schon dran 1µF prallel 100n,  am oszi sieht alles 
perfekt aus.

Sebastian

Autor: MooseChecker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast Du auch den Vref des AVRs mit 100n geblockt?

MooseChecker

Autor: Sebastian__ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ja, an aref ist ein 100n kondensator,.. an avcc ist 100R an 5V und ein 
100n nach masse,.. alles so wie im datenblatt beschrieben. der Prozessor 
läft mit 16MHz und mach mit timer 0 8KHz irqs und auf timer 2 ein 31KHz 
PWM. ich kann den Controller deshalb nicht in den Sleep modus versetzen 
wenn ich die ad wandlung brauche... siehe Noise Canceler im Datenblatt.
Davon abgesehen sollte der AD wandler trozdem noch sehr genau arbeiten 
können, beim Mega163 geht das bei 8MHz Probelmlos mit nur 1,5Bit fehler. 
Die Presaceler vom AD Wandler habe ich auch schon in alle möglichen 
varianten geändert, das brachte auch kein erfolg.

Sebastian

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Prescaler ist definitiv zu hoch ADC Prescaler = 128 entspricht dann 
125 kHz. Bei 16 MHz ist auch die Leitungsführung recht kritisch um 
stabile Ergebnisse bei hoher Auflösung zu erhalten.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.