Attiny 2313 hängt sich auf oder beginnt von vorne

Gast #3102362
Lesenswert?

Hallo Leute,

in meiner Modellkrake 
http://www.youtube.com/watch?v=w2eW4FW94e4&list=ULejOkMP1EC9A verwende 
ich diese Attinys zur Motoren- und zur Lauflichtsteuerung, ganze 15 
Stück bis jetzt. Probleme gibts bei den Lauflichtern. Die hängen sich 
auf, bleiben also stehen, oder sie starten manchmal neu, obwohl das 
Programm noch nicht abgearbeitet wurde. Ein Lauflicht (Attiny) läuft 
synchron mit dem Motorensteuerprogramm, deshalb ist es natürlich blöd, 
wenn das nicht mehr passt. Wo könnte die Ursache sein? Im Anhang das 
Programm für das Lauflicht. Dass das nicht prof ist, weiß ich selber, es 
soll ja nur funktionieren:-)
Gruß
Andi
Angehängte Dateien:
#3102376
Lesenswert?

Krakeman schrieb:

> Dass das nicht prof ist, weiß ich selber,

Dass das eine Untertreibung ist, brauchen wir gar nicht diskutieren, das 
ist selbst für einen Amateur äusserst schwach, aber darum gehts jetzt 
nicht.


> Wo könnte die Ursache sein?
Hardware.

Blockkondensatoren?
Reset mit 10k gegen Vcc gespannt?
Motoren sind entstört?
Wie ist die Stromversorgung ausgelegt?
etc. etc.

Motoren sind immer ein besondere Schmankerl, weil sie dir jede Menge 
Schmutz in der Versorungsspannung erzeugen können, der nur darauf 
wartet, den µC ausser Tritt zu bringen.
Gast #3102387
Lesenswert?

Motoren sind entstört (Dioden und C´s), Versorgung durch 7805, korrekt 
beschaltet. Ich hätte eher darauf getippt, dass was in den Zeilen ganz 
zu Anfang etwas besser gemacht werden müsste. Die stammen aus einem 
Forum, wo der Ersteller schon erwähnt hat, dass sich manchmal was 
aufhängt.

Gruß
Krakeman
#3102893
Lesenswert?

1
$crystal = 4000000                                          ' Achtung: Taktfrequenz per Fusebits auf 8 MHz einstellen!
fusebit gesetzt?

was ist eh nicht verstehe, wieso auf 8 mhz stellen, und dann Bascom 
mitteilen das er auf 4 mhz läuft?

waitms 3600 sind im übrigen nicht 15 sekunden.
1
Ddrd = &B01111111
unnötig, weil portd nirgends verwendet wird.
1
Portb.3 = 0
2
Portb.2 = 1
3
Portb.1 = 1
4
Waitms 150
5

6

7

8

9
Next L                                                      '10300ms
10

11
Portb.2 = 0
12
Portb.1 = 0

am ende der ersten Schleife wird portb.2 und 1 eingeschaltet. dann 
springt er zur ersten stelle der Schleife und schaltet dort nochmal 
portb.1 auf high dann low, und portb.2 auch. Meinst du das diese LEDs 
"hängen"?
Dann sollte das "Next L" unter portb.1 = 0 stehen.

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