Gleichstrommotor mit Encoder: Wie Geschwindigkeit regeln

  • Hallo Leute!


    Ich bin ein Student und arbeite an der Universität an einem Teststand. Dort soll ein Motor über einen Zahnriemen eine Verfahreinheit mit konstanter Geschwindigkeit antreiben.

    Der Motor wurde von meinem Vorgänger ausgewählt und ist ein 12V Gleichstrommotor mit integrierten Hall-Sensoren als Encoder.

    Hierfür suche ich einen Motor Controller, der eine closed-loop Regelung für mich vornimmt und ich somit nur den Drehzahlsollwert und die Rampe vorgeben muss, ohne dass ich selbst einen aufwendigen Regler entwerfen und programmieren muss.

    Ich habe mir das so vorgestellt, dass der Benutzer die Sollgeschwindigkeit in einer GUI vorgibt und der Motor dann aus dem Stillstand auf diese Drehzahl beschleunigt.


    Bisher habe ich die beiden Treiber/Controller gefunden, die eventuell passen könnten:

    1. Sabertooth Dual 5A 6V-18V Regenerativer Motortreiber - Hat keinen Encoder-Eingang. Also müsste ich den Encoder im PI einlesen und daraus den Analogwert für den Controller berechnen - klingt nicht wirklich nach dem, was ich suche.

    2. Phidgets 1065 5A - Hat einen Encoder-Eingang, aber nicht die 4 Pins, die mein Encoder hat.

    3. RoboClaw 2x15A - Das gleiche Problem wie bei dem ersten.


    Habt ihr Erfahrungen mit Gleichstrommotoren und der Drehzahlregelung gemacht?
    Könnt ihr für das Problem einen Controller/Treiber empfehlen?


    Ich kann mir nicht vorstellen, dass es dafür keine fertigen Lösungen gibt.


    Viele Grüße

    Simon

  • Bei meinem Kunden im Einsatz:


    Faulhaber MCBL 300 (mit Faulhaber-Motor) - kann Rampen, Geschwindigkeitsregelung, Positionsregelung und noch einiges mehr


    mini mot von Wienecke&Sinske

    Vielen Dank für die Antwort.

    Der Controller ist für Bürstenlose Motoren, aber ich werde mir die anderen Produkte des Herstellers mal ansehen.

  • Mangelnde Zeit für die Integration und Erfahrung.


    Wie würde denn sowas ablaufen?
    Müsste ich die Encodersignale auf jeweils einem GPIO einlesen, dann die Zeitdifferenz der Flanken bestimmen und daraus dann einen analog-Wert ausgeben? Dann hätte ich meiner Meinung nach kein sauberes Anlaufverhalten und bräuchte eine zusätzliche Schaltung um das Analog-Signal in 12V-PWM umzuwandeln.

  • Um das Anlauf erhalten würde ich mir keine Sorgen machen - hängt aber von der Anwendung ab...

    Analogausgang brauchst Du keinen. Eine Endstufe für einen PWM jedenfalls. Ein Arduino ist meiner Meinung für einen selbst gebauten Motorregler besser geeignet...

    Ja, je nach Drehzahl zählst Du die Anzahl der Umdrehungen (höhere Drehzahlen) oder misst die Dauer einer Umdrehung (kleine Drehzahlen).

    Bist Du sicher, dass die Drehzahl einen bestimmten Wert haben muss oder stellt der Benutzer ohnehin je nach empfinden nach?

    ...wenn Software nicht so hard-ware ;) ...

    Freue mich über jeden like :thumbup:

  • Ein Enkoder gibt je nach Typ pro Umdrehung ein oder mehrere Impulse ab, hat also nur eine Leitung bzw. 2 mit Drehrichtungserkennung . Welcher Encoder wird genutzt? Phidgets 1065 5A und RoboClaw 2x15A sind normale PWM-Regler, wobei der der bessere ist. Bei dem muss nur ein Poti, ein Raspberry oder sonst was mit Analog- oder Digitalsignal ran, den Rest macht die Steuerung alleine.

  • Vielen vielen Dank für eure Antworten!



    Bist Du sicher, dass die Drehzahl einen bestimmten Wert haben muss oder stellt der Benutzer ohnehin je nach empfinden nach?

    -ja, die Drehzahl soll synchronisiert werden mit einem zweiten Motor (der mir noch nicht bekannt ist) und daher würde ich gerne die Drehzahl exakt vorgeben.




    So stelle ich mir das vereinfacht vor:

    [Blocked Image: https://i.imgur.com/VoznKcD.jpg]



    Die Dokumentation des Hall-Encoders ist sehr mangelhaft. Denke er dient als Inkrementalgeber mit Richtungserkennung, also pro Hall-Sensor ein Signal pro Umdrehung.

    Bei der RoboClaw steht :

    Quote

    RoboClaw features dual channel quadrature/absolute decoding.

    Bei dem Phidgets steht:

    Quote

    Compatible encoders are often advertised as being ‘single

    ended’, and will have 4 or 5 connections.

    Absolute encoders will not work with this device.

    Demnach gehe ich davon aus, dass beide Controller tatsächlich geeignet sind.


    Habe sonst noch den SC 2402 P von Faulhaber oder den sabertooth mit Motion Controller gefunden.

    Edited once, last by simon_s ().