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

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.