Forum: Analoge Elektronik und Schaltungstechnik Analogeingang schützen im ausgeschalteten Zustand


von adc_input (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe folgendes Problem: Platine hat einen Eingang für 
Batteriespannung, diese wird über einen DC-DC Wandler in 5V und dann 
über einen Linearregler in 3.3V gewandelt, worüber ein Mikrocontroller 
versorgt wird. Dieser soll, wenn er aktiv ist, die Batteriespannung 
mittels ADC messen. Der DC-DC Wandler schaltet beim Unterschreiten eines 
festzulegenden Thresholds ab, um die Batterie zu schützen. Folglich 
schaltet auch der Mikrocontroller aus, der zu messende Teil der 
Batteriespannung liegt aber weiterhin am ADC Pin an. Um das zu 
verhindern habe ich die im Bild gezeigte Schaltung vorgesehen.

Gibt es eine kompaktere Lösung mit weniger Bauteilen? Kosteneffizient 
muss es nicht sein. Ich habe bereits nach Analogschaltern geschaut, 
diese sind aber an ihren Eingängen auch nur für Vcc + 0.5V ausgelegt, 
wenn also die VCC von 3.3V nicht mehr anliegt habe ich genau das selbe 
Problem. Gibt es einen IC der das Problem lösen kann, oder einen 1-Kanal 
ADC der bereits gegen so einen Fall geschützt ist?

von Mani W. (e-doc)


Lesenswert?

2 Dioden...

von Jochen (Gast)


Lesenswert?

Nach dem 1MOhm Widerstand reicht die ESD-Diode im Chip. Wenn Du Angst 
hast kannst Du noch einen Diode zwischen ADC und +3V3 schalten.

von Pepe_Ku (Gast)


Lesenswert?

>Nach dem 1MOhm Widerstand reicht die ESD-Diode im Chip.
Sehe ich genauso. Wobei möglicherweise die hohe Eingangsimpedanz 
90k/14pF Messfehler aufgrund der SH Kapazität verursachen könnte. 
Langsam messen! Oder C42 Faktor 1000..10000 höher wählen

von Pepe_Ku (Gast)


Lesenswert?

Wenn Dioden, dann unbedingt den Leckstrom über Temperatur betrachten.

von einer (Gast)


Lesenswert?

Ich würde mal in Richtung PhotoMOS schauen.

von Max M. (Gast)


Lesenswert?

Alles bis auf 1M und C42 raus, den C42 deutlich größer.

Der ADC enthält einen internen sample & hold Kondensator.
Dein C42 muss deutlich größer sein als der, weil sonst das Laden des SH 
Cap die Messung massiv verändert.

Schau ins MCU DB.
Der max Strom der internen Dioden beträgt wahrscheinlich um die 30mA.
So lange nicht mehr über den 1M kommt hält der ADC Eingang das aus.

von HildeK (Gast)


Lesenswert?

Max M. schrieb:
> Dein C42 muss deutlich größer sein als der, weil sonst das Laden des SH
> Cap die Messung massiv verändert.

Dann musst aber dein Messintervall seltener als 5* 1M*C42_neu sein! Denn 
sonst verändert das die Messung auch.

von Max M. (Gast)


Lesenswert?

HildeK schrieb:
> Dann musst aber dein Messintervall seltener als 5* 1M*C42_neu sein! Denn
> sonst verändert das die Messung auch.

Gut erkannt ;-)
Aber Batteriespannungen ändern sich ja nicht so schnell.

von adc_input (Gast)


Angehängte Dateien:

Lesenswert?

Super, vielen Dank für die ganzen Hinweise, dann war meine ursprüngliche 
Beschaltung etwas overkill. Kann ich mir die vorgeschlagene Beschaltung 
in etwa so vorstellen? Ich habe die Widerstände auch etwas reduziert und 
den Kondensator vergrößert.

Ich verstehe nur noch nicht, wie die Diode nach VCC funktioniert. Im 
ausgeschalteten Zustand sollte das 3.3V Potential doch unbestimmt sein. 
Liegt jetzt Batteriespannung an sollte das doch weiterhin am ADC 
anliegen. Oder muss ich die interne Beschaltung des Mikrocontrollers mit 
in Betracht ziehen um die Wirkungsweise zu verstehen?
Wenn jetzt der Strom hier so begrenzt wird, kann ich dann auch davon 
ausgehen, dass der Mikrocontroller nicht versehentlich eingeschaltet 
wird durch die Batteriespannung?

Vielen Dank!

von Max M. (Gast)


Lesenswert?

adc_input schrieb:
> Ich verstehe nur noch nicht, wie die Diode nach VCC funktioniert.
Die brauchst Du nicht.
Die MCU hat interne Dioden nach VCC + GND. Das sind die Body Dioden der 
Mosfet Ausgangsstufen, weil der ADC PIN sicher auch ein Ausgang sein 
könnte.
Und da die Body Dioden parasitäre Dioden sind die sich aus der Mosfet 
Struktur zwangsläufig ergeben, können die mindestens den Srom den auch 
der Mosfet kann.
Steht aber alles im DB.
Prinzipschaltbild der Pin Typen, max. Strom der Ausgänge, max Spannung 
an den Eingängen bezogen auf VCC und max. Strom durch die Dioden.
Aber lesen sollte man das schon wenn man HW baut.

Die Dioden klemmen alles was kleiner wird als GND und größer als VCC +- 
Diodenspannung.

adc_input schrieb:
> Mikrocontroller nicht versehentlich eingeschaltet
Wenn so viel Strom über die interne Diode nach VCC fliesst das VCC weit 
genug steigt das der Oszillator startet und der Reset gelöst wird, dann 
startet die.
Aber da auch die Ströme der MCU im DB stehen kann man das ganz einfach 
ermitteln.
Aber bei 1M Vorwiderstand jetzt nicht die wahrscheinlichste 
Konstellation.

adc_input schrieb:
> muss ich die interne Beschaltung des Mikrocontrollers mit
> in Betracht ziehe
Die solltest Du immer kennen.

Ich weiß das das in der MCU Anwenderszene ein echter Geheimtipp ist den 
nur wenige kennen und noch weniger beherzigen, aber Datenblätter 
enthalten unschätzbar nützliche Informationen.
Einfach mal lesen.
Es würden sich so wahnsinnig viele Fragen von alleine klären und es 
würde so viel bessere HW und SW dabei entstehen.
Schade eigentlich das die so selten beachtet werden.

von MaWin (Gast)


Lesenswert?

adc_input schrieb:
> liegt aber weiterhin am ADC Pin an. U

Wenn dein Q5 nicht dauerhaft an 3.3V kommt sondern vom uC per 
Ausgangspin nur eingeschaltet wird wenn er messen will, dann nicht.

ABER: welche Eingangsimpedanz erlaubt der uC fur ordentliche 
Messergebnisse, 91k kommt mir viel vor, ein AVR misst nur bis 10k genau.

UND: 100 Ohm vor Q5 erlauben unnötig viel Strom, 10k tun es auch.

adc_input schrieb:
> weniger Bauteilen? Kosteneffizient muss es nicht sein.

HN7G09FE von Toshiba.

von Stefan F. (Gast)


Lesenswert?

adc_input schrieb:
> Kann ich mir die vorgeschlagene Beschaltung
> in etwa so vorstellen?

Was willst du mit der Diode, so eine befindet sich bereits im 
Mikrocontroller.

MaWin schrieb:
> welche Eingangsimpedanz erlaubt der uC fur ordentliche Messergebnisse,
> 91k kommt mir viel vor, ein AVR misst nur bis 10k genau.

Die Quelle muss den Sample & Hold Kondensator im ADC schnell genug 
aufladen können. Dazu darf die Quelle bis zu 10 kΩ haben, dann ist man 
auf der sicheren Seite. In dieser Schaltung ist die Quelle der 
Kondensator vor dem ADC Eingang, mit einem ESR von annähernd 0 Ω.

Hier ist nur wichtig, nur zu schnell häufig zu messen, sonst wird der 
Quell-Kondensator schrittweise entladen. Man muss zwischen den Messungen 
genug Zeit lassen, dass er wieder aufgeladen wird.

Der Sample & Hold Kondensator hat etwa 15 pF Kapazität. Im ungünstigen 
Extremfall ist dieser vor jeder Messung ganz leer. Wenn der 
Quell-Kondensator 1 nF hat, kostet ihn jede Messung etwa 1/66 der 
Ladung. Entsprechend wird das Messergebnis verfälscht. Deswegen würde 
ich eher 100 nF verwenden.

von MaWin (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Die Quelle muss den Sample & Hold Kondensator im ADC schnell genug
> aufladen können. Dazu darf die Quelle bis zu 10 kΩ haben, dann ist man
> auf der sicheren Seite. In dieser Schaltung ist die Quelle der
> Kondensator vor dem ADC Eingang, mit einem ESR von annähernd 0 Ω.

Nicht wirklich.
Es gibt auch einen Eingangsfehlersrom, je nach Spannungshöhe am Eingang 
reinfliessend oder rausfliessend, von je nach uC (der NATURLICH nicht 
genannt wurde) bis zu 1uA, und 1uA an 10k sind satte 10mV.

von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
> Es gibt auch einen Eingangsfehlersrom

Ja, aber den können wir bei den üblichen Mikrocontrollern 
vernachlässigen.

Hätte er 10 MΩ vorgeschlagen, dann hätte ich aus dem Bauch heraus auch 
Bedenken geäußert.

Wenn er jetzt mit einem exotischen µC ankommt der an dieser Stelle 
besonders ungünstig ist -> Selbst Schuld. Das passiert, wenn man Angaben 
geheim hält. Wahrscheinlich hast du bemerkt dass ich da nicht mehr so 
häufig nachhake wie früher. Wenn man nachfragt wird man meistens blöd 
angemacht.

von MaWin (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> 10 mV wären in dieser Anwendung egal

Woher weisst du das, kennst du den TO und seine Schaltung persönlich ?

Bei 91k Eingangsimpedanz wären es übrigens 91mV.

von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
> Woher weisst du das

Weil im Eröffnungsbeitrag steht:

adc_input schrieb:
> Dieser soll, wenn er aktiv ist, die Batteriespannung
> mittels ADC messen. Der DC-DC Wandler schaltet beim Unterschreiten eines
> festzulegenden Thresholds ab, um die Batterie zu schützen.

Da kommt es nicht auf 10 mV mehr oder weniger an.

> Bei 91k Eingangsimpedanz wären es übrigens 91mV.

Hätte hätte Fahrradkette. Er hat 9,1 kΩ Eingangsimpedanz.

von Loeten (Gast)


Lesenswert?

Vielen Dank! Der Mikrocontroller ist ein STM32F103 und die 
batteriespannung muss nicht besonders genau (+-100mV) und nicht 
besonders schnell (0,2 Hz) gemessen werden. Also ist meine 
Schlussfolgerung, dass ich den hochohmigen Spannungsteiler behalte, 
einen Kondensator mit etwa 100nF (?) vor den Eingang schalte und ich 
dann für den Fall, falls die Batteriespannung(<18V) anliegt, VCC aber 
nicht, den Mikrocontroller ausreichend geschützt habe? Ich wollte keine 
Daten vorenthalten, möchte mich aber für die zahlreichen Kommentare 
bedanken!

Gruß

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hi,
so ein ähnliches Problem hate ich auch mal:
Beitrag "Backpowering_CMOS"

Die Lösung ist recht einfach. Strombegrenzerwiderstände.
1M /100k sehen passabel aus.

Aber mit starker Impulsverformung muss gerechnet werden.
Für weniger kritische Anwendungen geht's also.

ciao
gustav

von Stefan F. (Gast)


Lesenswert?

Da es eben nicht auf wenige Millivolt ankommt, würden 1 nF auch gehen. 
Allerdings kosten 100 nF nicht wirklich mehr, insofern würde ich mir den 
Luxus gönnen.

von Carsten-Peter C. (carsten-p)


Angehängte Dateien:

Lesenswert?

Hallo, vielleicht ist diese Schaltung was für Dich. Fehlen die 3,3V vom 
Mikrocontroller, sperrt der Mosfet und Du hast keinen weiteren 
Stromverbrauch durch den Spannungsteiler.
Gruß Carsten

von Max M. (Gast)


Lesenswert?

Carsten-Peter C. schrieb:
> diese Schaltung
Verfälscht die Messung.
Der Fet kann überhaupt nur durchschalten wenn ADC klein genug ist und 
der R1 sieht den Gate Strom, der zwar klein ist aber vorhanden.

von Stefan F. (Gast)


Lesenswert?

Carsten-Peter C. schrieb:
> vielleicht ist diese Schaltung was für Dich.

Sicher nicht. Die Spannung am Ausgang (Source) ist immer etwa 2V 
geringer als die Versorgungsspannung. Denn in allen anderen Fällen 
leitet der MOSFET  nicht.

Aber tröste dich, der Fehler poppt hier jede Woche erneut auf. Meisten 
allerdings mit bipolaren NPN Transistoren.

von Wolfgang (Gast)


Lesenswert?

Max M. schrieb:
> Schau ins MCU DB.
> Der max Strom der internen Dioden beträgt wahrscheinlich um die 30mA.

Wo hast du diesen Wert her?
Oft ist der zulässige maximale Strom der internen Klemmdioden gar nicht 
spezifiziert. Atmel empfiehlt allerdings in der AVR182, einen maximalen 
Wert von 1mA nicht zu überschreiten (*). Wie passt das mit dem von dir 
angegebenen Wert zusammen?

(*) S.5 "It is not recommended that the clamping diodes are
conducting more than maximum 1mA"

von Axel S. (a-za-z0-9)


Lesenswert?

adc_input schrieb:
> habe ich die im Bild gezeigte Schaltung vorgesehen

R67 ist viel zu klein. Der sorgt ständig für die weitere Entladung der 
12V(?) Batterie, dabei muß er nur den Reststrom von Q1 eliminieren.

R64 ist viel zu klein. Wie kommt man auf diesen Wert?

Der Sinn von C42 erschließt sich mir nicht. Oder soll der die Eingangs- 
kapazität des ADC darstellen? Als reales Bauelement würde man da wohl 
eher 10nF vorsehen, um den ADC-Fehler wegen des hohen Quellwiderstands 
von ~100K zu verringern. Also: auch zu klein.

Ich würde perspektivisch eher R68 und R69 um Faktor 10 verkleinern. Dann 
kann C42 entfallen. Und um die Belastung der Batterie zu minimieren, 
reicht es einmal pro Minute zu messen.

von MaWin (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Weil im Eröffnungsbeitrag steht:
> adc_input schrieb:
>
>> Dieser soll, wenn er aktiv ist, die Batteriespannung
>> mittels ADC messen. Der DC-DC Wandler schaltet beim Unterschreiten eines
>> festzulegenden Thresholds ab, um die Batterie zu schützen.
>
> Da kommt es nicht auf 10 mV mehr oder weniger an.

Dort steht NICHT, dass der uC den Tiefentladeschutz bildet.
Sondern das passiert im DC/DC Wandler.
Also weiss man aus dem Eröffnungsbeitrag noch nicht, was er mit dem 
Messwert machen will. Das kommt erst jetzt, nach Nachfrage:

Loeten schrieb:
> Der Mikrocontroller ist ein STM32F103 und die batteriespannung muss
> nicht besonders genau (+-100mV) und nicht besonders schnell (0,2 Hz)
> gemessen werden

Immerhin passen 1uA zum uC:
Ilkg
 Input leakage current
(6)
 VSS ≤ VIN ≤ VDD
 Standard I/Os - - ±1
 µA
die Eingangsimpedanz hängt von der Wandlungsgeschwindigkeit ab und muss 
zwischen 400 Ohm und 50k liegen:
RAIN(2) External input impedance See Equation 1 and
Table 47 for details

1.5 0.11 0.4
7.5 0.54 5.9
13.5 0.96 11.4
28.5 2.04 25.2
41.5 2.96 37.2
55.5 3.96 50

Da er langsam wandeln kann, passt es, aber das wusste man vor 
Salamischeibe 3 nicht.

von Stefan F. (Gast)


Lesenswert?

MaWin schrieb:
> aber das wusste man vor Salamischeibe 3 nicht.

Man hätte es sich denken können. Dazu braucht man allerdings eine 
positive Grundeinstellung.

von Anja (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Sicher nicht. Die Spannung am Ausgang (Source) ist immer etwa 2V
> geringer als die Versorgungsspannung. Denn in allen anderen Fällen
> leitet der MOSFET  nicht.

Ich nehme immer den BSS138 der hat typisch 1.3V verlust.
Den Spannungsteiler kann man so umdimensiionieren daß das nicht stört.
Man kann auch eine 1.2V Referenzspannung verwenden wenn man eine hohe 
Auflösung braucht.

https://www.mikrocontroller.net/articles/Batteriew%C3%A4chter#Prozessorteil

Gruß Anja

von Wolfgang (Gast)


Lesenswert?

Axel S. schrieb:
> R67 ist viel zu klein. Der sorgt ständig für die weitere Entladung der
> 12V(?) Batterie

Und wie?
Wenn Q5 abgeschaltet ist, fließt da nicht viel.

von Max M. (Gast)


Lesenswert?

Wolfgang schrieb:
> Wo hast du diesen Wert her?

Siegessicher ins 328P DB geschaut, und ...
Tatsache, ich finde den nicht mehr in aktuellen Datenblättern.
Auch jede Information wie so eine Ausgangsstufe aufgebaut ist fehlt 
weitestgehend.

Die Info habe ich aus einem älteren DB das ich jetzt natürlich nicht 
mehr finde.
Da war clamping current ganz klar definiert.
Jetzt fehlt jede Definition zum clamping current.

Auch die 1mA aus AVR182 ist das einzige was überhautpt dazu gesagt wird 
und das ist m.E. weit hergeholt das auf alles und jeden Chip zu 
übertragen.
Das ist eher: 'Damit sagen wir nix falsches, egal um welchen Pin Typ und 
welche MCU es geht'

Wenn es sich um eine reine ESD Diode eines 'input only' handelt, sehe 
ich 1mA ein.
Aber alles was auch Ausgang sein kann, hat eine MosFet Halbbrücke am 
Ausgang, auch wenn die nicht angesteuert wird und da sind die Body 
Dioden eine zwangsläufige Folge des Herstellungsprozesses.
Mosfets ohne Body Dioden gibt es nicht und die kann Prinzipbedingt den 
Strom den der Mosfet kann und der kann laut DB 40mA Dauer.

Strange, das das nicht mehr definiert wird.

von Bauform B. (bauformb)


Lesenswert?

Max M. schrieb:
> Siegessicher ins 328P DB geschaut, und ...

Loeten schrieb:
> Der Mikrocontroller ist ein STM32F103
> Batteriespannung(<18V)

und bei dem steht völlig zweideutig geschrieben:
1
Absolute maximum ratings
2
Injected current on any other pin  min. -5mA      max. +5mA
3
Input voltage on any other pin     min. VSS−0.3V  max. 4.0V
Es heißt 4.0V, nicht VDD+4.0V. Ist das ein Tippfehler oder was passiert 
bei VDD=0 und Vin=4V???

("any other pin" = das gilt nur für die ADC-Pins, nicht für den Rest. 
Und schon garnicht für neuere STM32!)

von Einer (Gast)


Lesenswert?

Bauform B. schrieb:
> Es heißt 4.0V, nicht VDD+4.0V. Ist das ein Tippfehler oder was passiert
> bei VDD=0 und Vin=4V???

Ganz einfach: Das eine Limit setzt das andere Limit nicht aus.

D.h., es gilt immer beides: Wenn Du die Spannung an einem Pin erhöhst, 
darf niemals mehr als 4 Volt anliegen und niemals mehr als 5mA fließen. 
Sobald eine Grenze erreicht wurde, egal welche von beiden, darfst Du 
nicht mehr höher gehen.

von Wolfgang (Gast)


Lesenswert?

Bauform B. schrieb:
> und bei dem steht völlig zweideutig geschrieben:Absolute maximum ratings
> Injected current on any other pin  min. -5mA      max. +5mA
> Input voltage on any other pin     min. VSS−0.3V  max. 4.0V

Was ist daran zweideutig?
Du musst beide Bedingungen einhalten.
Und nicht vergessen: Die Absolute Maximum Ratings bezeichnen keinen 
normalen Betriebszustand, d.h. der Chip übersteht das zwar kurzzeitig, 
der Hersteller garantiert aber nicht, dass er auf Dauer mit diesen 
Parametern betrieben werden darf. Genaueres steht in den Erläuterungen 
im Datenblatt.

von MaWin (Gast)


Lesenswert?

Bauform B. schrieb:
> Es heißt 4.0V, nicht VDD+4.0V. Ist das ein Tippfehler oder was passiert
> bei VDD=0 und Vin=4V???

5V kompatible Eingänge eines 3.3V Chips dürfen den Strom nicht nach VCC 
ableiten, sondern müssen ihn zum Schutz per Z-Diode (die eher ab 6.8 als 
4.0V leitet, aber egal) nach GND ableiten, und das ist unabhängig davon 
ob VCC eingeschaltet oder ausgeschaltet ist.

von Stefan F. (Gast)


Lesenswert?

Beim STM32F103 (ich glaube sogar bei allen STM32) sind die analogen 
Eingänge aber nicht 5V tolerant. Sie haben intern eine Diode, die 
Überspannung nach VCC ableitet.

von MaWin (Gast)


Lesenswert?

Stefan ⛄ F. schrieb:
> Beim STM32F103 (ich glaube sogar bei allen STM32) sind die
> analogen Eingänge aber nicht 5V tolerant. Sie haben intern eine Diode,
> die Überspannung nach VCC ableitet.

Ja, weil die Z-Diode den Messwert versaut.

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.