Forum: Mikrocontroller und Digitale Elektronik atmega8 problem bei der fehlersuche


von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Hallo.
Ich erbitte Hilfe bei folgendem Problem:
Erstmal zu meiner Ausstattung ich benutze zum Programmieren einen 
USB-ISP Adapter und AVR Studio 4.
Ich habe die Schaltung gemäß dem Schaltplan aufgebaut. Es funktionierte 
auch alles einwandfrei. Ich habe mit dem Display rumprobiert, um mich 
ein wenig in die Materie einzufuchsen. Ohne besonderen Grund 
funktionierte die Schalutng dann nicht mehr. Am Anfang war mein 
Verdacht, dass ich mich ausgesperrt habe, also die Fusebits iwie 
verstellt habe. Doch besteht nach auswechseln des Atmega8 durch einen 
neuen, immernoch das gleiche Problem. Ich bin echt ratlos und mir gehen 
die Ideen aus. Abfinden will ich mich aber auch nicht, da es ja bereits 
funktioniert hat.
Ich erhalte mit meinen Programmieradapter auch eine Verbindung und kann 
den µC ohne Fehlermeldung flashen.
Folgende Fehlerquellen habe ich ausgeschlossen:

-Spannung liegt an (sowohl an Vcc als auch AVcc)
-keine Kurzschlüße

Was seltsam ist, ist dass ich eine LED leuchten lassen will. Dazu muss 
ich den entsprechenden Port auf Masse ziehen. Es liegen aber 3,9V an. 
Das sind dann wohl die 4,xV des 7805 abzüglich des Spannungsabfalls über 
der Diode oder? Also passiert rein gar nix am PIN des µC?

Hoffe jemand von euch hat eine Idee.

MfG

von Volker R. (pcl86)


Lesenswert?

Hallo,

verstehe ich dich richtig, dass du die Schaltung von Anfang an so 
aufgebaut hattest, dass das, was du machen wolltest zuerst funktioniert 
hat, und dass dann beim Herumprobieren mit dem Display plötzlich nichts 
mehr ging?

Was mich an deiner Schaltung etwas wundert, ist, dass du nur 10p 
Lastkapazitäten am Quarz hast. Hier sind i.d.R. je 22p angesagt.
Außerdem würde ich die offenen Datenleitungen des LCD mit je 10K (oder 
ähnlich) an Masse hängen. Ich hatte schon Displays, die brauchten dies, 
da sie sich mit offenen Eingängen nicht initialisieren ließen.

So, das wäre erstmal das, was mir auf die Schnelle so einfällt... immer 
unter der Voraussetzung, dass mit deinem Programm alles in Ordnung ist.

Vllt. kannst du das ja mal posten.
Gruß
Volker

von Alex (Gast)


Lesenswert?

Hi.
Also explizit am Display liegt es nicht. Ich habe das Display 
drangehängt und damit rumexperimentiert und es funktionierte alles wie 
gewollt.
Vergessen zu erwähnen habe ich, dass ich den Quarz noch nicht 
angeschlossen habe und den Atmega mit internem Takt versorge. Die 
Datenleitungen die ich nicht nutzte habe ich auf GND geschalten. 
Allerdings ohne 10k Widerstände.
Aber am Display liegt es nicht, da es zurzeit gar nicht angeschlossen 
ist.
Mein Programm stimmt. Es ist nur das schalten eines PORTS auf Ausgang 
und dann das setzten des PINs an dem die LED hängt auf LOW.

Was mich wurmt ist die eingeschränkte Möglichkeit der Fehlersuche, da 
ich ihn programmieren kann ohne Fehlermeldung.

MfG

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Alex schrieb:
> Hallo.
> Ich erbitte Hilfe bei folgendem Problem:
...
> Ich habe die Schaltung gemäß dem Schaltplan aufgebaut. Es funktionierte
> auch alles einwandfrei. Ich habe mit dem Display rumprobiert, um mich
> ein wenig in die Materie einzufuchsen. Ohne besonderen Grund
> funktionierte die Schalutng dann nicht mehr.
...
>
> Was seltsam ist, ist dass ich eine LED leuchten lassen will. Dazu muss
> ich den entsprechenden Port auf Masse ziehen. Es liegen aber 3,9V an.
> Das sind dann wohl die 4,xV des 7805 abzüglich des Spannungsabfalls über
> der Diode oder? Also passiert rein gar nix am PIN des µC?
>
Also, welchen Port bzw. Portpin meinst Du genau ?
In deinem Schaltplan gibt es den PortC0, welcher Low-Aktiv ist.
Zudem stellt sich hier die Frage, ob Du eine Low-Current LED verwendest 
oder eine ultrahelle bzw. weiße, da hier der Vorwiderstand mit 1k5 
relativ hoch ist.

Der andere Portpin ist PC2, welcher alderdings High-Aktiv ist.

Was für eine Durchflußspannung bestitzen Deine LEDs ?

Die Resetbeschaltung würde ich an deiner Stelle der sonst üblichen und 
von ATMEL vorgeschlagen anpassen. Zudem empfiehlt es sich noch einen 
Reset-Taster hinzu zu fügen.
Um zu sehen ob mein Programm überhaupt abgearbeitet wird, verwende ich 
meistens eine LED die ca. im Sekundentakt zum blinken gebracht wird, 
wenn das Programm abgearbeitet wird.

Die 4,xV des 7805 sollten mindestens 4,8xV normalerweise 4,9xV direkt am 
Outpin sein. Die Diode die den - deiner Meinung nach - Spannungsabfall 
verursachen soll, ist auf dem Schaltplan nicht zu sehen.

> Hoffe jemand von euch hat eine Idee.
>
> MfG

http://www.mikrocontroller.net/attachment/105706/Displaymodul.png

So, das waren erstmal meine Ideen hierzu.

Bis dann
Bernd_Stein

von Fabian (Gast)


Lesenswert?

Wie hoch ist die Eingangsspannung deiner Schaltung?

von Alex (Gast)


Lesenswert?

Ich benutze als Linearregler den 7805, der 4,9 V ausspuckt.

@Bernd Stein
Ja es ist eine Low Current LED. Und die LED funktioniert auch, dass habe 
ich getestet indem ich den µC überbrückt habe.
Spielt es eine Rolle an welchem PIN meine LED hängt? Eigentlich nicht 
oder.
Ich will meinen ATmega genau wie du testen indem ich die LED zum 
leuchten bringe.
Die LED hat auch schon geleuchtet. Wiegesagt, ich hatte die Schaltung in 
Betrieb und es hat alles funktioniert. Dann ist irgendwas kaputt 
gegegangen und den Fehler suche ich grade.
Erschwert wird dies wiegeagt dadurch, das mein AVR Studio keinen Fehler 
meldet. Die Schaltung auch funktioniert hat und die Schaltung auf 
eventuell fehlerhafte Teile getestet wurde.
Ich bin echt ratlos.
MfG

von Bernd S. (Firma: Anscheinend Corner-Cases ;-)) (bernd_stein)


Lesenswert?

Alex schrieb:
...
> Spielt es eine Rolle an welchem PIN meine LED hängt? Eigentlich nicht
> oder.
>
Also je nach dem. Wenn Du ihn toggelst nicht. Da aber bei Dir die eine 
LED an PC0 Low-aktiv ist und die andere LED an PC2 High-aktiv,
spielt es sogar eine maßgebliche Rolle. Und da Du in deinem Posting 
folgendes schreibst :

...
" Was seltsam ist, ist dass ich eine LED leuchten lassen will. Dazu muss
ich den entsprechenden Port auf Masse ziehen. Es liegen aber 3,9V an. "
...
bedeutet das, wenn es sich um PC2 handelt, die LED aus ist.


Das 3,9V anliegen, könnte daran liegen, das Du evtl. das Portpin nicht 
als Ausgang sondern als Eingang mit internem Pull-Up oder auch ohne 
konfiguriert hast.

Zeig uns doch mal dein Programm !!!
>
> Ich will meinen ATmega genau wie du testen indem ich die LED zum
> leuchten bringe.
> Die LED hat auch schon geleuchtet. Wiegesagt, ich hatte die Schaltung in
> Betrieb und es hat alles funktioniert. Dann ist irgendwas kaputt
> gegegangen und den Fehler suche ich grade.
>
Dann Schreib erstmal nur ein klitzekleines Progamm indem Du nur die LED 
einschaltest. Ansonsten soll dein Programm nichts weiteres tun.
>
>
Bernd_Stein

von Alex (Gast)


Lesenswert?

Hallo.
Habe den Fehler zufällig gefunden. Es ist ein dummer Fehler, ich könnt 
mir in den Arsch beißen. Im Programmer habe ich das Häckchen für "Erase 
device bevore flash programming" iwie deaktiviert. nach anschalten gings 
wieder. das ist aber auch ein garstiger bock. naja ist ja meist so, dass 
es solche kleinen fehler sind. dennoch vielen dank an alle für die 
hilfe.
lg

von Elektroniker (Gast)


Lesenswert?

Alex schrieb:
> Ja es ist eine Low Current LED. Und die LED funktioniert auch, dass habe
> ich getestet indem ich den µC überbrückt habe.

Was heißt das? Je nach Schaltzustand der Ausgänge und Lage der Brücke 
kann der uC da sehhr unglücklich drüber sein.

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.