- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 14 von 14

Thema: Positionsregelung mit DC-Motoren

  1. #11
    Benutzer Stammmitglied
    Registriert seit
    18.06.2005
    Ort
    Hattenhofen
    Alter
    38
    Beiträge
    55
    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo Sigo,

    mal angenommen, ich würde den LM629 verwenden. Weelche Parameter will der? Sind das so regelungstechnische Daten wie Zeitkonstanten, oder sind das direkte physikalische Eigenschaften?

    Mein Problem ist halt, dass ich zum einen kaum Messmöglichkeiten habe (bei mir beschränkt sich der Apperatepark auf 1 Multimeter, ein Netzteil und vllt. noch ein paar selbst gebaute Schaltungen wie Logik-Tester). Daher dachte ich eher an selber programmieren. (Erklärung: Vor Verwendung wird bei jedem Einschalten eine Initalisierung durchgeführt. Dabei wird "einfach" der Motor an einen Anschlag gebracht (Taster!), von dort mit voller Beschleunigung losgelassen (oder eben auch mit Gefühl) und der Streckenverlauf aufgezeichnet. Dadurch sollte es möglich sein, ggf. durch mehrmaliges Messen, die Parameter herauszufinden.) Wenn ich nämlich die Parameterermittlung selber programmieren muss, wäre das, so denke ich, auch nicht mehr so gigantisch viel mehr, den ompletten PID zu realisieren.

    Du sagst, man würde ein Trapez-Profil erhalten. Ist das so in der Regelung eingebaut? Das sollte doch auch "per Hand" machbar sein, oder? Unter der Voraussetzung, der Regler ist abgestimmt, versteht sich.

    Wie gut werden Differenzen in den Geschwindigkeiten zueinander ausgeregelt? Wenn also ein Chip nicht genug Power rausholen kann. (Da gibt's so ne schöne Gleichung, die besagt, dass die Drehzahl mit zunehmendem Lastmoment sinkt) Wie regeln die anderen runter?

    Noch ne kurze Frage am Rande: Ich will den Motor ja mit PWM betreiben. Nun ist das blöd, wenn ich jedem Motor einen extra Atmel vor die Nase setzen muss, damit ich Hardware-PWM nutzen kann. Tut's hier auch Software-PWM? Welche (Abtast-) Frequenz sollte ich mindestens anstreben?

    MfG
    Christian

  2. #12
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    14.01.2006
    Ort
    Hattingen
    Alter
    59
    Beiträge
    984
    Hi, letztlich sind das die PID Regelparameter, die sich aus der Abtastzeit von ca. 341µs und den Motordaten ergeben.

    Aber das ist alles nicht so problematisch, wenn man nach der guten alten Faustformel vorgeht:

    Erstmal den Motor anschalten und kp solange erhöhen, bis der Motor anfängt zu schwingen. Dann gehst du mit Ki aufs doppelte und mit kd aufs 5-10-fache. Dann wird der Motor erstmal recht ordentlich laufen.
    Wenn die Regelung zu "aggressiv ist" geh mit kd halt zurück und ggf. auch mit kp..
    Damit der Integrator nicht überschießt, kann man noch ein Integrationslimit definieren.

    Ja, das Trapezprofil ist vorgegeben, der Baustein enthält einen Rampengenertator, d.h konstante Beschleunigung bis zur max. Drehzahl, dann konstante Geschwindigkeit. DIe Brensrampe wir dann zum passenen Zeitpunkt eingeleitet, sodass es eine Punktlandung gibt...

    Wir ich bereits schrieb, kann man den Regler auch während der Fahrt mit anderen Geschwingkeiten versorgen. Hierzu kann man entweder das Positionsregister während der Fahrt auslesen oder man setzt einen Breakpoint (ähnlich Timer Intterrupt) der dann bei Erreichen einer Wegmarke einen Interrupt auslöst. Wenn man zuvor schon die nächstr Geschwindigkeit und ggf. auch Position übertragen hat, kann man dann in der ISR einfach das nächste Update Kommando geben und diese Werte weden on the fly übernommen..

    Man kann auch die Beschleunigung ändern. Aber das ist nicht vorgesehen, geht aber. Hierzu muss man allerdings tricksen.

    Jede Achse regelt erstmal für sich. D.h. solange die Regelreserve vorhanden ist, wird die PWM erhöht und die Position wird auf den Sollwert geregelt (den der Rampengenerator für die Zeit vorgibt), das kann der LM629 ziemlich genau und gut (kurze Abtastintervalle usw.).
    Für den Fall, dass der Regler es nicht mehr packt, kann man vorher einen Schleppgehler definieren. Wenn dieser überschritten wird, gibts einen Interrupt. Man kann dann mit dem Controller entscheiden, was man macht, also alle Achsen hart stoppen, auslauen lassne oder so..

    Der Sinn der Coprozessoren ist es ja, dass man den µController voll entlastet. Der muss nur noch die Parameter eingeben und dann per ISR oder Polling die Achscontroller überwachen. Da kann 1 ATMEL locker mehere Achsen betreuen. (Der LM629 erzeugt die PWM mit ca. 15kHz in der 6MHz Version und das Vorzeichen selbst, da hat der Controller nichts mit zu tun.)

    Der LM629 benötigt allersings parallele Datenleitungen, also 8 bit für die Daten. Dann einen Pin, der sagt, ob eine Adresse oder Daten kommen (ALE) und eine Chip-Sellect-Leitung, die den jeweiligen Controller auswählt, und die Interruptleitung, die man am besten jedem Chip einzeln spendiert (dank der neuen AVR Controller kann man ja damit asen, zur Not kann man auch alle zusammen schalten und muss dann alle Chips abklappern, um zu erkennern wers war.)

    Macht:
    8 Datenleitung
    1 ALE
    1 CS pro Achse
    1 Interrupt pro Achse

    Sind bei 3 Achsen: 15 Pins
    Also ne Menge.


    Wenn du die Regelung selbst proggen willst, solltest du wahrscheinlich je Achse 1 AVR nehmen, denn der hat reichlich zu tun, zumindest, wenn er Sample-Times wie der LM629 erreichen will. Das wird mit dem AVR nicht für 3 Achsen gehn.
    Auf der andere Seite, da ja die µC heut nix mehr kosten und alles an Board haben, spricht auch nichts dagegen, für jede Achse 1 zu nehmen.
    Der LM629 stammt aus Zeiten, da 8051 (original) noch Maß der Dinge waren, die nicht so schnell rechnen konnten, da war so ein 16-Bit-Coprozessor schon praktisch.

    Mit dem LM629 sparst du aber mehr als reichlich Entwicklungsstunden.

    Ich hab den LM629 mal 1989 eingesetzt, mit einem 500 Strich Inkrementalgeber. Der hat 200W (Peak 800W) Servoantriebe sehr gut geregelt, unterwegs auf wenige Inkremente Abweichung, dann mit Punktlandung auf 2/100mm.

    Eine echte 4Quadranten-Servoregelung ist was anderes als nur einfach losfahren. Hängt halt von der Anwendung ab.

    Gruß Sigo

  3. #13
    Benutzer Stammmitglied
    Registriert seit
    18.06.2005
    Ort
    Hattenhofen
    Alter
    38
    Beiträge
    55
    Hallo,

    @sigo:
    Ich hab mit dem LM 629 nämlich folgendes Problem:
    Bei Reichelt finde ich den Chip ehrlich gesagt nicht. Bei Conrad ist die Suchroutine mal wieder recht mies und er findet mir so knapp 200 (?) Einträge. Ich hab zwar noch nicht alle durchgeschaut, aber ich hab auch da noch nix gefunden.
    Kann es sein, dass der Chip nicht mehr ohne Weiteres zu bekommen ist? Ggf. abgekündigt?

    Noch eine Frage:
    Die PID-Parameter, lassen die sich irgendwie mit den Motor-Konstanten (Leerlaufdrehzahl, Nennspannung, Induktivität der Spule, Betriebsspannung, Spulengleichstromwiderstand) rechnerisch bestimmen? Eigentlich müsste es doch möglich sein, eine Formal anzugeben, oder?

    MfG
    Christian

  4. #14
    Gast
    Zitat Zitat von clupus
    Hallo,

    @sigo:
    Ich hab mit dem LM 629 nämlich folgendes Problem:
    Bei Reichelt finde ich den Chip ehrlich gesagt nicht. Bei Conrad ist die Suchroutine mal wieder recht mies und er findet mir so knapp 200 (?) Einträge. Ich hab zwar noch nicht alle durchgeschaut, aber ich hab auch da noch nix gefunden.
    Kann es sein, dass der Chip nicht mehr ohne Weiteres zu bekommen ist? Ggf. abgekündigt?

    Noch eine Frage:
    Die PID-Parameter, lassen die sich irgendwie mit den Motor-Konstanten (Leerlaufdrehzahl, Nennspannung, Induktivität der Spule, Betriebsspannung, Spulengleichstromwiderstand) rechnerisch bestimmen? Eigentlich müsste es doch möglich sein, eine Formal anzugeben, oder?

    MfG
    Christian
    Bezugsquelle:
    Also, den wirst du bei Corad und Co nicht finden, zu speziell.
    Ich hab vor ein paar Tagen mal auf der Seite von National Semiconductor geschaut und LM629 als Suchbegriff eingegeben, da gibts eine Seite, auf der man auch Muster direkt bei National ordern kann oder über einen Distribute. Man muss ihn aber bezahlen ($21 oder $25 oder so). Du wirst das schon finden...

    Die Möglichkeit der Berechnung der Daten gibts es bestimmt, die steht wahrscheinlich auch im Datenblatt (www.alldatasheet.com) aber ich habs ehrlich gesagt vergessen. Wüsste auch nicht mehr ohne Nachlesen, wie es geht..

    Letztlich wird es da aber stehen, oder in Application Note..auf jeden Fall steht da aber die Formel des PID-Reglers drin mit Abtastzeiten usw..
    Wenn du im Regelungstechnik Stoff noch drin steckst, sollte es kein Problem sein. Sonst eben einfach nach Faustformel und ein wenig Probieren..

    Gruß Sigo

Seite 2 von 2 ErsteErste 12

Berechtigungen

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

LiFePO4 Speicher Test