5 oder 6 Schrittmotore mit Mega2560 steuern

Hallo zusammen,

ich arbeite gerade an einem Projekt, welches ich gerne ausschließlich mit Schrittmotoren realisieren möchte. Durch Zufall bin ich da auf die Adruino Produkte gestoßen. Ich habe mich jetzt einige Stunden im Internet darüber informiert, dennoch bleiben einige Fragen offen. Daher schreibe ich hier meinen ersten Post in der Hoffnung, ihr könnt mir meine offenen Fragen beantworten.

Am besten beschreibe ich den Ablauf meines Vorhabens zuerst mal so genau wie möglich:

  1. Schrittmotor 1 soll (x) Schritte fahren. Danach soll eine Rückmeldung an die Steuerung gehen, daß das abgeschlossen ist.

  2. Schrittmotor 2 soll (x) Schritte fahren. Danach soll eine Rückmeldung an die Steuerung gehen, daß das abgeschlossen ist.

  3. Schrittmotor 3 soll (x) Schritte fahren. Danach soll eine Rückmeldung an die Steuerung gehen, daß das abgeschlossen ist.

  4. Schrittmotor 4 soll (x) Schritte fahren. Danach soll eine Rückmeldung an die Steuerung gehen, daß das abgeschlossen ist.

  5. Schrittmotor 5 soll (x) Schritte fahren. Danach soll eine Rückmeldung an die Steuerung gehen, daß das abgeschlossen ist.

  6. Schrittmotor 1 soll (x) jetzt einige Schritte rückwärts fahren. Danach soll eine Rückmeldung an die Steuerung gehen, daß das abgeschlossen ist. Zeitgleich soll Schrittmotor 2 wieder in Grundstellung fahren.

  7. Jetzt wird ein weiteres Bauteil positioniert. Das Vorhandensein soll durch einen Sensor abgefragt werden und, wenn alles in Ordnung ist, soll Schrittmotor 1 wieder vorwärts fahren.

u.s.w.

Es werden am Ende fünf bis sechs Schrittmotoren und drei Sensoren zur Überwachung benötigt.

Ferner möchte ich auch zwischen zwei Betriebsarten wechseln können. Automatik und manuell. Im Automatikmodus soll der obenstehnde Ablauf ablaufen, im manuellen Modus möchte ich gerne die Motoren (langsam) unabhängig voneinander hin- und herfahren können. Das würde ich gerne über ein separates Bedienpult mit Tastern realisieren.

Als Motoren möchte diese verwenden: Sorotec Online-Shop - JMC Closed loop Schrittmotor IHSS60-36-30 

Nun meine Frage an euch: Läßt sich soetwas mit der Mega2560 realisieren? Oder habt ihr bessere Vorschläge?

Die Programmierung des Ablaufes sollte keine Probleme darstellen, da ich seit Jahren andere Projekte in C programmiere und da dementsprechend erfahren bin.

Vielen Dank für eure Hilfe.

Den Schrittmotor mit integrierter Endstufe kenne ich nicht, solange aber die Schnittstelle ENA/DIR/PUL 5V hat, sollte das funktionieren. Die Anmerkung "Compatible with 5V or 24V" irritiert mich.

Ich verwende Treiber wie DRV8825 mit wohl vergleichbarer Ansteuerung.

Solange sich die Motoren nicht gleichzeitig bewegen, dürfte auch die Verarbeitungsgeschwindigkeit kein Problem darstellen. Die Motordrehzahlen sind natürlich begrenzt.

Schaue Dir mal die Bibliothek AccelStepper an.

Nach meiner Einschätzung sollte sich das Projekt realisieren lassen.

Damit willkommen im Forum!

Vielen Dank für Deine schnelle und vor allem positive Antwort.

Was die Anmerkung "Compatible with 5V or 24V" bedeutet, werde ich nochmal genau hinterfragen.

Auch werde ich mir mal den Treiber DRV8825 ansehen. Allerdings finde ich, die Motoren mit integrierter Endstufe laufen wesentlich leiser. Mir persönlich gibt das ein etwas besseres Gefühl.

Die von Dir genannte Schnittstelle ENA/DIR/PUL 5V ist vorhanden.

Die Bibliothek AccelStepper sehe ich mir an.

swachs:
Was die Anmerkung "Compatible with 5V or 24V" bedeutet, werde ich nochmal genau hinterfragen.

Das hat der DM556 Treiber auch. Die kann man mit 5 bis 24 Volt Steuern. Also auf Pul/Dir/Enable. 5 Volt ohne Vorwiderstand, 12 Volt mit 1000 Ohm, 24 Volt mit 2000 Ohm. Also für größere Entfernungen Arduino <-> Treiber geht man dann auf 24 Volt und ist somit unempfindlicher. Braucht man dann halt Transistoren am Arduino. Der Arduino sollte bei 5 Volt nicht weit von den Treiber/Motoren weg sein. 5Volt Steuerleitungen vom Arduino zum Treiber dürfen ja nur so um die 30cm sein. Ansonsten musst du besser Treiber und Motor trennen, weil die Leitung vom Treiber zum Motor länger sein dürfen. Und die Motorleitungen mit Sicherheit am Störsichersten sind, weil da kräftig Strom drüber läuft.

Hi

Da bei Deinem Ablauf nur zwei der Stepper gleichzeitig laufen können müssen, könnte man 'einige Pins einsparen'.
Dann würde Das, zumindest von den Pins, mit einem Uno/Nano klappen.

Die Kompatibilität wird wohl bedeuten, daß sowohl TTL-Pegel, wie 24V von einer SPS kein Problem für den Stepper darstellen - die Industrie schafft halt mit 24V statt 5V.

Ob's dem Arduino im Maschinenfeld gefallen wird? Da für einen Motor >100€ veranschlagt sind, wird's wohl nicht an einem Rittal-Kistchen scheitern, damit die Störungen draußen bleiben.

Dein beschriebener Ablauf ist nicht ganz schlüssig - die ganzen Motoren fahren, bis auf Nummer 2, nur nach Vorne - irgend wann müssten Die aber auch wieder 'heim' kommen.

Für diese Klasse an Steppern werden die üblichen Arduino-Stepper-Treiber wohl 'außen vor bleiben' dürfen - 8A (Überlast) ist schon ein Wert, Den der Treiber liefern können muß - wenn möglich ohne großartige Rauchzeichen.
Da bin ich bei Dir - integrierte Endstufe - Da passt zusammen, was zusammen ist.

Zum Einstellen wird wohl ein Drehencoder/diverse Tasten/ein LCD/gLCD/eine Menü-Führung noch dabei kommen - dann wird's beim Uno/Nano wohl aber langsam enger - auch von den Pins.

Wobei man die Pins auch 'auslagern' könnte (Port-Expander) - aber schneller wird's damit dann nicht und warum ohne Not Geschwindigkeit opfern.

Auch meine Einschätzung: Realisierbar
Zum Speichern der Verfahrwege oder Deren Reihenfolge kann man das EEprom nehmen (wenn's denn rein passt), oder extern z.B. auf SD-Karte - wird im Maschinen-Umfeld wohl sinniger sein, als ein FRam auf der Platine - auch, um 'Mal eben' ein laufendes Programm mit in die Akten legen zu können oder ein Solches wieder in die Maschine rein zu bekommen.

MfG

swachs:
Auch werde ich mir mal den Treiber DRV8825 ansehen. Allerdings finde ich, die Motoren mit integrierter Endstufe laufen wesentlich leiser. Mir persönlich gibt das ein etwas besseres Gefühl.

Der DRV8825 schafft nicht genügend Strom, aber den kenne ich. Die notwendigen Steuersignale scheinen aber übereinzustimmen. Daraus schlußfolgere ich die Einsatzfähigkeit. Eine Ersatzempfehlung sollte das aber nicht sein.

Großartiges Forum hier! Vielen Dank für eure zeitnahen Antworten.

An einem Rittal-Kästchen soll es tatsächlich nicht scheitern. :slight_smile: Der Aufbau soll schon sauber und möglichst professionell erfolgen.

Der von mir beschriebene Ablauf ist nicht ganz schlüssig, da hast du recht. Aber das liegt ja am Ende nur am Code. Ich bin noch recht am Anfang des Projekts und habe gegenwärtig nur eine eher vage Vorstellung. Die Details lassen sich ja dann programmieren.

Es kommt auch nicht auf ein paar Euro an. Viel wichtiger sind die Realisierbarkeit, die Flexibilität und natürlich auch die Betriebssicherheit. Und eben wegen der Flexibilität finde ich die Lösung mit der Arduino-Steuerung sehr gut. Anderes Programm geladen, und schon hat man ein anderes Verhalten. Es wird auch ein (Windows-) PC nur für die Maschine zur Verfügung stehen. Da sollte das Programmieren oder das Wechseln von Programmen kein Problem darstellen.

Ich würde mir wohl die Kombi hier anlachen. Da kannst du die Treiber In den Steuerungskasten mit rein nehmen. Und günstiger ist es auch noch.

Franz

swachs:
Es kommt auch nicht auf ein paar Euro an.

Als Bastler ist das nicht so mein Gebiet, aber den Mega2560 soll es auch im Hutschienengehäuse geben. Ob Dir das irgendwelche Vorteile bringt, weiß ich aber nicht.

Ich bin eher beim Mega 2560 PRO.