-         

Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 24

Thema: Motoransteuerung mittels PWM

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.03.2006
    Beiträge
    24

    Motoransteuerung mittels PWM

    Anzeige

    hallo Community,

    habe ein Problem mit meinen (Faulhaber-) Motoren im Asuro. Mir ist aufgefallen, daß bei halb so großer Motorspeed-Einstellung (also 127 statt 255) trotzdem noch über 5V am Motor anliegen. Dachte die Spannung sollte dann nur noch die Hälfte der VCC betragen (???). Jetzt hab ich mir mal das PWM-Signal angeschaut und festgestellt, daß das ja gar keine schöne Rechteckspannung ist, sondern das die steigenden Flanken zwar schön grade nach oben ansteigen - aber das die fallenden Flanken nur sehr langsam im Bogen abfallen (könnte ne e-Funktion sein). Jetzt ist meine Frage: Ist das normal? Und ist es irgendwie möglich doch eine schöne rechteckspannung zu bekommen? Ich will nämlich das die Spannung proportional zum PWM-Wert ist. Oder muß ich eine Funktion schreiben die MotorSpeed und Ausgangsspannung so anpaßt daß ich eine Proportionalität erhalte???

    LG Katja

  2. #2
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.365
    Haben die Motoren vielleicht große Entstörkondensatoren?
    Wie lange dauert denn das Umschalten? Verlustarm wäre ein recht schnelles schalten.
    Manfred

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    18.03.2006
    Beiträge
    24
    Was meinst du mit "Wie lange" ? Ich benutze die ganz normale vorgefertigte Funktion MotorSpeed(left_speed, right_speed) und habe das Problem über den gesamten Bereich von 0 bis 255. Den Motor, den ich ansteuer, habe ich vor der Messung abgeklemmt, so daß von der Seite eigentlich keine Beeinflussung kommen sollte...

  4. #4
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.365
    aber das die fallenden Flanken nur sehr langsam im Bogen abfallen (könnte ne e-Funktion sein).
    Die Zeit hast Du ja gemessen wenn ich es richtig verstanden habe, wie lange dauert denn der Bogen?
    Es ist eigentlich nicht vorgesehen, dass es länger als eine oder wenige Mikrosekunden dauert.
    Ist es auf beiden Seiten gleich?
    Manfred

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    18.03.2006
    Beiträge
    24
    Der Abfallende Bogen geht bis zur nächsten steigenden Flanke. Habe jetzt herausgefunden, daß der Motor scheinbar zu wenig Leistung zieht. Wenn ich anstatt des Motors einen 1000-Ohm-Widerstand anklemme, habe ich eine vorbildliche Rechteckspannung. Annährend rechteckig ist sie auch, wenn ich den Motor richtig gut belaste. Lasse ich den Motor allerdings unbelastet laufen, wars das. Ich hab dann auch mit jedem PWM-Bitwert annährend die gleiche Drehzahl - nur das Moment sinkt halt ab...
    Eine Propotionalität zwischen PWM-Bitwert und Motorspannung oder Drehzahl kann man so jedenfalls vergessen...

    EDIT:
    Möglicherweise liegt das Problem darin, daß sich speziell mein Motor nicht mit der H-Brücke versteht. Der Motor ist ein Scheibenläufer. Habe mal 2 konventionelle DC-Motoren angeklemmt und mit denen keinerlei Probleme gehabt. D.h. ich habe bei denen immer ein schönes Rechtecksignal an den Klemmen messen können. Im Attachement ist das Datenblatt des Motors. Habe die Ausführung für 6V
    Angehängte Dateien Angehängte Dateien

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.01.2006
    Ort
    Hattingen
    Alter
    52
    Beiträge
    984
    Hallo Katja,

    wie macht die Endstufe die PWM?
    Wenn die PWM 0 ist, werden dann alle Transistoren stromlos geschaltet oder wird "gechoppert", also wird die Spannung kurzgeschlossen.
    Das könnte deine Kurven erklären.
    Im einen Fall wäre es ein 1-Quadrantenbetrieb (wenn man nur 1 Drehrichtung betrachtet), d.h. die Spannung wird ein- oder ausgeschaltet. Wenn der Motor speist (leerläuft) dreht er im Leerlauf..

    Im anderen Fall würden die Mosfets bei PWM 0 den Motor kurzschließen und so also abbremsen. Die Drehzahl und Spannung müsste sich so immer auf die PWM-Rate einstellen. (2-Quadrantenbetrieb).

    Das kann mit der hervorragenden Qualität der Motoren zusammenhängen. (bei anderen Motoren bewirkt der miese Wirkungsgrad und die Reibung ja ein abbremsen..

    Gruß Sigo

  7. #7
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.365
    Die Endstufe ist die des ASURO ist hier links im Bild zu sehen, es ist eine vollständige H-Brücke.

    Der Motor hat einen Widerstand von 8,2 Ohm und eine Induktivität von 0,465mH. Die elektrische Zeitkonstante des Motors ist damit L/R = 57µs. (Die Zeitkonstante in der Schaltung wird durch den Innenwiderstand der H-Brücke eher etwas geringer.)

    Die PWM Frequenz sollte so hoch sein, dass die Induktivität (mit ihrer Zeitkonstante in der Schaltung) den Strom mittelt. Das könnte für die Grundeinstellung der PWM Frequenz des ASURO mit 57µs etwas knapp werden.



  8. #8
    Erfahrener Benutzer Roboter Experte
    Registriert seit
    16.05.2005
    Beiträge
    734
    Zitat Zitat von sigo
    wie macht die Endstufe die PWM?
    In der OFF-Phase der PWM sind die Transistoren hochohmig, d.h. der Motor läuft in der Phase leer, wird also nicht gebremst. Dadurch kann sich bei zu geringer Induktivität oder zu geringer PWM-Frequenz und geringer Last zu einem lückenden Strom kommen. Damit wirkt die PWM nicht mehr so wie es eigentlich sein sollte.

    @Katja
    Wie Manfred schon schrieb, ist die Induktivität des Faulhaber Motors sehr viel kleiner als der des original Asuro Motors (etwa Faktor 10). Der Strom wird mit der Asuroansteuerung vermutlich lückend sein und damit nicht mehr proportional zum PWM-Wert.
    Mögliche Abhilfen:
    1. PWM-Frequenz erhöhen
    Wenn ich mich recht entsinne, kann man die PWM-Frequenz beim Asuro noch um den Faktor 8 erhöhen. Ich bin mir allerdings nicht sicher ob das ausreichen wird.
    2. Motortreiber auf 2-Quadrantenbetrieb umbauen
    Wie bereits sigo schon andeutete, die Ansteuerung so umbauen, dass der Motor während der OFF-Phase der PWM kurzgeschlossen wird. Das sollte auf jeden Fall die Proportionalität verbessern. Allerdings bedeutet das einen Eingriff in die Hardware des Asuro. Ich weiß nicht, wie umfangreich das sein wird.

    Zum Schluss noch eine Frage: Für was brauchst du eine Proportionalität zw. PWM und Drehzahl?
    Eine exakte Proportionalität wird es nämlich nie geben, da immer irgend eine Reibung vorhanden sein wird und die Proportionalität zunichte macht.

    Waste

  9. #9
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.01.2006
    Ort
    Hattingen
    Alter
    52
    Beiträge
    984
    Bei der sehr geringen Induktivität würde ich eher die PWM-Frequenz erhöhen, als den Chopper-Betrieb wählen. Dieser würde zu große Verlust erzeugen, da praktisch die ganze Energie aus dem Motor gezogen werden kann. weil die Zeitkonstante so klein ist.

    Also erstmal die PWM-Frequenz erhöhen, und dann ggf. zusätzlich den Chopperbetrieb wählen. Ich hatte bei Servomotoren mit einer PWM-Frequenz von 16kHz, mit dem Chopperbetrieb klar die besseren dynamischen Eigenschaften. Aber die Motoren waren auch größer (250W) und somit träger.

    Sigo

  10. #10
    Super-Moderator Lebende Robotik Legende Avatar von Manf
    Registriert seit
    30.01.2004
    Ort
    München
    Alter
    64
    Beiträge
    12.365
    Zur Ansteuerung des Motors in der H-Brücke mit PWM ganz allgemein:
    Oben im Schaltbild der Brücke, beispielsweise für den linken Motor erfolgt die Richtungsansteuerung des Motors über die Signale a und b.

    Das Signal das auf 0 ist steuert den oberen Brückentransistor an, b=0 für T1 und a=0 für T3 und sperrt über das und Gatter auch gleich den unteren Transistor damit die Spannungsquelle nicht kurzgeschlossen wird.

    Wenn dann eine PWM Ansteuerung über c dazukommt dann wird eine Spannung an den Motor gelegt. Für b = 0 (und a= 1) wird der Transistor T4 über c mit PWM angesteuert und der Strom fließt von d nach e durch den Motor.

    Solange der Transistor T4 angesteuert ist fließt der Strom
    von Vcc über T1 Motor d-e und T4 nach GND.
    Ist der Transistor T4 gesperrt dann fließt der Strom
    von Vcc über T1 Motor d-e und die Freilaufdiode D3 nach Vcc zurück.

    Die Ansteuerung erfolgt also im Chopper-Betrieb mit slow decay. Siehe auch: http://www.roboternetz.de/wissen/ind...hopper_Betrieb
    Dort ist es der Wechsel zwischen dem roten Strompfad in der On Phase des PWM und dem grünen Strompfad in der Off Phase des PWM. Es ist in der Darstellung auch gezeigt, dass es eine Alternative fast decay gibt.

    Für Motoren mit kleinen Induktivitäten wie hier beim ASURO ist der slow decay mode der geeignete. (Um das Abklingen des Motorstroms weiter zu verzögern könnte man allenfalls noch die jeweilige Freilaufdiode in der Abschaltphase des PWM kurzschließen. )

    Es sollte bei einer kleinen Induktivität, die zu Stromlücken führt, die PWM Frequenz erhöht werden.
    Manfred


Seite 1 von 3 123 LetzteLetzte

Berechtigungen

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