Forum: Mikrocontroller und Digitale Elektronik STM32 abgeraucht?


von Talarion (Gast)


Lesenswert?

Hallo miteinander,

ich habe ein Problem mit einer Schaltung die den STM32F103RBT6 enthält. 
Und zwar ist mir jetzt innerhalb kürzerer Zeit schon das zweite Board 
abgeraucht und ich würde gerne Ursachenforschung betreiben um die 
Ursache zu beheben bevor ich die Schaltung in etwas größerer Stückzahl 
fertige.

Das Board ist eine Entwicklung von mir und enthält neben dem genannten 
STM32F auch eine CAN-Schnittstelle und 2 H-Brücken um DC Motoren steuern 
zu können. Das ganze Board kann ich jetzt leider nicht hier posten, da 
es auch vom Umfang her eher den Rahmen sprengen würde. Zunächst hat auch 
alles problemlos funktioniert. Ich konnte die Peripherals alle so 
ansprechen wie ich mir das vorgestellt habe.
Zum Problem: Von einem Moment auf den anderen funktioniert gar nichts 
mehr. Der Spannungsregler für 3,3V wird extrem heiß und liefert 
dementsprechend auch nicht mehr die benötigte Spannung um den 
Mikrocontroller zu betreiben. Eine Widerstandsmessung mit dem Multimeter 
zwischen GND und 3,3V Leitung ergibt auch noch ganze 1,5 Ohm was 
natürlich so nicht sein darf.
Jetzt kann ich mir das ganze irgendwie nicht erklären, da das von jetzt 
auf sofort passiert ist und es anscheinend auch so ist dass der Kurze im 
Prozessor ist, da es an einer bestimmten Stelle im Prozessor deutlich 
warm wird.

Hat jemand eine Idee woran so etwas liegen kann? Normalerweise drüfte 
doch nicht plötzlich ein Kurzer im Prozessor auftauchen, oder? Und wenn 
doch, was kann die Ursache dafür sein?

VG
Michael

von Gast (Gast)


Lesenswert?

"Den Kurzen" kannste ja auch per Software verursachen, ne?

von Talarion (Gast)


Lesenswert?

Hehe, ja das stimmt natürlich!
Aber ein Reset müsste ihn ja wieder in den Anfangszustand zurücksetzen. 
An der Software wurde auch seit dem letzten erfolgreichen Test nichts 
mehr geändert. Von daher ist es extrem unwahrscheinlich, dass er jetzt 
jedes mal sofort in einen Codeabschnitt springt in dem er den Kurzen 
produziert. Von daher hab ich das mal ausgeschlossen.

Gruß
Michael

von Talarion (Gast)


Lesenswert?

hat sonst niemand eine Idee?
Es kann doch nicht sein, dass mir einfach so reihenweise die Prozessoren 
abrauchen, oder???

von Klaus2 (Gast)


Lesenswert?

ersetz den motor mal durch ne ohmsche last.

und "ich" vertraue deiner SW natürlich auch nicht - falls 
initialisierung o.ä. zB nicht zum layout passen, rauchts. da hab ich 
beim großen B als prakti mal den fehlerjäger gespielt...erstaunlich, wie 
heiß der asic wurde und trotzdem noch halbwegs lief :)

Klaus.

von (prx) A. K. (prx)


Lesenswert?

Ich vermute es haben viele Leute viele Ideen, aber keine Lust alle 15927 
mögliche Ursachen brainstrommässig hier aufzählen zu müssen, nur um dann 
zu hören "kann nicht sein, trifft hier nicht zu, ist berücksichtigt, 
usw". Und da keinerlei verwertbare Information, wie Schaltbild, Aufbau, 
usw vorliegt...

von ich (Gast)


Lesenswert?

fang an, die Bauteile runter zu löten und messe nach jedem Bauteil 
erneut den Widerstand.

Hast du eine Schutzdiode drin, die vielleicht niederohmig ist?

von Talarion (Gast)


Lesenswert?

Hi,

vielen Dank für eure Antworten.
Das ich nich viel brauchbare Infos gegeben habe, gebe ich ja gerne zu. 
Meine Frage war ja eher dahingehend, was passieren muss, damit ein 
Prozessor bei unveränderter Software plötzlich so viel Strom zieht, dass 
der Spannunswandler diesen nicht mehr liefern kann und ausschaltet.
Das Ihr meiner Software nicht traut ist auch klar. Bloß hab ich ja gar 
keine Möglichkeit mehr den Controller zu Flashen, weil er aufgrund des 
Kurzen nicht mehr mit ausreichend Spannung versorgt wird.
Mit der 3,3V Versorgung wird auch nur der Prozessor versorgt. Für die 
restlichen Bauteile ist ein extra 5V Spannungsregler eingebaut, welcher 
einwandtfrei funktioniert und auch nicht warm wird.
Eine Schutzdiode, die niederohmig ist, ist nicht eingebaut.

Danke
Michael

von Klaus2 (Gast)


Lesenswert?

...dann löte den proz mal runter, lösche ihn und versorge ihn OHNE 
firmware mit 3.3v - wird er dann immernoch warm? so kannst du sw und hw 
testen. dann nur deine fw flashen und laufen lassen auf nem eval, OHNE 
deine platine. läuft er dann sauber?
oder hast du zb sw stände oder hw stände, bei denen du noch weißt, dass 
aif jeden fall alles gut lief? dann änderungen ab da nochmal GENAU 
nachvollziehen (am besten nicht montag morgens).

bitte um antworten.

Klaus.

von (prx) A. K. (prx)


Lesenswert?

Talarion schrieb:

> Meine Frage war ja eher dahingehend, was passieren muss, damit ein
> Prozessor bei unveränderter Software plötzlich so viel Strom zieht, dass
> der Spannunswandler diesen nicht mehr liefern kann und ausschaltet.

Pin überlastet, Latchup durch falsche Spannungen am Pin, Stromversorgung 
schwingt, Lastinduktion schlägt auf Vcc oder Steuerleitungen durch, ...

von Talarion (Gast)


Lesenswert?

Hi,

vielen Dank!!!
ok, dann muss ich mir wohl überlegen, wie ich den Prozessor 
runtergelötet bekomme. Hab leider hier an der Uni keine Möglichkeiten 
dazu, aber irgend etwas wird mir schon einfallen.

Zum Thema Stände:
Hardwaremäßig wurde überhaupt nichts geändert. Auch ohne Motoren und 
jegliche andere Peripherie die sich abstöpseln lässt ist das Verhalten 
wie beschrieben.
Softwaremäßig habe ich eine getagte Version ausm SVN gezogen, die vorher 
tagelang funktioniert hat und diese geflasht bevor das Problem 
aufgetreten ist. Es ist natürlich nicht auszuschließen, dass es trotzdem 
an der Software liegt, aber naja...

Vielen Dank trotzdem für die Antworten
Michael

von ich (Gast)


Lesenswert?

vielleicht...böse Kollegen, die dir etwas wollen?

von Klaus2 (Gast)


Lesenswert?

svn, immerhin etwas :)

gut, wenns ohne periph auch mist ist, dann muss der proz da ERSTMAL 
runter.

"auf einmal" schleicht sich aber auch kein fehler ein - aber du kennst 
das ja, man behauptet steif & fest, da wär nix geändert oder sonstwas 
und auf einmal dämmert es einem in einem ruhigen moment, zB beim ka**en, 
und man schämt sich selbst...aber dazu brauch es etwas zeit, also warten 
wir mal ab :)

ansonsten halt das "gewöhnliche" sw debugging...

Klaus.

von Gast (Gast)


Lesenswert?

> Mit der 3,3V Versorgung wird auch nur der Prozessor versorgt. Für die
> restlichen Bauteile ist ein extra 5V Spannungsregler eingebaut...

Und die Peripherals geben dann nicht zufällig 5V-Signale auf den 
3,3V-Controller zurück?

von Talarion (Gast)


Lesenswert?

:-) teils, teils!
Auf die Pins die mit FT gekennzeichnet sind, gebe ich schon teilweise 5V 
drauf. Ansonsten nicht, nein!

von asadafagahaj (Gast)


Lesenswert?

was sein KÖNNTE:
evtl. sind da dioden gegen +Vcc und GND drin gegen Spannungen außerhalb 
des zulässigen Bereichs.
Vom Abschalten eines Motors her KÖNNTE es dann sein, dass sich da 
irgendeine hohe Spannung verirrt und dir da was durchbrät. Afaik sind 
Halbleiter die Zerstört sind meistens in beide Richtungen recht gut 
leitend.
Nachdem die Schutzdioden evtl. weg sind kommen die nächsten Teile der 
Schaltung dran. Und irgendwann wirds dann zu viel ;-)

von Ingo (Gast)


Lesenswert?

mannnnn, jetzt poste doch mal den schaltplan, nur so kann man auch 
sehen, ob es vielleicht ein Problem mit dem übersprechen gibt, 
Stromversorgung, Motorregelung usw.

Sonst kann Dir, wie schon mehrfach gesagt, sowiso keiner wirklich 
helfen.

Gruss, Ingo.
PS: wie sieht's mit ESD aus? Könnte es da Probleme geben? zum möglichen 
Latchup hast Du ja noch nichts gesagt .... es hilft dabei, die mails 
auch ganz zu lesen ...

von Talarion (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ok, alles klar. Anbei jetzt der Schaltplan. Hoffentlich hilfts!

Latchup ist wohl vorstellbar. Wenn dann innerhalb vom Mikrocontroller. 
Aber wie kann man das im nachhinein feststellen? Macht es dann evtl. 
Sinn in der nächsten Version an den entsprechenden Stellen externe 
Schutzdioden einzubauen???

VG
Michael

von Ingo (Gast)


Lesenswert?

Hallo,
sind die beiden Kondensatoren vor den Spannungsreglern nicht ein wenig 
groß geraten? Ich vermute mal, 100nF wären dort eine bessere Wahl.
vielleicht schwingt da etwas? Hast Du mal die Versorgungsspannungen im 
Betrieb mit einem Oszi überprüft? Gerade bei Schaltvorgängen etc?

Einen Latchup siehste wohl nur bei ausgelötetem Controller; es wäre 
interessant, wo genau der große Strom herfließt (welche Pins betroffen 
sind).

Ingo

von Gast (Gast)


Lesenswert?

> sind die beiden Kondensatoren vor den Spannungsreglern nicht ein wenig
> groß geraten?

Das passt schon, ich würde allerdings noch jeweils 0,1µ parallel 
schalten.

Den R15 würde ich allerdings gegen 3,3V schalten, damit der Porteingang 
nicht dauernd 5V sieht.

von Talarion (Gast)


Lesenswert?

Ich denk auch, dass die 10uF passen. Die verwendeten Motoren sind recht 
noisy und deswegen ist das so gelöst worden.

Versorgungsspannung mit dem Oszi hab ich nicht gemessen und jetzt ists 
ja eh Vorbei mit Versorgungsspannung.

Die Anmerkung mit R15 ist gut, sollte aber auch nicht wirklich ein 
Problem darstellen, da auch dieser Pin FT ist.

VG
Michael

von Gast (Gast)


Lesenswert?

sorry, aber was heißt FT? (ich hasse Abkürzungen...)

von (prx) A. K. (prx)


Lesenswert?

ST-Sprachregelung für 5V-tolerant.

von Ingo (Gast)


Lesenswert?

trotzdem sind die 100nF an den Spannungsreglern notwendig; gerade, wenn 
doch die Motoren so 'noisy' sind, ist es wichtig, die 
Versorgungsspannungen mal nach Stromspitzen u.Ä. zu durchleuchten. Wenn 
mehrere Boards gebaut werden sollen, wie beschrieben, dann musst Du doch 
sowiso mit einem neuen Board testen.

Ingo

von Talarion (Gast)


Lesenswert?

Ja, wenn ich morgen wieder ein funktionsfähiges board zur Verfügung 
habe, werde ich die Versorgungsspannungen mal nach Stromspitzen 
durchforsten.

Warum meint ihr, dass die 100nF parallel zur den 10uF notwendig sind??? 
Im endeffekt addieren sich die doch nur auf und ich hab eine geringfügig 
höhere Kapazität, oder nicht?

von Sachich N. (dude) Benutzerseite


Lesenswert?

Talarion schrieb:
> Ja, wenn ich morgen wieder ein funktionsfähiges board zur Verfügung
> habe, werde ich die Versorgungsspannungen mal nach Stromspitzen
> durchforsten.
>
> Warum meint ihr, dass die 100nF parallel zur den 10uF notwendig sind???
> Im endeffekt addieren sich die doch nur auf und ich hab eine geringfügig
> höhere Kapazität, oder nicht?

ESR

von Markus -. (mrmccrash)


Lesenswert?

Hier geht es Hauptsächlich um das NF-Verhalten der Kondensatoren. IM 
DC-Bereich addieren sich die Kapazitäten, richtig. Im NF Bereich wirken 
diese aber als Filter erster Ordnung. Und da Störungen von Motoren meist 
Signale mit f > 1Hz sind, wirkt dann auch die Dämpfung der Kondensatoren 
darauf. Ganz einfach ausgedrückt: die Kondensatoren wirken als 
Frequenzabhängige Widerstände.

_.-=: MFG :=-._

von Talarion (Gast)


Lesenswert?

Danke, das hat mir sehr geholfen!!!

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.