Algorithmus für Ansteuerung Schrittmotor mit Poti gesucht
Verfasst: Mo Mär 28, 2022 6:06 pm
Moin Allerseits!
Ich bin gerade auf der Suche nach einen Algorithmus zur Ansteuerung eines Nema17 Schrittmotors mit einen Poti. Für Lösungsvorschläge möchte ich mich herzlichst bei euch im Voraus bedanken!
Worum gehts?
Bei meinem Nema17 Schrittmotor kann man die Umdrehungsgeschwindigkeit per integer-Wert steuern. Nur leider ist das so, das man die Umdrehunggeschwindigkeit nicht linear ändern kann.
Was könnt ihr euch darunter genau vorstellen?
Sagen wir (als Beispiel), dass die maximale Umdrehungsgeschwindigkeit dem Wert 35 entspricht und eine sehr langsame (der Motor stopt quasi) 5000 enstpricht. Dann gibt es zwischen dem Max.-Wert und den Min.-Wert keinen linearen Zusammenhang. Die Umdrehungsgeschwindigkeit nimmt quasi logarithmisch, bez. exponential ab. Ab dem Wert 35 sehr schnell und zum Wert 5000 hin immer langsamer. Bis quasi gar nicht mehr.
Mein Vorhaben:
Ich möchte jetzt gerne die Motor-Umdrehungsgeschwindigkeit per Poti steuern können. Mein Poti liefert mir Werte zwischen 0 und 1021 (das sind geglättet Wert, daher nicht wie üblich von 0 bis 1023 = 10-Bit). Wenn das Poti den Wert 1021 liefert, dann möchte ich den Motor mit dem Wert 35 ansteuern. Und wenn das poti den Wert 0 liefert, dann den Motor halt mit dem Wert 5000 ansteuern.
Und jetzt die große Frage an euch: wie kann man elegant so eine Funktion programmieren!?!
Gruß
Ich bin gerade auf der Suche nach einen Algorithmus zur Ansteuerung eines Nema17 Schrittmotors mit einen Poti. Für Lösungsvorschläge möchte ich mich herzlichst bei euch im Voraus bedanken!
Worum gehts?
Bei meinem Nema17 Schrittmotor kann man die Umdrehungsgeschwindigkeit per integer-Wert steuern. Nur leider ist das so, das man die Umdrehunggeschwindigkeit nicht linear ändern kann.
Was könnt ihr euch darunter genau vorstellen?
Sagen wir (als Beispiel), dass die maximale Umdrehungsgeschwindigkeit dem Wert 35 entspricht und eine sehr langsame (der Motor stopt quasi) 5000 enstpricht. Dann gibt es zwischen dem Max.-Wert und den Min.-Wert keinen linearen Zusammenhang. Die Umdrehungsgeschwindigkeit nimmt quasi logarithmisch, bez. exponential ab. Ab dem Wert 35 sehr schnell und zum Wert 5000 hin immer langsamer. Bis quasi gar nicht mehr.
Mein Vorhaben:
Ich möchte jetzt gerne die Motor-Umdrehungsgeschwindigkeit per Poti steuern können. Mein Poti liefert mir Werte zwischen 0 und 1021 (das sind geglättet Wert, daher nicht wie üblich von 0 bis 1023 = 10-Bit). Wenn das Poti den Wert 1021 liefert, dann möchte ich den Motor mit dem Wert 35 ansteuern. Und wenn das poti den Wert 0 liefert, dann den Motor halt mit dem Wert 5000 ansteuern.
Und jetzt die große Frage an euch: wie kann man elegant so eine Funktion programmieren!?!
Gruß