hallo, ein AD595 liefert mir eine Spannung von 0-12,5 Volt. Diese habe ich über einen Spannungsteiler (R1 u. R2) dem ADC eines ATMega328 zugeführt und lese diese ein. R1=3,3kOhm und R2=2,2kOhm. Soweit so gut. kurios: messe ich die Spannungen mit dem Multimeter am Ausgang des AD595(U1) und am Eingang des ADC(U2) stelle ich fest das der Spannunsteiler nicht linear ist: In fast dem ganzen bereich ist das Verhältnis von U1/U2 ca. 0,4. Ist allerdings U1 relativ klein(so ab 0,6V) ist das Verhältnis nur noch ca 0,35. ???? Woran könnte das bloß liegen???
Misst du die Ein- und Ausgangsspannung am Spannungsteiler direkt an den Widerständen? Wenn du woanders misst, könnten noch irgendwelche Übergangswiderstände in Leitungen und Steckverbindern die Messung verfälschen. Hat dein Multimeter vielleicht einen Offset? Wenn du die Messleitungen aneinander hältst, sollte es exakt 0V anzeigen. Vielleicht ist dem gemessenen Signal ein Wechselanteil (woher auch immer) überlagert, mit dem dein Multimeter nicht umgehen kann.
am multimeter fehlt nix... ich messe die spannung ja auch am adc. und die ist ebenfalls zu niedrig. hmmmm....das mit dem wechselanteil könnte möglich sein... du meinst quasi dass ein kleiner Hochpaß realisiert sein könnte?
udo schrieb: > In fast dem ganzen bereich ist das Verhältnis von U1/U2 ca. 0,4. > Ist allerdings U1 relativ klein(so ab 0,6V) ist das Verhältnis nur noch > ca 0,35. Das Verhältnis der Spannungen sollte gleich sein wie das Verhältnis der Widerstände -> 0.666 Dieser Fehler entsteht, da der ADC einen Eingangswiderstand im kOhm-Bereich hat. Dein Multimeter kann wahrscheinlich niedrige Spannungen nicht mehr so genau messen. Hast du ein Datenblatt von deinem Multimeter? Da sollte der Fehler angegeben sein. Gruss
Heinz B. schrieb: > Dieser Fehler entsteht, da der ADC einen Eingangswiderstand im > kOhm-Bereich hat. nein. das ist beim ref-eingang so. nicht bei den kanälen. > Dein Multimeter kann wahrscheinlich niedrige Spannungen nicht mehr so > genau messen. Hast du ein Datenblatt von deinem Multimeter? Da sollte nein. der fehler ist viel zu groß für die geläufigen fehlerklassen.
Hi Wie sieht denn die Initialisierung des ADC aus? MfG Spess
Nachher werde ich wohl mal den ADC abklemmen und schauen ob das Verhältnis dann gleicht bleibt...sprich ob der ADC das Verhältniss beeinträchtigt. Initiert wird der ADC wie folgt: uint16_t ReadChannel(uint8_t mux) { uint8_t i; uint16_t result; ADMUX = mux; // Kanal waehlen ADMUX |= (1<<REFS1) | (1<<REFS0); // interne Referenzspannung nutzen ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0); // Frequenzvorteiler // setzen auf 8 (1) und ADC aktivieren (1) /* nach Aktivieren des ADC wird ein "Dummy-Readout" empfohlen, man liest also einen Wert und verwirft diesen, um den ADC "warmlaufen zu lassen" */ ADCSRA |= (1<<ADSC); // eine ADC-Wandlung while ( ADCSRA & (1<<ADSC) ) { ; // auf Abschluss der Konvertierung warten } result = ADCW; // ADCW muss einmal gelesen werden, // sonst wird Ergebnis der nächsten Wandlung // nicht übernommen. /* Eigentliche Messung - Mittelwert aus 4 aufeinanderfolgenden Wandlungen */ result = 0; for( i=0; i<4; i++ ) { ADCSRA |= (1<<ADSC); // eine Wandlung "single conversion" while ( ADCSRA & (1<<ADSC) ) { ; // auf Abschluss der Konvertierung warten } result += ADCW; // Wandlungsergebnisse aufaddieren } ADCSRA &= ~(1<<ADEN); // ADC deaktivieren (2) result /= 4; // Summe durch vier teilen = arithm. Mittelwert return result; }
Hi
>ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0);
Das ist ein Vorteiler von 4! Recht flott. Da bist du schon bei 1MHz
Prozessortakt ausserhalb der 50..200kHz ADC-Takt.
MfG Spess
Heinz B. schrieb: > Das Verhältnis der Spannungen sollte gleich sein wie das Verhältnis der > Widerstände -> 0.666 Bei einem Spannungsteiler sieht das Ganze doch so aus: U1 / U = R1 / (R1 + R2) -> U1 = U * ( 220O/(3300+2200) ) U1 = U * 0,4 Ist nun U = 2,5V: -> U1 = 2,5V * 0,4 = 1V Das messe ich auch! Wird jedoch U kleiner...zb U = 0,3V: -> U1 = 0,3V * 0,4 = 0,12V Diese 0,12V kann ich allerdings nicht messen....sondern stelle ca 0,105V fest! Mein Multimeter hat weitaus geringere Toleranzen! Außerdem müsste ich am ADC bei 0,12V 24/1024 digit bekommen (Ref-spg: 5,12V). Ich bekomme aber nur 21/1024. Das deckt sich mit den Messungen des Multimeters.
> Außerdem müsste ich am ADC bei 0,12V 24/1024 digit > Ich bekomme aber nur 21/1024. 3 Digit Abweichung. Das kann dann aber auch schon am generellen elektronischen Aufbau liegen. Was kriegst du, wenn du mehr als 4 Samples für den Mittelwert benutzt?
Karl heinz Buchegger schrieb: > 3 Digit Abweichung. > Das kann dann aber auch schon am generellen elektronischen Aufbau > liegen. Was kriegst du, wenn du mehr als 4 Samples für den Mittelwert > benutzt? Hallo, ich habe jetzt 16 Samples drin. Genau dasselbe... :(
Karl heinz Buchegger schrieb: > 3 Digit Abweichung. > Das kann dann aber auch schon am generellen elektronischen Aufbau > liegen. Was kriegst du, wenn du mehr als 4 Samples für den Mittelwert > benutzt? Hallo, ich habe jetzt 16 Samples drin. Genau dasselbe... :( spess53 schrieb: > Hi > >>ADCSRA = (1<<ADEN) | (1<<ADPS1) | (1<<ADPS0); > > Das ist ein Vorteiler von 4! Recht flott. Da bist du schon bei 1MHz > Prozessortakt ausserhalb der 50..200kHz ADC-Takt. > > MfG Spess Oh....ich benutze einen 8MHz Quarz... ich dürfte wohl einen Vorteiler von 64 einstellen...leider bin ich grad nicht am Gerät....des werd ich gleich mal probieren...Vielleicht wird der ADC durch den schnellen Takt bei niedrigen Spannungen etwas niederohmig....!?!?
Hi
>ich habe jetzt 16 Samples drin. Genau dasselbe... :(
Bei welchem Prozessortakt? Bei deinem Vorteiler sollte der kleiner als
0,8MHz sein.
MfG Spess
spess53 schrieb: > Hi > >>ich habe jetzt 16 Samples drin. Genau dasselbe... :( > > Bei welchem Prozessortakt? Bei deinem Vorteiler sollte der kleiner als > 0,8MHz sein. > > MfG Spess 16 Samples beim einlesen des ADC...daraus wird der Mittelwert gebildet. ;) und den Vorteiler setze ich heut abend auf 64. Dann bin ich gespannt ob sich was ändert.
so.... gestern habe ich als erstes den Vorteiler auf 64 gesetzt. Somit komme ich auf eine ADC-Frequenz von 125kHz. Das hat aber den Effekt nicht beeinträchtigt. Danach habe ich den Spannungsteiler vom ADC befreit. Das heißt die Beschaltung war jetzt nur noch: AD595 Output über 2 Widerstände nach 0V. Brachte immer noch keine Änderung. :( Dann habe ich durch Zufall herausgefunden dass das Potential 0V nicht immer 0V ist sondern zwischen 0V und ca. 0,12V schwankt. Aber nicht an allen Stellen: An anderer Stelle (direkt an einem 2,2µF Keramikkondensator) hatte ich konstant 0,0V. Die ganze Schaltung wird von einem Schaltnetzteil versorgt, das ich für 1,95€ bei Pollin erstanden habe. Am Ausgang des Schaltnetzteils war es am Schlimmsten. Je näher ich an verschiedenen Kondensatoren gemessen habe desto besser waren die 0V. Der Spannungsteiler wurde direkt auf 0V am Ausgang des Schaltnetzteils gelegt. Dann habe ich ihn gestern verlegt: UND SIEHE DA: Der Spannugsteiler funktioniert astrein! Verhältniss der Spannungen stets 0,4. :) :) :) Darauf hätte ich auch eher kommen können. Ganz schön beunruhigend zu wissen wie schlecht das Netzeil arbeitet.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.