Hallo, ich bin neu hier im Forum.
Ich war lange stiller Mitleser und konnte durch viele kompetente Beiträge schon eine Menge lernen.
Nun stehe ich aber vor einem Problem, zu dem ich im Internet wenige Informationen finde.
Zur Vorgeschichte:
Es geht um eine Mechanikbaugruppe in einer ausgedienten Industriemaschine.
Ein Auslöser wird über einen Schrittmotor an einer Linearführung über ein
Trapezgewinde bewegt, nachdem er betätigt wurde, um Platz für die zu verrichtende Arbeit zu machen. Nach dem Arbeitsschritt wird er zurück in Ausgangsposition gefahren.
Die Technik war leider nie sehr Präzise und Fehleranfällig. Durch Verschmutzungen und einen Mieserablen Schrittmotor kam es oft zu Fehlstellungen des Triggers. Deshalb habe ich alles komplett umgebaut. (Hiwin MGN05 Führungen, Nema8 Schrittmotor, kapazitiver Trigger, Kapazitiver Endschalter usw.
Leider kommt es immer noch zu Schrittverlusten durch Verschmutzungen.
Der Schrittmotor kann aus Platzgründen nicht größer dimensioniert werden. Der Motorstrom ist ca 100mA über Vorgabe.
Nun möchte ich einen Encoder benutzen um die Motorwelle auf ihren Drehwinkel zu überwachen. Habe mich für den AS5048 entschieden, welcher über ein Spi kommuniziert...
Funktioniert auch alles, ich kann die Position auslesen, jedoch z.Z noch mit einem seperatem Arduino.
Nu zur Frage: Hat jemand schon einmal eine Closed loop Stepper Regelung mit einem Arduino realisiert?
Der Motor dreht mit max. 750 RPM, was 150KHZ ausgangstakt für den Schrittmotor Treiber bedeutet. (Die Pins des Arduinos werden über direkte Portmanipulation angesprochen um Zeit zu sparen)
Mein Bauchgefühl sagt mir nun, dass der Prozessortakt trotzdem nicht auseichen wird, um den Schrittmotor vernünftig anzusteuern und gleichzeitig mindestens 4 mal pro Umdrehung die Position über Spi abzufragen + die nötige Arithmetik anzuwenden um die Daten zu verarbeiten...
Hat jemand irgendwelche Erfahrungen in die Richtung sammeln können?
(Ich hoffe ihr könnt meiner wirren Beschreibung überhaupt folgen :D)
Achja, es handelt sich um einen Atmega 328P.
16 Mhz externer Oscilator und CH340.
Quasi ein Arduino, nur auf einem anderen PCB.
Grüße