Forum: Mikrocontroller und Digitale Elektronik Problem mit ATMega1284P


von Johannes V. (j-v)


Angehängte Dateien:

Lesenswert?

Hallo Miteinander,

ich habe momentan ein Problem mit einer Schaltung, in der ein 
AtMega1284P seinen Dienst verrichten soll.
Es handelt sich im Grunde um eine kleine Steuerrung mit 4x20C LCD und 
Drehencoder als Auswahlgerät.

Wenn ich das ganze auf dem STK500 aufbaue, dann funktioniert alles wie 
es soll. Auf meiner Platine allerdings nicht. Ich habe den Schaltplan 
mal angehängt. Sollte das Layout noch benötigt werden, würde ich das 
auch einstellen. Mir ging es primär darum zu erfahren, ob ich bei der 
Beschaltung des ATMegas Grundlegende Fehler gemacht habe.

Der Fehler äussert sich so, daß der Controller überhaubt nicht startet.

Offensichtliche Fehler wie defekte Leiterbahnen u.s.w habe ich schopn 
ausgeschlossen.

Ich wäre für jede Hilfe Dankbar !

Johannes

von Rokko der Rabe (Gast)


Lesenswert?

Schau Dir mal Deinen Reset-Pin an.

von Blackbird (Gast)


Lesenswert?

Was ist das für eine komische grüne Leitung am /RESET?

Blackbird

von Johannes V. (j-v)


Lesenswert?

Hallo,

die grüne Leitung geht vom Rst des ISP-Steckers zum Reset-PIN. Ich 
dachte,
das wäre so in Ordnung?

von Sepp (Gast)


Lesenswert?

Die Reset-Leitung ist vermutlich ungünstig gezeichenet.

Frage: Schwingt der Quarz? Fuse einstellung hierzu?

Beim STK500 ist "diese Ecke" meines Wissens etwas
anders gelöst, der STK500 hat einen eigenen Oszillator
am Quarzsockel.

von Johannes V. (j-v)


Lesenswert?

Hallo Sepp,

der Quarz hat keinen eigenen Sockel. In diese Richtung gingen meine 
Überlegungen auch schon. Wie kann ich überprüfen, ob der Quarz 
funktioniert?
Wenn ich den AtMega in das STK500 einbaue und versuche das ganze ohne 
Quarz zu betreiben, so dann läuft der Controller kurz an und häng sich 
dann auf.

Die Fuses sind :

CKSEL0 gesetzt
CKSEL1 gesetzt
CKSEL2 gesetzt
CKSEL3 gesetzt
SUT0   gesetzt
SUT1   gesetzt
CKOUT  n. gesetzt
CKDIV8  n. gesetzt
BOOTRST n.gesetzt
BOOTSZ0 gesetzt
BOOTSZ1 gesetzt
EESAVE  n. gesetzt
WDTON   n. gesetzt
JTAGEN  gesetzt,
OCTEN   n. gesetzt
BODLEVEL 0 bis 2 n. gesetzt.

Johannes

von jonas biensack (Gast)


Lesenswert?

Nemm mal ein hex file von dem du sicher bist das es läuft (irgendein 
LED-blink-Ding) und schau ob sich das auch "aufhängt". Das Schwingen von 
Quarzen kann man sich mit einem Oszilloskop anschauen.

von Johannes V. (j-v)


Lesenswert?

Das mit dem LED-blinken habe ich schon gemacht.
Funktioniert aber leider auch nicht. Was für ein Signal kriege ich den 
vom
Quartz? Ist das eine Sinusschwingeung mit der Tackfrequenz zwichen +5V 
und GND?

Seid Ihr der Meinung, daß der Aufbau ansonsten prinzipiell in Ordnung 
ist?
Wenn ja, würde ich die selbe Platine nochmal anfertigen, vielleicht ist 
ja es ja eine kalte Lötstelle.

Gruß Johannes

von jonas biensack (Gast)


Lesenswert?

Dann löt halt nochmal alles nach, wo ist problem? Durchgangsprüfer auf 
die eine Seite, Lötkolben auf die andere und dann ran.

gruß jonas

von Blackbird (Gast)


Lesenswert?

> die grüne Leitung geht vom Rst des ISP-Steckers zum Reset-PIN. Ich
> dachte,
> das wäre so in Ordnung?

Das ist in Ordnung. Aber das glaube ich Dir nicht, das Du es auch so 
gemacht hast. Du wolltest es tun, und hast eine Leitung in Eagle 
gezogen, aber sie ist nicht mit dem /RESET des µC verbunden. Da fehlt 
der grüne Punkt, den Eagle setzt, wenn eine (elektrische) Verbindung 
zustande gekommen ist.

Wenn doch, alles nachlöten.


Blackbird

von Johannes V. (j-v)


Lesenswert?

Achso,
der Plan ist mit KiCAD gezeichnet. Die Verbindung ist vorhanden. Seid 
Ihr den der Meinung, daß die Grundbeschaltung des ATMega ansonsten in 
Ordnung ist?

Gruß Johannes

von Sepp (Gast)


Lesenswert?

Die Sicherungseinstellung kann ich im Moment nicht
nachprüfen.
Aber versuche doch folgendes:
Im STK500: ATMEGA1284 Signatur auslesen, beim AVR-Studio kommt die 
Meldung
 ob Signatur mit eingestellten µP übereinstimmt zusätzlich.
Dito mit deiner Platine ausprobieren, die ISP Schnittstelle
vom STK500 verwenden, halt nicht am "roten" 6poligen Stecker sondern
an deiner Platine anstecken. Signatur auslesbar?

Beachte dabei bitte noch: Hat deine Platine eine EIGENE Stromversorgung
den "Vtarget"-Jumper auf dem STK500 ziehen, sonst arbeiten zwei
Versorgungen gegeneinander.

Wenn du die Signatur in beiden Fällen lesen kannst, hat der Atmega
zumindest seinen Takt, ob der richtigen sei erst mal dahingestellt.

Wenn Signatur nur auf dem STK500 lesbar ist, liegt es vermutlich am 
Quarz.
Stell den Atmega erst mal auf internen Takt, (mit dem STK500) dann
nochmal Signatur auslesen. Sollte dann gehen.

Und keine Sorge mit "verfusen" der STK500 hat glücklicherweise die
Möglichkeit der "High-Voltage-Programmierung" damit lassen sich verfuste
Atmegas retten. Wie die HV-Progrmmierung geht ist in der Anleitung
recht gut beschrieben.

von Εrnst B. (ernst)


Lesenswert?

Nicht dein Problem, aber:

Der Kurzschluss zwischen dem ARef-Pin mit zugehörigem Kondensator und 
+5V macht keinen Sinn.

von Johannes V. (j-v)


Lesenswert?

Problem gelößt,

FUSES waren nicht korrekt. Vielen Dank für Eure Hilfe !

Johannes

von jonas biensack (Gast)


Lesenswert?

Gutes Ding!

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.