Forum: Mikrocontroller und Digitale Elektronik Atmega32 - "Halb" kaputt?


von AtmegaZerstörer (Gast)


Lesenswert?

Hi, habe ein seltsames Problem.

Mein mC scheint über Nacht kaputt gegangen zu sein.
Habe nun zum Testen eine Grundschaltung mit einem MK2 Programmer und 
einer LED an PortA/Pin0 angeschlossen.

Nun ist es so, dass ich den mC via Atmel Studio programmieren und auch 
Fuses setzen kann, soweit scheint alles zu funktionieren.
Aber irgendwie hab ich das Gefühl, dass der mC danach garnicht erst 
startet. Die LED bleibt aus, Spannung liegt am Pin nicht an. Hab auch 
verschiedene Ports/Pins ausprobiert.
Pinouts:

-MK2
MOSI - MOSI
MISO - MISO
SCK - SCK
RST - RST
VCC - +5V
GND - 0V

-Atmega32
MOSI, MISO, SCK, RST siehe oben
VCC/AVCC - +5V
GND/GND - 0V
PA0 - LED (PA0 -> LED(interner Vorwiderstand, 5V) -> 0V)

Programm:
1
#define F_CPU 1000000UL
2
#include <avr/io.h>
3
#include <util/delay.h>
4
int main(void)
5
{
6
  DDRA = 0xFF;
7
  while(true){
8
    PORTA ^= 0xFF;
9
    _delay_ms(1000);
10
  }
11
}
Dabei benutze ich den internen 1mhz Takt. Auch mit einem 16mhz Takt 
(Schaltung entsprechend erweitert) tut sich nichts. Das nur 
Vollständigkeitshalber.
Wie gesagt, es tut sich nichts...

Schöne Gruß und danke

von Marcus P. (marc2100)


Lesenswert?

Hi,
du hast aber schon einen Pullup-R von Reset nach Vcc, oder?

Gruß
Marcus

von AtmegaZerstörer (Gast)


Lesenswert?

Hab RST ja direkt am Programmer :)

von Spess53 (Gast)


Lesenswert?

Hi

>Hab RST ja direkt am Programmer :)

Und wie ist der Pegel an RESET nach dem Programmieren?

MfG Spess

von AtmegaZerstörer (Gast)


Lesenswert?

Spess53 schrieb:
> Und wie ist der Pegel an RESET nach dem Programmieren?
Ich messe -2V, das sollten doch +5 sein, oder? oO

von Marcus P. (marc2100)


Lesenswert?

Ja, deshalb gehört da auch ein Pullup dran :)

von AtmegaZerstörer (Gast)


Lesenswert?

Kann aber eigentlich garnicht sein, habe das Teil bis jetzt immer(!!!) 
so betrieben, ohne irgendwelche Probleme.

von Ingo (Gast)


Lesenswert?

Schaltbild...

von Marcus P. (marc2100)


Lesenswert?

In der Zeit, die du jetzt gemessen/geschrieben hast, hättest du es 
einfach mit dem Widerstand versuchen können...aber man kann ja auch 
lieber noch 2h einen Fehler suchen..

Gruß
Marcus

von AtmegaZerstörer (Gast)


Lesenswert?

Ingo schrieb:
> Schaltbild...
Hab leider keine Software da, um einen zu erstellen. Aber das habe ich 
doch oben beschrieben.

Marcus P. schrieb:
> In der Zeit, die du jetzt gemessen/geschrieben hast, hättest du es
> einfach mit dem Widerstand versuchen können...aber man kann ja auch
> lieber noch 2h einen Fehler suchen..
Naja, Sonntags hat man ja Zeit. Nein Spaß, also einen Widerstand 
zwischen dem MK2 und mC? Aber müssen das 10k Ohm sein? Müsste ich mir 
mit kleineren sonst zusammenbauen, 10k hab ich nicht da...
Aber das mal außer acht, eigentlich kann es doch daran garnicht liegen, 
oder? Ich meine ich habe das Teil jetzt schon soo lange ohne Probleme 
betrieben und außerdem habe ich gelesen, das bei einfachen Schaltungen 
ein Pullup nicht erforderlich ist, da ein interne Pullup-Widerstand 
eingebaut ist.
Also muss das Problem doch wo anders sein...

von Disku (Gast)


Lesenswert?

AtmegaZerstörer schrieb:
> Ich messe -2V, das sollten doch +5 sein, oder? oO

AtmegaZerstörer schrieb:
> Also muss das Problem doch wo anders sein...

Dann such mal wo die -2V herkommen.

von Michael (Gast)


Lesenswert?

Ich habe einen Mega1284P auf dem STK500, Programmieren und Lesen geht 
alles normal.

Das Programm startet allerdings auch nicht.

Fuses sind auf Int. Oszi. Aber selbst wenn ich einen Quarz oder Ext. 
Takt ranhänge und die Fuses entsprechend anpasse tut sich nichts.
Wenn ich den Controller gegen einen anderen 1284P tausche funktioniert 
alles wie erwartet!

Dabei ist es auch egal ob ich mit dem ISP des STK500 programmiere oder 
dem mySmartUSB light (angeschlossen am STK500).

Ich möchte jetzt ungern 6 Euro in die Tonne hauen, ist immerhin fast ein 
Schnitzel :)

von Dietrich L. (dietrichl)


Lesenswert?

In der "Schaltung" wurde auch noch kein Stützkondensator zwischen +5V 
und 0V erwähnt.

Und bzgl. 10kOhm am Reset:
AtmegaZerstörer schrieb:
> eigentlich kann es doch daran garnicht liegen,
> oder? Ich meine ich habe das Teil jetzt schon soo lange ohne Probleme
> betrieben

So weit richtig, aber wenn man Fehler sucht, sollte man solche 
potentielle Schwachstellen erst einmal eliminieren, besonders, wenn das 
ganz einfach ist - es muss auch nicht genau 10k sein.

Gruß Dietrich

von AtmegaZerstörer (Gast)


Lesenswert?

Disku schrieb:
> Dann such mal wo die -2V herkommen.
Bin dabei... werde vorsichtshalber mal den USB-Treiber neu 
installieren...wer weiß.

Dietrich L. schrieb:
> In der "Schaltung" wurde auch noch kein Stützkondensator zwischen +5V
> und 0V erwähnt.
Hab ich, hab´s nur vergessen zu erwähnen...

Dietrich L. schrieb:
> So weit richtig, aber wenn man Fehler sucht, sollte man solche
> potentielle Schwachstellen erst einmal eliminieren, besonders, wenn das
> ganz einfach ist - es muss auch nicht genau 10k sein.
Hab jetzt 3x 680 Ohm.

Naja, ich schau mal, ob ich irgendwie herausfinde, woher die -2V 
kommen... versteh ich nicht oO

von AtmegaZerstörer (Gast)


Lesenswert?

Erschlagt mich wenn ihr wollt.
Meistens sollte man doch, wenn man nicht weiterkommt, einfach mal 
gucken, ob das Problem vielleicht kleiner ist, als man annimmt...
Eine Stelle hatte kein Kontakt mit dem Board... so ein Mist!

Aber so am Rande. Ist es normal, dass ich die Resetleitung abbauen kann, 
sodass RST unbelegt ist, und dass der mC dann einfach weiter läuft?

von Marius W. (mw1987)


Lesenswert?

Klar kannst du den externen Reset deaktivieren. Dafür gibts ja 
schließlich die RSTDISBL-Fuse. Aber das WILLST du nicht wirklich. Damit 
verlierst du nämlich jede Möglichkeit, mit deinem Programmiergerät auf 
den µC zuzugreifen.

Gruß
Marius

von Dietrich L. (dietrichl)


Lesenswert?

AtmegaZerstörer schrieb:
> Ist es normal, dass ich die Resetleitung abbauen kann,
> sodass RST unbelegt ist, und dass der mC dann einfach weiter läuft?

Ich bin mir nicht sicher, was Du unter "abbauen" verstehst, daher mal 
auf Verdacht:

Bei offenem RESET-Pin geht der Pegel auf "High", d.h. der µC verlässt 
nach Einschalten den Reset-Zustand und läuft und läuft ....

Der zusätzliche Ziehwiderstand wird empfohlen,
- damit der Programmer an der Reset-Leitung sicher ein High-Pegel 
erkennt (AVRISP MKII empfiehlt einen Widerstand von minimal 4,7kOhm),
- damit der µC (ohne Programmer) nicht so störempfindlich ist und sich 
auf der Reset-Leitung was einfängt, das dann einen Reset auslöst (der 
interne Pullup ist recht hochohmig). Hier hilft auch ein zusätzlicher 
Kondensator zwischen Reset und GND.

Gruß Dietrich

von AtmegaZerstörer (Gast)


Lesenswert?

Perfekt, danke für die Erklärungen!

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.