Problem mit ATmega32

Gast #3638908
Lesenswert?

Moin zusammen,

seit Freitag habe ich mein eigenes µC-Versuchsboard fertig. Kleine Info 
zur Hardware (die Probleme macht):

An PB0 - PB4 habe ich jeweils einen Taster angeschlossen.

Diese sind nach folgendem Schema angeschlossen:
µC <> Taster <> +5V
10k gegen Masse als Pulldown (im Plan noch 100k)
100n gegen Masse.



In der Software habe ich die Taster in der main.h bequemerweise 
vordefiniert -> #define Taster_1 (PINB & (1 << PB0)) usw... bis PB5

Die Eingänge sind (ich weiß nicht genau, ob das überhaupt nötig ist), 
nochmals als Eingang definiert -> DDRB &= ~((1 << DDB0) | (1 << DDB1) | 
(1 << DDB2) | (1 << DDB3) | (1 << DDB5));

Nun hat sich folgendes Phänomen ergeben: Wenn ich die Tasten drücke 
(egal welchen), soll in meinem Beispiel-Code lediglich ein Relais 
anziehen.
Das geht auch. Jedoch hatte ich spaßeshalber in der int(main) einfach 
ganz am Anfang ein Relais anziehen lassen und nach 2 Sekunden wieder 
abfallen lassen, bevor es in die while(1) geht...

Wenn ich nun den Taster drücke, geht das entsprechende (andere) Relais 
ein. Dies geht auch ein paar Mal gut. Jedoch scheint dann irgendwann der 
Controller dann wieder vorn vorne anzufangen, sprich das Relais aus der 
int(main) geht wieder für 2 Sekunden an und anschließend aus.

Das ist mit allen 5 Tastern der Fall. Nun habe ich zum Testen einen 
anderen Taster (an PC7) angeschlossen und entsprechend wie die anderen 
Taster konfiguriert: Dieser ist ohne Pull-Down-Widerstand und 
Kondensator beschaltet. Egal wie häufig ich diesen drücke, das Relais, 
was nur einmal anziehen soll (aus der int(main) ) zieht nicht an, sprich 
der Controller scheint sich damit nicht zu resetten.

Die Pegel an allen Tastern (auch dem "Test"-Taster sehen gut aus, die 
habe ich mit einem Scope nachgemessen. Der High-PEgel am Reset-Eingang 
des Mega32 ändert sich auch nicht, wenn das Relais wieder anzieht, 
obwohl es gar nicht anziehen soll.

Hat einer von euch eine Idee, wo da nun der Wurm drin ist!?
Angehängte Dateien:
Gast #3639490
Lesenswert?

Guten Morgen,

ich habe gerade euren Vorschlag ausprobiert und die 100n´s entfernt. 
Leider ohne Erfolg.

Ich habe noch nie die internen Widerstände verwendet, warum weiß ich 
auch nicht. Hat sich damals so ergeben, und diese "Angewhnheit" sitzt 
nun drin. Bisher gab es damit auch nie Schwierigkeiten.

Eine andere Spannungsversorgung habe ich auch schon dran gehängt, jedoch 
brachte das auch nichts.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren