Welcome to our new forum
All users of the legacy CODESYS Forums, please create a new account at account.codesys.com. But make sure to use the same E-Mail address as in the old Forum. Then your posts will be matched. Close

Codesys Raspberry Pi Arduino SPI Schrittmotor

Code-22
2018-09-27
2018-10-17
  • Code-22 - 2018-09-27

    Hallo an alle Codesys und RPi Freunde,

    ich möchte für einige Zukünfte Projekte den RaspI als SPS nutzen.
    Mein Ziel ist es 3 bis 6 Achsen (je nach Projekt) anzusteuern. Als Antriebe sollen Schrittmotoren zum Einsatz kommen. Möglichst ohne Encoder.
    Mein Wunsch wäre natürlich die 3S Bausteine für die Transformations- , Bahnen- oder Kinematik Berechnungen zu nutzen, um z.B.
    eine 3 Achsige Maschine, ein Automatisierte Linie oder sogar später einen 5 bis 6 Achs Roboterarm anzusteuern.

    Die Frage die sich mir nun stellt:

    Wie kann ich mit dem RaspI und Codesys Schrittmotoren ansteuern?
    Gibt es da extra Bausteine, die die GPIOs für Puls und Richtung nutzen?
    Könnte man die GPIOs überhaupt dafür nutzen? Wären diese Schnell genug?
    Was wäre denn wenn man einen Arduino z.B. einen Mega 2560 der in nahe zu allen hobby 3D Druckern als Steuerung eingesetzt wird über SPI/I²C...
    mit dem Pi zu verbinden und die Positionsinformationen, Geschwindigkeit... vom Pi an den Arduino zu übertragen? Wäre dies möglich?

    Die Schrittmotorsteuerungskarten benötigen im Grunde nur ein Enable-, einen Puls- und einen Richtunssignal.

    Habe sehr viel Erfahrungen mit CNC-Maschinen und 3D-Druckern. Diese werden jedoch entweder über eine Software auf Linux Basis oder Windows angesteuert. Für die genannten Projekte ist dies jedoch ausgeschlossen, da ich vieles Automatisieren möchte und dies im erster Linie nur mit einer SPS sinn macht.

    Ich bin für alles offen und würde mich sehr darüber freuen wenn jemand seine Erfahrungen mit mir teilen würde.

    Vielen Dank schonmal im Voraus.

    LG Code-22

     
  • Code-22 - 2018-10-03

    Keiner ne Idee oder erfahrungen?

    LG

     
  • almot89 - 2018-10-11

    ich denke du suchst sowas, oder?

    https://www.youtube.com/watch?v=oDha-2y3pH4

    es gibt auch ein Beispielprojekt zum ansteuern eines RC Servomotors.

    Für Wago PLC gibt es richtige Schrittmotoren klemmen die auch microstepping unterstützen. An der Klemme können zusätzlich noch Referenzsensoren und encoder angeschlossen werden.

    hier mal ein Video wo zummindest die Hardware in Action zu sehen ist.

    https://www.youtube.com/watch?v=PlyNtwWwtro

    habe mich damit auch mal ne zeit lang beschäftigt, weil ich einen Steuerung ( Drehzahlregelung) eines Benzinmotors basteln wollte...... aber bin noch nicht weit gekommen

     
  • Code-22 - 2018-10-16

    Hallo almot89,

    vielen Dank für deine Antwort. Das erste Video kenne ich. Ist schon sehr alt...
    Aber wie beschrieben möchte ich nicht RC Servos betreiben sondern Schrittmotoren.

    Die Wago Klemmen sind schon geil aber für den Privatmann und für kleine Projekte nahezu unbezahlbar.
    Deswegen ja der Ansatz mit nem PI und Schrittmotorkarten. Die Hardware kostet nichts und man kann unter 100 euro schon mehrere Achsen realisieren.

    Vorausgesetzt die Software lässt es zu.

    Es haben ca. 146 Leute diesen beitrag gelesen und nur einer geantwortet.
    Die Frage ist nun, sind denn meine Anforderungen überhaupt machbar oder hat einfach nur keiner Erfahrungen damit gemacht.

    Ich meine jeder popeliger Microcontroler (Arduino) kann Schrittmotoren ansteuern. Da wird es doch irgendwie möglich sein dies auch mit Codesys und einem RasPi zumachen???

    LG
    Code-22

     
  • eschwellinger

    eschwellinger - 2018-10-17

    Hallo Code-22,

    ich habe deshalb nicht geantwortet weil ich dir nicht wirklich fundiert weiterhelfen kann.

    Geplant war mal einen MSP430 über I2C anzubinden, der generiert Takt/Richtung für die 3 Schrittmotor Achsen
    (Aufgabe ist es einen 3D Drucker anzubinden mit Raspberry PI mit CODESYS & SoftMotion CNC)
    MSP430 als I2C Slave verwenden - der per Geschwindigkeitsvorgabe von der SoftMotion die Pulse erzeugt.
    Es braucht also eine Implementierung MSP340, einen SM Treiber I2C MSP430 in CODESYS / klar und die passenden Gerätebeschreibungen dazu.

    Denke so in der Art wäre genau das was du dir vorstellst.
    Das Problem ist dabei, es ist nicht realisiert bzw es ist in einem Zustand, das man nichts davon weitergeben kann.
    Das ist eigentlich schon die ganz Aussage.
    Die vermutlich nicht wirklich befriedigend ist für dich.
    Zu deinen Fragen:

    Zitat:
    Wie kann ich mit dem RaspI und Codesys Schrittmotoren ansteuern?
    Gibt es da extra Bausteine, die die GPIOs für Puls und Richtung nutzen?
    Könnte man die GPIOs überhaupt dafür nutzen? Wären diese Schnell genug?
    Was wäre denn wenn man einen Arduino z.B. einen Mega 2560 der in nahe zu allen hobby 3D Druckern als Steuerung eingesetzt wird über SPI/I²C...
    mit dem Pi zu verbinden und die Positionsinformationen, Geschwindigkeit... vom Pi an den Arduino zu übertragen? Wäre dies möglich?

    a) Ethercat (EL2521) und Puls/Dir Klemmen dafür gibt es einen SoftMotion Treiber in CODESYS
    b) nein zu langsam und ungenau - für PWM mag das vielleicht gehen nicht für Puls/Richtung
    c) kenn den Mega 2560 nicht - ich würde einen nehmen der als I2C oder SPI Slave verwendet werden kann - kann gut sein das der das auch kann
    d) ja

    Grüße
    Edwin

     

Log in to post a comment.