- Akku Tests und Balkonkraftwerk Speicher         
Ergebnis 1 bis 10 von 16

Thema: Motor Positionsregelung mit Encoder

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Benutzer Stammmitglied
    Registriert seit
    08.03.2010
    Beiträge
    66
    Der Motor ist ein Brushless-Motor mit Sensoren. Er wird von einem gewöhnlichen Modellbau-Regler gesteuert.
    Dieser Modellbau-Regler hat jedoch kein "Eigenleben". Er erwartet eine PWM im Bereich von etwa 1 - 2 Millisekunden.
    Diese sagt ihm wie er den Motor ansteuern soll. 1,0=Rückwärts 1,5=Neutral 2,0=Vorwärts

    Motor: LRP-Eraser
    Regler: AI-Pro
    Der Encoder sitzt hinter einem Planetengetriebe, da der Motor zu schnell dreht. (Ich weiß das der Encoder eigentlich auf den Motor gehört)

    Das eine PID Regelung funktioniert glaube ich. Vielmehr denke ich das der Fehler bei meinem Aufbau bzw. der Umsetzung liegt.
    Der Quelltext oben findet aktuell keine Verwendung mehr, da ich ja jetzt mit der PID-Regelung arbeite.

    Vom Aufbau her ist es ein ehemals Allrad-Fahrzeug, welches auf Frontantrieb reduziert wurde.
    Am zweiten Ausgang des Planetengetriebes sitzt jetzt der Encoder (da wo vorher die zweite Kardanwelle für das Heck dran war)
    Die Einheit, welche den encoder ließt und die PWM für den Modellbau-Regler erzeugt ist ein Arduino Nano, dieser wird von einem Arduino Mega über I2C mit den Infos (z.B.Fahrbefehl, Halt, KP,KD und KI versorgt). Der Mega wiederum erhält via XBee seine Befehle von meinem Computer.
    Somit kann ich sehr bequem mit den Werten spielen.

    Gruß, Andreas

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    57
    Beiträge
    2.814
    Wenn der Regler der "A.I. BRUSHLESS (PRO) REVERSE" ist, hat der eine eigene Regelung. Alleine schon wegen der EMK Bremse wird er sich nicht passiv verhalten.
    Laut der Beschreibung die ich eben gelesen habe, kann man die Bremse wohl auch nicht abschalten.
    Willst Du den Motor wirklich selbst regeln, wirst Du in dem Fall wohl drei Halbbrücken brauchen und selbst einen Motortreiber bauen müssen oder anstelle einem Regler nach einem reinen Motortreiber für BLDC suchen müssen.

  3. #3
    Unregistriert
    Gast
    wenn es allerdings tatsächlich über normale H-Brücken geregelte Motoren sind (L293 o. L298 o.ä.) , wäre es vielleicht auch ein Tipp, die PID_v1 lib der Arduinos zu verwenden. Es gibt dafür sogar ein eigene Autotuning-Zusatzlib.
    http://playground.arduino.cc/Code/PIDLibrary
    http://playground.arduino.cc/Code/PIDLibaryBasicExample

  4. #4
    Erfahrener Benutzer Robotik Visionär Avatar von oberallgeier
    Registriert seit
    01.09.2007
    Ort
    Oberallgäu
    Beiträge
    8.707
    Hallo Andreas.
    .. Wer kann mir da ein bisschen helfen? ..
    Vor längerer Zeit hatte ich mich in die Regelungstechnik (siehe hier) von Gleichstrommotoren (klicken) zur Geschwindigkeitsregelung eingearbeitet. Daraus wurde dann die Geschwindigkeitsregelung meiner Roboterantriebe. Die Vorgehensweise ist hier beschrieben und zeigt (m)ein Codebeispiel. Die Funktion ist ziemlich gut. Es ist ein sauberer Geradlauf bzw. Gleichlauf der beiden kleinen Motörchen in meinem MiniD0 möglich. Der saubere Gleichlauf erlaubt z.B. diese sauber-platztreue Pirouette im Video.

    Die Sprungantwort zur Dimensionierung der Reglerkennwerte ist sehr praktisch. Hatte ich später nicht am freilaufenden Motor bestimmt sondern im fertigen Target. Ne ähnliche Regelung hatte ich auch bei meinem Archie verwendet - die Dimensionierung der Reglerkennwerte erfolgte nach einiger Erfahrung mit früheren Auslegungen eher über den Daumen gepeilt.

    Später hatte ich eine Stellungsregelung in ähnlicher Weise programmiert für nen "Servomotor" eigener Zusammenstellung am Handgelenk meines Archie. Dort ist, wegen der relativ einfachen Aufgabenstellung, nur ein PD-Regler (Software) eingebaut. Der I-Anteil konnte wegen geringer Lastvariation weggelassen werden. Die Vorgehensweise war wie oben beschrieben, der Code lehnte sich ebenfalls an diese erste Variante an.

    Der Motor ist ein Brushless-Motor mit Sensoren .. Modellbau-Regler hat jedoch kein "Eigenleben" ..
    Ich hatte noch nie Brushless´ in der Hand :-/ . Meine Regelungen laufen üblicherweise über käufliche Motortreiber-ICs/Motor-Vollbrücken wie L293D oder VNH2SP30.
    Ciao sagt der JoeamBerg

Ähnliche Themen

  1. Antworten: 1
    Letzter Beitrag: 21.03.2012, 18:43
  2. Motor Positionsregelung
    Von Che Guevara im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 4
    Letzter Beitrag: 11.10.2011, 12:13
  3. Encoder für BL Motor
    Von kristof81 im Forum Motoren
    Antworten: 10
    Letzter Beitrag: 05.06.2010, 13:10
  4. Motor mit Encoder
    Von Da_Vinci13 im Forum Motoren
    Antworten: 3
    Letzter Beitrag: 19.01.2009, 19:55
  5. Antworten: 2
    Letzter Beitrag: 23.07.2007, 08:44

Berechtigungen

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

LiFePO4 Speicher Test