www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik M32 verstehe Probleme nicht


Autor: Basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi.

Ich wende mich mit diesem problem an euch, weiol ich nicht mehr weiter 
weis.

Ich habe einen kleine Display-Controller programmiert. Ich lese Daten 
über i2C ein (software)und gebe diese über ein spi-soft-interface wieder 
aus. (ich habe nur die Software geschrieben)

Das ganze setup lief über wochen auf meinem Steckbrett und auf einem 
Lochraster-sample über ca 2 monate fehlerfrei. Dann haben wir das 
Hardware-layout begonnen, und exact  alles übernommen, allerdings SMD.

Nun haben wir ständig ausfälle, bei denen die Software stehen bleibt, 
oder das ganze abstürzt sobald man den M32 über 35°C erwärmt!?!?!?!?

Manchmal stürzt das ganze auch nach 5 sekunden ab und ich weiss nicht 
warum, wenn man den chip wechselt ist alles okay.

Ausser dem internen RC oszillator kann ich mir nichts anderes als 
fehlerquelle vorstellen?? Die software ist nicht timing-kritisch...

Autor: uCler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi Basti,

hast Du mal ein Schaltbild?

CNVss, Hld, Rdy - alles richtig ?

Gruss Udo

Autor: Björn Wieck (bwieck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Basti wrote:

> Nun haben wir ständig ausfälle, bei denen die Software stehen bleibt,
> oder das ganze abstürzt sobald man den M32 über 35°C erwärmt!?!?!?!?
>
> Manchmal stürzt das ganze auch nach 5 sekunden ab und ich weiss nicht
> warum, wenn man den chip wechselt ist alles okay.

Kalte Lötstelle oder Haarriss in der Platine...

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, welchen M32C meinst du ? Wir benutzen den M32C / 80er Group in 
extrem groesser Stueckzahl (>1M) und koennen diesen Fehler nicht 
bestaetigen.

Ich vermute auch sehr stark eine Kalteloestelle und ein Haarriss!

Autor: Basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nee, ich meine Mega32 (atmel)...

Autor: Basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kalte lötstelle schließe ich aus,

wenn ich den funktionierenden dann wieder gegen den vorherigen 
austausche, dann macht er den gleichen fehler, also er läuft ca 5 
sekunden, dann bleibt er stehen...

Autor: Björn Wieck (bwieck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Basti wrote:
> Kalte lötstelle schließe ich aus,
>
> wenn ich den funktionierenden dann wieder gegen den vorherigen
> austausche, dann macht er den gleichen fehler, also er läuft ca 5
> sekunden, dann bleibt er stehen...

Dann benutz doch einfach den funktionierenden weiter...
eventuell ist ja auch der M32 kaputt.
Falls der funktionierende auch ausfällt > siehe kalte Lötstelle

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hast du schon angefangen zu messen oder bist du noch am Fehler 
wegdefinieren ;-)

Ist die Stromaufnahme bei Breadboard und SMD Aufbau gleich? Ist der 
Atmega32 nach dem Ausfall (und abkühlen) wieder OK? Heizt der sich 
selbst auf (=> daher Strommessung oben), oder machst du das extern?

Autor: Dirk Hofmann (arm-dran)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Basti wrote:
> Kalte lötstelle schließe ich aus,
>
> wenn ich den funktionierenden dann wieder gegen den vorherigen
> austausche, dann macht er den gleichen fehler, also er läuft ca 5
> sekunden, dann bleibt er stehen...

Frage! Wie wechselst Du einen SMD Typ ständig hin und her????

Autor: dennis (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
welchen chip, den atnmega, oder einen enthaltenen spannungsregler, oder 
...

im betrieb wechseln!? passiert das selbe nochmal mit gewechseltem??

läuft er nach abkühlen wieder, wobei ich 35grad nicht als kritisch, 
bezeichnen würde!!

das kann so viel sein.

sind im layout kondensatoren zur blockung enthalten.
liegen timing kritische pfade nebeneinander!?

benutzt ihr vielleicht ein anderes netzteil!? andere welligkeit - kann 
zur störung führen!?

habt ihr vielleicht lange busleitungen die einstreuen angebracht!?

andere steckverbinder?

andere umgebung, vielleicht im wohnzimmer direkt neben dem geöffneten 
pc!?

habt ihr vielleicht einen anderen typen verwendet!?

naja, ich denke, bis man den intwernen rc oszillator,  in verdacht 
nimmt, sollte man vielleicht mal die restwelligkeit auf der 
versorgungsspannung messen, wäre doch ein guten anfang....
d.

Autor: Basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die ganze Hardware (Layout) habe ich om prinzip nur noch als fertiges 
produkt gesehen, nachdem ich das Sample abgeschickt hatte...

Es ist ein 220NF am 7805 und je einer am Mega32 und Mega8. Der Mega8 
Läuft im übrigen störungsfrei...

Wir haben zum Testen einen 100nf extra an jedes VCC/GND paar gelötet, 
aber das brachte keine veränderung. Als spannungsversorgung verwenden 
wir ein Labornetzteil. Das Oszi zeigt eine AAL-glatte 
eingangsspannung...

Wie gesagt das timing ist so unkritisch, ich könnte den Mega32 auch mit 
4 Mhz intern laufen lassen, nur dann braucht er mir so lange um zu 
rechnen... :-))

Wir haben hardwaremäßig alles ausgeschlossen, die Eingangswiderstände am 
i2c bus kleiner gemacht, es läuft immer darauf hinaus, das mit wechseln 
des IC alles I.O. ist. Aber ich halte 20% ausfallrate für nicht 
realistisch.

Ja wir erwärmen ihn langsam in einer klimakammer. Wie gesagt ich habe 
keine endgültige hardware bei mir, ich kann auch nur ahnen.

Es hätte ja sein können, dass jemand sagt: oh ja interner RC das ist 
sehr kritisch oder so...

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Es ist ein 220NF am 7805 und je einer am Mega32 und Mega8. Der Mega8
>Läuft im übrigen störungsfrei...


Bei Laengsreglern kommt ein 100nf am Eingang UND Ausgang, weil die sonst 
anfangen zuschwingen.

Autor: Björn Wieck (bwieck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Basti wrote:
> Die ganze Hardware (Layout) habe ich om prinzip nur noch als fertiges
> produkt gesehen, nachdem ich das Sample abgeschickt hatte...

> Wir haben hardwaremäßig alles ausgeschlossen, die Eingangswiderstände am
> i2c bus kleiner gemacht, es läuft immer darauf hinaus, das mit wechseln
> des IC alles I.O. ist. Aber ich halte 20% ausfallrate für nicht
> realistisch.

Wer hat die Platine hergestellt ?

Ihr selber ? > Kalte Lötstellen und Haarrisse...

Herstellen  lassen und selbst bestückt ? > Kalte Lötstellen

IC-Pins mit Fettfingern angegrabbelt ? > kein Kontakt!

keine Sorge, ist mir selber auch schon alles passiert.

Passiert mir sogar jetzt noch als ich mein Telefon auf Dauertest wegen 
der Batterielänge testen wollte: ab 3.97V wird der Gabelschalter nicht 
mehr erkannt.
Lösung: einfach mal den Fädeldraht etwas besser verzinnen > halbkalte 
Lötstelle

viel Spass beim Suchen

Autor: Basti (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So. Haben jetzt 100nf überall hingelötet, etc

Die lösung ist vieieiel simpler:
der inerne RC und die unwissenheit des Kunden. Der Kunde hat den I2C bus 
beschleunigt...(bzw benutzt ein anderes gerät als das mit dem alles 
getestet wurde...)
damit läuft die software bei 8mhz interner rc an der grenze des 
machbaren, erwärmt man die CPU, verringert sich die PWM frequenz also 
auch die CPU frequenz. Die software kann die daten nicht mehr vom bus 
lesen.

Autor: Björn Wieck (bwieck)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Basti wrote:

> Die lösung ist vieieiel simpler:
> der inerne RC und die unwissenheit des Kunden. Der Kunde hat den I2C bus
> beschleunigt...(bzw benutzt ein anderes gerät als das mit dem alles
> getestet wurde...)
> damit läuft die software bei 8mhz interner rc an der grenze des
> machbaren, erwärmt man die CPU, verringert sich die PWM frequenz also
> auch die CPU frequenz. Die software kann die daten nicht mehr vom bus
> lesen.

Derwegen sollst Du auch nie nicht den Internen OSC für timingkritische 
Sachen nehmen. Bau mal lieber einen Quarz dran...

Grüße Björn

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.