Archiv verlassen und diese Seite im Standarddesign anzeigen : DC-Motor schnell auf gewünschte Position stellen
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!
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
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..
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ß
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!
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ß
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
Hi Sigo!
Das klingt interessant. Einen Vergelichstypen für den LM628 kennst Du nicht zufällig?
Achja, was ist denn ein Observer?
Gruß Gock
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
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.
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...
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
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.