Hallo, ich habe einen PIC16F1788 mit dessen ADC ich eine Spannung messen will. Nun ist es so, dass bei jedem lesen des Wertes die Spannung verändert wird (siehe Bild). Woran liegt das und kann ich das Problem beheben? Da ich mit relativ hoher Frequenz den Wert lese und sich die Spannung schnell ändert wäre ein Kondensator zum glätten nicht möglich. Ein externer ADC mit digitaler Schnittstelle (z.B. MCP3421) wäre möglich, aber nur wenn es keine andere Lösung gibt. Aus Platz und Kostengründen. Programmiert wurde das ganze mit MikroC. Jemand einen Vorschlag? Gruß Markus
Zur Erklärung: Das Signal was im Bild zu sehen ist, wird nur in dem Moment erzeugt wenn der PIC den Analogwert liest. Kommentiere ich den ADC_Get_Sample(2) befehl aus, ist das Signal wieder normal.
Spannungsquelle zu hochohmig? Beim ADC ist ein Sample and Hold vorgeschaltet. Sprich da wird ein Kondensator aufgeladen und belastet in dem Moment die Spannungsquelle. Wenn du an der Quelle nichts ändern kannst (z.B. Widerstände des ggf. vorgeschalteten Spannungsteilers verkleinern) und dich das Verhalten stört kannst du dir mit einem OPV behelfen (Impedanzwandler). Vielleicht hilft auch schon ein kleiner Kondensator parallel zu deinem ADC-Eingang gegen GND.
:
Bearbeitet durch User
Hallo Markus, gibt es zu diesem Bild auch ein Schaltplan, aus dem hervorgeht, wie genau Du die Spannungsquelle an den PIC angeschlossen hast? Gruß TK
Das Signal kommt aus einem OP (Transimpendanzwandler) an dessen Ausgang ein 51 Ohm Widerstand hängt. Diesen zu verkleinern wird wahrscheinlich nicht viel bringen ihn zu vergrößern verändert nichts. Ein paralleler Kondensator sollte dann denke ich bei einigen pF liegen, oder? Die Spannungsquelle bekommt dieselbe Versorgungsspannung wie der PIC (5V). Die Signalleitung des Sensors ist direkt an den Eingang des PIC's angeschlossen.
:
Bearbeitet durch User
Ja bekommst Du denn ein falsches Ergebnis geliefert? Ich vermute mal folgendes (abgeleitet aus dem Bild): - Dein Spannungswert liegt auf ca. 2.2V - bei 30us wird gesampelt (der int. C schaltet sich zu) - nach ca. 22us ist die interne Wandlung zu Ende (C wird abgekoppelt) - der Wert steht im Register Stimmt der Wert im Register mit der zu erwartenden Spannung überein? Gruß TK
Der Wert im Register entspricht nicht den genannten 2,2V, sondern schwankt. Der Sensor erzeugt eine Wechselspannung die um 2,5V als "Nulldurchgang" wechselt. Die Differenz zwischen Spitzenspannung und "Nulldurchgang" muss ich messen um daraus den Effektivwert zu berechnen. Wenn der Sensor keine Wechselspannung erzeugt, sondern ein Gleichspannungssignal von 2,5V liefert müsste der Effektivwert 0 sein, dieser schwank allerdings was durch die im Bild gezeigte abfrage an Eingang erzeugt wird.
OK - jetzt mal mehr Infos: 1) Du hast ein Wechselsignal mit einem 2.5V DC Offset - richtig? Wie hoch ist die maximale Frequenz und der Spannungsanteil des Signals? 2) Wie schnell ist Dein ADC im PIC eingestellt (Samplerate, Auflösung...)? 3) Was heißt: Der Wert schwankt? (um wieviele Bits?) Du berechnest den Effektivwert über eine gemessene Periode? Was kommt denn in dieser Berechnung mit dem uC raus, und wie groß ist dann der Fehler zum realen, berechneten Wert? Gruß TK
Wie ist der ADC konfiguriert? Der S&H Kondensator wird nach 2 TAD Zyklen abgekoppelt. Dass dein Signal so beeinflusst wird deutet auf ein zu hochohmiges Signal hin. Sollte die Sample-Rate nicht zur Taktfrequenz des uC passen (siehe DB) kommt es zu verfälschten Messergebnissen, d.h. auch eine zu geringe Sample-Rate führt zu falschen Ergebnissen!
:
Bearbeitet durch User
Torben K. schrieb: > Dass dein Signal so beeinflusst wird deutet auf ein zu > hochohmiges Signal hin. Sehe ich auch so. Hinter einem OPV und 51Ohm kann das Signal nicht so verkrotzt sein, da ist noch was anderes faul.
Daher auch meine bescheidene Frage nach dem Schaltplan Gruß TK
Soo, ich habe nochmal etwas nach anderen Ursachen gesucht und habe das Problem lokalisiert. Es liegt an meiner Spannungsversorgung. Betreibe ich das ganze am Labornetzteil schwankt der Messwert um bis zu 4 Bits, also zwischen 4 und 8 Bit, was durchaus rauschen oder Schwankungen vom Netzteil sein können. Wenn ich das ganze aber wie bisher an einem fertigen Step-Up-Regulator betreibe der aus 3 AA Batterien 5V erzeugt, liegt die Differenz zwischen den Spitzenspannungen bei 110-120 Bits. Nun muss ich mich um eine andere Spannungsversorgung bemühen, aber dann funktioniert alles soweit. Trotzdem vielen Dank für die Hilfe.
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.