PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : atmega8 defekt ?



goara
11.01.2009, 17:56
Halloo

habe an einen atmega8 3 Taster angeschlossen.
Wenn ich den 3. drücke wird die funktion3 ausgeführt.
Allerdings kommt es häfig, bzw sogar meistens vor, dass wenn ich den Taster 1 oder 2 drücke auch die Funktion vom 3. ausgeführt wird.
Am code liegt es sicherlich nicht, der ging schon mal.
Kann das sein das der Atmega einfach kaputt ist, bzw macht dieser Fehler sinn oder hatte schon mal jemand ähnliche Probleme?

Danke shcon mal.

Besserwessi
11.01.2009, 18:22
Das spricht etwas für ein Hardware Problem. Der Chip selber wird aber wohl kaum defekt sei. Eher schon eine kalte Lötstelle oder ein instabile Spannungsregelung.

goara
11.01.2009, 18:45
die Schlatung ist eigentlich so einfach, dass da nichts falsch dran sein kann ;) aber ich werde es mal durchmessen..

Hubert.G
11.01.2009, 20:12
Wie wäre es wenn du die Schaltung posten würdest, dann könnte man dir vielleicht einige Tips geben.

goara
11.01.2009, 21:43
Schaltung ist folgende:

3 Taster zwischen je einem Eingangspin und GND, sowie jeweils ein 1K Pullupwiderstand dahinter.
Mehr ist da nicht. Wüsste nicht was man da falsch machen kann ;)

Hubert.G
11.01.2009, 22:03
Es ist nicht gut einen Fehler auszuschließen, wenn man es nicht exact ausgetestet hat. Die Palette der möglichen Fehler ist daher auch groß.
Die Spannung auch schon getestet?
Kann eine Funktion den µC oder Spannungsquelle überlasten.

Besserwessi
12.01.2009, 19:26
Das Problem bei vielen Fehler ist ja gerade das man nicht weiss das es falsch ist. Sind dann alle GND und VCC anschlüße angeschlossen und mit geeigneten Abblockkondesatoren versorgt. Unbegte Anschlüsse für einen externen Interrupt oder ähnliches können auch ein Problem werden.

goara
12.01.2009, 22:23
vcc und gnd sind 100nF direkt neben dem uC geglättet.
benutze keine Interrupts, sondern eine Schleife über alle taster die wenn eine Taste gedrückt ist jeweils einen Wert setzt.
Die Schaltung ging so wie sie jetzt ist vor einer Woche auch noch.. nur jetzt irgdnwie nicht mehr..
bin immer noch nicht zum durchmessen gekommen sorry :( aber danke für die tips..

goara
28.01.2009, 21:48
so habe den Fehler gefunden, und zwar war die Leitung von vcc zu den Pullupwiederständen defekt. Allerdings hatte ich auch interne Pullups aktiviert, das sollte dann doch ohne die zusätzlichen gehen ??

uwegw
28.01.2009, 23:00
Es würde in störungsarmer Umgebung wohl auch meist mit den internen gehen. Aber: durch deinen Fehler wurden die nicht gedrückten Kanäle über die miteinander verbundenen 1k-Pullups ebenfalls auf Masse gezogen. Mal dir mal den Schaltplan hin, mit den relativ niederohmigen externen und den relativ hochohmigen (~50..100k) internen Pullups. Dann siehst du, was ich meine.

goara
28.01.2009, 23:46
ahh ok, das macht Sinn..
d.h. wenn ich die Externen weggelassen hätte gäbe es das Problem nicht.
Dann lass ich diese unnötige Fehlerquelle jetz mal weg ;)
Danke für die Hilfe

Besserwessi
29.01.2009, 17:59
Je nach umgebung kann man über kapazitive Kopplung sich schon mal leicht was einfangen. Ich hatte selbst über Optokoppler da mal viel Probleme. Zusätzlich zum relativ niederohmigen externen Pullup (ca. 10 K) habe ich noch einen kleinen Kondensator gegen GND benutzt. Das hat dann geholfen. Nur der internen Pullup und einen Kondensator (z.B. 50 pF) sollte auch schon recht unempfindlich sein.