Regelungstechnik- Was macht man wenn man mit der Sensorauflösung nicht hinkommt?

4 Antworten

Das ist ein Problem der Regelungstechnik. Um einen Prozess stabil zu bekommen, muss man darauf achten, dass

1.) Die Ringverstärkung nicht zu gross wird

2.) Statt eines primitiven 2-Punktreglers einen intelligentere Algorithmus einsetzen, z.B. einen pi-regler.

Wie du aus meiner Antwort siehst, muss man mit den Grundlagen der Regelungstechnik vertraut sein, um eine Lösung finden zu können.

Habe selbst Klimaanlagen programmiert.

Man kann durch den Trick der Einführung eines gut dimensionierten Tiefpasses durch Anwendung einer möglichst schnellen Abtastrate für die Positionsmessung eine effektive höhere Auflösung als die nominelle Auflösung erreichen.


stbitter 
Fragesteller
 08.08.2019, 19:43

ich habe grundlegende regelungstechnische Kenntnisse, dies hier ist eine Projektarbeit an einer Hochschule. Bisher habe ich eine Zustandsrückführung realisiert (entspricht ja einem PD-Regler).

Wie würde denn die Tiefpassfilterung programmiertechnisch aussehen? Bisher lese ich innerhalb einer While-Schleife die Sensordaten ein, stelle einen Zustandsvektor auf und tippe am Ende das Regelgesetz u=-Kx für meine Stellgrösse ein (mit K als Verstärkungsmatrix des Reglers und x dem Zustandsvektor)...

wie genau baue ich jetzt einen Filter ein?

0
stbitter 
Fragesteller
 08.08.2019, 19:53
@stbitter

Also muss ich da einzelne Fourierkoeffizienten berechnen?

0
weckmannu  08.08.2019, 23:33
@stbitter

Wieso so kompliziert? Ist K nicht einfach eine Konstante?

Das tp-Filter ist bei meiner Lösung einfach Teil der Erfassung des Messwertes, indem, wie gesagt, nur die Änderung Δx zwischen zwei Abtastung en erfasst wird, mit einem Dämpfungsfaktor verkleinert wird und in einen Messwertspeicher addiert wird.

Also in der Schleife, die ich allerdings nicht durch eine while-Schleife realisiert habe, sondern mit einem Hardware-Interupt produziert habe, der pro Messstelle eine Messwerterfassung startet.

M (n)= M(n-1) + (m(n-1) - m(n)) * k

M- gefilterter Messwert

m(n) - roher Messwert

k - Konstante des Tiefpasses

Das ganze lief sehr elegant mit einem Motorola-Prozessor. Der hat nämlich die lobenswerte Eigenschaft, sämtliche CPU-Register automatisch in den Stack zu schieben und am Ende der Subroutine wieder zurück zuholen.

Ich weiß natürlich nicht, ob du so hardwarenahe vorgehen kannst.

In meinem Projekt wurden maximal 64 Stellmotoren mit Messstelle geregelt.

Dazu brauchte ich zwar ein Array für die Daten. Damit wurden aber keine Matrizen -Operationen durchgeführt. Ich sehe auch nicht, wozu man einen Vektor braucht, aber vielleicht unterschätze ich dein Projekt. Meines ist schließlich Jahrzehnte alt, und ich bin auch nur Physiker und kein Elektroingenieur, obwohl ich mir auf dem Gebiet einige Kenntnisse angeeignet habe.

0
weckmannu  08.08.2019, 23:42
@weckmannu

Ich weiß auch nicht, wozu du eine Fourieranalyse brauchst. Man kann einen Pd- Regler auf die ersten Terme der Analyse beschränken

0
atoemlein  09.08.2019, 01:35
@stbitter

PD-Regler? Mit P und D allein bekommst du die Regelabweichung nie weg. Da kann die Auflösung oder das Oversampling noch so toll sein.

0
weckmannu  09.08.2019, 03:54
@atoemlein

OK, ich habe leiichtinnigerweise den PD-Reglsr von stbitter übernommen. Selber habe ich PI- Regler eingesetzt.

0
stbitter 
Fragesteller
 09.08.2019, 08:17
@atoemlein

Es gibt leider ein Problem mit der nicht vollständigen Erreichbarkeit des mit Integratoren erweiterten Systems

0
stbitter 
Fragesteller
 09.08.2019, 08:23
@stbitter

wobei der I-Anteil ja eigentlich auch nur für stationäre Genauigkeit sorgt und nicht das Schwingverhalten beeinflussen sollte

0
stbitter 
Fragesteller
 09.08.2019, 08:28
@weckmannu

Es ist ein System mit 4 Zuständen und 2 Eingängen

0
weckmannu  09.08.2019, 09:54
@stbitter

Tut er aber. Eine zu starke Verzögerung im Regelkreis führt zu Schwingneigung. Standardwissen der Regelungstechnik.

0
stbitter 
Fragesteller
 09.08.2019, 10:13
@weckmannu

nun, ein Integrator hat eine Polstelle bei 0 und somit ist es ein "langsamer Pol" und man kann nicht von Verzögerungs-Vobeugung durch I-Anteil sprechen.

Und was soll ich nun machen, wenn die Rangbedingungen der vollständigen Erreichbarkeit nicht erfüllt werden?

0
atoemlein  09.08.2019, 10:31
@stbitter

?
Tja, dann ist der Fall unlösbar.
Irgendwo musst du Flexibilität bzw. Stabilität ins System rein bringen.

0
weckmannu  10.08.2019, 09:08
@stbitter

Da ich fernab der Technik als Physiker ausgebildet bin, ist mir der Begriff "vollständige Erreichbarkeit" nicht geläufig. Ich habe soeben ein pragmatisches Beispiel geschildert, wie ich die Erreichung des Sollwertes für eine Klimaanlage pragmatisch erzielt habe.

1
  • Die Auflösung vomn 1 Grad ist natürlich schon sehr grob, das wird schwierig.Aber ohne die übrigen Parameter deiner Modellierung kann dir keiner helfen. Wenn du schon einen Simulator hast und dein Modell stimmt, schraubt doch an allen möglichen Parametern, bis es hinhaut.
  • Da spielt das Trägheitsmoment eine grosse Rolle
  • und die Leistung des Stellglieds
  • Vielleicht kann man das Trägheistmoment vergrössern, oder noch eine Dämpfung einbauen.

stbitter 
Fragesteller
 08.08.2019, 16:06

wie sieht es mit Oversampling bzw. TP-Filtern aus. Das sollte funktionieren, aber wie würde man das programmiertechnisch lösen?

0
weckmannu  08.08.2019, 19:52
@stbitter

Einen tp-Filter erzeugt man dadurch, dass man bei jeder Abtastung einen Bruchteil der Messwertänderung in einen Output-Speicherplatz vorzeichengerecht "addiert"

1
stbitter 
Fragesteller
 08.08.2019, 19:57
@weckmannu

also sozusagen die aktuellen Mittelwerte von allen Daten bzw. bis zur nächsten Änderung nach jedem Schritt ausgibt?

0
weckmannu  08.08.2019, 19:58
@weckmannu

Mit Bruchteil meine ich einen konstanten Faktor z.b.0,1 oder 0,001, aus dem sich die Zeitkonstante im Zusammenspiel mit der Abtastrate ergibt. Also je kleiner die Zahl, desto größer ist die resultierende Zeitkonstante.

1
weckmannu  08.08.2019, 20:08
@stbitter

Man braucht nur jeweils die verminderte Messwertänderung aufaddieren. Damit bekommt man einen Mittelwert über einen gewissen Zeitraum. Der Inhalt des beschriebenen Speicherplatzes folgt mit Verzögerung, dadurch gemittelt, dem tatsächlichen Wert und enthält mehr Information als die nominelle Auflösung glauben macht. Unterstützt wird das Verfahren, wenn es ein überlagertes weißes Rauschen über dem Messwert gibt. Deshalb habe ich für Temperaturmessungen unabgeschirmte Leitungen zugelassen. Bei einem digitalen Geber ist das schwierig. Man kann hier nur auf mechanische Unregelmäßigkeiten hoffen, z.b. jitter.

0
weckmannu  08.08.2019, 23:49
@weckmannu

P.S. ich habe deine Frage noch mal durchgelesen und bemerkt, dass ich übersehen habe, dass du die Richtung der Neigung mit berücksichtigen musst.

Meine Darstellung bezieht sich leider nur auf skalare Größen.

Ich hoffe du kannst cum grano salis die dahinterstehende Idee erkennen und auf deine Arbeit extrapolieren. Ich gehe davon aus, dass mein Verfahren auf die beiden Koordinaten des Vektors anwendbar ist.

1
atoemlein  09.08.2019, 01:34
@stbitter

Oversampling nützt nichts, wenn die mechanische Auflösung zu gering ist (ausser du hättest genug Zeit, um aus zig stark unterschiedlichen Abweichungen mehrerer Schrittweiten gebrochene Schrittweiten zu interpolieren.)

Hat dein Regler einen I-Anteil?
Denn nur mit P und D allein bekommst du die Regelabweichung nie weg, egal wie fein die Auflösung ist.

0
stbitter 
Fragesteller
 09.08.2019, 14:07
@weckmannu

übrigens ist meine Zustandsgröße (der Winkel) tatsächlich eine skalare Größe, die eben zusammen mit anderen Zuständen einen Zustandsvektor bildet (deshalb ist K auch eine Matrix). Also ich kann das durchaus so anwenden

0
weckmannu  10.08.2019, 09:01
@atoemlein

In meiner ersten Antwort habe ich bereits von einem PI-Regler berichtet.

Übrigens habe ich noch einen von den Theoretikern abgelehnten, weil unverstanden, Zusatz eingebaut.

Bei der Temperatur Regelung eines Gebäudes oder eines Gewächshauses gibt es ein klimabedingtes Problem:

Bei dem üblichen Wetter sinkt die Außentemperatur ab ca. 17:00 Uhr bis in die Morgenstunden des folgenden Tages dauernd ab. Um diesen stundenlang dauernden Gradienten wegzuregeln, benötigt ein PI-Regler dauernd eine Regelabweichung, um der fallenden Temperatur entgegen zu wirken. Man kann einem Laien nicht zumuten, zu akzeptieren, dass ein teurer Regler auf Dauer nicht schafft, die Innentemperatur auf Sollwert zu bringen(Gärtner). Deshalb habe aus der Regelabweichung mit geringer Verstärkung einen zusätzlichen Term in den I-Anteil addiert. Hat trotz der Skepsis des Theoretikers gut funktioniert. Diese Problematik ist den Theoretikern fremd, weil sie sich vorwiegend mit sehr schnellen Prozessen befassen, Flugzeugstabilisierung, Düsentriebwerk.

0
weckmannu  10.08.2019, 09:17
@weckmannu

Um der Probleme Herr zu werden, empfehle ich eine empirische Vorgehensweise. Du solltest dein System durch irgendeinen Trick so verlangsamen, dass du die Regelschwingungen beobachten kannst. Bei meinem Gewächshaus brauchte ich dazu nur Geduld und eine ganze Beobachtungsnacht.

0
atoemlein  10.08.2019, 09:23
@weckmannu

Gute Idee...
Tja, Klimaregelungen sind da tatsächlich bedeutet angenehmer und gnädiger...

1
atoemlein  10.08.2019, 09:50
@weckmannu

Gute Idee. Sagt man dem nicht Feed-forward-"Regler"?
Also Erfahrungen vorausschauend berücksichtigen?

Empirisch ist bei Regelungstechnik nie falsch, und die Theoretiker sind immer skeptisch, bekommen aber selten recht.
Uns hat schon der Ausbildner im Praktikum damals gesagt, wenn die Formeln nicht hinhauen, nimm die Faustregeln, die funktionieren immer.

1

Ich versteh das Fachchinesisch nicht. Jeder Sensor hat aber eine Ansprechschwelle, womit es immer zu Schwingungen kommt.


stbitter 
Fragesteller
 07.08.2019, 20:26

dafür ist ja auch die Regelung da ;)

0

welche Signalform liegt vom Sensor vor ?


stbitter 
Fragesteller
 07.08.2019, 20:23

in dem Fall wird der absolute Winkel ausgegeben, also eine ganze Zahl. Ebenfalls verwendet wird die Ableitung mit Hilfe des Differenzenquotienten. Das ist aber aufgrund der geringen Auflösung sehr bescheiden

0
stbitter 
Fragesteller
 07.08.2019, 20:24
@newcomer

nein, ein Gyro-Sensor, der aber tatsächlich nur den Winkel ausgibt ;)

0
newcomer  07.08.2019, 20:27
@stbitter

kann am Sensor sowas wie Übersetzung angebracht werden sprich wenn Roboter 2 Grad abweicht wird Sensor 8 Grad bewegt ?

Dies mit Hebelübersetzung ect ? So hätteste mehr als 1° Auflösung

0
newcomer  07.08.2019, 20:44
@stbitter

Der digitale EV3-Gyrosensor misst die Drehbewegung und die Richtungsänderungen des Roboters. Die Schüler können somit u. a. Winkel messen, balancierende Roboter erschaffen und eine Technologie erkunden, die im wirklichen Leben häufig zum Einsatz kommt – zum Beispiel in Navigationssystemen und Spielkonsolen oder auch bei der Verwacklungskorrektur in Kameras.

0
newcomer  07.08.2019, 20:46
@newcomer

Gyros heißt doch Sensor mit Kreisel. Kann es sein dass für diesen Kreisel um ihn in Drehung zu versetzen dieser erst z.B. mit Steuerbefehl aktiviert werden muß ?

0
stbitter 
Fragesteller
 07.08.2019, 20:53
@newcomer

der Sensor funktioniert einwandfrei! Allerdings kann er nur ganzzahlige Werte ausgeben. Verwendet wird auch nicht die Original-Lego-Software. Dieser Sensor kann nur Winkel und Winkelgeschwindigkeit als Rückgabewerte liefern

0
stbitter 
Fragesteller
 08.08.2019, 16:04
@newcomer

es muss wohl auch mit Oversampling bzw. TP-Filter möglich sein. Wie würde man so etwas programmiertechnisch realisieren?

0