Forum: Mikrocontroller und Digitale Elektronik ATmega324 PA QFN zerstört beim Löten?


von Rüdiger B. (ruedigerbritzen)


Lesenswert?

Hallo zusammen,

ich habe ein für mich derzeit nicht nachvollziehbares Problem, zu dem 
ich gerne eure Meinung hören würde.

Ich arbeite derzeit an einem stark miniaturisierten Messumformer für 
Druck- und Temperaturmessung und setze dazu u.a. einen ATmega 324PA im 
QFN-Gehäuse (also wirklich klein) ein. Der Temperatursensor ist ein 
TMP275 und via I2C an den ATmega angebunden.

In einer ersten Revision befand sich der Temperatursensor auf der 
gleichen Platine wie der Controller. Diese Platine ließ sich nach der 
Fertigung problemlos flashen und funktioniert.

Aus verschiedenen Gründen musste ich den Temperatursensor nun auf eine 
zweite Platine verlagern. Die Verbindung des I2C-Busses zwischen den 
beiden Platinen erfolgt über eine 2,54mm Stift-/Buchsenleiste (2polig).

Alle SMD-Bauteile habe ich bestücken lassen, einen großen achtpoligen 
Stecker und einige Stiftleisten habe ich dann selbst bestückt.

Und nun das Kuriose: Ich habe zuerst jeweils eine 7polige Stiftleiste 
bestückt (Spannung und ISP-Pins) und zwei Platinen erfolgreich geflasht. 
Danach habe ich dann den achtpoligen (recht massiven) Stecker bestückt 
(TXD-Leitung, RXD-Leitung, GND, ansonsten keine Verbindung zum 
Controller). Die Kommuniktion über RXD/TXD hat danach zwischen PC und 
Kontroller funktioniert. Danach habe ich die Stiftleisten eingelötet, 
controllerrelevante Verbindung sind ein ADC-Eingang, Masse, 5V, und I2C 
(SCK, SDA)). Den Controller einer Platine kann ich jetzt gar nicht mehr 
ansprechen (kein Flashen mehr, keine RXD/TXD-Kommunikation) und er wird 
heiß, den Controller der anderen Platine kann ich zwar erfolgreich 
flashen, aber die Kommunikation funktioniert nicht mehr.

Die einzige Vermutung, die ich derzeit habe ist, dass ich den einen 
Controller komplett und den zweiten Controller teilweise über den 
Wärmeeintrag an den I2C-Leitungen zerstört habe. Ich habe schnell, aber 
heiß (RoHS, 380°C an der Lötstation eingestellt ) gelötet. Das 
QFN-Gehäuse hat nicht wirklich eine hohe Wärmekapazität und die beiden 
I2C-Leiterbahnen sind nur 10mil dick.

Hat jemand von euch schon mal ähnliche Erfahrungen gemacht. Ich kann mir 
derzeit keinen anderen Reim darauf machen!

Ein nächster Schritt wäre nun, auch die Stiftleisten / Stecker bestücken 
zu lassen, um sicher zu gehen, dass die Löttemperaturen passen. Ich bin 
für jeden Vorschlag/Tip dankbar!

Gruß, Rüdiger

von Glaskugelbläser (Gast)


Lesenswert?

Scharfe Bilder, Schaltplan und Sourcecode, sonst wird das nichts.

von g457 (Gast)


Lesenswert?

..klingt mehr nach Kurzschlüssen -> genauestens überprüfen und ggf. 
∗alle∗ Flussmittelrest entfernen. Achja und beim Testen die 
Strombegrenzung nicht vergessen (bei einem einzelnen m324pa langen da 
lockerflockig 10mA - dann wird da auch nix heiss und am 
Spannungseinbruch erkennt man den Kurzschluss bevors qualmt).

HTH

von Rüdiger B. (ruedigerbritzen)


Lesenswert?

Hallo HTH,

ich hatte die Stiftleisten sogar wieder ausgelötet und danach das Board 
nochmal mit Flussmittellöser gereinigt, das Verhalten ist das Gleiche! 
Die Stiftleisten (also da, wo ich gelötet habe), befinden sich im 
Abstand von mindestens 15 mm zum Controller. Wenn da wirklich ein 
Kurzschlusse wäre, könnte ich dann den Controller noch flashen?

@Glaskugelbläser: Nichts für ungut, aber wozu brauchst du den Sourcecode 
und den Schaltplan, wenn vor dem Löten alles funktioniert hat? Ein Foto 
des 324PA kann ich leider nicht machen, da er von einem Stecker verdeckt 
wird.

Gruß, Rüdiger

von Rüdiger B. (ruedigerbritzen)


Lesenswert?

Na gut, dass es heute den ganzen Tag geregnet hat und man sich in Ruhe 
der Fehlersuche widmen konnte... Problem (zumindest die Symptome) ist 
gelöst!

Der 324PA zeigt das interessante Verhalten, dass er manchmal direkt nach 
dem Programmieren aus dem Reset herausfindet (Kommunikation 
funktioniert), jedoch nach einem Power-Cycle immer im Reset bleibt. 
Nachdem ich den Brown-Out-Reset-Level von 4,3V auf 2,7V geändert hatte, 
funktioniert alles Bestens!

Warum ich den Fehler auf die Lötarbeiten geschoben hatte, war, dass ich 
nach dem ersten Programmieren keinen Power Cycle gemacht hatte, womit 
der Controller entsprechend hochlief. Nach dem Einlöten der Stiftleisten 
und dem anschließenden Wiedereinschalten hing der µC dann im Reset fest.

Wirklich erklären kann ich mir das derzeit nicht. Die 
Spannungsversorgung beträgt 4,9V und sollte eigentlich genug Strom 
liefern können, um beim Power-Up zwei SMD-Relais durchschalten zu 
können. Bei der ersten Revision ist der BOD-Level mit 4,3V eingestellt 
und es funktioniert wunderbar...

Ich muss mir das mal mit dem Oszi anschauen.

Gruß, Rüdiger

von axelr. (offline) (Gast)


Lesenswert?

deshalb soltlest Du ja deine Quellen offenlegen.( Gut Quelltext nich, 
aber Layout hätte schon Sinn gemacht)
Das liegt sicher am Layout, der Controller wird zyklisch neu starten 
odersowasblödes.

gruß
Axelr.

von axelr. (offline) (Gast)


Lesenswert?

ich habs noch nicht geschafft, den QFN thermisch so zu belasten, das der 
davon zerstört wurde. Was die Dinger ein ganze Zeit mit machen, dann 
aber sterben, ist folgendes Szenario: Masse vergessen anzuschliessen :)
Dann holt er sich seine Betriebsspannung über ein, zwei Portpins 
irgentwo hintenrum. Uns zwar solange, bis die Eingangsschutzdioden 
sterben. Dann kannst Du nur noch LOW Pegel an diese Pins messen.
Aber thermisch? Da mach Dir mal keine Sorgen. So, wie du es beschrieben 
hast, passiert da nichts weiter. Man kann die Drähte direkt an die QFN 
Pads ("Dead Bug" Methode) löten und das funktioniert auch. Ich habe 
jetzt kein Medium hier, um das darzustellen. Nur einen Link, der das gut 
zeigt. (ist nicht von mir)

von Hubert G. (hubertg)


Lesenswert?

> Nachdem ich den Brown-Out-Reset-Level von 4,3V auf 2,7V geändert hatte,
> funktioniert alles Bestens!

Darüber gab es schon einige Threads, der Fehler war die fehlende 
Verbindung VCC nach AVCC. Vielleicht ist das hier auch so.

von Rüdiger B. (ruedigerbritzen)


Lesenswert?

Hubert G. schrieb:

> Darüber gab es schon einige Threads, der Fehler war die fehlende
> Verbindung VCC nach AVCC. Vielleicht ist das hier auch so.

Exakt, danke Hubert!

Nachdem ich die BOD-Fuse als Trigger für das Verhalten identifiziert 
hatte, habe ich hier im Forum nach BOD gesucht und den Hinweis auf einen 
floatenden AVCC-Pin gefunden.

"Eigentlich" ist in meiner Schaltung AVCC über eine Induktivität mit VCC 
verbunden. Tatsächlich floatet AVCC bei mir allerdings ebenfalls, da der 
Bestücker Mist gebaut hat. Sehen kann man den Fehler nicht, aber das 
Messergebnis ist eindeutig.

Gruß, Rüdiger

von Rüdiger B. (ruedigerbritzen)


Lesenswert?

axelr. (offline) schrieb:

> Das liegt sicher am Layout, der Controller wird zyklisch neu starten
> odersowasblödes.

Layout ist ok, Fertigungsqualität nicht. AVCC floatet, weil die 
SMD-Induktivität nicht ordentlich bestückt ist. Und ja, du hattest 
vollkommen recht: Die BOD hat den Controller im Dauer-Reset gehalten... 
:-)

Gruß, Rüdiger

von Rüdiger B. (ruedigerbritzen)


Lesenswert?

axelr. (offline) schrieb:

> ich habs noch nicht geschafft, den QFN thermisch so zu belasten, das der
> davon zerstört wurde. Was die Dinger ein ganze Zeit mit machen, dann
> aber sterben, ist folgendes Szenario: Masse vergessen anzuschliessen :)
> Dann holt er sich seine Betriebsspannung über ein, zwei Portpins
> irgentwo hintenrum. Uns zwar solange, bis die Eingangsschutzdioden
> sterben. Dann kannst Du nur noch LOW Pegel an diese Pins messen.
> Aber thermisch? Da mach Dir mal keine Sorgen. So, wie du es beschrieben
> hast, passiert da nichts weiter. Man kann die Drähte direkt an die QFN
> Pads ("Dead Bug" Methode) löten und das funktioniert auch. Ich habe
> jetzt kein Medium hier, um das darzustellen. Nur einen Link, der das gut
> zeigt. (ist nicht von mir)

Danke für den Hinweis, ich hatte schon echt an mir und meinen Lötkünsten 
gezweifelt!

Gruß, Rüdiger

von axelr (Gast)


Lesenswert?

Wir hatten letztens auch Drosseln, die hochohmig waren. eventuell zu 
heiss gelötet. wir haben die Drosseln ersetzt und dem Hersteller zur 
Prüfung zugeschickt. Der konnte aber nichts mit anfangen (logisch). 
Somit haben wir dann die kompletten Baugruppen eingeschickt.
Muss ich glatt mal fragen, was dabei rumgekommen ist...

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Rüdiger Britzen schrieb:
> AVCC floatet, weil die
> SMD-Induktivität nicht ordentlich bestückt ist.

Wenn du den ADC gar nicht benutzen willst (ist nicht ganz klar aus
deiner Beschreibung), dann kannst du dir natürlich die Drossel auch
ganz sparen.

von Rüdiger B. (ruedigerbritzen)


Lesenswert?

Jörg Wunsch schrieb:

> Wenn du den ADC gar nicht benutzen willst (ist nicht ganz klar aus
> deiner Beschreibung), dann kannst du dir natürlich die Drossel auch
> ganz sparen.

Umso schlimmer, ich benutze den ADC in meiner Schaltung! Ich hätte dann 
zu einem späteren Zeitpunkt gemerkt, dass der ADC auch nicht funtioniert 
und  dann wieder eine neue Fehlersuche begonnen. Wahrscheinlich hätte 
ich aber einen floatenden AVCC-Pin auch erst recht spät in Erwägung 
gezogen.

Gruß, Rüdiger

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.