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
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
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.
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...
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?
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
...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.
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, ...
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
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.
> 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?
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 ;-)
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 ...
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
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
> 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.
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
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
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?
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
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 :=-._