sooooo,
nach diversen Terminen habe ich endlich die Zeit gefunden eine Lösung für die unkonstanten Werte zu finden. Ergibt sich aus den Errata aus den Manuals ...
Siehe in Kapitel 35: Errata unter Punkt 8
"8. Accuracy lost on first three samples after switching input to ADC gain stage
Due to memory effect in the ADC gain stage, the first three samples after changing input
channel must be disregarded to achieve 12-bit accuracy.
Problem fix/Workaround
Run three ADC conversions and discard these results after changing input channels to ADC
gain stage."
also einfach sowas wie:
Code:
for(int i = 0; i <= 2; i++){
get_adcb(&(ADCA.CH0),3);
delay_us(10);
}
value = get_adcb(&(ADCA.CH0),3);
für jede AD-Wandlung einbauen (vorausgesetzt man verwendet mehr als einen Kanal).
Ein Problem, was ich aber immer noch nicht gelöst habe ist die Kalibrierung der ADC. Ich habe leider immer noch ein Offset von im Schnitt 50-75 Inkrementen die eine genaue Bestimmung der Werte vermiesen und eine Ungenauigkeit von ca 11% hineinbringen. Also wenn da jemand ne gute Idee hat ... immer her damit
Lesezeichen