Forum: Mikrocontroller und Digitale Elektronik AVR: ADC defekt?


von jo (Gast)


Lesenswert?

Hallo,

habe hier einen AT90, der bei streng monoton steigenden Eingangswerten 
zum Teil fallende Werte ausgibt (also wie eine kleine Beule nach unten 
in der Graden).

Allerdings nur auf kurzen Stücken. Die Abweichungen sind ziemlich 
deutlich und mit Rauschen o.ä. nicht zu erklären.

Ansonsten stimmt alles, die meisten Eingangswerte zwischen 0 und 5V 
ergeben die passenden Werte zwischen 0 und 1023.

Kommt das öfter vor?

von Jake (Gast)


Lesenswert?

High- und Low-Byte bei der Auswertung vertauscht?!
Dann sollt ein Sägezähne rauskommen.

von chris (Gast)


Lesenswert?

poste doch mal schaltung, code und was du für eingangsgrößen misst.

von Markus W. (Firma: guloshop.de) (m-w)


Lesenswert?

jo schrieb:
> habe hier einen AT90, der bei streng monoton steigenden Eingangswerten
> zum Teil fallende Werte ausgibt (also wie eine kleine Beule nach unten
> in der Graden).

Welcher Typ genau? Und mit welcher Frequenz läuft der ADC?

von Buna-Pelzer (Gast)


Lesenswert?

Jo fragte:
>Kommt das öfter vor?

Ja, das kommt öfter vor, daß die Wandlerkennlinie nicht linear verläuft.

gez. Buna-Pelzer

von jo (Gast)


Lesenswert?

Danke für die Antworten!

Jake schrieb:
> High- und Low-Byte bei der Auswertung vertauscht?!
> Dann sollt ein Sägezähne rauskommen.

Macht der C-Compiler das nicht automatisch, wenn man eine 
16-Bit-Variable verwendet?

Werde es auf jeden Fall prüfen.


chris schrieb:
> poste doch mal schaltung, code und was du für eingangsgrößen misst.

Ist leider auf einem anderen Rechner.

ADC-Anschluss habe ich aus einem µC-Buch: Signal (max. 10V) auf 10k auf 
den ADC-Eingang. Von da 10k und 100n nach Masse.

Die Eingangsspannung ist überprüft und in Ordnung.

von jo (Gast)


Lesenswert?

Markus Weber schrieb:
> Welcher Typ genau? Und mit welcher Frequenz läuft der ADC?

Muss ich morgen noch mal nachschauen. ADC läuft, glaube ich, mit 50kHz, 
jew. 10 Messungen werden gemittelt.



Buna-Pelzer schrieb:
> Ja, das kommt öfter vor, daß die Wandlerkennlinie nicht linear verläuft.

Mach mich nicht schwach! 8o)

Sind das dann eher individuelle Abweichungen oder 
Controllertyp-abhängig?

von Jake (Gast)


Lesenswert?

jo schrieb:
> Macht der C-Compiler das nicht automatisch, wenn man eine
> 16-Bit-Variable verwendet?

Schon, aber ich weiß ja nicht wie es bei dir weitergeht -> dachte du 
schickst die Werte per CAN, SPI, ... raus

von jo (Gast)


Lesenswert?

Jake schrieb:
> Schon, aber ich weiß ja nicht wie es bei dir weitergeht -> dachte du
> schickst die Werte per CAN, SPI, ... raus

Die kommen als PWM-Spannung wieder raus. ADC 10bit --> PWM 12bit

Wie gesagt funktioniert alles bis auf die kleine negative Beule irgendwo 
mittendrin.

von Buna-Pelzer (Gast)


Lesenswert?

Jo schrieb:
>Mach mich nicht schwach! 8o)

Ach was! Du mußt jetzt ganz stark sein....

http://www.avr-modelleisenbahn.de/atmega8/18-4-3-adc-genauigkeit-atmega8.htm

gez. Buna-Pelzer

von jo (Gast)


Lesenswert?

;O)

Buna-Pelzer schrieb:
> http://www.avr-modelleisenbahn.de/atmega8/18-4-3-adc-genauigkeit-atmega8.htm

Danke für den Link! Es handelt sich dann auf jeden Fall um eine 
Integrale Nicht-Linearität (INL).

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.