- Akku-Staubsauger-Saugroboter-Waschsauger-Test         
Ergebnis 1 bis 5 von 5

Thema: Single axis controller für Nema17 ?

  1. #1

    Single axis controller für Nema17 ?

    Anzeige

    Hallo Leute,
    ich bin neu hier und habe so gut wie kein Fachwissen über Elektronik & Co., deshalb hoffe ich hier auf ein paar Experten, die mir weiterhelfen können. Im letzten halben Jahr habe ich die Mostly Printed CNC (MPCNC) mit einem arduino uno und Estlcam umgesetzt. Das könnte ich allerdings nur, weil es darüber sehr viele gute Anleitungen gab.
    Nun bin ich dabei ein zweites Projekt (eine Spirograph mit Motoren), wie ungefähr dieses hier ... zu entwickeln.
    Bis zu einem bestimmten Punkt bin ich im Ardunio-Forum gekommen, aber dann ging es nicht weiter .
    Bin einfach kein guter Programmierer und nach 4 Monaten herumexperimentieren ist auch bei mir die Luft so ziemlich raus.

    Meine Technische Voraussetzung für das Projekt sind:
    ein Arduino Mega 2560 + RAMPS 1.4 + 4 DRV8255 plus vier Nema17 Schrittmotoren (Stepper Motor Bipolar 59Ncm 2A; 1,8 deg (200 Stufen / Umdrehung) - Phasenwiderstand: 1.4ohms) oder aber auch zum Testen ein TB6600 Treiber.

    Ich habe es mit Ardunio-Programierung probiert, mit Labview und Blynk und ich weiß nicht was noch allem. Aber immer waren es nur kleine Teilerfolge.
    Habe es geschafft grbl-Mega-5X zum laufen zu bringen, und probiert die vier Motoren per G-Code zum laufen zu bringen. Ging, aber eben nicht mit unterschiedlichen Geschwindigkeiten.

    Was muss ich als Minimum erreichen?
    Vier Motoren müssen mit teilweise unterschiedlichen Geschwindigkeiten gleichzeitig gestartet und gestoppt werden.
    Sehr gut wäre es, wenn man zumindest an einem Motor einstellen könnte das er nur z.B. 125° läuft und dann wieder zurück und das im Loop.

    In meiner verzweifelten Suche bin ich dann zufällig auf Single axis controller gestoßen. Und frage mich nun, ob die nicht für mich eine rettende Lösung wären?
    Habe vor zwei Wochen im Arduinoforum gefragt, aber leider bis heute keine Antwort erhalten.

    Ich hoffe hier gibt es ein paar Leute, die diese Teile kennen und mir entweder abraten oder zu raten.

    - PRG Control Panel 220V
    - programmierbare ST-PMC1 2
    - XC602 Motion Controller Single axis 1
    - Single-achse controller KH-01

    Wie gesagt, ich bin nicht so der Elektroniker und weiß halt nicht, ob die Single axis controller zu meinem Projekt und den Nema17 passen?
    Und ob diese Geräte es schaffen, die Motoren über längere Zeit (am besten im Loop) laufen zulassen, weil z.B. grbl-Mega die Motoren nach einer bestimmten Strecke abschaltet.

    Falls ihr ganz andere Lösungsvorschläge habt, bin ich natürlich dafür auch offen.
    Einen schönen Abend Euch.

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.162
    Ich kenn jetzt Deine Hardware nicht und möchte mich jetzt da auch nicht einlesen.
    Das Problem wird wohl sein, das jeder der 4 Stepper Motor Treiber mit unterschiedlichen Taktfrequenzen angesteuert werden müssen.
    Dann sind unterschiedliche Geschwindigkeiten für jeden Motor möglich.

    Wie realisiert man das.

    Man könnte das über 2x 16 Bit Timer mit je 2 Comparematch units machen.
    Sobald also ein Comparematch kommt in die Entsprechende Interruptroutine verzweigen und dort dann den Impuls erzeugen.
    Nachteil es sind ohne Tricks nur rund 65000 er Unterschied möglich.

    Eine weitere Möglichkeit wäre einen 8 Bit Timer zu nehmen und im Overflow Interrupt einen Zähler pro Stepper hoch zu zählen.
    Wenn der gewünschte Grenzwert erreich ist den dazugehörigen Ausgang für den Stepper Motor hoch bzw. runter schalten.
    Da hier auch 32Bit Variablen eingesetzt werden können, kann der Unterschied der Steps sehr groß sein.
    Nachteil, wenn man ohne Prescaler für den Timer arbeitet hat man nur 256 Prozessor Taktzyklen bis ein neuer Interrupt ansteht.
    Nimmt man einen Prescaler von 8 sieht das schon besser aus, sollte aber für Stepper Motoren ausreichen schnell sein.

    Ich würde in beiden Fällen nur die halbe Zeit für einen Step nehmen, dann wird das auch ein 50% Duty Cycle Signal für den Step Eingang des Motor Controllers.

    Nur fertige libs zu benutzen wird Dich hier vermutlich nicht ans Ziel bringen.

  3. #3
    Vielen Dank wkrug,
    für deine ausführliche Antwort, das ist sehr freundlich.
    Leider habe ich nur ein Teil davon verstanden.
    Meine Frage ging mehr in die Richtung, für jeden Motor einzeln, mir jeweils so ein Gerät zu kaufen und nicht für alle vier nur eins.
    Das habe ich wahrscheinlich nicht genau genug ausgedrückt.

  4. #4
    Erfahrener Benutzer Robotik Einstein Avatar von wkrug
    Registriert seit
    17.08.2006
    Ort
    Dietfurt
    Beiträge
    2.162
    Ich versteh jetzt nicht wo Dein Problem genau liegt.
    Soweit Ich das gelesen habe ist ja der RAMPS 1.4 ein vierfach Schrittmotor Treiber.
    Mit dem ATMEGA und diesem sollten sich die 4 Schrittmotoren unabhängig voneinander Ansteuern lassen ( Wenn die Leistung der verwendeten Treiber IC's ausreicht ).

    Was soll denn als Eingabewert dienen? G-Code, autonomer Betrieb, oder sonstwas.

    Für den ARDUINO musst Du halt eben ein Programm schreiben, das die entsprechenden Eingabedaten in die entsprechenden Signale für den Schrittmotortreiber umwandelt.
    Ich würde sowas einen Parser nennen.

    Ob es da was fertiges gibt kann Ich nicht sagen.
    Brauchbare Codeschnipsel für die Schrittmotor Ansteuerung kann man aber mit Sicherheit von selbstgebauten 3D Druckern mit ARDUINO holen.
    Wenn es nicht schon eine fertige .lib für den RAMPS 1.4 gibt.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.536
    Blog-Einträge
    29
    Würde das auch so machen, wie schon beschrieben. Der Mega hat genügend Timer, das sollte für 4 Motoren reichen. Damit kann man stufenlose Geschwindigkeiten hinbekommen. Wenn es GCode sein soll und es nicht allzu viele, unterschiedliche Befehle sind, ist es eine kleine Fleißaufgabe, den Text auseinander zu nehmen und den GCode so zu zerlegen, dass man die Motoren steuern kann. Erfordert aber schon fortgeschrittene Programmierkenntnisse. Könnte hier und da etwas kniffelig werden.

    Diese "Single axis controller" scheinen umständlich. Gehen dann wohl auch ins Geld?

Ähnliche Themen

  1. NEMA17 Schrittmotor
    Von Moppi im Forum Motoren
    Antworten: 12
    Letzter Beitrag: 26.06.2020, 17:32
  2. Suche passende Greifsystem für 4 Axis Roboter
    Von sirewgenij im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 1
    Letzter Beitrag: 19.12.2015, 20:17
  3. Multi Axis Synchronisation - CNC
    Von Wsk8 im Forum Software, Algorithmen und KI
    Antworten: 0
    Letzter Beitrag: 19.11.2015, 17:32
  4. Axis Kamera PoE Versorgung fehlt
    Von niki1 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 04.03.2014, 08:53
  5. V2Xe 2-Axis Compass Modul
    Von Wredo2 im Forum Sensoren / Sensorik
    Antworten: 0
    Letzter Beitrag: 22.10.2004, 14:13

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •