Forum: Mikrocontroller und Digitale Elektronik Was braucht ein ATmega8 zum Starten, bzw. Programmierung scheitert


von Martin Schröder (Gast)


Lesenswert?

Hallo,

bin relativer Anfänger und habe einen Haufen "Einsteigersachen" von 
einem Nachbarn bekommen, mit denen ich nun experimentiere. Nach den 
ersten kleinen Platinen mit LEDs, Tastern usw. ging es an ein erstes 
"richtiges" Projekt: Steuerung für eine Tür mit eigenem Layout.
Leider erhalte ich zum ATmega8 (den ich dazu bekommen habe) keine 
Kommunikation, der Programmer (AVR Dragon) kann zwar die Spannung der 
Leiterplatte auslesen (4.9V), aber weder die AVR ID, noch Fuses und/oder 
Lockbits schreiben (vom Programmcode mal ganz abgesehen).
Der Quarz schwingt einfach nicht (altes Oszi steht zur Verfügung)!!! 
Also bin ich mal auf Fehlersuche gegangen:
- Reset PIN am AVR ist normalerweise auf 5V, nur wenn ich den manuellen 
Reset Taster drücke geht es runter auf 0V (oder der Programmer aktiv 
wird/ist)
- PIN 1 vom Programmer (MOSI?) geht auf PIN 15 (PB3) am AVR
- PIN 5 ist an Reset des AVR (PIN 29) angebunden
- PIN 7 vom Programmer (Takt/SCK?) geht auf PIN 17 (PB5) am AVR
- PIN 9 vom Programmer (MISO?) geht auf PIN 16 (PB4) am AVR
- an PIN 3, 5 & 21 des AVR liegt GND an
- an PIN 4 & 6 des AVR liegen 5V an (genau: 4,94V)
- an PIN 18 des AVR liegen 5V über L=10uH an
- zw. PIN 7 & 8 liegt ein 14,7456 Quarz mit 27pF Keramik-Cs
- diese Leitungen habe ich komplett durchgepiepst/gemessen
- da es ein SMD AVR ist: es sind keine Brücken zw. benachbarten Pins 
vorhanden (ebenfalls durchgepiepst)
- Stromaufnahme der Schaltung ca. 5mA

=> der AVR ist noch total neu und unprogrammiert (habe schon den zweiten 
frisch ausgepackt und eingelötet). Warum schwingt der Quarz nicht an, 
bzw. warum komme ich nicht mit dem Programmer auf den uC drauf und kann 
die Fuses richtig für den Quarz einstellen? Wie gesagt Brücken sind 
nicht vorhanden, Qualm gab es auch nicht.
Was ich schon versucht habe: Quarz und Kondensatoren gewechselt => kein 
Erfolg. AVR ausgelötet (dabei kaputtgemacht...) und zweiten/neuen 
eingelötet => ebenfalls kein Erfolg.

Was mache ich bloß falsch?????

Gruß, Martin

P.S. einen ATmega habe ich noch, möchte den dritten aber ungern 
auspacken

von Der Bayer (Gast)


Lesenswert?

Fuse Bits ????

von Purzel H. (hacky)


Lesenswert?

Der Quarz schwingt nur wenn man ihm das auch so sagt, default ist der 
interne RC dran. Ich wuerd erst mal auf die Verkableung tippen. die muss 
eine Verbindung bringen. Einfach raten was deren funktion ist reicht 
nicht.
Dann...Ich wuerd mal auf die Fuses tippen. Da kann man viel falsch 
machen. Schau doch erst mal deren Initialzustand und deren Bedeutung an.

von Martin Schröder (Gast)


Lesenswert?

Wow, das war mehr als schnell...

Wie gesagt: ich würde gerne die Fuse Bits auf externen Quarz einstellen. 
Aber das muss der Programmer erst mal zulassen => macht er hier halt 
nicht...

Verkabelung habe ich schon doppelt und dreifach geprüft und oben extra 
noch einmal die PINs hingeschrieben die verbunden werden (dafür habe ich 
eine Adapterleitung statt des AVR Dragons/Programmiergerätes 
angeschlossen): Durchgang besteht wirklich von einem Ende bis auf den 
PIN am ATmega in der Schaltung.
Prüfe ich morgen aber wieder.

Gruß, Martin

P.S. andere ATmega8 ließen sich vorher und lassen sich immer noch 
problemlos mit gleichem Programmierkabel und AVR Dragon ansprechen, nur 
nicht in dieser Schaltung :=(

von Gregor B. (gregor54321)


Lesenswert?

Martin Schröder schrieb:
> P.S. andere ATmega8 ließen sich vorher und lassen sich immer noch
> problemlos mit gleichem Programmierkabel und AVR Dragon ansprechen, nur
> nicht in dieser Schaltung :=(

Das ist wohl die Lösung des Problems!

von Juergen (Gast)


Lesenswert?

Ein 100nF Keramik-Entkopplungskondensator kann auch nicht schaden.

von Magnus M. (magnetus) Benutzerseite


Lesenswert?

Martin Schröder schrieb:
> - da es ein SMD AVR ist: es sind keine Brücken zw. benachbarten Pins
> vorhanden (ebenfalls durchgepiepst)

Hast du den Controller evtl. verdreht (90°, 180°, 270°) eingelötet?

von Martin Schröder (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

@Gregor: deshalb ja meine Frage: was braucht dieser uC zum Start, bzw. 
was sind typische "Anfängerfehler"

@Juergen: 100nF sind 4 Stück im Abstand von ~8mm dran, zwei auf der 
"linken" Seite für die beiden VCC PINs, sowie zwei auf der rechten Seite 
für die AVCC und AREF Pins

@Magnus: nein. Habe auch wirklich am uC die PINs ab dem Punkt/PIN 1 
Markierung abgezählt und habe bis zum Programmer durchgepiepst


Was braucht ihr für weitere Infos? Habe mal zwei Bilder der Leiterplatte 
eingefügt. Nicht erschrecken: SMD Quarz und Kerkos habe ich 
versuchsweise gegen bedrahtete Elemnte getauscht, ISP Buchse habe ich 
beim Aus-/Einlöten des ersten uCs etwas angekokelt und zudem habe ich 
beim Auslöten eine Leiterbahn in der rechten unteren Ecke zerlegt...
Aber wie gesagt: keinerlei Kontakt der PINs untereinander und alle 
Verbindungen vom uC an den Stecker sind ok.

Gruß, Martin

von avr (Gast)


Lesenswert?

Hast du mal die ISP-Frequenz angeschaut?

Der "neue" Mega8 läuft nur mit 1 MHz. Wenn deine
ISP-Frequenz zu hoch ist geht nichts!

avr

von Edi R. (edi_r)


Lesenswert?

Martin Schröder schrieb:
> Leider erhalte ich zum ATmega8 (den ich dazu bekommen habe) keine
> Kommunikation, der Programmer (AVR Dragon) kann zwar die Spannung der
> Leiterplatte auslesen (4.9V), aber weder die AVR ID, noch Fuses und/oder
> Lockbits schreiben

Wenn der Dragon die Spannung richtig misst, ist das schon ein gutes 
Zeichen. Was meldet der Dragon, wenn Du die Fuses lesen willst?

Martin Schröder schrieb:
> Der Quarz schwingt einfach nicht (altes Oszi steht zur Verfügung)!!!

Das wird er erst, wenn Du die Fuses entsprechend gesetzt hast. Davor 
läuft der ATmega8 mit dem internen Taktoszillator. Vergiss also den 
Quarz vorerst.

von Martin Schröder (Gast)


Lesenswert?

GELÖST!!!

@avr: du bist mein Held des Wochenendes. Der Dragon stand zwar auf 1MHz 
im AVR Studio, aber bin nun mal auf 100kHz runtergegangen => dann konnte 
ich Device ID und Fuses lesen/schreiben. In den Fuses dann den externen 
Quarz eingestellt und Clock wieder hoch auf 1MHz => kein Problem!!!

ARGH, das hat mich einen uC gekostet (den ausgelöteten der Schrott ist), 
einen SMD Quarz, SMD Kerkos, 1,5 Tage nervliger Zusammenbruch...

Dabei steht bei der Programmierfrequenz im AVR Studio auch noch: Takt 
darf max. 1/4 des uC Taktes sein. Blöd nur, dass der Mega8 mit 1MHz 
interner Clock ausgeliefert wird. ARGHHHHHH.

Nochmals ein dickes danke für den entscheidenden Tipp.

Gruß, Martin

von avr (Gast)


Lesenswert?

Mach dir nichts draus.

Denn Fehler macht wohl jeder der mit AVRs loslegt
mal (und wenn er lernfähig ist nur ein mal).

Schönes Wochenende

avr

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.