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
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.
Habt ihr die richtige Taktrate für die Auflösung oder läuft er 'out of bounds'. AVCC richtig verdrahtet.
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
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.
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?
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
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.
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
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
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.
Spielt Ihr die Software selber auf oder kauft Ihr geflashte Controller?
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".
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...
Ε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.
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
Ε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.
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?
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
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
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
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
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
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
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 ...
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.