PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : DC-Motor schnell auf gewünschte Position stellen



pic18fx
07.07.2007, 15:47
Hallo,
ich habe einen 12V-DC-Motor, der im Ruhezustand steht. Durch verschiedenen äußere Einflüsse wird er aus dieser Lage bewegt. Mit einer Steuerung per MC möchte ich den Motor möglichst schnell wieder in die Ruhelage bringen. Dies schaffe ich mit einem PID-Regler, aber der ist mir noch zu langsam. Hat jemand eine Idee wie man den Motor schneller in die Ruhelage zurück bekommt?
Danke & Gruß

zumgwadrad
07.07.2007, 17:52
Hi,
schneller als PID ist natürlich P,aber Restfehler, oder PI Regler!

uwed
07.07.2007, 18:31
Hi.
PID Regler ist ja nicht gleich PID Regler
Verwendest du gerade einen Analogen (Operationverstärker) oder schon einen Digitalen Regler.
Hast du mit den Regelgrößen schon veariiert analog (Wiederstände Kondensatoren..) bzw. Digital (Kps, T1, Ti).
denn eigentlich gehts kaum schneller als mit PID kurz vor der Stabilitätsgrenze, d.h bevor sich das System aufschaukelt.

Ansonsten könnt ich mir nur noch eine naja leicht gewalttätige Lösung vorstellen, wenn die Auslenkung nur in eine Richtung erfolgt könnte man in der Anderen einen Anschlag Anbringen auf dem ein Schalter sitzt, und immer wenn diese Schalter nicht betätigt ist bekommt der Motot Strom bis er wieder anschlägt.
Ist ja aber nicht die feine englische Art.


MFG
Uwe

PsiQ
07.07.2007, 21:19
Frage:
willst du den motor erst auslenken und dann rückstellen, oder willst du dauernd gegensteuern und möglichst die nullage halten?

Das einfachste für eine drehrichtung mit sofortigem gegensteuern ist wirklich ein microschalter der in nullstellung den strom unterbricht..
für 2 richtungen mit etwas spiel müsste es auch mit 2 mikroschaltern klappen..

pic18fx
08.07.2007, 14:04
Danke für Eure Antworten.
@PsiQ: der Motor ausgelenkt und wieder rückgestellt. Die Auslenkung ist immer unterschiedlich aber es soll immer wieder die exakte Nulllage erreicht werden. Dazu verwende ich einen sehr genauen Poti-Weggeber. Bei der Idee mit den Mikroschaltern bin ich mir nicht sicher, ob damit die Nulllage erreicht wird, da der Motor bei Unterbrechung noch etwas nach läuft.
Gruß

Gock
08.07.2007, 15:37
Hi!
@zumgwadrad
P ist nicht schneller als PID!

Um mwelche Zeiten handelt es sich denn, also wie lange darf er denn brauchen zum Erreichen der Nulllage?

Kann mich nur uwed anschließen: schneller als PID braucht man kaum und wird sehr aufwendig. Möglich sollte es sein, wenn man einen Regler höherer Ordnung benutzt, oder einen PID mit einem weiteren Regler kombiniert. Das ist dann aber alles andere als trivial.
Bestimmt kannst Du noch einiges rausholen, wenn Du die Parameter optimierst. Dazu könntest Du die Regelstrecke sehr genau untersuchen und einen maßgeschneiderten Regler bauen, aber auch das schafft man nicht ohne intensives Einarbeiten! Probieren hilft ab einer gewissen Grenze nicht mehr weiter.
Du könntest aber Die Versorgungsspannung zum Motor und somit sein Anzugsmoment erhöhen oder einen dynamischeren Motor benutzen. Wenn er nicht im Dauerbetrieb läuft geht das bis zu einem bestimmten Grad. Dynamisch heißt hier nicht unbedingt stärker!
Gruß Gock

PS: Wenn DU nicht willst, dass der Motor ausgelenkt wird, dann schraub' ihn halt fest... ](*,)

zumgwadrad
09.07.2007, 09:54
Hi,
warum sollte P nicht schneller sein?
Die Lösung mit den Mikroschaltern ist doch ne 1a P-Regelung!
Und in nem PID sorgen doch die I und D Anteile für ne längere Regelzeit!
P stellt einfach, aber halt nicht ohne Regelabweichung!

Gock
09.07.2007, 11:37
Hi!
@zumgwadrad
Der D-Anteil ermöglicht es dem Regler schneller auf Sollwertsprünge zu reagieren als der P-Anteil, weshalb der Regler schneller einregelt. Der I-Anteil sorgt nicht für eine längere Regelzeit, weil sich die Anteile additiv und gleichzeitig überlagern. Dh sie werden nicht nacheinander durchlaufen.
Auf "Deutsch": Wenn der I-Anteil zu reagieren beginnt, ist der D-Anteil schon in vollem Gange, weil er eben frühzeitig greift. Anschließend sorgt der IAnteil für eine weiche Angleichung an den Sollwert.
Die Regelung mit den Mikroschaltern ist keine P-Regelung sondern eine 2-Punktregelung, die einfachste Art überhaupt.
Gruß

sigo
10.07.2007, 01:02
Hi, ich habe div. Anwendungen (vor ewigen 15 Jahren) mit dem LM628 bzw. LM629 realisiert. Der tuts schon ziemlich fix. Ist jetzt ein wenig in die Jahre gekommen, da teuer und stromhungrig, sowie mit Parallelinterface.
Aber ein super digitaler Regler in Hardware mit 250µs Samplingtime.
Klar kann man das heut mit einem fixen Controller auch selbst realisieren. Billiger und stromsparender und je nach Controller auch schneller.
Aber man muss es eben proggen...

Ich habe in meinem aktuellen Projekt einen ATtiny2313 am Start. Der kommt bei weniger Funktionalität als der LM629 immerhin auf 1ms Sampling-Time (@16MHz), wobei der PID-Regler nur ca. 120µs davon ausmacht.

Wenn du noch schneller und genauer gegeln möchtest, als mit einem schnellen PID-Regler, kannst du z.B. mit einem Observer arbeiten. Dabei musst du dann die Regelstrecke ziemlich gut kennen und proggen..

Sigo

Gock
10.07.2007, 11:00
Hi Sigo!
Das klingt interessant. Einen Vergelichstypen für den LM628 kennst Du nicht zufällig?
Achja, was ist denn ein Observer?
Gruß Gock

sigo
10.07.2007, 11:20
Hi. leider gibt es meines Wissens keinen moderneren Vergleichstyp.
Von HP (wie heißen die doch gleich heute?) gibt (gab?) es noch den HCTL-1000. Der ist nicht 1:1 kompatibel und verwendet einen etwas anderen Regelalgorithmus erfüllt aber letztlich die gleiche Aufgabe.

Aber praktisch ist es in der Tat. Damals waren die meisten Microcontroller noch zu lahm für eine solche Regelung incl. Zähler, Rampengenerator und Lageregler. Da war das Teil sehr sehr praktisch. Position, Drehzahl und Beschleunigung rein, und ab gehts...der Controller hat frei...
Das ist natürlich viel einfacher und schneller realisiert als selber proggen oder einen Controller mit reichlich Grundlast fürs Regeln zu befrachten..

Ein Observer ist ein Rechenmodell der Regelstrecke. Wenn man also die Situation mathematisch voll im Griff hat und die Zeitkonstanten, Pol- und Nullstellen etc kennt, kann man die Regelstrecke nachbilden und so die Stellgröße des Reglers noch präziser ausrechnen, als es ein PID-Regler kann. Man kann damit eine sog. Deadbeat-Response, also Totschlagantwort erzeugen, dabei wird die Stellgröße des Reglers genau so geregelt, dass die Bewegung mit (idealerweise) mit einer Punktlandung ohne Überschwingen oder "Reinziehen" endet. Das Ergebnis hängt natürlich sehr stark von der optimalen Modellierung der Regelstrecke ab..

Sigo

sigo
10.07.2007, 11:32
Evtl. das noch: Man kann beim LM628/629 mit einem kleinen Trick auch die Beschleunigung während der Fahrt ändern. Laut Datenblatt kann man nur die Position und Geschwindigkeit ändern.

Das hat den Vorteil, dass man so ständig neue Vektoren übertragen kann..
Mit nehreren LM629 auf einem Datenbus und einem Controller, der es koordiniert lassen sich so auch Bahnsteuerungen realisieren. Konzipiert ist der LM629 aber für Punkt-zu-Punkt fahrten.

Gock
10.07.2007, 16:11
Mit mehreren LM629 auf einem Datenbus ist aber auch der Geldbeutel ganz schnell leer...
Farnell: ca. 50€/Stk.
RS: ca. 90€/Stk. !!!!
Das iss ja wohl nicht mehr normal!
Gruß

Robotronix
10.07.2007, 18:34
das Auslauftypen/abgekündigte IC plötzlich nur noch zu Apothekenpreisen zu haben sind, das ist (leider) normal.
Zum einem ist es ja verständlich das ein Händler fürs lagern auch Geld nimmt.
Aber der größte Teil des Aufpreises ist Spekulationsgewinn: irgendwer wird das Teil unbedingt haben wollen/müssen und dann zu (fast ) jedem Preis kaufen...

sigo
10.07.2007, 21:17
Hi, das Teil hat schon vor 15 Jahren ca. 65DM bei 100er Stückzahl gekostet. Wenn du mal auf die Website von National Semiconductor gehst, siehst du, dass man dort Muster für ca. $30 bekommen kann.

Tja, für ne schnelle Einzelanwendung kauft man eben viel Firmware mit und ist schnell fertig. In Serien kann man ja dann selbst was proggen..
Ich habe wie gesagt den ATtiny2313 mit ähnlicher (wenn auch etwas reduzierter) Funktionalität im Einsatz. Kosten: ca. 1,50 EUR

Sigo