Hallo, Ich benutze einen AtMega8 mit 8Mhz. Folgendes Problem: Ich benutze eine Schaltung, die so ähnlich aussieht wie die im Angang (in.gif). Ein Wechselspannungssignal (in diesem Fall vereinfach ein einzelner Sinus-Impuls) wird gleichgerichtet und der OpAmp dient als Spannungsfolger bzw. Verstärker. Wichtig ist letztendlich, dass über die 1N4148 Diode der Kondensator mit 100nF aufgeladen wird und man so die Intensität des Impulses speichern kann. Diese lese ich dann über den AtMega ADC Eingang ein. Im Großen sieht das auch ganz gut aus. Da der Kondensator sich immer mehr (über R14 und den ADC Eingang) entlädt erwartet man ja eine typische Entladungskurve des Kondensators. Der ADC sampelt ca. 1000 mal pro Sekunde. Das Problem ist nun: Diese Kurve ist nicht "perfekt" und variert. Siehe dazu den Anhang des zweiten Beitrages. Die erste Kurve sieht noch ganz gut aus, bei der zweiten aber sieht man diesen plötzlichen Abfall. Wie kommt es zu diesem plötzlichen Abfall ? Selbst wenn ich R14 entferne und sich der Kondensator also nur über den AtMega8 ADC Eingang entladen kann, kommen solche Kurven vor. Als wenn der ADC auf einmal wesentlich mehr Strom ziehen würde. Besonders blöd ist das, wenn der Bruch ganz am Anfang der Kurve ist und somit das Ergebnis verfälscht. Ich weiß nicht woran es liegen kann.
Ich vermute mal, dass du irgendwie den ADC-Pin auf Ausgang schaltest. Eventuell ganz kurz, möglicherweise in einem Interrupt, der zu willkürlichen Zeiten auftritt. Sonst fällt mir nichts ein, was den Eingangswiderstand des ADC so heruntersetzt. Uwe
Zwei Perioden sind ein bisschen wenig, um den Fehler Einzugrenzen. Wie sehen die weiteren Entadekurven aus? Ähneln sie Verlauf 1 oder Verlauf 2 oder wechseln sie sich ab?
Beispiel 3 Hier scheint sich das Problem abzuwechseln. Ich meine aber, dass sich das Problem mit der Zeit auch etwas verschieben kann. Das Programm ist relativ simpel: -ADC starten und bei Interrupt Wert speichern,ADC neu starten -Hauptprogramm läuft in Schleife und sendet neue Werte per UART an den Computer. Port C (der sich mit den ADC überschneidet) rühre ich eigentlich gar nicht an.
Der Abfall scheint entweder alle x Samples aufzutreten. Oder - wie in manchen Fällen - alle x und alle y Samples. Nur warum...
Hi! <-Hauptprogramm läuft in Schleife und sendet neue Werte per UART an <den Computer Wie schnell ist die Datenausgabe im Vergleich zu den Sampels? Werden die Werte eventuell ungünstig überschrieben? MFG Uwe
Es hat sich herausgestellt, dass der ADC wesentlich schneller gearbeitet hat, als ich errechnet habe. Deswegen ist die UART nicht mehr mitgekommen und hat Bytes verschluckt.
@Sascha:
> Ich benutze eine Schaltung, die so ähnlich aussieht wie die im
Angang
Bitte den exakten Schaltplan posten, ansonsten ist alles raten
vergeblich.
kann mich nur anschliesen exakte schaltung bitte, aber was ich nicht besondern "gut" finde. du gehst vom op ausgang via diode gleich zum kondensator das ist nicht gerade das gelb vom ei, du machst somit deine schaltung instabil. hast du schon mal das gnaze ohne adc gemessen, vielleicht liegst gar nicht am adc. auch dass du nur eine halbwelle durchlässt ist für den opv nach gerade "schön" da er bei der einen die in sperr richtung ghet voll in die sättigung läuft, du könntest noch einen zusätzlichen pfad aufbauen, der halt nur für die gegenkopplung da ist. betreibst du den opv symetrisch?
wie schnell ist den dein signal? könntest du noch zeitachsen in deinen scop bildchen einzeichnen - thx
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.