Einfache Funktionen wie Drehzahlregelung

Hallo
Gibt es eine fertige Libary die ich auf einen Nema 42 28Nm. verwenden könnte ?
Es geht um eine einfache 1 Achsige Drehbank bei der ein Nema 42 verbaut ist.Der Treiber hat 230V Eingang und 5/24V 9A Ausgang für den 2Phasen Nema.Was fehlt ist ein Poti mit dem man auch im Betrieb die Drehzahl regeln kann.Ein weiteres wäre eine Softbremsfunktion, da bei z.B. 1500U/min
der Motor bei stop sofort steht und das natürlich nicht so gut für die Maschine ist.
Also benötig wird:
Sanftstart,Sanftstopp, rück-vorwärts, Drehzahlregelung im Betrieb.

Ich kenne mich zu wenig aus um das Programm selber zu schreiben.

Wenn ihr sagt vergiss es dann muss ich was anderes suchen.
Im Moment ist ein HF-020 Cotroler dran.
Danke

mathematische Multiplication braucht keine Lib.
für Motorsteuerung gibt's reichlich Libs, die auch Beispiel Sketches enthalten.
wenn du nach Augenmaß Drehzahl nicht erkennen kannst, brauchst du ein Display.
oder du hackst vorhandenen Controller.

Sagt garnichts über elektrische Daten. Das sind Angaben zur Mechanischengröße

Das kann man doch lernen und Beispiele gibt es in den passenden Libraries genug.
Wenn dann noch spezielle Fragen sind, kannst du die hier gern stellen.
Was fertiges wird es für deine Anforderung sicher nicht geben.

Bei Schrittmotoren macht das alles die AccelStepper Bibliothek.

Sonst kommt es auf Deine Motorsteuerung an, wie die angesteuert werden möchte. Vielleicht einfach ein Poti anschließen?

Der HF-020 hat doch alles, was Du möchtest:
Drehknopf für Drehzahl und einstellbare Beschleunigung.

Das was ich gefunden habe deutet, dass der Controller hat eigenen Prozessor, nicht das der Controller ist nur falsch eingestellt.
Also wenn schon musst du ein passenden Treiber für dein Motor kaufen, den Controller beiseite legen und nur mit Arduino deiner wall das ganze steuern.
So am Rande die Doku ist womöglich in Chinesisch - Englich geschrieben wen ja dann muss man durch = dazu Denken was die meinen :wink:
Ist ja öfters so.

Danke für eure Info.
@fony
Der HF-020 ist nicht der Treiber sondern nur der Controller.Den gibt es mit Treiber und ohne.
Mein Treiber heisst 2722.

Bislang sieht es so aus, daß Du alles schon hast: eine Drehbank mit Motor, Treiber und Controller. Wenn das nicht so ist, dann sorge bitte mal für Klarheit.

So habe ich es geschrieben.
Ich habe allles aber es funktioniert nicht so wie ich es gerne hätte.
Der HF-020 hat keinen Softstart und keine Sanftbremsfunktion.Es steht zwar in der Anleitung das er Sanftbremse hat, die ist aber so kurz das es bei mir nichts bringt.

Ja dann gib mal ein Link zum Datenblatt des Treibers. Wenn der einigermaßen standardmäßig aufgebaut ist dann kann AccelStepper all das, was Du gerne hättest.

Die AccelStepper-library kann das die library ist aber trotzdem Mist.

Ich empfehle die MobaTools-library. Weil die Schritterzeugung über einen Timer-Interrupt erzeugt wird. Das bedeutet das Hauptprogramm kann auch so geschrieben sein, dass die Hauptschleife (loop() vergleichsweise langsam durchlaufen wird. Die Schrittmotor-Impulse werden trotzdem konstant und mit genauem timing erzeugt.

Wenn ich jetzt noch einmal zusammentrage:
Vorwärts / Rückwärts
Softanlauf und Softstop
Geschwindigkeit im laufenden Betrieb über ein Poti einstellbar

Ohne Probleme mit einem Microcontroller machbar.

Jetzt wäre noch wichtig zu wissen was du als maximale Drehzahl haben willst und ob du diese Drehzahl im Vollschritt/Halbschritt oder 1/n Mikroschritt Betrieb erreichen willst.

Ein popeliger Arduino Uno kommt da bei Mikroschritten und hohen Drehzahlen relativ schnell an seine Grenze. Dann muss man unter Umständen einen anderen Microcontroller nehmen.

Aus der Angabe kann man kein Datenblatt finden.
Auserdem würde das sehr gut ankommen wenn du das Datenblatt direkt als Link zur Verfügung stellen würdest.

Für die Auswahl des Schrittmotor-Treibers ist wichtig zu wissen wie viel Strom dein Schrittmotor zieht. Nema 42 sagt da gar nichts. Das ist nur die mechanische Größe.
Nema 42 ist schon relativ groß also Strom wohl mindestens 2-3 Ampere.
Es könnten aber auch 5 oder 10 oder 20 Ampere sein.

vgs

hier der link zu Datenblatt Treiber:
https://www.google.com/url?sa=t&rct=j&q=&esrc=s&source=web&cd=&ved=2ahUKEwifvd77l9yAAxWrxQIHHc3cDoIQFnoECBAQAQ&url=https%3A%2F%2Fwww.hobbytronics.co.za%2FContent%2Fexternal%2F1002%2FDQ2722MA-Manual.pdf&usg=AOvVaw2mI6pG74sRuRRxIib9RtKz&opi=89978449

und hier der Motor:

Gemessen habe ich bei niedrigster Drehzahl (7U/min ) 5A ohne Belastung Leerlauf!! Bei höheren Drehzahlen liegen wir bei 4A unter Last, also bei guter stabiler Spanabnahme.
Meine Drehzahl liegt zwischen 7 und 1500U/min.

Wow det is mal en dicker Brocken von Schrittmotor. 7,8A und 28,5 Nm.

Ein Schrittmotor braucht immer in etwa gleich viel Strom. Wie viel Strom der Schrittmotor "angeliefert" bekommt wird auf dem Schrittmotortreiber eingestellt.

maximal 1500 U/min. Der Schrittmotor hat 200 Vollschritte pro Umdrehung
das macht dann 1500 U/ min / 60 sec/min * 200 Schritte / U = 5000 Schrittimpulse pro Sekunde Bei Vollschrittbetrieb.

Meistens werden Schrittmotoren mit Halbschritt betrieben.
Das sind dann 400 Halbschritte pro Umdrehung = bei 1500 U/min = 10000 Schritte pro Sekunde.

Damit ist der Arduino-Uno in Kombination mit MobaTools draussen.
Die MobaTools können auf einem Arduino Uno maximal 2500 Schritte/Sekunde

Jetzt müssten sich mal die AccelStepper-fans melden wie viel Schritte pro Sekunde bekommt man denn mit Accelstepper hin?

Ein ESP32 kann mit den MobaTools bis zu 30.000 Schritte pro Sekunde.
Ein Teensy 4.0 bis zu 200.000 Schritte pro Sekunde.

Also würde ich vorschlagen einen ESP32 zu nehmen.
Der lässt sich genauso wie ein Arduino programmieren.
Der ESP32 hat WLAN onboard das heißt man könnte - wenn man möchte - auch noch ein schickes Webinterface programmieren.

Man kann sich aber auch auf ein simples LC-Display beschränken.

Hast du denn schon einen Microcontroller?
Zum Testen tuts auch der Arduino-Uno.

vgs

Hallo ja das ist ein etwas grösserer Steppermotor.
Einen Arduino Uno hab ich.Auch ein ESP32.

OK. Das Datenblatt sagt
I/O signal, the driver uses photoelectric isolation technique and signal level is 5V ~ 24V, compatible.

Der ESP32 hat nur 3.3V da braucht man dann wahrscheinlich einen voltage-level-shifter oder zwei simple Transistoren um aus den 3.3V ein 5V Signal zu machen.

Hast du ein Digital Multimeter?
Hast du eine einstellbare Spannungsquelle?
Hast du mal gemessen wie viel Strom der Optokoppler-Eingang STEP bzw. DIR bei 5V bzw. 3.3V zieht?

vgs

Schreib mall ab die Motordaten, für Stepper sind Suchmaschinen ziemlich freundlich :wink:
Habe im deinem Link gefunden :wink:

Hast du mal wirklich auf den Link geklickt? Da landet man direkt beim Usermanual

Jetzt hat der TO alles was gebraucht wird um den Sketch schreiben :wink:

Ähm, im Usermanual steht alles drin was man braucht ? Oder was fehlt noch ?
Multimeter hab ich , gemessen ha ich an Dir noch nichts.

Nein. fony hat das meinen Schlussfolgerungen nach so gemeint
du hast

  • den Schrittmotor,
  • den Schrittmotortreiber,
  • Namen der Library (MobaTools)
  • Microcontrollertyp (ESP32)
  • Hinweise auf die Verbindung ESP32 zum Schrittmotortreiber
    (Transistor zum Erzeugen von 5V Signalen aus 3,3V signalen)

Und damit alles was es braucht um das Programm zu schreiben.
Eehm um Programmieren zu lernen und dann das Programm zu schreiben.

Mir ist klar das du jetzt gerne am liebsten ein betriebsfertiges Programm angeliefert bekommen möchtest aber das ist hier unüblich.

Gibt es eher selten. Grund:
Für jede kleine Änderung steht der Empfänger dann wieder auf der (Bildschirm)-Matte
vgs