Forum: Mikrocontroller und Digitale Elektronik Ansteuerung Schrittmotor mit Step/Dir Signal und Arduino


von felix (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

ich habe eine Frage zur Ansteuerung von Schrittmotoren, bei denen die 
Treiberelektronik ein Step/Dir Signal will. Ich will die Ansteuerung 
erstmal mit nem Arduino testen, bevor ich das in ein größeres Projekt 
einbette. Ich hab die meines erachtens wichtigsten Stellen im Datenblatt 
des Steppers hochgeladen.

Dazu ein paar Fragen:
Das Step Signal ist im Wesentlichen ein PFM-Signal, oder? Da ich das 
Ganze zu Testzwecken erst mit einem Arduino machen will, kann man das 
mit der Tone Funktion generieren, oder?

Die eigentliche Frage die sich mir aber stellt, ist, wie ich die 
Drehfrequenz des Steppers aus der Freqeunz meines Tone bzw. PFM-Signals 
berechne?
Wenn ich beispielsweise die Schalter (siehe Bild DIP-Schalter 
Einstellungen) so stelle, dass sich ein Pulse/Umdrehung = 3200 ergibt 
und ich eine PFM Frequenz von 1kHz einstelle, ergeben sich dann 
3200/1000 = 3,2 Umdrehungen pro Sekunde? Oder bin ich da auf der völlig 
falschen Fährte?

Sorry für meine Unwisseneheit und schon mal Danke im Voraus!

von Christian M. (christian_m280)


Lesenswert?

felix schrieb:
> 3200/1000 = 3,2

Eher umgekehrt...

Gruss Chregu

von Olli (Gast)


Lesenswert?

Also wenn Du den Motor einfach nur bei einer bestimmten 
Drehgeschwindigkeit laufen lassen willst, sollte die Tone-Funktion 
gehen.
Wenn Du präzise eine bestimmte Position anfahren willst dann wirds 
schwer.

Ein StepperDriver erwartet folgendes:

Dir: Low / High Pegel für Rechts bzw. Links
Enable: Selbsterkärend
Step: Für jede High-Flanke dreht der Motor je einen Step.
      Wenn Microstepping aktiviert ist eben Fraktal eines Steps.

Dem Stepperdriver ist es im Prinzip völlig egal was du da machst am Step 
Eingang, Hauptsache das Signal wechselt von Low auf High und wieder 
zurück.

Abhängig von den technischen Rahmenbedingungen könntest du bei zu hohen 
Frequenzen ans Limit kommen. Da hilft es dann das Microstepping 
niedriger zu setzten und den Strom rauf.

Viele Grüße

von MaWin (Gast)


Lesenswert?

felix schrieb:
> kann man das mit der Tone Funktion generieren

Es gibt fertige Schrittmotorbibliotheken für Arduino, wie AccelStepper.

von Hermann S. (diphtong)


Lesenswert?

Es gibt doch libraries für sowas, z. B.:
https://github.com/risitt/kissStepper

Es ist zwar der JMC Servo nicht aufgeführt, aber ich denke mal damit 
gehts auch?!

von felix (Gast)


Lesenswert?

Danke für die Antworten, hat mir sehr weitergeholfen!
Die AccelStepper Bibliothek ist für meine Anwendung wahrscheinlich das 
richtige!

von Pandur S. (jetztnicht)


Lesenswert?

Der Unterscheid zwischen Ton und Stepper ist, dass man fuer Stepper die 
Schritte zaehlen muss um eine Position anzufahren. Und dann sollte man 
die Drehzahl in einer Rampe hochfahren, sont koennen Schritte verloren 
gehen. Und dann sollte man den Strom ueberwachen. zB kann man den Strom 
erniedigen, wenn der Motor steht.
Ich verwende deshal eine Trinamic Serie von intelligenten 
Stepperantrieben, die machen das alles fuer mich.

von Hermann S. (diphtong)


Lesenswert?

Das ist ja kein Schrittmotor, das ist ein Servo mit einer bereits 
integrierten closed-loop steuerung...das heisst der dürfte eigentlich 
keine "Schritte" verlieren

von Wolfgang (Gast)


Lesenswert?

Pandur S. schrieb:
> Und dann sollte man die Drehzahl in einer Rampe hochfahren,
> sont koennen Schritte verloren gehen.

Das hast du hübsch ausgedrückt.
So ein normaler Schrittmotor bleibt beim Loslaufen nach dem ersten 
Schrittverlust einfach stehen und vibriert dann ziemlich lautstark.
Erst, nachdem man ausreichend weit mit der Schrittfrequenz runter 
gegangen ist, bekommt man ihn wieder zum drehen.

> Und dann sollte man den Strom ueberwachen.

Bei modernen Schrittmotortreibern ist das überflüssig und langweilig, 
weil die mit einer Stromregelung arbeiten.

Aber der iHSV57 ist sowieso kein Schrittmotor

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.