Hallo, wir testen gerade unsere Platine im Klimaschrank. Eine Platine fällt beim Thermotest aus. Es ist ein STM32F030 verbaut. Hat irgendjemand schon das gleiche Problem gehabt, dass der sich dann resetet? (Sonst könnte es noch der Buck eingangsregler sein...) An was lag es bei euch, wenn was ausgefallen ist? -Michael
Michael H. schrieb: > Hallo, > > wir testen gerade unsere Platine im Klimaschrank. Eine Platine fällt > beim Thermotest aus. Es ist ein STM32F030 verbaut. Hat irgendjemand > schon das gleiche Problem gehabt, dass der sich dann resetet? > (Sonst könnte es noch der Buck eingangsregler sein...) > > An was lag es bei euch, wenn was ausgefallen ist? > > -Michael Poste mal die Leiterplattenfiles und den Sourcecode
Mike schrieb: > Poste mal die Leiterplattenfiles und den Sourcecode ...und was noch viel wichtiger ist: Das Temperaturprofil des Klimaschrankes. Und: Wird hier nur die Temperatur verändert oder auch andere Klima-Parameter, z.B. die Luftfeuchte?
Michael H. schrieb: > Hat irgendjemand > schon das gleiche Problem gehabt, dass der sich dann resetet? Klingt, als ob ihr Hersteller seid. Dann habt ihr ja wohl mehr als 1 Platine. Teste mal ein paar baugleiche andere. Die anderen funktionieren ? Dann wird es eine schlechte Lötstelle oder Leterbahnbruch auf der Platine sein, oder gar ein defektes Bauteil das bei Erwärmung den Kontakt verliert. Andere steigen auch aus ? Dann habt ihr wohl ein konzeptionelles Problem. Mal mit einer Wärmebildkamera oder guten Thermometer geguckt, wie heiss die Bauteile dann in Betrieb bei der erhöhten Temperatur werden ? Alles im eigentlich grünen Bereich, nu den uC steigt aus ? Dann würde ich zunächst die Versorgungsspannung des uC mit einem Scope prüfe und auf Ausreisser triggern.
liegt am Hersteller, wir hatten das selbe Problem bei der Umweltsimulation.
Hi, uff, das kann doch die verschiedensten Gründe haben. Bei uns wollten Quarze nicht bei -40°C schwingen. Mit Quarzoszillator bis jetzt keine Probleme. Von hoher Temperatur mit Feuchtigkeit auf niedrige Temperatur -> Kondenswasser bildete sich, aber abhängig von dem verwendeten Lötstopplack. Der eine hat das Wasser scheinbar magisch angezogen, bei dem anderen gab es keine Probleme. Kalte oder gebrochene Lötstelle -> bei Temperaturänderung hebte der Kondensator auf einer Seite ab und hatte keine Funktion mehr. Viel Erfolg bei der Suche!
Michael H. schrieb: > Eine Platine fällt beim Thermotest aus. Und wie stellst du diesen Ausfall fest? Was funktioniert wann nicht mehr wie vorher? Welche Bauteile sind dabei beteiligt? > An was lag es bei euch, wenn was ausgefallen ist? Meist an einem Designfehler bei der Schaltungsauslegung. Und einmal waren es verpolte Tantalkondensatoren auf der 3V3-Schiene: bei Normaltemperatur lief alles, bei 80°C stiegen die ersten per Feuerwerk aus. Das Problem war, dass die Polarität in den Pads als Pin 1 und Pin 2 und nicht eindeutig als + und - definiert waren. Und dann war da noch ein zugekauftes Schaltnetzteil, das zwar im Betrieb sämtliche Temperaturzyklen von-20..+90°C problemlos durchlaufen hat, aber beim Einschalten ab 60°C jämmerlich versagt hat. Sprich: wenn es kalt gestartet wurde, dann lief es tadellos. Wenn es aber warm war, startete es gleich gar nicht. Der Hersteller wurde dann ganz aufgeregt (der hatte ja schon zigtausend solcher Katalognetzteile weltweit verkauft) und musste das Design nachbessern... DF schrieb: > Viel Erfolg bei der Suche! Ein paar Dosen Kältespray müssen immer im Schrank stehen.
:
Bearbeitet durch Moderator
Hausgeräte Hersteller schrieb: > liegt am Hersteller, wir hatten das selbe Problem bei der > Umweltsimulation. Und wie habt ihr es gelöst? Anderer MCU von ST, der auch auf 125°C oder 105°C geratet ist? Lothar M. schrieb: > Und wie stellst du diesen Ausfall fest? Was funktioniert wann nicht mehr > wie vorher? Welche Bauteile sind dabei beteiligt? MCU "startet nicht" bei 70°C Umgebungstemperatur konstant. Die Shiftregister sinds definitiv nicht auf der Platine, viel mehr ist auch nicht drauf. MaWin schrieb: > Andere steigen auch aus ? Alle steigen quasi gleichzeitig aus. Wir machen einen Test mit 5 Proben. MaWin schrieb: > Alles im eigentlich grünen Bereich, nu den uC steigt aus ? Dann würde > ich zunächst die Versorgungsspannung des uC mit einem Scope prüfe und > auf Ausreisser triggern. Ja, das ist der zweite Schritt. Ich versuche eine alte Firmware, die bei 24Mhz und nicht 48MHz lief zuerst.
Michael H. schrieb: > Es ist ein STM32F030 verbaut. Hat irgendjemand > schon das gleiche Problem gehabt, dass der sich dann resetet? Ich hatte schon einige F0 wie auch F3 im Temperaturschrank. Ich fahre zwar nicht ganz so hohe Temperaturen, aber bisher ist mir nie so etwas aufgefallen. Die Chips sollten für deutlich mehr spezifiziert sein. Würde mich bei einem so alten Design wie dem F0 wundern, wenn da noch solche Probleme bestehen würden. Kannst du uns ein wenig mehr zum Design verraten? Hast du Steckverbinder oder ähnliches drauf? Extrem lange Kabel? Irgendwas, das ziemlich am Rand der Leistungsfähigkeit betrieben wird? Zur Spannungsversorgung: Extern versorgen und nochmal testen. Den Regler auf dem Board würde ich erst mal gar nicht ausmessen. Dann weißt du hernach EVENTUELL was los ist, wenn du gerade das richtige misst. Versorgst du alles direkt von extern, dann weißt du es normalerweise recht schnell. Entweder er steigt wieder aus oder nicht. Beachte, dass auch die Leckströme von Dioden und Kondensatoren bei höheren Temperaturen zunehmen. Widerstandswerte verschieben sich. Mechanische Spannungen können entstehen, schlechte Lötstellen können Probleme machen. Das ist aber allein "vom Text her" nicht zu beantworten. Ist leider etwas ein Stochern im Nebel. Wie sieht ansonsten das Temperaturprofil aus? Wie schnell fährt ihr? Warst du davor bei extrem geringen Temperaturen (Feuchtigkeitskondensation an kalten Bauteilen bei großen Temperaturänderungen!) EDIT: Wo misst du die Temperatur? Ist der Chip ggf so eingebaut, dass er die Abwärme von anderen Bauteilen abbekommt und letztendlich überhitzt?
:
Bearbeitet durch User
Wir haben den STM extern versorgt. Also Buck Regler ist es nicht. Vielmehr ist auf der Platine auch nicht drauf. Okay noch Shift-Register... Und nen Isolator für Uart. Wir haben nun die Schaltfrequenz von 48Mhz auf 24Mhz gedrosselt. Da scheint es keine Aussetzer zu geben. Eventuell sind 48Mhz einfach zu schnell bei den Temperaturen?!? Ich versuche Montag mal 32 Mhz... Da sonst die Rechenleistung nicht ausreicht. Ich habe den Stm32 von Lcsc gekauft, eventuell habe ich da nen Fake bekommen? Ich habe bei Stm32 nen Quality Issue aufgemacht. Man schauen was die sagen. Ich halte euch auf dem laufenden. Steckverbinder: Uart und Power. Aber nix woran er sich aufhängen sollte. Geringe Temperaturen haben wir noch gar nicht getestet.
Also, Fehler gefunden: Es lag am STM32F070! Genauer, ich habe dem Flash einen Waitstate mehr erlaubt. Also HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) gesetzt, statt wie Ursprünglich HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_0)! Und das aussteigen scheint nur bei hoher Temperatur (z.Zt. 90°C im Thermoofen) zu passieren.
Michael H. schrieb: > wir testen gerade unsere Platine im Klimaschrank. Eine Platine fällt > beim Thermotest aus. in meiner Industriezeit waren es Microschalter deren Gehäusehälften ab Lieferant trotz ISO9000 zertifiziert falsch zusammengebaut waren und die im RunIn in der Klimakammer immer ausfielen. es müssen nicht immer IC sein.
Michael H. schrieb: > Es ist ein STM32F030 verbaut. Hat irgendjemand > schon das gleiche Problem gehabt, dass der sich dann resetet? Im Datenblatt des Mikrocontrollers findest du die Umgebungsbedingungen, bei denen der Hersteller einwandfreie Funktion verspricht. Gleiche deinen Test doch erst einmal damit ab. Die Fehlerursache kann aber auch außerhalb des Mikrocontrollers liegen. Deswegen halte ich es bei der aktuellen dünnen Informationslage für vollkommen sinnfrei, über die Qualität der Mikrocontrollers zu diskutieren.
Michael H. schrieb: > Also, Fehler gefunden: > > Es lag am STM32F070! > > Genauer, ich habe dem Flash einen Waitstate mehr erlaubt. Also > HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) gesetzt, statt > wie Ursprünglich HAL_RCC_ClockConfig(&RCC_ClkInitStruct, > FLASH_LATENCY_0)! > > Und das aussteigen scheint nur bei hoher Temperatur (z.Zt. 90°C im > Thermoofen) zu passieren. Interessant, Dein Thema. Allerdings kann man Dir ohne weitere Infos nur einen genauen Blick ins Datenblatt empfehlen. Da taucht Ta=85°C recht oft auf. Sperrschichtemperatur <105°C. Wärmewiderstand Die->Ambient liegt zwischen 44..76K/W. Meine Wärmebildkamera zeigt bei offen liegenden, laufenden STM32 gerne mal 10°C++ über Ambient. Messe doch mal die Oberflächentemperatur der MCUs auf Deinem Schreibtisch.
Also ich weiß ja nicht ob es beim F072 anders ist als beim F030, jedenfalls setzt mir das Clock-Config Tool von ST (AN4055) bei der Konfiguration von Takten > 24MHz automatisch Waitstates für den Flash. Das solltet ihr vlt. mal überdenken...
> Das solltet ihr vlt. mal überdenken...
Ich glaube soviel denken muss man da gar nicht. Eigentlich weiss man das
alle Microcontroller so etwa ab 20Mhz Waitstates brauchen und in den
Datenblaettern steht auch immer wieviel. Lediglich Renesas hat wohl
einen Flashprozess der etwas besser ist.
Olaf
Michael H. schrieb: > Also, Fehler gefunden: > > Es lag am STM32F070! Nein. Es lag am Code. Ab 24 MHz brauchst du mind. 1 wait state. Das hattest du nicht eingestellt, also hast du Probleme bekommen.
Meckerziege schrieb: > Michael H. schrieb: >> Also, Fehler gefunden: >> >> Es lag am STM32F070! > > Nein. Es lag am Code. > Ab 24 MHz brauchst du mind. 1 wait state. Das hattest du nicht > eingestellt, also hast du Probleme bekommen. Jupp, im Prinzip wurde der Controller vorher außerhalb der Specs betrieben.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.