ADC mit interner Referenzspannung

Gast #3967924
Lesenswert?

Hallo liebes Forum,

ich habe ein Problem mit einer Spannungsmessung auf einem PIC16F1823.

Als Referenzspannung benutze ich die interne Referenz (FVR), die ich auf 
2,048V gestellt habe. Die zu messende Spannung liegt immer unter 2V. Im 
Normalfall wird die Elektronik mit 4,7V versorgt, die ein Rauschen von 
+-0,5V aufweist (kleine Peak-Bursts, die mit 50Hz auftreten). Diese 
Spannung wird über eine Schottky-Diode und einen 470R Widerstand 
eingespeist. Es bleiben etwa 3,8+-0,5V. Die Versorgungsspannung fällt 
niemals unter 3,3V. Leider missglückt aber trotzdem die Spannungsmessung 
und das scheint an der Versorgungsspannung zu liegen. Wenn ich nämlich 
die Diode und den Widerstand überbrücke, also die 4,7V direkt auf den 
Controller gebe, funktioniert alles wie gewünscht. Mit der Diode und dem 
Widerstand wird die Spannung dagegen zu groß gemessen. Hat jemand eine 
Idee? Könnte das Rauschen das Problem sein? Eigentlich ist die 
Versorgungsspannung ja trotzdem innerhalb der Spezifikation.

Grüße
Bernd
Gast #3968225
Lesenswert?

Jetzt Nicht schrieb:
> Eine derart schlechte Versorgungs Spannung ... was erwartest du ? Mach
> die erst richtig, DC. Nicht mit Bursts und dergleichen.
Die Versorgung von außen ist leider Systembedingt. Bisher hat das auch 
funktioniert. Bisher sollte die Elektronik aber auch keine Spannung 
messen...
Vielleicht habe ich es aber auch schlimmer beschrieben, als es ist. Ich 
mache morgen ggf. noch ein Bild.

Udo Schmitt schrieb:
> 1. Deine 0,5V peaks sind vieleicht in der Realität auch 1V peaks, ne
> nachdem wie gut dein Oszi-Eingangsverstärker ist.
Könnte etwas dran sein. Das Oszi ist sehr hochwertig, aber man weiß ja 
nie. Kann ich das irgendwie überprüfen?

Udo Schmitt schrieb:
> 2. Hast du alle notwendigen (keramische) Abblock Cs und zwar möglichst
> direkt an den Versorgungspins.
Habe ich. Sollte ich die 100nF am Controller etwas hochschrauben? Oder 
bringt das bei dem hochfrequenten gezappel sowieso nichts?

Udo Schmitt schrieb:
> 3. Ist dein Analogground und die Analogversorgung sauber ausgeführt und
> nach Datenblatt entkoppelt.
mein Analogground ist Vss. Dementsprechend keine besondere Ausführung 
oder Entkoppelung.
#3968234
Lesenswert?

Bernd schrieb:
> Jetzt Nicht schrieb:
>> Eine derart schlechte Versorgungs Spannung ... was erwartest du ? Mach
>> die erst richtig, DC. Nicht mit Bursts und dergleichen.
> Die Versorgung von außen ist leider Systembedingt.

Na ja. Das ist ja kein Grund. Ein 0.5V Ripple ist schon nicht mehr 
klein. Mit einem größeren Kondensator ist der Ripple weg.
#3968245
Lesenswert?

Karl Heinz schrieb:
>> Diese Spannung wird über eine Schottky-Diode und einen 470R Widerstand
> eingespeist.
>
> Wozu eigentlich der Widerstand?
>
> Braucht der µC mal kurzfristig mehr Strom, bricht dir die
> Versorgungsspannung ein. Der Widerstand fungiert dann zusammen mit
> deinem µC als Spannungsteiler!

Da ist sowieso was faul, wenn dir deine Schotky-Widerstandskombination 
aus 4.7V nur mehr 3.8V bringt. An der Diode fallen ca 0.4V ab. D.h. am 
Widerstand müssen dann schon 0.5V abfallen - der ist schon recht aktiv 
als Teil des mit dem µC gebildeten Spannungsteilers.
Gast #3968950
Lesenswert?

Hallo Leute,

danke für die Antworten!

Also die Rippel habe ich überall: vor der Diode, zwischen Diode und 
Widerstand und nach beiden. Der kommt schon von der Versorgung.

Der Widerstand ist zum Schutz. Der Spannungseingang wird später von 
außen berührbar sein. Darum habe ich noch eine 5V1 Z-Diode auf der 
Versorgung des Controllers. Und damit die im schlimmsten Fall nicht 
direkt gebrutzelt wird, der Widerstand. Aber eine Spule hätte ja den 
gleichen Effekt.

Ich werde jetzt mal mit Kondensatoren und Spulen experimentieren und 
über das Ergebnis berichten.
(Firma: matzetronics) #3968974
Lesenswert?

Bernd schrieb:
> Ich werde jetzt mal mit Kondensatoren und Spulen experimentieren und
> über das Ergebnis berichten.

Wenn deine Schaltung mit stabilen 3,3V funktionieren würde, kannst du 
dir den Einsatz eines Lowdrop Reglers mal überlegen, und den anstelle 
des Widerstandes einsetzen. Am besten machst du davor noch einen dicken 
Elko als Puffer.
Gast #3969575
Lesenswert?

Es war gar nicht die Versorgungsspannung! Meine Versorgung kommuniziert 
gleichzeitig über I2C mit meinem Controller und scheinbar ist der Bus 
der Schuldige. Sobald SCL und SDA getrennt sind, funktioniert die 
Spannungsmessung. SDA scheint den größeren Einfluss zu haben.

Meine Befürchtung ist nun, dass es sich um EMV handelt. Meine zu 
messende Spannung ist nämlich äußerst empfindlich. Sie wird über einen 
Spannungsteiler im Megaohm-Bereich erzeugt. Am Controller ist dann noch 
ein 1nF Kondensator, der dann den 10pF Eingangskondensator des ADCs 
lädt. Ohne Bus funktioniert das auch ganz gut...

Zum Bestätigen der Vermutung habe ich mal mit einem Netzgerät die 
Spannung angelegt und der Bus hatte keinen Einfluss mehr. Die 
Messspannung scheint also einfach zu hochohmig eingespeist zu werden. 
Leider muss das auch so sein. Nun bin ich wieder Ratlos. :(
#3969616
Lesenswert?

Die Salamitaktik hat also funktioniert. Jetzt kann man so langsam ahnen 
worum es eigentlich geht, und es fehlt immer noch ein Plan.

1 nF als Pufferkondensator ist reichlich knapp: der S&H Kondensator 
dürfte so bei 10-20 pF liegen - der 1 nF Kondensator wird damit bereits 
um 1-2 % entladen. Wenn es mit 10-20 nF zu langsam wird, hilft ein 
Verstärker als Impedanzwandler.

Der Kondensator am µC sollte ggf. etwas größer werden, wenn der µC an 
Ausgängen mehr Signal treiben muss. Dann ggf. besser zusätzlich ein 10 
µF Elko zum 100 nF Kondensator.
Gast #3972885
Lesenswert?

Es tut mir Leid, es ist immer etwas schwierig, alle die Relevanten 
Details zu nennen, ohne die Problematik mit zu vielen irrelevanten 
Informationen unübersichtlich zu machen.
Meine Elektronik ist mit 23mmx35mm übrigens recht kompakt und bietet 
kaum noch Platz. Weitere Komponenten, wie Impedanzwandler sind 
eigentlich nicht mehr vorstellbar. Erstmal muss ich versuchen, das 
Problem anders zu lösen. Und zu allererst muss ich die Ursache 
verstehen. Das hat noch nicht ganz geklappt. Irgendwie scheint die 
Versorgungsspannung nämlich schon einen Einfluss zu haben.

Mir ist nun etwas eigenartiges aufgefallen: Ich habe eine saubere 
Versorgungssapannung angelegt und den Bus getrennt. Wenn ich nun mit 
einem Netzteil die Messspannung direkt auf den µC Pin führe, stimmt die 
Messung unabhängig von der Versorgungsspannung.

Dann habe ich die Messspannung über den hochohmigen Spannungsteiler 
erzeugt. Dazu habe ich einen 100:1 Tastkopf auf dem µC Pin. Dieser 
verfälscht die Spannung zwar bereits etwas, aber dafür kann ich sie 
messen. Wenn ich nun die Versorgungsspannung von 5V auf 4V reduziere, 
misst der µC plötzlich eine geringere Spannung, obwohl sich die Spannung 
am Pin um nicht ein mV verändert. Eigentlich hätte ich also das gleiche 
Verhalten erwartet, wie zuvor.

Kann sich das jemand erklären?
Gast #3972891
Lesenswert?

Also was natürlich fehlt sind schaltplan und evtl C-Code.

Den PIC habe ich noch nie programmiert, aber beim TI ist es so dass man 
als ADC Referenz verschiedene Einstellungen auswählen kann.
Und es gibt eine Einstellung die nimmt einfach die Versorgungsspg Vcc 
vom µC, und wenn man die dann verändert, anstelle von 3,3V zum Beispiel 
4V oder was auch immer noch erlaubt ist, dann ändert sich selbstredent 
der ADC Wert mit, weil er ja von seiner Referenz abhängt.

Also gerade klingt dein Problem für mich genau danach.

Und ansonsten würde ich eine Messschaltung nicht mit einem so riesigen 
Rippel betreiben wollen, gut wenns jetzt halt so funktionieren muss sei 
das dahingestellt, aber spontan würde ich da fixe 3V3 anlegen mit 
eventuell max 50mV Rippel drauf.
Gast #3972916
Lesenswert?

Die Referenzspannung erzeugt sich mein Controller selbst. Aber da dort 
ja das Problem zu sein schien, habe ich mir das gerade nochmal 
durchgelesen und hatte übersehen, dass ich warten muss, bis die Spannung 
steht. Mit einer entsprechenden Wartezeit scheint das Problem gelöst zu 
sein. Hoffentlich freue ich mich nicht zu früh. Ansonsten melde ich mich 
wieder mit Schaltplan und C-Code
Gast #3973009
Lesenswert?

Jetzt nutze ich nochmal diesen Thread für eine Frage. Eigentlich gibt es 
extra ein Bit, mit dem man abfragen kann, ob die Referenzspannung steht. 
Für meinen Controller, den PIC16F1823 ist dieses Bit leider immer 1. das 
minimale delay könne man aber in den Electrical Spezifications finden. 
Leider finde ich dazu einfach nichts. Ist jemand schalauer und sieht 
etwas, was ich nicht sehe? Oder kennt jemand sogar eine Methode, die FVR 
doch abzufragen?

http://akizukidenshi.com/download/pic16f1823.pdf

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren