Forum: Mikrocontroller und Digitale Elektronik EMS Fertigung: 95% Ausfallquote


von Wolfgang S. (wolfgangsch)


Lesenswert?

Hallo,
wir fertigen noch ein älteres Board, mit einem ATMEGA32-16AU.
Im letzten Fertigungslos von 100 Stück gab es eine Ausfallquote von 95%, 
weil jedes mal der ADC nicht so tat wie er sollte. Der Rest 
funktionierte.

Ich bin gerade am klären, ob das ein Fehler von uns (Statik?) ist, oder 
ob das ganze Los von Atmels ICs ein Problem hat. Bevor ich mal einen 
manuell aufbaue und prüfe, dachte ich frage mal hier ....

Der Prozess an sich (hätte ich gesagt) ist definitiv im Griff, wir 
fertigen das Board schon seit über 10 Jahren.

Sind bei älteren ATMEGA32-16AU solche Fehler bekannt?


Danke + MfG
 Wolfgang

von Ob S. (Firma: 1984now) (observer)


Lesenswert?

Wolfgang S. schrieb:

> Sind bei älteren ATMEGA32-16AU solche Fehler bekannt?

Nein.

Ich würde mal auf einen Bestückungsfehler im Dunstkreis von AVCC/AREF 
tippen.

von Michael B. (laberkopp)


Lesenswert?

Habt ihr die richtige Taktrate für die Auflösung oder läuft er 'out of 
bounds'. AVCC richtig verdrahtet.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Wolfgang S. schrieb:
> weil jedes mal der ADC nicht so tat wie er sollte.
Was erwartest du und was tut er denn stattdessen?

: Bearbeitet durch Moderator
von Gerd E. (robberknight)


Lesenswert?

Was für ne Spannung, Takt und Oszillator-Art verwendet Ihr?

Zumindest bei den 328ern und 168ern hat Microchip ne Variante aufgelegt 
die den Full-Swing-Oszillator nicht mehr hatte (also war drauf, lief 
aber nicht mehr zuverlässig). Dann wollten sie eigentlich die 
ursprüngliche Version abkündigen, das ist denen aber wohl um die Ohren 
geflogen weil zu viele Kunden explizit noch nach den alten gefragt 
hatten. Dann haben sie einen Rückzieher gemacht und bieten jetzt beide 
an.

Ich weiß nicht ob das bei den 32ern auch so ist. Aber es könnte gut sein 
dass da aus Versehen die falschen bestückt wurden.

von Harald A. (embedded)


Lesenswert?

Gibt einiges an "Kopien" vom ATMEGA32-16AU auf dem Markt. Gerade im 
Analogbereich haben die oft Schwächen. Kann man Fakes zu 100% 
ausschließen?

von Wolfgang S. (wolfgangsch)


Lesenswert?

Lothar M. schrieb:
> Wolfgang S. schrieb:
>> weil jedes mal der ADC nicht so tat wie er sollte.
> Was erwartest du und was tut er denn stattdessen?

Hallo, Danke für Deine Zeit. Laut Testentwicklung, der ausgelesene 
digitale Wert ist immer die 1023 (0x03ff), aber die Eingangsspannung am 
AFD Eingang ist kleiner als die am AREF Eingang.

: Bearbeitet durch User
von Bruno V. (bruno_v)


Lesenswert?

Wolfgang S. schrieb:
> Hallo, Danke für Deine Zeit. Laut Testentwicklung, der ausgelesene
> digitale Wert ist immer die 1023 (0x03ff), aber die Eingangsspannung am
> AFD Eingang ist kleiner als die am AREF Eingang.

Das sollte sich jemand mit Elektro-Hintergrund anschauen. "kleiner als 
AREF" enthält 0 Information.

von Rainer W. (rawi)


Lesenswert?

Wolfgang S. schrieb:
> Im letzten Fertigungslos von 100 Stück gab es eine Ausfallquote von 95%,
> weil jedes mal der ADC nicht so tat wie er sollte.

Das nenne ich eine aussagekräftige Fehlerbeschreibung. :-(

Wolfgang S. schrieb:
> Laut Testentwicklung, der ausgelesene digitale Wert ist immer
> die 1023 (0x03ff), aber die Eingangsspannung am AFD Eingang ist
> kleiner als die am AREF Eingang.

Welche Spannung wird an AREF gemessen?
Welche Spannung liegt an AVCC an?
Wie sind AVCC und AREF beschaltet?
Wie wird AREF genutzt, d.h. welche Einstellungen nutzt die Software für 
die Referenz?

> ... Eingangsspannung am AFD Eingang ...
Welcher soll das sein? "AFD" taucht im Datenblatt nicht auf.

: Bearbeitet durch User
von Oliver S. (oliverso)


Lesenswert?

Rainer W. schrieb:
> Welche Spannung wird an AREF gemessen?
> Welche Spannung liegt an AVCC an?
> Wie sind AVCC und AREF beschaltet?
> Wie wird AREF genutzt, d.h. welche Einstellungen nutzt die Software für
> die Referenz?

Antwort: die gleichen, die auf unzähligen identischen in den letzten 10 
Jahren gefertigten Boards einwandfrei funktioniert haben. Damit sollte 
das Thema ADC-Initialisierung und Beschaltung erledigt sein.

Oliver

von Rainer W. (rawi)


Lesenswert?

Oliver S. schrieb:
> Damit sollte
> das Thema ADC-Initialisierung und Beschaltung erledigt sein.

Dann geh' ich mal Popcorn holen. Ohne irgendwelche Fakten lässt sich da 
vortrefflich drüber herum spekulieren.

von M.A. S. (mse2)


Lesenswert?

Spielt Ihr die Software selber auf oder kauft Ihr geflashte Controller?

von Εrnst B. (ernst)


Lesenswert?

Oliver S. schrieb:
> Antwort: die gleichen, die auf unzähligen identischen in den letzten 10
> Jahren gefertigten Boards einwandfrei funktioniert haben. Damit sollte
> das Thema ADC-Initialisierung und Beschaltung erledigt sein.

Nö.
Wenn z.B. die bisher alle nur zufällig funktioniert haben, weil der AVR 
out-of-spec betrieben wurde, die damalige Silizium-Revision das aber 
mitgemacht hat, und die Neuen da eben weniger Reserve bieten...

Wenn du dich so zierst die Details herauszurücken, ist das schon etwas 
Verdächtig in die Richtung "Da wurde gepfuscht, du weißt dass da 
gepfuscht wurde, jetzt fliegt dir der Pfusch um die Ohren, und du suchst 
einen externen Schuldigen".

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Oliver S. schrieb:
> Antwort: die gleichen, die auf unzähligen identischen in den letzten 10
> Jahren gefertigten Boards einwandfrei funktioniert haben.
Ich habe schon mal nach einigen Jahren in Serie bei einem ADC ein 
Problem mit Spikes bekommen. Da hatten die Analogwerte dann bei jedem 
10. Wert große Ausreißer.

Vermeintliche Ursache: es wurde bei einem Fertigerwechsel lediglich ein 
anderer Elko verbaut. Eigentlich völlig unkritisch, allerdings hatte der 
einen etwas höheren ESR und konnte den Ripple vom schlechten 
Schaltregler nicht mehr ausreichend gut filtern.

Und die wirkliche Ursache des ganzen Übels? Das war das schlechte Layout 
des besagten Schaltreglers.

Daraufhin kam diese Seite zustande:
- 
https://www.lothar-miller.de/s9y/archives/46-EMV-Optimiertes-Schaltreglerlayout.html

> Damit sollte das Thema ADC-Initialisierung und Beschaltung erledigt sein.
Langer Rede kurzer Sinn: auch wenn was schon viele Jahre "problemlos" 
und "unverändert" funktioniert hat, muss das nicht bedeuten, dass da 
nicht doch ein Fehler im Design ist...

von M.A. S. (mse2)


Lesenswert?

Εrnst B. schrieb:
> ...du suchst einen externen Schuldigen".
Manchmal gibt es einen solchen. Bei uns hat mal ein Bestücker alle 
Widerstandswerte falsch bestückt. Das war noch leicht herauszufinden. 
Hätte er das mit Keramikkondensatoren gemacht, wäre es schwieriger 
gewesen.

von Oliver S. (oliverso)


Lesenswert?

Lothar M. schrieb:
>> Damit sollte das Thema ADC-Initialisierung und Beschaltung erledigt sein.
> Langer Rede kurzer Sinn: auch wenn was schon viele Jahre "problemlos"
> und "unverändert" funktioniert hat, muss das nicht bedeuten, dass da
> nicht doch ein Fehler im Design ist...

Das kann sein, aber sicher keiner in der Initialisierung, und wenn da 
keine Spezialhandstände dür die Beschaltung von ARef gemacht wurden, 
sind auch da die Möglichkeit für exotische Schaltungsfehler eher 
begrenzt.

Aber natürlich sollte der TO nachmessen, was da wirklich los ist.

Oliver

von Udo S. (urschmitt)


Lesenswert?

Εrnst B. schrieb:
> Wenn du dich so zierst die Details herauszurücken, ist das schon etwas
> Verdächtig in die Richtung "Da wurde gepfuscht, du weißt dass da
> gepfuscht wurde, jetzt fliegt dir der Pfusch um die Ohren, und du suchst
> einen externen Schuldigen".

Der TO wollte erst mal nur wissen ob hier jemand Kenntnisse über Chargen 
oder Versionen des benutzten µC hat die Probleme mit dem ADC verursachen 
können.
Da er wohl in einer Firma arbeitet hat er die genauen Testdaten evtl. 
gar nicht vorliegen oder darf sie gar nicht hier veröffentlichen.

Also versuch dich mal zu mäßigen und erst dein Gehirn einzuschalten, ehe 
du hier so herumpöbelst.

von Udo S. (urschmitt)


Lesenswert?

Wolfgang S. schrieb:
> Hallo,
> wir fertigen noch ein älteres Board, mit einem ATMEGA32-16AU.

Oliver S. schrieb:
> Antwort: die gleichen, die auf unzähligen identischen in den letzten 10
> Jahren gefertigten Boards einwandfrei funktioniert haben. Damit sollte
> das Thema ADC-Initialisierung und Beschaltung erledigt sein.
>
> Oliver

Sind jetzt der TO Wolfgang und Oliver die selbe Person?

von Oliver S. (oliverso)


Lesenswert?

Udo S. schrieb:
> Sind jetzt der TO Wolfgang und Oliver die selbe Person?

Nein.

Oliver

von Nemopuk (nemopuk)


Lesenswert?

Oliver S. schrieb:
> die gleichen, die auf unzähligen identischen in den letzten 10 Jahren
> gefertigten Boards einwandfrei funktioniert haben. Damit sollte das
> Thema ADC-Initialisierung und Beschaltung erledigt sein.

So einfach ist das nicht. Wenn man sich nicht an die Vorgaben/Grenzwerte 
aus dem Datenblatt hält, dann funktioniert es mit Glück (oft auch 
Millionenfach) und dann irgendwann plötzlich nicht mehr. Denn man hat 
unbewusst auf eine Eigenschaft gesetzt, die der Hersteller nicht 
zugesichert hat und jetzt "plötzlich" nicht mehr liefert.

Keine Ahnung, ob das bei dir der Fall ist. Aber wenn man schon um Hilfe 
bittet, sollte man diese Möglichkeit in Betracht ziehen und auf 
entsprechende Hilfsangebote eingehen.

Wenn du anders herum sicher bist, daß Microchip Schuld ist, und du 
keinen Bock auf eine technische Lösung hast dann verklage sie doch! Aber 
dann mit Hilfe eines Juristen. Wir können dir dabei nicht helfen.

: Bearbeitet durch User
von Roland F. (rhf)


Lesenswert?

Hallo,
Lothar M. schrieb:
> Vermeintliche Ursache: es wurde bei einem Fertigerwechsel lediglich ein
> anderer Elko verbaut.

Dann wäre es doch mal interessant herauszufinden was die defekten von 
den restlichen 5% funktionierenden Baugruppen und den seit 10 Jahren 
produzierten unterscheidet.

rhf

von Bruno V. (bruno_v)


Lesenswert?

Oliver S. schrieb:
> Das kann sein, aber sicher keiner in der Initialisierung, und wenn da
> keine Spezialhandstände dür die Beschaltung von ARef gemacht wurden,
> sind auch da die Möglichkeit für exotische Schaltungsfehler eher
> begrenzt.

Normalerweise wird so lange "gebastelt" bis es läuft. Oder positiv 
formuliert: Solange es nicht läuft, wird probiert. Wenn beispielsweise 
ein Register beim Einschalten zufällig immer richtig steht, merkt man 
nicht, dass es nicht beschrieben wird. Im Datenblatt steht zwar ein "u" 
statt "0", aber bei x =f(Erfahrung) Registern wird man nachlässig.

Du glaubst gar nicht, wie massiv die sorgfältige Inbetriebnahme eines 
ICs (egal ob ADC oder µC) unterschätzt wird.

(Ein Standard-Beispiel ist Clock-Stretching beim I2C, was Bastler wie 
ich zu Anfang nicht auf dem Schirm haben. Und mit "Nops" erfolgreich 
beheben: An der SW kann es also nicht liegen)

: Bearbeitet durch User
von Mi N. (msx)


Lesenswert?

Wolfgang S. schrieb:
> Ich bin gerade am klären, ob das ein Fehler von uns (Statik?) ist, oder
> ob das ganze Los von Atmels ICs ein Problem hat. Bevor ich mal einen
> manuell aufbaue und prüfe, dachte ich frage mal hier ....

Aktuelle Controller sind sehr robust. Mit Statik hatte ich auch bei 
4-stell. Anzahl noch nie Probleme. Einen Fehler beim Hersteller zu 
vermuten, ist äußerst gewagt. Das übliche Gescheie hier von Fake oder 
nach Abblockkondensatoren interpretiere ich als Inkompetenz.

Du mußt den Fehler (welchen überhaupt?) an einer defekten Schaltung 
selber finden. Sofern die Bestückung richtig ist, könnte ich mir noch 
einen Quarz vorstellen, der nicht richtig schwingt - aber auch nur als 
sehr vage Vermutung.
Messen, messen, messen.

: Bearbeitet durch User
von Hannes J. (pnuebergang)


Lesenswert?

Wolfgang S. schrieb:
> Im letzten Fertigungslos von 100 Stück gab es eine Ausfallquote von 95%,
> weil jedes mal der ADC nicht so tat wie er sollte.

D.h. du hast 95 defekte Platinen vor dir liegen die alle den gleichen 
Fehler zeigen? Also genug Experimentiermaterial.

Na dann mal frisch ans Werk.

Von ein paar defekten Platinen die ATMegas auslöten und sie in einer 
Versuchsschaltung mit minimalen Peripheriebauteilen testen.

Von einer defekten Platine Bauteil um Bauteil auslöten, jedes einzelne 
Bauteil direkt nach dem Auslöten vermessen und katalogisieren.

Wenn alle Bauteile ausgelötet sind die Platine "durchklingeln". Ebenso 
eine der defekten, aber voll bestückten Platinen "durchklingeln".

Auch, wenn du ran kommst und die Bestückungsanlage noch gerüstet ist, 
selber direkt vor Ort in der Fertigung Feeder kontrollieren was wo 
geladen ist. Teilenummer, Date Code, Batch Number etc. von den Rollen, 
Stangen, Trays notieren und die Markings auf den Bauteilen ebenso 
abgleichen.

Selber ist wichtig, überlass das, wenn es irgend geht, nicht einem 
Hilfsarbeiter dritter Klasse dem das alles sowieso egal ist.

Ist die Anlage nicht mehr gerüstet wenigsten die ganzen schriftlichen 
Infos, was angeblich wo war, was der Einkauf oder wer auch immer 
beschafft hat, usw, einsammeln.

Auch nachbohren woher das Zeug stammt, wo es gekauft wurde.

Alles was du an Bauteile-Infos gefunden hast mit dem Soll-Zustand 
abgleichen. Hat jemand "mal eben schnell" ein Bauteil ersetzt oder 
geändert?

Von mehreren Platinen die Software auslesen und vergleichen (wenn keine 
Lock-Bits gesetzt sind). Bei ein paar der defekten Platinen die Software 
neu aufspielen und nochmal die Platinen testen.

Aus der Versionskontrolle sowohl das Binary, als auch die Sourcen der 
aktuellen Version ziehen. Zusätzlich ein weiteres Binary aus den Sourcen 
neu bauen und vergleichen. Ebenso mit den ausgelesenen Binaries 
vergleichen. Aus der Versionskontrolle die letzten Änderungen ziehen und 
kontrollieren warum, wann, was und wo geändert wurde.

Älteres Binary aus der Versionskontrolle ziehen und auf eine der 
defekten Platinen aufspielen. Dann Platine testen.

> Bevor ich mal einen
> manuell aufbaue und prüfe, dachte ich frage mal hier ....

Einen aufbauen? Die Frage ist doch nicht ob dein Handaufbau 
funktioniert, sondern warum 95% der gefertigten Platinen nicht 
funktionieren. Du hast 95 aufgebaue Platinen zur Untersuchung des 
Fehlers.

> Der Prozess an sich (hätte ich gesagt) ist definitiv im Griff, wir
> fertigen das Board schon seit über 10 Jahren.

Welches Personal ist neu?

: Bearbeitet durch User
von Rainer W. (rawi)


Lesenswert?

Oliver S. schrieb:
> Aber natürlich sollte der TO nachmessen, was da wirklich los ist.

Das waren meine Worte. Und damit irgendjemand hier versteht, was da 
gemessen wurde, wäre ein minimales Schaltungsumfeld und eine Info über 
ADC- und Referenzkonfiguration ausgesprochen hilfreich.

Udo S. schrieb:
> Da er wohl in einer Firma arbeitet hat er die genauen Testdaten evtl.
> gar nicht vorliegen oder darf sie gar nicht hier veröffentlichen.

Wenn die Firma da so zugeknöpft ist, kann sie sich auch selbst drum 
kümmern, was da los ist. Dafür gibt es externe Dienstleister, die man in 
solchen Fällen hinzuziehen kann - mit NDA.

: Bearbeitet durch User
von Maik .. (basteling)


Lesenswert?

Da gibt es die tollsten Sachen. Ich hätte mal ein Projekt geerbt, da 
wurden Parametrier - Registerdaten eines ICs um ein Bit verschoben vom 
uC und dem darin implementierten Servicemenü seriell eingeschrieben. Der 
vorherige Entwickler hatte das dann wohl durch probieren zum laufen 
gebracht. Der Sofwerker war sich seiner Sache auch ganz sicher und das 
ganze hatte vorher in Serie ja auch schon funktioniert. Nur dass ich 
etwas EMV Filterei ergänzt und somit Phasenlagen und Pegel im zu 
parametrierenenden Analogteil dann nicht sinnvolle anpassen konnte. Bis 
ich da dann mal den seriellen Datenstrom angeschaut habe (ging ja 
vorher) hab ich als junger Ingenieur doch einige schlaflose Nächte 
gehabt...

Und die Leute,die hier immer nach viel Informationen schreien. Geht 
zurück in den Sandkasten.

Oft gibt es ja Branchenweite Erfahrungen, die aber niemand 
veröffentlicht, der nicht ausprobieren will, totgeklagt zu werden ...

von Wolfgang S. (wolfgangsch)


Lesenswert?

Vielen Dank für die viele Antworten, leider schießt das teilweise mit 
viel Hass ins Kraut. Das will ich aber nicht.

Wir hier haben schon das geflügelte Wort, "wurdest Du heute schon 
beschimpft"? Gemeint ist, ob man schon im Microcontroller-Forum war ;)
Es muss wohl mal jemand in die Fertigung un direkt am Gerät selber 
messen.

Danke für Eure Zeit, ich habe ein paar Ideen mitgenommen.

Wenn ich rausgefunden haben woran es lag, werde ich berichten.

MfG
 Wolfgang

: Bearbeitet durch User
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.