Forum: Mikrocontroller und Digitale Elektronik Cortex M0 schaltet bei über 60°C nicht mehr


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von sw (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Guten morgen zusammen,

ich habe ein kleines Problem mit einem ARM Cortex von ST, genauer, dem 
STM32F051K87. Ab einer Temperatur von ca. 60-65°C schaltet dieser die 
GPIOs nicht mehr richtig und reagiert auch nicht mehr auf Inputs(3.3V, 
GPIOx als Eingang gesetzt). Die Firmware selbst läuft aber ganz normal 
weiter. Von der Firmwareseite aus, ist keine Abschaltung eingebaut. 
Einen Defekt schließe ich aus, da ich das Problem bei 2 weiteren 
Controllern nachstellen konnte. Mich wundert es, da die "7" Reihe 
eigentlich für den Temperaturbereich von –40°C bis +105°C ausgelegt ist.

Im Datenblatt und auch Ref. Manual habe ich dazu nix gefunden.
Vielleicht übersehe ich auch irgendwas :)

Vielleicht hatte ja schon mal jemand ein ähnliches Problem und weiß, 
woran es liegen könnte.

Besten Dank!

von kenny (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Bist Du Dir icher das diese Verhalten vom Cortex ausgelöst wird und 
nicht von der angeschlossenen Peripherie?

von pegel (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die Spannungsversorgung kontrolliert?

von Kastanie (Gast)


Bewertung
2 lesenswert
nicht lesenswert
Der Fehler liegt zu 100% nicht am Controller.
Was glaubst du, was ST für Ärger bekäm, wenn nicht mal der industrial 
TempBereich eingehalten werden kann, trotz Datenblattversprechen.
Such mal in deiner Peripherie etc. Der Teufel steckt meist dort, wo man 
ihn nicht vermutet. Sonst wäre es nicht der Teufel.

von sw (Gast)


Bewertung
0 lesenswert
nicht lesenswert
kenny schrieb:
> Bist Du Dir icher das diese Verhalten vom Cortex ausgelöst wird und nicht von 
der angeschlossenen Peripherie?

Sicher sein kann ich mir da wohl nicht :) Aber da wir es mit einem 
Klimaschrank ausprobiert haben, gehe ich jetzt erstmal davon aus. 
Lediglich eine kleine Platine mit dem Controller(+ Vogelfutter, welches 
auch +105°C ausgelegt ist) war innen und der Rest außen. Auf dem Oszi 
war auch kein Kurzschluss oder ähnliches zu sehen. Alles im normalen 
Bereich und ab 60-65°C geht es nicht mehr.

pegel schrieb:
> Die Spannungsversorgung kontrolliert?

Ja, alles ok soweit, konstante 3.3V an VCC,VDD.

Kastanie schrieb:
> Der Teufel steckt meist dort, wo man ihn nicht vermutet. Sonst wäre es nicht der 
Teufel.

Ja, vielleicht übersehe ich jetzt gerade noch etwas. Aber erstmal bin 
ich vom Controller ausgegangen :)

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
sw schrieb:
> Ab einer Temperatur von ca. 60-65°C schaltet dieser die
> GPIOs nicht mehr richtig und reagiert auch nicht mehr auf Inputs

Verbinde mal 2 IOs miteinander und mit nichst weiter. Und schreibe ein 
kleines Testprogramm, welches die beiden Pins setzen und lesen kann.

von A. B. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Die Angabe 60-65 Grad ist reichlich vage. Ist das die 
Umgebungstemperatur, die Temperatur der Platine oder die 
Chip-Temperatur?
Vielleicht heizt sich der Chip durch seine (oder benachbarter Bauteile) 
Verlustleistung zu weit auf?
Der F051 hat einen internen Temperatursensor, den man zur Kontrolle 
auslesen könnte.

von Olaf (Gast)


Bewertung
3 lesenswert
nicht lesenswert
> war auch kein Kurzschluss oder ähnliches zu sehen. Alles im normalen
> Bereich und ab 60-65°C geht es nicht mehr.

Pruef mal ob die fuer deine Taktfrequenz ausreichende Waitstates
gesetzt hast.

Und Pruef mal ob dein externe Quarz noch schwingt. Viele Leute haengen 
da einfach nur einen dran ohne gross darueber nachzudenken ob das ueber 
den gesamten Arbeitsbereich auch geht.

Olaf

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
wenn überhaupt ein Quarz dranhängt. Falls ja, kann man den ja auch 
abschalten und mit dem HSI testen.

von sw (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Peter D. schrieb:
> Verbinde mal 2 IOs miteinander und mit nichst weiter. Und schreibe ein
> kleines Testprogramm, welches die beiden Pins setzen und lesen kann.

Stimmt, gute Idee, ich werde es mal probieren.

A. B. schrieb:
> Die Angabe 60-65 Grad ist reichlich vage. Ist das die
> Umgebungstemperatur, die Temperatur der Platine oder die
> Chip-Temperatur?

Der Klimaschrank hat eingestellte 65 Grad und ist die 
Umgebungstemperatur der ganzen Platine. Die interne Temperaturmessung 
des Controllers ergibt ca. 60-65 Grad(Korrektur mit interner Spannung 
etc. einberechnet!) sobald die GPIOs nicht mehr ordnungsgemäß 
funktionieren.

Olaf schrieb:
> Pruef mal ob die fuer deine Taktfrequenz ausreichende Waitstates
> gesetzt hast.

Waitstates waren ok. Benutzen den HSI, also kein externer Quarz :)

Danke schon mal für eure Tipps!

von Kevin M. (arduinolover)


Bewertung
1 lesenswert
nicht lesenswert
Ich kann mich ja irren aber ich halte es für sehr unwahrscheinlich daß 
der uC wenn er läuft exakt die gleiche Temperatur hat wie die Umgebung. 
Ich würde da ein Delta von 10 bis 20°C erwarten jenachdem was er so 
macht.

von Olaf (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
> Ich kann mich ja irren

Du irrst dich. Die Zeiten wo Mikrocontroller warm wurden sind etwa 
20Jahre vorbei.

Olaf

von Peter D. (peda)


Bewertung
0 lesenswert
nicht lesenswert
An meinem ersten 8031 in NMOS-Technik habe ich mir fast die Finger 
verbrannt. Gelaufen ist er aber einwandfrei.

von Johannes S. (jojos)


Bewertung
1 lesenswert
nicht lesenswert
das ist aber eher sogar schon 40 Jahre her.
Selbst ein F4 oder F7 mit Ethernet wird heute nur lauwarm.

vielleicht ist das Problem auch nur ganz banal eine schlechte Lötstelle 
die sich bei thermischer Last und Verspannung in der Platine bemerkbar 
macht?

Meine Selbstbau Funksensoren mit M0 (LPC812) haben auf der 
Kupferfensterbank in der Sonne auch bis 70 °C ausgehalten. Nur ein 3D 
gedruckter Batteriehalter hat das nicht mitgemacht.

: Bearbeitet durch User
von m.n. (Gast)


Bewertung
0 lesenswert
nicht lesenswert
sw schrieb:
> Vielleicht hatte ja schon mal jemand ein ähnliches Problem und weiß,
> woran es liegen könnte.

Auch µCs können Defekte haben.
Tausch ihn aus und teste erneut.

von Kastanie (Gast)


Bewertung
1 lesenswert
nicht lesenswert
m.n. schrieb:
> Auch µCs können Defekte haben.
> Tausch ihn aus und teste erneut.

Eröffnungspost:

sw schrieb:
> Einen Defekt schließe ich aus, da ich das Problem bei 2 weiteren
> Controllern nachstellen konnte

von m.n. (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Kastanie schrieb:
> sw schrieb:
>> Einen Defekt schließe ich aus, da ich das Problem bei 2 weiteren
>> Controllern nachstellen konnte

Das habe ich tatsächlich überlesen.
Es widerspricht der Überschrift, mit der ein Fehler des M0 suggeriert 
wird.
Die Frage sollte dann besser lauten: "Meine geheime Schaltung 
funktioniert bei höheren Temperaturen nicht mehr. HILFE!!! Keiner eine 
IDEE???"
;-)

von Franz (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Olaf schrieb:
>> war auch kein Kurzschluss oder ähnliches zu sehen. Alles im
> normalen
>> Bereich und ab 60-65°C geht es nicht mehr.
>
> Pruef mal ob die fuer deine Taktfrequenz ausreichende Waitstates
> gesetzt hast.

Das hatte ich auch mal. Vergessen fürs Flash Die korrekten Waitstates 
einzustellen. Bei Zimmertemperatur ging noch alles, bei hohen 
Temperaturen dann nicht mehr.

von Mike R. (thesealion)


Bewertung
0 lesenswert
nicht lesenswert
Olaf schrieb:
>> Ich kann mich ja irren
>
> Du irrst dich. Die Zeiten wo Mikrocontroller warm wurden sind etwa
> 20Jahre vorbei.
>
> Olaf

Dann hat ST es also endlich geschafft Supraleitende µC zu entwickeln? 
Dann ist ja nicht mehr weit bis zum ersten T-800 ;-)


Wenn der Klimaschrank angebliche die gleiche Temperatur wie der µC hat, 
dann kann da etwas nicht stimmen.

von Gerd E. (robberknight)


Bewertung
0 lesenswert
nicht lesenswert
sw schrieb:
> Einen Defekt schließe ich aus, da ich das Problem bei 2 weiteren
> Controllern nachstellen konnte.

Auf der selben Platine oder hast Du mehrere Platinen mit 
unterschiedlichen Controllern getestet?

Wenn es die selbe Platine war, auf die Du unterschiedliche Controller 
gelötet hast: es könnte eine defekte Lötstelle an anderer Stelle sein, 
oder ein defektes Via. Bei beiden ist ein Defekt, der nur abhängig von 
der Temperatur auftritt, ein gängiges Phänomen.

von Noti (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Zeig uns ein Schema, zumindest einen Auschnitt mit den IOs.
Was hängt dran, wie misst du den Fehler?

Aus dem Bauch raus: hochohmige Pull Up / Down Widerstände in Kombination 
mit großen Leckströmen von Schutzdioden.

von Zero V. (gnd)


Bewertung
0 lesenswert
nicht lesenswert
- Lötfehler
- Platinenfehler
- ESD Schaden
- Vorschädigung durch Kurzschluss etc.
- Mikrocontroller aus dubioser Quelle (Broker, Engineering Sample)
- Designfehler der Schaltung
- Fehler durch Messequipment (Tastkopf Temperaturbereich? oder 
Koaxkabel)
- EMV, Soft-Errors
- für falschen Controller compiliert
- Softwarefehler
- Taktungsfehler

Ist dein Projekt streng geheim dann kommt noch:
- Sabotage
hinzu.

von Zero V. (gnd)


Bewertung
0 lesenswert
nicht lesenswert
Hol ihn aus dem Klimaschrank und bewaffne dich mit Heißluftfön und 
Kältespray ... finde heraus ob das Problem reproduzierbar ist.

von somni (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Mike R. schrieb:
> Dann ist ja nicht mehr weit bis zum ersten T-800 ;-)

Der T800 wird schon lang nicht mehr produziert!:
https://en.wikipedia.org/wiki/Transputer

von Herrin und Damer (Gast)


Bewertung
-3 lesenswert
nicht lesenswert
somni schrieb:
> Mike R. schrieb:
>> Dann ist ja nicht mehr weit bis zum ersten T-800 ;-)
>
> Der T800 wird schon lang nicht mehr produziert!:
> https://en.wikipedia.org/wiki/Transputer

Das liegt bestimmt an dem Genderwahn. Entweder Puter oder Pute, aber 
nicht Trans-Puter!

von Olaf (Gast)


Bewertung
1 lesenswert
nicht lesenswert
> Wenn der Klimaschrank angebliche die gleiche Temperatur wie der µC hat,
> dann kann da etwas nicht stimmen.

Die Erwaermung die du bei einem aktuellen Mikrocontroller erwarten 
kannst ist geringer als der Fehler der integrierten Temperatursensoren.

Zum einen sind sie mittlerweile relativ sparsam, zum anderen sind sie 
heute gut an die Platine angebunden. Und 60Grad Umgebungstemperatur ist 
ein Witz. -40 bis +85Grad ist der offizielle Industrielle 
Temperaturbereich. Ich teste gerne auch mal bis 90Grad.

BTW: Da lohnt es sich ein paar billige Tastkoepfe im Schrank zu haben. 
Die werden naemlich nicht besser wenn man im Klimaschrank Messungen 
durchfuehren muss. .-)

Olaf

von Kevin M. (arduinolover)


Bewertung
1 lesenswert
nicht lesenswert
Olaf schrieb:
> Die Erwaermung die du bei einem aktuellen Mikrocontroller erwarten
> kannst ist geringer als der Fehler der integrierten Temperatursensoren.

Ich habe gerade an einem meiner Projekte mit H7 getestet. Wenn der was 
zu tun hat und viel Perepherie nutzt hat er gut 15°C über 
Umgebungstemperatur.

von m.n. (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
Kevin M. schrieb:
> Ich habe gerade an einem meiner Projekte mit H7 getestet. Wenn der was
> zu tun hat und viel Perepherie nutzt hat er gut 15°C über
> Umgebungstemperatur.

Mit 48 MHz oder 480 MHz?
Mit einem halben GHz darf er sich auch etwas warmlaufen.

von Jens G. (jensig)


Bewertung
0 lesenswert
nicht lesenswert
Kevin M. (arduinolover)

>Ich kann mich ja irren aber ich halte es für sehr unwahrscheinlich daß
>der uC wenn er läuft exakt die gleiche Temperatur hat wie die Umgebung.
>Ich würde da ein Delta von 10 bis 20°C erwarten jenachdem was er so
>macht.

Wer hat das behauptet? Ach, ich ahne schon - Du hast diesen Satz von sw 
(Gast) nicht verstanden, weil nicht komplett gelesen:

>Der Klimaschrank hat eingestellte 65 Grad und ist die
>Umgebungstemperatur der ganzen Platine. Die interne Temperaturmessung
>des Controllers ergibt ca. 60-65 Grad(Korrektur mit interner Spannung
>etc. einberechnet!) sobald die GPIOs nicht mehr ordnungsgemäß
>funktionieren.

von Markus M. (adrock)


Bewertung
0 lesenswert
nicht lesenswert
Das hatten wir doch hier letztlich schonmal. Dort wurde vergessen die 
Waitstates für den Flash zu konfigurieren.

Ob Du HSI (ggfs. mit PLL) oder einen externen Quarz verwendest tut dabei 
nichts zur Sache. Sofern die System Clock > 24MHz ist musst Du 1 
Waitstate für den Flash konfigurieren.

: Bearbeitet durch User
von sw (Gast)


Bewertung
4 lesenswert
nicht lesenswert
Guten morgen zusammen,

vielen lieben Dank für eure Hilfe!
Unsere Hardware hat den Fehler gefunden.

D. C. schrieb:
> - Designfehler der Schaltung

Eine Schutzbeschaltung auf der Controller Platine hat den Fehler 
verursacht. Genau kann ich es nicht sagen(bin kein HW Typ) aber 
scheinbar war es so, dass durch eine unglückliche Kombination von Diode 
und Spannungsteiler bei 65 Grad die Durchlassspannung für die Diode 
nicht mehr erreicht wurde und das 3.3V Signal nicht mehr durchgelassen 
hat. Somit hatte ich am Controller nur einen 0V Pegel.

Peter D. schrieb:
> Verbinde mal 2 IOs miteinander und mit nichst weiter. Und schreibe ein
> kleines Testprogramm, welches die beiden Pins setzen und lesen kann.

So einfach und doch recht hilfreich. So kamen wir drauf.

Danke euch allen :)

Beitrag #6375303 wurde vom Autor gelöscht.
von m.n. (Gast)


Bewertung
-2 lesenswert
nicht lesenswert
sw schrieb:
> aber
> scheinbar war es so, dass durch eine unglückliche Kombination von Diode
> und Spannungsteiler bei 65 Grad die Durchlassspannung für die Diode
> nicht mehr erreicht wurde

R42, hab ich's mir doch gedacht!

von Olaf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
> scheinbar war es so, dass durch eine unglückliche Kombination von Diode

Jaja...Leckstrom nicht bedacht. :-D

Olaf

von Olaf (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Warte erst mal ab wenn du jetzt auf -40Grad runter gehst.
Da gibt es auch lustige Fehler. Elkos verlieren an Innenwiderstand,
Spulen aendern ihre Werte. Schaltregler produzieren rauschen.

Da sieht man mal wie wichtig so ein Klimaschrank ist.

Olaf

von Marcus H. (Firma: www.harerod.de) (lungfish) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
Olaf schrieb:
...
> Die Erwaermung die du bei einem aktuellen Mikrocontroller erwarten
> kannst ist geringer als der Fehler der integrierten Temperatursensoren.
...
Hi Olaf,
das stimmt leider nicht. Zumindest wenn wir die STM32-Familie als 
Mikrocontroller einstufen. Das Datenblatt lässt es schon vermuten 
(Wärmewiderstand, Verlustleistung), dass die Teile warm werden.

Ich schaue im Moment recht oft mit der Wärmebildkamera auf eine 
Schaltung, die 4A linearen Ausgangsstrom in ein Peltierelement liefern 
muss. Bis 3A ist der STM32F4 auf der Baugruppe der wärmste Baustein 
(10..15K über Ambient). Nur in bestimmtem Betriebsarten werden die 
Brücken-MOSFETs (Si7625) etwas wärmer (Tamb+20K).
Die o.g. MCU arbeitet tatsächlich nur als Prozessor, sprich den GPIOs 
wird quasi kein DC-Strom entnommen.

marcus

von ACDC (Gast)


Bewertung
0 lesenswert
nicht lesenswert
sw schrieb:
> dass durch eine unglückliche Kombination von Diode
> und Spannungsteiler bei 65 Grad die Durchlassspannung für die Diode
> nicht mehr erreicht wurde und das 3.3V Signal nicht mehr durchgelassen

Die Schaltung würd ich gern mal sehn.

Kannst du die uns zeigen?

von Stefan ⛄ F. (stefanus)


Bewertung
0 lesenswert
nicht lesenswert
ACDC schrieb:
> Die Schaltung würd ich gern mal sehn.
> Kannst du die uns zeigen?

Netter Versuch, aber da müssen sich die Wölfe schon ein lahmeres opfer 
suchen.

von Sehr Alt (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Stefan ⛄ F. schrieb:
> ACDC schrieb:
>> Die Schaltung würd ich gern mal sehn.
>> Kannst du die uns zeigen?
>
> Netter Versuch, aber da müssen sich die Wölfe schon ein lahmeres opfer
> suchen.

Schade,
kann ja durchaus eine normale, bewärhte Schaltung sein.

von Johannes S. (jojos)


Bewertung
0 lesenswert
nicht lesenswert
na zumindest der Teil der die Probleme verursacht hat.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.