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
Scharfe Bilder, Schaltplan und Sourcecode, sonst wird das nichts.
..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
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
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
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.
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)
> 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.
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
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
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
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...
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.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.