Änderungen

Schrittmotorsteuerung

1.400 Byte hinzugefügt, 10:34, 28. Jan. 2015
Die Seite wurde neu angelegt: „Wieso zum Geier schreibe ich den ixten Schrittmotor Steuerungssoftware.... ... Um zu lernen :) Was lernt man dabei... sehr viel kann ich nur sagen! Erst mal vi…“
Wieso zum Geier schreibe ich den ixten Schrittmotor Steuerungssoftware....

... Um zu lernen :)

Was lernt man dabei... sehr viel kann ich nur sagen!

Erst mal vielen Dank an Lutz für die Zahlreichen Tips und Hilfe beim Programmieren.

Hier grob eine Auflistung was ich bei diesen Projekt an Erfahrungen gesammelt habe.

Learnings beim Arduino Programmierung:
- digitalWrite von Arduino Library ist lahm. Wenn man ein kurzen Puls generieren möchte,
muss man direkt die 8 bit Register für die Digital Ports ansprechen.

- Je nach Atmel gibt es unterschiedliche Interrupts die je nach Anwendung passend ist.

- Die 16.000.000 Hz für ein Mikroprozessor kling auf den ersten blick recht viel. Aber, auch wenn
man nur 10 kHz an puls via Interrupt erzeugen möchte, hat man Zwischen den Interrupt aufrufe
brutto 1600 CPU Takte. Von den theoretischen 1600 Takten müsste man aber noch die
Umschaltzeit abziehen die der Interrupt für Aufruf und Rücksprung benötigt. Dann natürlich
die Takte, die die Befehle die innerhalb des Interrupts ausgeführt werden benötigen.
Und, meistens hat man ja auch noch Befehle die in der Hauptschleife laufen.
Summa summarum kann 1600 CPU Takte schnell knapp werden.

- Ergo, will man mit den 1600 CPU Takte effektiv wie möglich umgehen.
Effektiv bedeutet hier, möglichst 100% der Takte nutzen die man zu verfügung hat.
Sprich, Codeoptimierung ist das A und O.
939
Bearbeitungen