Hi Johannnes,

wenn während des Betriebes Motor abgeklemmt wird, schaltet RN-Motor den Motor derzeit aus. Also nicht abklemmen wenn du experimentierst.

Ich kenn leider die Syntax von dem Pascal Befehl TWIOUT nicht, aber irgendwie scheint mir die merkwürdig. Können da Werte teils als Byte und teils als Arry übergeben werden? Vielleicht kannst du mir mal Beschreibung von dem Befehl posten.

Wenn das wirklich so geht sind die Befehle so weitgehend in Ordnung, allerdings die Reihenfolge ist etwas ungünstig.
Den Strom solltest du immer als erstes einstellen, das hast du ja gemacht. In deinem Fall hast du den Strom auf 500mA pro Strang eingestellt.

Dann solltest du Halbschritt einschalten wenn du magst, ich lass das immer weg da ich meißt nur Vollschritt nehm.

Danach sollte man immer erst mal den Motor einschalten. Durch einschalten bewegt sich ja noch nix, nur der Motor bekommt schon Spannung. Du merkst das wenn du versuchst den Motor mit der Hand zu drehen.

Danach kann man dann Drehrichtung, Endlosschritt, Einzelschritt, Bestimmte Schrittanzahl, Schrittabruf, Stop usw. beliebig verwenden.

Den Delay Befehl solltest du hinter TWIOut einsetzten, ist einfach logisch übersichtlicher. Vor allem hinter Stromeinstellen und Einschalten sollte ruhig mal 200ms Pause sein. Hinte rdie anderen kannst du ja probehalber geringeren Delay Wert nehmen.

Tja mit I2C ist das manchmal so eine Sache, nicht alle Compiler unterstützen das I2C Protokoll 100% korrekt. Daher muß man manchmal etwas experimentieren. Eigentlich sind Delay´s nämlich überflüssig wenn der Compiler das Clock Signal richtig überwacht und auf den Slave wartet. Aber viele schnell gebastelte I2C-Libarys machen das nicht, daher ist eben das experimentiern notwendig.