uC Ausgeschaltet - Pin zieht auf GND

#4111473
Lesenswert?

Hallo

Folgende Situation: Über einen Schalter wird mein Mikrocontroller 
STM32F105 ausgeschaltet.
Ein Pin des uC ist an einem Seperaten Stromkreis angeschlossen.
Ich dachte die Pins des STM würden wenn ausgeschaltet hochohmig, es 
fliesst jedoch ganz klar ein Strom in den Pin. Der Pin ist also auf low, 
was äusserst ärgerlich ist. Kann ich das irgendwie ändern?

Eure Krähe
Gast #4111500
Lesenswert?

Tatsächlich scheint das Datenblatt keine explizite Angabe zu den 
Pinzuständen im nicht spannungsversorgten Zustand zu machen (zumindest 
konnte ich gerade nichts finden).
Da es sich um CMOS-Technologie handelt, kann man sich somit nicht darauf 
verlassen, dass die Gates der Ausgangstreiber grundsätzlich immer 
entladen sind (d. h. entsprechende Widerstände o. ä. integriert sind, 
die das sicherstellen), sondern muss mit "allem" rechnen.
Vermutlich hast du jedoch eher das Problem, dass der Strom über die 
Diode des Ausgangs nach VDD abfließt und "irgendwo" in der Schaltung 
versickert - das ist prinzipiell und technisch bedingt und lässt sich 
nicht vermeiden, daher musst du das durch externe Beschaltung umgehen. 
Ist doof jetzt in deiner konkreten Situation, lässt sich aber nicht 
ändern.
Gast #4111507
Lesenswert?

Jaja, das kommt mir irgendwie bekannt vor. Das ist beim STM32F105 nicht 
sauber dokumentiert. Oder vielleicht doch, ich fands nur nicht.
Irgendwo in der Docu ist ein Warnhinweis zum Thema "Back Drive 
Protection". Dies laesst darauf schliessen das Diode-Arrays an den 
Ports, was ja eigentlich sehr löblich ist


Siehe mal ins Pdf, S5ff. Das müsste deiner Ursache nahekommen. Das PDF 
zeigt auch Abstellmassnahmen. Die Spannung in deinem zweiten Stromkreis 
ist in dem Moment des ausgeschalteten STM höher ...
Letztlich hilft nur eine Schutzdiode in der DataLine.
#4111528
Lesenswert?

mkausulm schrieb:
> Das ist beim STM32F105 nicht
> sauber dokumentiert. Oder vielleicht doch, ich fands nur nicht.

Im Datenblatt Tabelle 36 auf Seite 57 steht: Vih(max) = VDD + 0.3 Volt. 
Und VDD ist bei ausgeschaltetem µC nunmal Null Volt. Pin PA7 ist kein 
5-Volt toleranter Pin.

Bei anderen Herstellern steht das unter "absolute Maximum", ST scheint 
den ESD Dioden recht viel zuzutrauen.
#4111532
Lesenswert?

Was soll man mit so einem Fitzel anfangen? Das ist nur ein Fragment des 
Schaltplanes. Suche ma nach "Salamitaktik". Damit macht man sich schnell 
unbeliebt.

Da ist nicht einmal der µC drauf, der ja angeblich das Problem sein 
soll. Außerdem fehlt die Vcc-Schiene nebst den Abblockkondensatoren und 
was da sonst noch dranhängt.

Du stellst einen Stromfluß fest und schließt daraus, daß es nach GND 
geht. Das ist bei den aktuellen Informationen aus der Luft gegriffen.

Ich würde da auch die Idee von Physiologist nachprüfen.

Wenn seitens der separaten Schaltung, die nicht genannt werden will, 
Spannung am Pin, der nicht genannt werden will, anliegt und daraufhin 
Strom in unbekannter höhe irgendwohinfließt, so gibt es mehrere Wege. 
Aber die gesammte Versorgung, Vcc und GND, inlusiver der unbekannten 
Lasten die daran hängen könnten oder auch nicht und die Aufteilung, 
Verzweigung und Pufferug ist unbekannt.

Ich halte es auch für wahrscheinich, daß nach der Unterbrechung der 
Versorgung zum µC die Spannung dort durch den µC und weitere Lasten 
unter die Spannung, welche die am Pin durch die separate Schaltung 
anliegt, einbricht.

Kaum jemand wird Lust haben bei den vielen Unbekannten für dich in den 
Datenblättern nachzulesen. Aber ich wette im Datenblatt steht drin 
welche Spannungen an den Pins relativ zur Versorgung anliegen darf. Oft 
steht da singemäß: Minimalspannung GND-0,3 Volt und maximal Vcc+0,3 
Volt. Wird diese Anforderung/Bedingung mißachtet, nimmt der Strom den 
falschen Weg und kann den Chip auch zerstören.
Gast #4111533
Lesenswert?

Was meinst Du damit:
> Über einen Schalter wird mein Mikrocontroller STM32F105 ausgeschaltet.

Bedeutet das, der mc wird von der Stromversorgung getrennt? Wenn ja: 
danach sieht jeder Pin aus wie auf low gezogen durch die interne 
Schutzdiode gegen VCC (== ausgeschaltet 0 V).

Abhilfe 1:
High-aktive Logik verwenden

Abhilfe 2:
CPU nicht abschalten , sondern den Standby Mode verwenden.

Beide Variabten werden aber wahrscheinlich ohne Hardwareänderung nicht 
zu realisieren sein.


Gruß,
Stefan
#4111543
Lesenswert?

dieses Phänomen muss nicht dokumentiert sein, da du den chip nicht 
innerhalb den Absolute Maximum Ratings betreibst.

Diese besagt sicherlich irgendwo:

Voltage on any Pin: Vss..Vdd

Wenn jetzt Vdd = 0 ist, so betreibst du deinen Chip nicht nach 
Spezifikation, wenn du 3V an einem Pin anliegen hast.
#4111552
Lesenswert?

Paddy schrieb:
> Ist die Platine schon fertig oder ?

Ja, die ist fertig. Ich sehe nicht wie ich die Diode einsetzen soll. 
Anode zu DCHRG würde den Sinn der Schaltung zerstören, Kathode zu DCHRG 
würde einfach einen Spannungsabfall von 0.7V bewirken, das Problem aber 
nicht lösen.

Carsten R. schrieb:
> Was soll man mit so einem Fitzel anfangen? Das ist nur ein Fragment des
> Schaltplanes. Suche ma nach "Salamitaktik". Damit macht man sich schnell
> unbeliebt.

Ja, es geht mir auch nur um eine konkrete Frage und nicht "was haltet 
ihr von meinem Schaltplan". Wenn ich einen A3 Seite grossen Schaltplan 
poste nützt das ja wohl auch niemandem etwas oder? Ich hab nie gesagt 
ich wolle die Schaltung nicht zeigen, aber habe einen konkreten Fehler 
und eine Konkrete Vermutung zu welcher ich Abhilfe suche. Ich bin sehr 
dankbar für die Hilfe, aber der Ton könnte etwas verständnisvoller sein.
Physiologist hat die plausibelste Erklärung für den Fehler bereits 
geliefert.

Stefan schrieb:
> Bedeutet das, der mc wird von der Stromversorgung getrennt?

Ja, die Vcc Leitung wird unterbrochen. am Pin liegen ca. 3V an

An der Hardware lässt sich vorerst nichts ändern.
Gast #4111585
Lesenswert?

> Ja, die Vcc Leitung wird unterbrochen. am Pin liegen ca. 3V an

Das ist außerhalb der gültigen Betriebsbedingungen. Die Schaltung kann 
so nicht funktionieren.

> An der Hardware lässt sich vorerst nichts ändern.

Dann lebe damit, dass die Schaltung nicht funktioniert.
#4111606
Lesenswert?

Peter Dannegger schrieb:
> Mache R26 und C26 größer (10k, 1µF), so daß die Ladung ausreicht zum
> Einschalten.

R26 hab ich auf 100k gesetzt, hab ich vergessen im Schema anzupassen. 
Die Schaltung funktioniert dadurch mehr oder weniger. Unschön ist 
einfach, dass immer ein Strom fliesst. Da der Tiefenentladeschutz dazu 
da ist den Akku vor Entladung zu schützen, wollte ich dies eigentlich 
verhindern.
#4111653
Lesenswert?

Holger Krähenbühl schrieb:
> Es handelt sich um einen Tiefenentlade Schutz

Ich würde sowas mit nem ATtiny13A machen:
VCC (1.8-5.5V) kriegt er direkt vom Akku.
Der Ein-/Austaster hängt an einem Pin-change-Interrupt, der FET für die 
Last an einem IO-Pin.
Ist die Last angeschaltet, prüft er per Watchdoginterrupt alle 2s seine 
VCC (Verbrauch ~4µA).
Wird der Grenzwert unterschritten, schaltet er den Watchdogtimer ab 
(Verbrauch ~0.2µA).
Wurde der Akku geladen, wird er durch einen Tastendruck wieder erweckt, 
mißt seine VCC usw.
#4111691
Lesenswert?

Peter Dannegger schrieb:
> Pin 3 am Taster ist doch unbetätigt offen.

Ist ein Umschalter kein Taster

Peter Dannegger schrieb:
> Ich würde sowas mit nem ATtiny13A machen:

Halt stopp. An der Schaltung ist noch weitaus mehr dran als nur der 
Ausschnitt. Da reicht ein ATtiny nirgendwo hin. Der Gedanke hinter der 
Tiefenentladung war, dass der uC vor dem Ausschalten noch einige 
Warnungen (auf ein Display / Led) ausgeben kann, da er die Akkuladung ja 
sowieso misst.

Oder meinst du einen ATtiny zusätzlich zum rest der Schaltung? 
Eigentlich wollte ich mir solche zusatzhardware durch die Steuerung des 
uC sparen.
Gast #4111726
Lesenswert?

Meiner Meinung nach kann man davon ausgehen, dass ein Mikrocontroller an 
seinen Ein-Ausgängen Schutzdioden hat. D.h. die Spannung an jedem PIN 
ist höchstens Vcc + 0,7V (bzw. 0,3V).

Bei Vcc + 3,3V oder 5V gehe ich davon aus, dass in Standard CMOS-Technik 
etwas "zündet".

Es ist also vollkommen in Ordnung, dass dieses Verhalten im Datenblatt 
des konkreten µC nicht erwähnt wird.
#4111773
Lesenswert?

Holger Krähenbühl schrieb:
> Ja, es geht mir auch nur um eine konkrete Frage und nicht "was haltet
> ihr von meinem Schaltplan". Wenn ich einen A3 Seite grossen Schaltplan
> poste nützt das ja wohl auch niemandem etwas oder? Ich hab nie gesagt
> ich wolle die Schaltung nicht zeigen, aber habe einen konkreten Fehler
> und eine Konkrete Vermutung zu welcher ich Abhilfe suche. Ich bin sehr
> dankbar für die Hilfe, aber der Ton könnte etwas verständnisvoller sein.
> Physiologist hat die plausibelste Erklärung für den Fehler bereits
> geliefert.

Da war aber kein Tonfall drin, weder positiv noch negativ. ;-) Es ging 
mir nur darum den Inhalt meines Beitrages zu vermitteln. Es tut mir leid 
wenn das anders aufgefaßt wurde.

Es ging mir darum folgendes zu zeigen:

- Mit Salamitaktik, ob bewußt der unbewußt angewendet, macht man sich 
schnell unbeliebt. Oft laufen dadurch nämlich viele Bemühungen ins 
Leere, weil entsprechnde Informationen fehlen und geraten werden muß. 
Darum der Hinweis auf: keine Lust + unnötiger Frust.

- Die Fragestellung unterstellt einen Stromfluß nach GND, was nicht 
gesichert und vermutlich auch nicht der Fall ist.

- Der "Schaltplan" ist für die Fragestellung völlig nutzlos. Der von dir 
angenommene Strompfad ist darauf nicht zu sehen!

Es wird ein Stromfluß über einen bestimmten Pin des µC angenommen, 
nachdem die Versorgung des µC getrennt wird. Aber es wird nur die 
Unterbrechung gezeigt. Der Plan zeigt nur einen Ausschnitt und dann auch 
noch den falschen Bereich. Von den Teilen die die Fragestellung betrifft 
ist absolut nichts auf dem Schaltplan zu sehen.

- Der Ansatz von Physiologist ist vielversprechend.

Ich kann verstehen, daß man bei einem größeren Projekt nicht alles 
hochlädt. Die am Problem unbeteiligen Komponenten bringen einen nicht 
weiter. Aber mit ein bisschen Logik und Nachdenken merkt man schnell, 
daß hier der "falsche" Schaltplan vorliegt.

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