Hi, ich hab mal ne frage ich hab mir eine Schaltung gebaut und diese dann an dem ATmega8 gehangen der mir die Gleichspannungen die ich an den ADC lege auswerten soll. Wenn ich bei meinem Analogenschaltungsteil direkt am Ausgang messe ohne den µC angeschlossen zu haben kriege ich einen schönen Gleichspannung, wenn ich jetzt den µC ADC daran hänge ist es immer noch eine Gleichspannung aber mit einem "Buckel" der einer Kondensator lade Kurve ähnelt. Ich ermittele die Gleichspannung mit einem Spitzenwertmesser. Ich danke schon jetzt für Anregungen bzw. Hilfestellungen. mfg m
bestimmt mit einem oscar gemessen oder? kannst die bilder mal anhängen? es kann sein das ein tiefpassverhalten erzeugt wird. vielleicht mal einen OP als Impedanzwandler dahinter hängen? schaltung wäre evtl. sogar auch nicht schlecht
Der AVR lädt zu Beginn der A/D-Wandldung eine internen KOndenstaor. Damit dieser Buckel nicht zu gross wird und zu einer Abweichung des Messergebnisses führt, darf die analoge Schaltung nur einen (Innen-/Quell-)Widerstand von 10k aufweisen. Oder man legt an den A/D-Eingang einen Kondensator von mindestens 10nF an Masse, der ist dann so groß, daß der interne Kondensator der nur so 47pF hat, ihn nicht relevant (Fehler über 1 count) entlädt, allerdings wird dadurch das Analogsignal natürlich langsamer, was bei Temperaturen etc. egal ist.
Der OPV der davorgeschaltet ist hat einen Innenwiderstand am ausgang von 50 Ohm. Mal als anhang die Bilder einmahl ohne µc angeschlossen und einmahl mit µc.
Ich hab das mal mit nem Kondensator gegen Masse probiert hat aber nichts gebracht. In der schaltung die mit angefügt sind sind die OPVs mit auf die die striche zeigen ja als Impoedanzwandler geschaltet also müßte es doch gehen eigentlich. Weil so langsam gehen mir die ideen aus.
> Ich hab das mal mit nem Kondensator gegen Masse probiert hat aber nichts > gebracht. Ich kann bei diesem mikrominiaturisierten Schaltplan nichts erkennen, aber bildet der Spitzenwertgleichrichter nicht eine NEGATIVE Spannung die du so auch in den uC stecken willst ?
Nein ich hab den spitzenwertgleichrichter ja hier vormir stehen Und da ist eine positive spannung. Ich werde mal heute abend das neue laden hab gerde keine ziet für. Probiere gerade was aus.
Hab das gestern nicht mehr geschaft das hochzuladen. Ich habe gehört das das auch was mit der smaplerate oder so zu tun hat, oder der genauig keit oder so. Ich hab ja eine frequenz von 16MHz und durch die Vorteilung komme ich dann auf 125kHz für den ADC. Mir wurde gesagt das mein Problem mit dem S/H kondensator oder so zusammenhängt. Wie kann ich den entgegenwirken. Weil wenn ich einfach nur die 1V Gleichspannung an den ADC eingang legen wird auch an das Hyperterminal 1V ausgegeben sobald ich aber nur mal einen 1k Widerstand in Reiche schalte zwischen dem 1V und dem eingang des ADC bricht die spannung zusammen. Ich weis nicht weiter und bin am verzweifeln. hir mal mein initialisierungs code für den ADC. #include "global.h" void adc_init (void) // (Hinzugefügt 20.06) { uint16_t result; // Zwischenwariable für das erste Auslesen wird dan verworfen ADMUX |= (1<<REFS0); // AVcc als Referenzspannung nutzen (5V) ADCSRA |= (1<<ADPS0) | (1<<ADPS1) | (1<<ADPS2); // Frequenzvorteiler = 128 -> 125kHz ADCSRA |= (1<<ADEN); // ADC Aktievieren /* Nach der Aktivierung des ADC wird ein "Dummy-Readout" empfohlen, man liest also einen Wert und verwirft diesen, um den ADC "warmlaufen zu lassen" */ ADCSRA |= (1<<ADSC); // ADC Wandlung while ((ADCSRA & (1<<ADIF))==0) // Warten bis Konvertierung fertig {} result = ADCW; } uint16_t adc_lesen (uint8_t Kanal) //ADC Einzelmessung (Hinzugefügt 20.06) { ADMUX |= (ADMUX & ~(0x1F)) | (Kanal & 0x1F); // Kalnal Auswahl ohne andere Bits zu beeinflussen ADCSRA |= (1<<ADSC); // Eine Wandlung "singel conversion" while ((ADCSRA & (1<<ADIF))==0) // Warten bis Konvertierung fertig {} return ADCW; } Ich danke schon jetzt für eure hilfe. mfg M.S
Hi
> while ((ADCSRA & (1<<ADIF))==0) // Warten bis Konvertierung
Das ist Unsinn. Nimm
1 | while (ADCSRA & (1<<ADSC) ) |
MfG Spess
Danke. Daran hat es aber nicht gelegen das ergebnis ist das selbe. mfg m.s.
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.