Lastregelung

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,

    ich versuche einen Gleichstrommotor bei langsamer Drehzahl möglichst konstant anzusteuern. Erst dachte ich, ich krige es mit einfachn PWM hin.

    Da aber die belastung des motors schwankt funktionirt es nicht. Ich habe mich dann im Internet schlau gemacht und herausgefunden das lastregelung so funktionirt das in den pausen des PWMs die Spannung vom Motor gemessen wird.

    Leider habe ich keinen schimmer wie man das hardware und software seitig lösen kann.

    Hoffentlich kann mir jemand mit meinem problem helfen.

    First test the parts and then the whole [system]. Like that, errors can be found much easier -Andreas Spiess, HB9BLA

  • Ich glaube mit dem Raspberry (unter Linux) wird das eher nichts. Es kommt stark darauf an, wann innerhalb der Pulspause Du misst. Wenn Du ein Betriebsystem hast, kannst Du aber nicht sicherstellen, dass Du immer zur gleichen Zeit misst....

    Ich denke Du solltest einen Arduino verwenden. Ich würde das PWM Signal per Code generieren - also Ausgang EIN - je nach gewünschter Pulszeit warten, Ausgang aus. Warten, bis sich das Signal beruhigt hat (herausfinden mit Try & Error) und messen. Neue Pulszeit berechnen, restliche Pulspause warten und danach wieder den Puls einschalten...
    Bei diesem Verfahren brauchst Du jedenfalls eine Pulspause - je nach Frequenz wirst Du die Pulsweite bis ca. 90% hoch bringen können...

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

    Freue mich über jeden like :thumbup:

  • ich versuche einen Gleichstrommotor bei langsamer Drehzahl möglichst konstant anzusteuern.

    Mein erster Gedanke dazu war ein Schneckengetriebe. Wobei die Aussage "langsame Drehzahl" eher sehr unkonkret ist um eine mechanische Lösung vorzuschlagen.

    Btw. Das optimale Drehmoment bei Motoren ist oft von deren Drehzahl abhängig. Zu langsam könnte böse Folgen haben. Ein E-Motor kann bei Stillstand, gemeint ist wenn der Motor nicht die nötige Kraft aufbringt um die Welle zu drehen, einen Kurzschluss erzeugen. Das wiederum hängt aber auch vom Motortyp ab.

    Habe aber nur mal laut gedacht. ;)

  • Ich kenne das (#1) nur bei einem Schrittmotortreiber (L297), der über eine Sense Leitung den maximalen Spulenstrom (vom L298) detektiert und eine hohes Drehmoment bei geringen Drehzahlen, oder beim Anlaufen gewährleistet. Ob das auch bei einem DC (Bürsten-)Motor funktioniert, weiss ich nicht.

    Servus !

    RTFM = Read The Factory Manual, oder so

  • Zitat von hyle

    Mein erster Gedanke dazu war ein Schneckengetriebe

    Das habe ich schon. Aber wenn ich die welle mit meiner hand vesthalte (ohne viel druck) bleibt die welle stehen

    Zitat von VeryPrivat

    Ich denke Du solltest einen Arduino verwenden

    Habe ich rumligen. Wie würdest du die pwm nachführung machen?

    mein code beispiel wäre so:

    Code
    an
    duty cicle warten
    aus
    messen
    duty cicle warten
    if messwert < erwartet:
        duty cicle + 1
    if messwert > erwartet
        duty cicle - 1

    nun habe ich einen messwert...

    Ich weis nicht mehr was ich sagen Wollte aber nun habe ichs.

    ich könnte ja proportional den duty cicle verändern. Drüber sprechen hilft?.

    Hat jemand eine idee wie ich die spannung messen kann?

    First test the parts and then the whole [system]. Like that, errors can be found much easier -Andreas Spiess, HB9BLA

  • Ja, genau ADC Messung. Natürlich einen Passenden Spannungsteiler verwenden. Ich hätte (für später) noch einen Vorschlag: Du willst ja eher kleine Spannungen messen (langsame Drehzahl). Damit Du den Spannungsteiler nicht auf die volle Spannung auslegen musst, kannst Du den ADC Eingang ab einer gewissen Spannung kappen. Dafür würde sich z.B. eine Z-Diode parallel zum Widerstand gegen GND anbieten. Ich verwende meist LEDs, die brechen ab ca. 2V auch steil "durch" (hängt auch von der Farbe ab).
    Bevor Du Dich über die Regelung stürzt, würde ich eher mal Datenmaterial sammeln.

    • Steuere die Pulszeit vorerst manuell (z.B. Code ändern, mittels Schnittstelle oder Poti oder ähnlichem manuell).
    • Sample die Pausenzeit mit möglichst schnellen und mehreren ADC Werten.
    • Verwende verschiedene Lasten und beobachte, welcher Messzeitpunkt das Ganze gut repräsentiert.
    • Mache das bei mehreren Pulsweiten

    Aus den Daten sollte sich ergeben welche Pausenzeit Du benötigst und wo der beste Zeitpunkt unter verschiedenen Lasten ist. Es könnte auch dabei helfen zu verhindern, dass das Ganze ins schwingen gerät...

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

    Freue mich über jeden like :thumbup:

  • Jetzt funktionirt es auf eine art. Wenn ich den Motor festhalte regelt er nach. aber er schaft es nicht sich langsam zu drehen. Ich Spiele noch mal mit den Werten rum.

    First test the parts and then the whole [system]. Like that, errors can be found much easier -Andreas Spiess, HB9BLA

  • "langsam" ist relativ schwierig, wie hyle schon erwähnt hat, da der Motor wenig Drehmoment hat und wenn Du ihm bremst ändert sich der Strom kaum noch bis er steht. Für solche Falle Da brauchst Du einen Sensor. Die Regelung ist aber auch schwierig, da ein solches System schwer stabil zu halten ist - es dauert ja bis Du wieder einen Drehzahlwert bekommst => Starke Schwingneigung... Die Beste für langsame Drehzahlen Lösung wäre ein Getriebe mit dem Du den gewünschten (Drehzahlbereich) gerade so abdecken kannst.

    Wobei jeder hat eine andere Vorstellung von langsam - vielleicht ist Dein langsam schnell genug ;)

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

    Freue mich über jeden like :thumbup:

  • Hier gibts ein Video, das ziemlich gut zeigt, wie man sowas machen kann - wahrscheinlich hast du das schon gefunden. Je nach Last muss der Strom verändert werden, um die Drehzahl konstant zu halten. Dazu wird zwischen den PWM-Stromimpulsen in gewissen Abständen die "Tachospannung", wenn ich das richtig verstehe sozusagen die Induktionsspannung des Motors, gemessen und entsprechend der daraus ermittelten Drehzahlabweichung das PWM-Signal angepasst. Die Regelung im Video arbeitet rein analog mit OPVs - kein µC oder sowas. Prinzpiell kann man das aber sicher auch mit einem µC machen.

    Über die Links unter dem Video kannst du auch den Hersteller finden. Ich hab ihn kürzlich wegen dem Teil mal kontaktiert - er kann es wohl noch in Einzelfällen verkaufen - ich glaube, er hat um die 50 € dafür aufgerufen.

    Leider hab ich zu dem Regelungsprinzip keine weiteren Informationen gefunden - weder eine analoge Schaltung noch Hinweise auf eine µC-Implementierung. Falls du was ausfindig machst, wäre es nett, wenn du hier was postest.

    Oh, man kann hier unliebsame Nutzer blockieren. Wie praktisch!

  • Wenn der Motor keinen Tacho hat, wird das Drehmoment welches von der Drehzahl abhängig ist, konstant zu halten schwierig.

    Als PWM noch nicht bekannt war, wurde in hochwertigen Recordern der Strom durch den Motor über einen Shunt "gemessen" und als Referenz für die Drehzahlregelung heran gezogen. Für konstanten Gleichlauf trieb der Motor eine massive Schwungscheibe an.

    Das ist reine Gleichstromtechnik und es wird kein PWM benötigt.

    Wenn du willst kann ich dir aus alten Schaltplänen so eine Schaltung heraus suchen.

  • So, kleines update zur Lastregelung.

    Ich habe mir ein neuen Motor gekauft. Er tut immernoch nicht so richtig.

    Ich steuere ihn einfach über ein Transistor an. Und das pwm das am Motor Anleigt, hat nichts mehr mit pwm zu tun.

    Nun habe ich mir ein Motortreiber gekauft und er kommt hoffentlich bald.

    Dann arbeite ich erstmal ohne Lastregelung und greife es dann später nochmal auf

    First test the parts and then the whole [system]. Like that, errors can be found much easier -Andreas Spiess, HB9BLA

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!