Atmega 8 stürzt unregelmäßig ab

Gast #877469
Lesenswert?
• ▲
▼
Ich habe eine Schaltung entwickelt welche die Entfernung per Ultraschall 
misst.
Die Entfernungsmessung funktiniert einwandfrei jedoch stürzt der Atmega8 
in unregelmäßigen abständen (10s oder 50s...) ab.

Ich verwende Codevision zum Programmieren in C.
Außerdem betreibe ich den IC mit einem externen Quarz (16MHz).

Die Schaltung und das Programm befinden sich im Anhang.
Könnt ihr mir sagen woran es liegt?

Mit freunlichen Grüßen
Hannes Maier
Angehängte Dateien:
Gast #877493
Lesenswert?
• ▲
▼
Hannes wrote:
> ok hier ist das bild

Danke.

Axel Rühl wrote:
> Eagle ist kostenlos und nimmt gerademal 40MB auf der Platte...

Das ist mir klar. Auch ich habe Eagle installiert. Aber ich habe ehrlich 
gesagt keinen Bock jedes mal Eagle anzuschmeissen, nur um einem 
Hilfesuchenden dieses kleine Stück Arbeit abzunehmen! Und wenn ich 
Eagle nicht schon installiert hätte, würde ich es (trotz Kostenfreiheit) 
nicht extra deswegen installieren wollen. Der nächste kommt dann auf die 
Idee, im Target-, Orcad-, Altium- oder wasweissichwas-Format zu posten. 
Soll ich dann für jedes Format eine entsprechende Freeware, oder einen 
entsprechenden Viewer installieren?  --> Forget it !!!

Von einem Axel Rühl hätte ich mir übrigens ein wenig mehr Verständnis 
erwartet.

So... genug ausgek**zt. Muss erst mal einen Blick auf den Schaltplan 
werfen ;)

Gruß,
Magnetus

[nachwürg]
Man könnte Schaltpläne natürlich genausogut als PowerPoint-Präsentation 
anhängen. Schliesslich gibts dafür auch einen kostenlosen Viewer direkt 
von Microsoft.
[/nachwürg]
Gast #877498
Lesenswert?
• ▲
▼
Hast Recht!
Nur weils halt gerade Eagle war. Wenn's Protel, Orcad, Altium oder 
sonstwas wäre...
Würde ich mir ja auch nicht installieren.

Mein Fehler, falscher Ton, Tschuldigung.


Um was ging es doch gleich ;-)) ?

Axelr.
Gast #877501
Lesenswert?
• ▲
▼
'zaehler' ist als int deklariert.
Muss das nicht unsigned int heissen? Wenn 'zaehler' über 32767 kommt, 
ist 'zaehler' dann automatisch negativ, bis er bei Null von vorn 
anfängt, also immer kleiner 17?

Kann ich schlecht simulieren.

Habe zwar Eagle, aber kein Codevision.
Evtl. findet jemand noch was anderes

Gruß
Axelr.
Gast #877503
Lesenswert?
• ▲
▼
Soderla... die ersten Hinweise zum Schaltplan:

1. AVCC ist nicht beschaltet. Der Pin muss mit VCC verbunden werden,
   da darüber PORT C versorgt wird.

2. AGND ist auch nicht beschaltet. Der Pin muss mit GND verbunden
   werden.

3. Setz mal noch einen C (47nF, 100nF sind auch OK) zwischen RESET
   und GND. Der hält dir eventuelle Störungen vom Reset-Pin fern.

4. Wie sieht es mit deiner (vermutlich externen) Spannungsversorgung
   aus? Sind Fehler auf dieser Seite wirklich auszuschließen?

Den Code hab ich mir noch nicht angesehen.

Gruß,
Magnetus
Gast #877506
Lesenswert?
• ▲
▼
'winkel' ist doppelt definiert.

'printf' verwendet dir 'putc' mit Polling. evtl hängt es damit zusammen.
Wird 'winkel' von 'printf' verändert? (volatile? gibts das bei 
codeviviosn?)
Hier kommt sich printf(winkel) in der main mit 'winkel=zaehler' im 
ANA_COMP interrupt in die Quere(atomarer Zugriff), oder?

Ich würde wie ..HanneS.. Jobflags in den Interruptroutinen setzen und in 
der Main abarbeiten.
Gast #878153
Lesenswert?
• ▲
▼
habe die copt fuse programmiert. hat aber keine verbesserung gebracht
mir ist heute aufgefallen dass der uController nicht abstürzt sondern 
die RS232 übertragung ausfällt
das Programmer läuft normal weiter jedoch wird an die Schnittstelle 
nichtmehr gesendet
woran kann das liegen?
Außerdem habe ich bemerkt ,dass der uController "stabiler" läuft wenn 
ich die Versorgungsspannung auf 4,7V gebe. Über 5 Volt hängt sich die 
Schaltung alle 5  Sekunden auf.

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