Forum: Mikrocontroller und Digitale Elektronik geschalteter ADC-Input


von Mark U. (residuum)


Lesenswert?

Hallo zusammen,

ein Mikrocontroller wird mit einer veränderlichen Versorgungsspannung 
für die Betriebsmodi Sleep und Active betrieben. Mit dem ADC soll die 
Batteriespannung gemessen werden.

Der ADC-Input muss während der Zeit mit niedriger Versorungsspannung von 
der Batterie getrennt werden, um eine Versorgung des Mikrocontrollers 
über die Schutzdioden des ADC-Eingangs zu vermeiden.

Also wurde ein p-channel MOSFET (BSS84P) verwendet, um die 
Batteriespannung zu schalten: Nur während einer Messung wird der 
Transistor leitend, danach sperrt er wieder.

Beim Einschalten des Transistors beträgt die Gate-Source Spannung 
abhängig vom Zustand der Batterie zwischen -1,6V und -3V. Es ist also 
mit einem erhöhten RDSon zu rechnen (Datenblatt RDSon typ. 8 Ohm bei VGS 
= -4,5V).

Die am ADC-Eingang gemessene Spannung ist nach ca. 1us eingeschwungen 
und liegt etwa 100mV unter der Batteriespannung bei 2,4V (Batterie 2,5V, 
Mikrocontroller 3,3V, VGS = -3,3V).

Die Frage ist nun, wo diese 100mV bleiben. Nachdem der ADC ein 
hochohmiger Eingang ist, fließt kein nennenswerter Strom 
(Eingangswiderstand 100 MOhm), so dass am Transistor auch bei einem 
durch eine niedrige Gate-Spannung erhöhten RDSon keine 100mV abfallen 
sollten.

Wäre schön, wenn hier jemand Licht reinbringen könnte.
Danke schon mal.
Markus

von kurbelix (Gast)


Lesenswert?

Markus E. schrieb:
> Also wurde ein p-channel MOSFET (BSS84P) verwendet, um die
> Batteriespannung zu schalten: Nur während einer Messung wird der
> Transistor leitend, danach sperrt er wieder.

Ohne Schaltplan hat man es eigentlich viel einfacher zu antworten. Man 
kann da seiner Phantasie freien Lauf lassen und ganz sichere vielfältige 
Tipps abgeben, die auch alle irgendwie stimmen oder auch nicht. Leider 
habe ich Entscheidungsschwierigkeiten und lasse anderen den Vortritt.

von Harald W. (wilhelms)


Lesenswert?

Markus E. schrieb:

> Die Frage ist nun, wo diese 100mV bleiben.

Das sollte sich durch ein paar Messungen mit dem Multimeter
schnell klären lassen.

von Michael B. (laberkopp)


Lesenswert?

Markus E. schrieb:
> Beim Einschalten des Transistors beträgt die Gate-Source Spannung
> abhängig vom Zustand der Batterie zwischen -1,6V und -3V. Es ist also
> mit einem erhöhten RDSon zu rechnen (Datenblatt RDSon typ. 8 Ohm bei VGS
> = -4,5V).

Ich würde mal eher sagen, bei 1.6V sperrt er. UGS(th) darf 2V betragen.

Markus E. schrieb:
> Nachdem der ADC ein hochohmiger Eingang ist, fließt kein
> nennenswerter Strom (Eingangswiderstand 100 MOhm),

Echt ? Eingangsleckströme kenne ich eher im 1uA Bereich.

von Mark U. (residuum)


Angehängte Dateien:

Lesenswert?

So, hier also eine Skizze.

Am ADC-Eingang werden bei aktiviertem Transistor (GPIO = 0V) bei einer 
Batteriespannung von 2,5V nur etwa 2,4V gemessen.

Die 100mV bleiben am Transistor hängen, obwohl kein Strom fließen 
sollte.

Oder was habe ich übersehen?

von Norbert H. (nobi)


Lesenswert?

zum einen kann das sein, dass der Fet noch nicht ganz Durchgeschaltet 
hat,
bei ULow kann Durchaus mal 0,5V betragen -> UGS ca 1.9V.

Zum anderen, hast Du schon mal die Spannung UDS am FET nachgemessen?
Wie exakt ist Deine Referenzspanung beim ADC?

schließlich ist der Fehler gerade mal 4%

von Mark U. (residuum)


Lesenswert?

Gemessen wurde die Batteriespannung und die Eingangsspannung am ADC. Die 
Differenz von 100mV liegt also am FET.

Auch wenn UGS < 2V wäre und damit RDSon höher als im ganz 
durchgeschalteten Zustand, sollte doch - da in den ADC kein Strom rein 
fließt - am FET keine Spannung abfallen.

von Harald W. (wilhelms)


Lesenswert?

Markus E. schrieb:

> Gemessen wurde die Batteriespannung und die Eingangsspannung am ADC. Die
> Differenz von 100mV liegt also am FET.

Dann miss doch noch mal direkt an den Beinchen des FETs.

von Jim M. (turboj)


Lesenswert?

Markus E. schrieb:
> Die Frage ist nun, wo diese 100mV bleiben. Nachdem der ADC ein
> hochohmiger Eingang ist,

Bei welchem µC ist der ADC so hochohmig? Bei AVR ist der 
Eingagswiderstand IIRC nur ca. 15 kOHm. Eingagswiderstände > 100 MOhm 
habe ich nur bei dedizierten ADC ICs gesehen.

Beliebter Fehler bei µCs ist auch dass man vergisst die Pullup/Pulldown 
Widerstände der Pins auszuschalten.

von Jakob (Gast)


Lesenswert?

Wie willst du denn VGS = -3,3V erreicht haben, wenn
VS = Ubatt = 1,6...3,3 V ist und VG = 0 V ?

VGS ist dann bei deiner Schaltung im Idealfall = -Ubatt.
Also -1,6 ... -3,3 V.

Ich befürchte, dass du den Transistor im aktiven Bereich
betreibst, wo RDSon viel größer, als 8 Ohm ist.
Eventuell bekommst du mit anderen Exemplaren des BSS84P
bessere, oder auch schlechtere Werte.

Wie wäre es denn, den GPIO über z.B. 10 nF an das Gate
zu führen? In der Messpause wird UG auf US = Ubatt gezogen.
(UGS = 0 V)
Nach dem Schalten von GPIO auf Low hast du für eine gewisse
Zeit UGS < -3 V. Damit könnte (!) der Transistor genügend
niederohmig sein, um sofort danach (Start des ADC) den
Samplekondensator im µC ausreichend genau auf die Ubatt
zu laden. - Und das ist es, worauf es ankommt!

Bei 1 MOhm und 10 nF (tau = 10 ms) kannst du 100 ms nachdem
du GPIO auf High geschaltet hast (10 * tau, oder mehr) eine
neue Messung starten, die Messung muss aber in 0,1 tau
(<= 1 ms ) nachdem GPIO auf Low geschaltet wurde stattfinden,
damit UGS <= -3,0 V ist.

Stromverbrauch ist nur µA und nur im Umschaltmoment.

Wenn..., ja wenn UGS = -3 V ausreichen.
Sonst brauchst du einen anderen FET.

von Sebastian S. (amateur)


Lesenswert?

So viele Antworten und ich weiß noch nicht mal um was für einen µP es 
sich handelt.

Soweit mir bekannt, gibt es keine Einheitseingangsschaltung für 
A/D-Wandleranschlüsse...

Sorry!

von Jakob (Gast)


Lesenswert?

@ Sebastian S. (amateur):

So sehr unterscheiden die sich nicht.

Spannung muss im richtigen Bereich sein: < Vref und
(LOGISCH UND !!!) < V+.

Innenwiderstand der zu messenden Spannung darf nicht zu
hoch sein (AVR: < 10 kOhm).

von Mark U. (residuum)


Lesenswert?

Hallo Jakob,
das war der entscheidende Hinweis, vielen Dank!

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
Noch kein Account? Hier anmelden.