Forum: Mikrocontroller und Digitale Elektronik Atmega 8 stürzt unregelmäßig ab


von Hannes (Gast)


Angehängte Dateien:

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

von Hannes (Gast)


Angehängte Dateien:

Lesenswert?

anbei befindet sich noch der Schaltplan

von Magnus Müller (Gast)


Lesenswert?

Hannes wrote:
> anbei befindet sich noch der Schaltplan

Bitte den Schaltplan als Bilddatei (.PNG) anhängen.

von Hannes (Gast)


Angehängte Dateien:

Lesenswert?

ok hier ist das bild
mfg

von Axel R. (Gast)


Angehängte Dateien:

Lesenswert?

Eagle ist kostenlos und nimmt gerademal 40MB auf der Platte...

-->ok zu spät

von Magnus Müller (Gast)


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]

von Axel R. (Gast)


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.

von Magnus Müller (Gast)


Lesenswert?

> Mein Fehler, falscher Ton, Tschuldigung.

Passt scho (sagt man in Bayern so) ;)

> Um was ging es doch gleich ;-)) ?

Ich glaube um Spritpreise... oder?

von Axel R. (Gast)


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.

von Magnus Müller (Gast)


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

von Axel R. (Gast)


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.

von Stefan (Gast)


Lesenswert?

Hallo,

ist die CKOPT-Fuse Programmiert? Sollte man machen wenn man über 
8MHz-Quarze verwendet oder die Umgebung störverseucht ist.

von Hannes (Gast)


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.

von holger (Gast)


Lesenswert?

Irgendwie fehlen im Schaltplan die Pins VCC und GND vom MAX232.

von holger (Gast)


Lesenswert?

>Irgendwie fehlen im Schaltplan die Pins VCC und GND vom MAX232.

Falschmeldung. Sind angeschlossen wenn man Board eingibt.

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.