Forum: Mikrocontroller und Digitale Elektronik Atmega88 Testboard funktioniert nicht


von Pete (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich habe mir gestern für einen Atmega88 in SMD Bauform eine Testplatine 
geätzt um den ISP in Verbindung mit diesem µC zu testen.

Zunächst wird dieser anscheinend auch erkannt, nach kurzer Zeit jedoch 
-wie schon bei anderen Versuchen mit anderen Layouts- sehr heiß.

Ich habe ihn vllt. noch nicht gänzlich zerstört, aber irgendwo muss ich 
wieder einen Fehler gemacht haben.

Die Lötstellen habe ich zuvor im Gegenlicht bei 15-facher Vergrößerung 
überprüft.

Liegt der Fehler vllt. darin, dass ich in Eagle die SMD Bauteile einmal 
spiegel (für einseitige Platine) und ich dadurch den µC falsch herum 
auflöte ? Als Hilfe habe ich den Markierungspunkt auf das Board gesetzt.

Kann mir jemand helfen ?

LG Pete

von Helmut S. (helmuts)


Lesenswert?

Welches Netzteil hast du für die 5V verwendet?

von Klaus I. (klauspi)


Lesenswert?

Sorry, kann nur kurz antworten. Du verwendest aber keinen 28MLF und hast 
VCC und GND (pin 3 und 4) vertauscht?

von Pete (Gast)


Lesenswert?

Ich habe den USBASP Programmer (ISP-10) verwendet.

An den herausgeführten Pins für VCC und GND habe ich dabei auch die 5V 
gemessen.

von H.Joachim S. (crazyhorse)


Lesenswert?

sieht alles richtig aus.
Der Chip war schon mal benutzt?? Falls ja, schmeiss weg.

von Rudolph (Gast)


Lesenswert?

Also direkt nen Grund warum das nicht funktionieren sollte sehe ich 
spontan jetzt nicht.

Wie sieht das Ergebnis aus?

Ein Kondensator für drei Versorgungs-Pins ist etwas dünn, erstmal laufen 
wird der aber schon.

Der 10 polige Stecker für den ISP wurde von Atmel übrigens schon vor 
zehn Jahren oder so verworfen.

Und warum spiegelst Du alle Bauteile?
SV1 auf die Unterseite zu packen hätte in dem Fall doch völlig gereicht.
Wenn Du das Design im TOP Layer anlegst wird das auch nicht die ganze 
Zeit spiegel-verkehrt auf dem Bildschirm dargestellt.

von Pete (Gast)


Lesenswert?

@ Klaus: Ich verwende das TQFP Package (32).

@ crazyhorse: Nein, dieser Chip war neu. Ich habe nur schon andere 
Testplatinen für den Atmega88 in TQFP gemacht und bis jetzt leider noch 
nie wirklich erfolgreich.

Gruß Pete

von Unbekannter (Gast)


Lesenswert?

Der arme Kerl hat keinerlei Abblock-Kondensatoren...

von Pete (Gast)


Lesenswert?

Rudolph schrieb:
> Und warum spiegelst Du alle Bauteile?

Wenn ich das richtig sehe, müsste ich entweder die 6 SMDs spiegeln, oder 
den SV1 und die 10 wirepads.. Deshalb habe ich lieber die 6 SMD Bauteile 
genommen.

Rudolph schrieb:
> Der 10 polige Stecker für den ISP wurde von Atmel übrigens schon vor
> zehn Jahren oder so verworfen.

Der 6er würde ja reichen, ist aber nicht unbedingt leichter zu bekommen 
und 10er hatte ich gerade noch rumliegen.

Gruß Pete

von reiner1967 (Gast)


Lesenswert?

Pete schrieb:
> Liegt der Fehler vllt. darin, dass ich in Eagle die SMD Bauteile einmal
> spiegel (für einseitige Platine) <-- Der Programmierstecker ist aber schon auf 
der Oberseite?

von Pete (Gast)


Angehängte Dateien:

Lesenswert?

reiner1967 schrieb:
> Der Programmierstecker ist aber schon auf der Oberseite?

Also es wurde alles auf einer Seite gelötet. Der Wannenstecker selbst 
befindet sich auf der anderen Seite. Siehe Anhang.

Gruß Pete

von Rudolph (Gast)


Lesenswert?

Pete schrieb:
> Wenn ich das richtig sehe, müsste ich entweder die 6 SMDs spiegeln, oder
> den SV1 und die 10 wirepads.. Deshalb habe ich lieber die 6 SMD Bauteile
> genommen.

Deine Pads sind doch genau wie SV1 durchkontaktiert, die tauchen sowieso 
auf beiden Seiten auf.

> Der 6er würde ja reichen, ist aber nicht unbedingt leichter zu bekommen

Reichelt, "WSL 6G" oder mal ein wenig kleiner "MPE 369-1-006".
Da gibt es gar keinen Stress mit.

> und 10er hatte ich gerade noch rumliegen.

Ich musste mir für ein Pollin-Board mal extra einen Adapter schnitzen 
weil der einzige 10-pol ISP Adapter den ich habe ein AVR-ISP MK1 ist - 
und der hat mit seiner seriellen Schnittstelle seit Jahren ausgedient.


Also die Unbekannte hier scheint Dein Netzteil zu sein, wenn Du schon 
sicher bist, dass auf der Platine keine Kurzschlüsse sind.

von Datasheet (Gast)


Lesenswert?

Alle Bauteile kommen per Definition auf den Top Layer. So kriegt man ja 
einen Krampf. Es gibt natürlich auch Ausnahmen. In deinem Fall den ISP 
Stecker, den kann man dann natürlich auf den Bottom Layer machen, um ihn 
angelötet zu bekommen.
Ansonsten stimmt das Layout.
Durchklingeln!! Vor allem die Masse. Und nicht an den Pads, sondern auf 
dem Controllerpin.
Mach mal ein Bild von der Unterseite!

von H.Joachim S. (crazyhorse)


Lesenswert?

Bleibt in der Tat fast nur das Netzteil. Schönen fetten Überschwinger 
beim Einschalten? 8V und der MC ist tot.

von Thorsten O. (Firma: mechapro GmbH) (ostermann) Benutzerseite


Lesenswert?

Vielleicht hast du den µC beim Löten gegrillt? Wenn ich sehe, wie schief 
die Pins vom Pfostenstecker in der Landschaft stehen, scheint der ja 
auch deutlich zu warm geworden zu sein.

Mit freundlichen Grüßen
Thorsten Ostermann

von Pete (Gast)


Lesenswert?

Ich habe gerade noch einmal getestet und der Chip wird nicht (mehr?) 
heiß.

Ich bin mir gerade nicht einmal ganz sicher, ob er tatsächlich viel zu 
heiß geworden ist gestern (es war schon sehr spät...).

Der Atmega88 wird in der Bascom-AVR IDE als solcher erkannt. Ich kann 
ihn auch erfolgreich beschreiben und auslesen (sowohl Flash, als auch 
Fuses etc.).

Leider kann ich beim Ein-/ oder Ausschalten verschiedener Ports keine 
Änderungen feststellen (Multimeter, bis 20V). D0 ist bspw. immer ~5V, 
alle Pins an C liegen auf Masse.

Hier der Basic Code um D0 auszuschalten:
1
$regfile = "M88def.dat"
2
$crystal = 8000000
3
4
Config PORTD = Output
5
6
Do 
7
PORTD.0 = 0
8
Loop
9
10
End

Hat hier jemand eine Idee ?

LG Pete

von Pete (Gast)


Lesenswert?

Wäre das schon einmal bei jemandem vorgekommen, dass sich der µC flashen 
lässt und eine anschließende Verifizierung erfolgreich ist, aber der 
Controller trotzdem nicht tut was er soll ?

Ich dachte die Wahrscheinlichkeit wäre wesentlich größer, dass entweder 
Alles oder gar nichts mehr geht..

Grüße Pete

von Pete (Gast)


Lesenswert?

Wenn ich über (fast) das gleiche Programm einen Ausgang einschalten 
möchte, und ich übertrage das Programm auf einen Atmega88, der auf einem 
myAVR Board mit Programmer sitzt, funktioniert es.

Das gleiche Programm mit USBASP Programmer auf das SMD-Selbstbau-Board 
übertragen funktioniert es nicht. Die I/Os bleiben statisch.

Nach wie vor kann ich jedoch alles beschreiben und auslesen. Selbst wenn 
ich den Speicher komplett lösche messe ich an D2 bspw. 5V.

Nur kurz beim Flashen und deutlich länger beim Auslesen ist D2 low.

Kann mir jemand helfen ?

LG Pete

von Max H. (hartl192)


Lesenswert?

Hast du auch sicher keine Kurzschlüsse zwischen den Pins? Wenn nicht, 
würde ich darauf tippen, dass der µC, bzw. einige IOs kaputt sind.

von Pete (Gast)


Lesenswert?

Ok, wenn es vorkommen kann, dass der µC nur "teilweise" defekt ist, dann 
ist das wohl der Fall.

Wenn die Schaltung, sowie das Board sonst keine Fehler haben, muss ich 
das Board wohl noch einmal ätzen und löten.

Grüße Pete

von Pete (Gast)



Lesenswert?

Hallo,

ich habe eben eine zweite Version des Boards erstellt.

Ich habe die Stromversorgung über ein Labornetzteil realisiert (ohne 
ISP). Nach dem Einschalten erhöhte sich der Strom in etwa 5 Sekunden von 
0 auf 40mA.

Das sieht für mich wieder einmal nach einem Fehler aus :((

Ich habe vorher alle Lötstellen mit der Lupe überprüft und konnte 
außerdem zwischen VCC und GND keinen Durchgang messen.

Im Anhang finden sich Bilder der zweiten Version des Boards(+ RGB LED).

Ich bekomme das Ding einfach nicht zum Laufen. Kann mir jemand helfen 
den Fehler zu finden ?

LG Pete

von Datasheet (Gast)


Lesenswert?

Da du uns Deine "Lötkünste" wehement verheimlichst, denke ich mal es 
liegt daran.
Wenn du dir schon die Mühe machst alles nochmal zu fertigen warum nicht 
gleich richtig? SMD auf TopLayer? Da könnte man die Pins vergleichen 
ohne alles im Kopf zu drehen.

Wenn du durchpiepst ist es wichtig oben auf den Beinchen zu messen und 
nicht nur an den Pads. Kann vorkommen, dass die Lötstelle gut aussieht, 
aber doch kein richtiger Kontakt da ist. Vor allem alle 
Masseverbindungen prüfen. 40mA ist zu viel. War das ein neuer 
Controller?

von spess53 (Gast)


Lesenswert?

Hi

>Im Anhang finden sich Bilder der zweiten Version des Boards(+ RGB LED).

Wo ist der Unterschied zu Ersten? An VCC, VCC_2 und AVCC gehört z.B. 
jeweils ein 100nF nach Masse und nicht ein Kondensator für alle drei 
Anschlüsse.

MfG Spess

von Pete (Gast)


Angehängte Dateien:

Lesenswert?

Es scheint ja irgend etwas -wie so oft- schief gelaufen zu sein 
(Systematischer Fehler ?).

Ich denke nicht, dass die zwei fehlenden Kondensatoren zur Zerstörung 
des µC führten.

Ich habe einmal ein Bild des aufgelöteten Atmega88 hochgeladen. Ich kann 
keine Lötbrücken erkennen.

PS: Ich habe mir gerade noch einmal das Datenblatt angeguckt: Wenn ich 
das Pinout (Anhang) mit meinem Board vergleiche, scheint er tatsächlich 
falsch gedreht zu sein :O
Wenn ich das richtig sehe, hängt bspw. VCC bei mir an PC6.

Seht ihr das genauso ??

LG Pete

von Chrud (ruder)


Lesenswert?

Hallo

Also ich habs mir jetzt auch schnell angeschaut. Folgender Punkt ist mir 
aufgefgallen:

Hast du die RGB-LED schon am Controller dran? Wenn ja, probiers mal 
ohne.
Und wie gross sind die Widerstände R5-R7? Ich hab jetzt nämlich schnell 
das Datenblatt der LED überflogen. Die vertragen ja einiges an Strom 
(350mA). Soviel kann aber der ATmega88 nicht liefern.

Gruss

von Pete (Gast)


Lesenswert?

Hi,

nein die LED ist noch nicht dran und soll nur mit etwa 15mA pro Farbe 
betrieben werden (es handelt sich nicht um eine F50360).

Was sagt ihr zum TQFP-Pinout und meinem Board ? Ich fürchte die 
Markierung auf dem µC hätte von oben "durch" das Board gesehen werden 
müssen !?

Vergleich:

Pete schrieb:
> Atmega88_Testboard_2.1_brd.png

und

Pete schrieb:
> Pinout_Atmega88.png


Viele Grüße

von Rudolph (Gast)


Lesenswert?

Das Foto ist leider total grausam.
Aber wenn da oben links die Markierung ist, dann ist zumindest GND an 3, 
5 und 21 richtig angeschlossen.

von Pete (Gast)


Lesenswert?

Ja stimmt, er scheint tatsächlich richtig herum aufgelötet worden zu 
sein.

Welche Möglichkeit gibt es noch den Fehler zu finden ?

Ich kann zwar nicht unter den Chip gucken, aber aus der Perspektive des 
Fotos sind -auch bei starker Vergrößerung- keine verbundenen Pins 
erkennbar.

Hat noch jemand einen Tipp ?

Viele Grüße

von Klaus I. (klauspi)


Lesenswert?

Pin4?

von Markus (Gast)


Lesenswert?

Und mach doch zwischen den Pin 5 und 6 noch ein zusätzlicher 100nF 
Kondesator rein. Platz hast ja dort gut mit den Bahnen.

von Chrud (ruder)


Lesenswert?

Wird den bei einem Strom von 40mA der Controller warm? Oder ist dein 
Kondensator schlecht und der verheizt die ganze Leistung?

von Berni (Gast)


Lesenswert?

Pete schrieb:
> Do
> PORTD.0 = 0
> Loop

So ist der PIN immer 0 !

Do
Portd.0=0
wait 1
Portd.0=1
wait 1
Loop

So wechselt der Pin nach je einer Sekunde.

B.

von Pete (Gast)


Lesenswert?

Berni schrieb:
> So ist der PIN immer 0 !

Sollte er in dem Fall auch, tat er nur leider nicht. D.0 war immer High.


Klaus I. schrieb:
> Pin4?

Pin 4 sollte mit VCC verbunden sein (siehe Board).

Noch weitere Ideen ?

Viele Grüße

von Markus (Gast)


Lesenswert?

Pete schrieb:
> Noch weitere Ideen ?

Bring mal ein Bild von dem ganzen Board.
Zusätzlicher Cx bei Pin 5 und 6 eingefügt?

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.