Forum: Analoge Elektronik und Schaltungstechnik Frage an unsere Regelungstechnik-Experten


von Benjamin N. (ml6)


Angehängte Dateien:

Lesenswert?

Liebe Leute,

ich habe folgendes Anliegen:

Im Rahmen einer Projektarbeit soll ich eine Positionsregelung für eine 
Platte entwerfen. Ziel ist es lediglich, die Platte entlang der z-Achse 
zu positionieren und das WAAGERECHT, d.h. der Winkel sollte 0 sein 
(siehe hierzu Bild rechts - SOllausgangsstellung).


die Absolute Höhe z erfasse ich mit den beiden Sensoren, d.h.

z=z1+z2

die Drehung erfasse ich mit

phi=(z2-z1)/L wobei L der Abstand der beiden Sensoren ist.

Die Aktoren selber sind nicht im Bild dargestellt.

Nun zum Problem:

Aufgrund von Montagefehler der Sensorik als auch der Halterung für die 
Platte bekomme ich die Sensoren nicht idealerweise auf einer Höhe und 
auch die Platte hat in der Ausgangsstellung nicht den Winkel 0 Grad, 
d.h. ist zu 100 prozent waagerecht.


Kann mir hier einer helfen, wie ich diese Fehler mit der Regelung 
kompensieren kann bzw. im Griff bekomme?

: Bearbeitet durch User
von Der Andere (Gast)


Lesenswert?

Benjamin N. schrieb:
> Aufgrund von Montagefehler der Sensorik als auch der Halterung für die
> Platte bekomme ich die Sensoren nicht idealerweise auf einer Höhe und
> auch die Platte hat in der Ausgangsstellung nicht den Winkel 0 Grad,
> d.h. ist zu 100 prozent waagerecht.

Wie soll die Regelung das erkennen?

Dann musst du das Abgleichen und

Benjamin N. schrieb:
> phi=(z2-z1 + C)/L

Wobei C eine Konstante ist die du (einmalig) beim Abgleich ermittelst.

von Benjamin N. (ml6)


Lesenswert?

Der Andere schrieb:
> Wie soll die Regelung das erkennen?

Das weis ich ja, genau deswegen ist mir klar, dass ich das vorab 
abgleichen bzw. kompensieren muss.

Der Andere schrieb:
> Wobei C eine Konstante ist die du (einmalig) beim Abgleich ermittelst.

Das ist ebenfalls eine wichtige Anmerkung, jedoch bleibt die Frage 
offen, wie man das Abgleicht bzw. wie man vll. den Winkel vorab 
bestimmt, um das die Platte gekippt ist.

von Der Andere (Gast)


Lesenswert?

Benjamin N. schrieb:
> Das ist ebenfalls eine wichtige Anmerkung, jedoch bleibt die Frage
> offen, wie man das Abgleicht bzw. wie man vll. den Winkel vorab
> bestimmt, um das die Platte gekippt ist.

Mit einem Neigungsmessgerät.

von Benjamin N. (ml6)


Lesenswert?

Der Andere schrieb:
> Benjamin N. schrieb:
>> Das ist ebenfalls eine wichtige Anmerkung, jedoch bleibt die Frage
>> offen, wie man das Abgleicht bzw. wie man vll. den Winkel vorab
>> bestimmt, um das die Platte gekippt ist.
>
> Mit einem Neigungsmessgerät.

Also brauche ich zusätzlich Hardware. Kann man das auch irgendwie 
anderweitig bestimmen?

Wo gibt es präzise oder gute & bezahlbare Neigungsmessgeräte?

von Christian (Gast)


Lesenswert?

Benjamin N. schrieb:
> Der Andere schrieb:
>> Wie soll die Regelung das erkennen?
>
> Das weis ich ja, genau deswegen ist mir klar, dass ich das vorab
> abgleichen bzw. kompensieren muss.
>
> Der Andere schrieb:
>> Wobei C eine Konstante ist die du (einmalig) beim Abgleich ermittelst.
>
> Das ist ebenfalls eine wichtige Anmerkung, jedoch bleibt die Frage
> offen, wie man das Abgleicht bzw. wie man vll. den Winkel vorab
> bestimmt, um das die Platte gekippt ist.

Mir würden zwei Ansätze einfallen:
- Die Neigung der vorhandenen Platte mit einem externen Mess-System (wie 
auch immer das aussehen mag.. es darf jedenfalls nicht diesen 
Offset-Fehler besitzen) bestimmen und die Konstante entsprechend 
anpassen.
- Eine Platte mit bekannter (oder Null) Neigung aufsetzen und die 
Konstante daraus ermitteln.

Grüße
Christian

von Benjamin N. (ml6)


Lesenswert?

Christian schrieb:
> - Eine Platte mit bekannter (oder Null) Neigung aufsetzen und die
> Konstante daraus ermitteln.

Danke, evtl. gehe ich diesen Weg. Mir fällt jetzt auch nichts anderes 
ein. Ich muss aber vorab diesen Neigungswinkel bestimmen, ansonsten habe 
ich keine Chance (denke ich).


Viele Grüße
Benni

von Der Andere (Gast)


Lesenswert?

Benjamin N. schrieb:
> Wo gibt es präzise oder gute & bezahlbare Neigungsmessgeräte?

Im Baumarkt. Nennt sich Wasserwaage.

Die Begriffe "präzise", "gut" und "bezahlbar" sind alle relativ.

von Benjamin N. (ml6)


Lesenswert?

Christian schrieb:
> - Die Neigung der vorhandenen Platte mit einem externen Mess-System (wie
> auch immer das aussehen mag.. es darf jedenfalls nicht diesen
> Offset-Fehler besitzen) bestimmen und die Konstante entsprechend
> anpassen.

Mir ist eingefallen, dass mein Handy doch ein Neigungssensor besitzt. 
Diesen habe ich verwendet. Komischerweise zeigt der mir auch 0 Grad an, 
d.h. meine Platte ist waagerecht.

Auf jeden Fall funktioniert leider trotzdem die Regelung nicht.

Die z-Höhe wird zwar erreicht, die Regelung auf phi=0 ist jedoch nicht 
zufriedenstellend. Es sind immer noch 2Grad Abweichung und auch externe 
Störgrößen können bei phi nicht ausgeregelt werden, bei z jedoch werden 
auch externe Störgrößen ausgeregelt.

von Leroy M. (mayl)


Lesenswert?

Hast, kannst du einen Offset einbauen, damit die sensoren vergleichbare 
werte liefern?
Wenn ein Sensor 2mm zu tief eingebaut wurde, muss man von seiner 
gemessenen Distanz 2mm abziehen.


Wobei das zu einfach klingt, sowas hast du sicherlich bereits getan.


z=z1+(z2-offset)


phi=((z2-offset)-z1)/L

von Benjamin N. (ml6)


Lesenswert?

Leroy M. schrieb:
> Hast, kannst du einen Offset einbauen, damit die sensoren vergleichbare
> werte liefern?

Wie meinst du das? Schwierig, sobald ich an einer Stelle ein etwas 
Anhebe, ändern sich beide Sensorwerte.

Leroy M. schrieb:
> Wobei das zu einfach klingt, sowas hast du sicherlich bereits getan.
>
> z=z1+(z2-offset)

Gehst du bei deinen Formeln davon aus, dass z1 die Referenz ist? D.h. z2 
misst zb. um +offset mehr als z1.

von Leroy M. (mayl)


Lesenswert?

Ich bin davon ausgegangen, dass beide Sensoren nicht auf einer Höhe 
eingebaut wurden.

Ist darüber jetzt eine waagerechte Platte, messen beide Sensoren 
unterschiedliche Distanzen.

In deiner Formel ist Phi 0 und die Platte somit waagerecht, wenn beide 
Sensoren die gleiche Distanz messen.

Um den Höhenversatz durch den Einbaufehler zu kompensieren muss man 
jetzt die Messwerte angleichen.

Da kann ich vom höheren Messwert den Versatz abziehen oder den Versatz 
mit dem kleineren Messert addieren.
Das ist egal, Hauptsache ist, dass bei beiden der gleiche Wert heraus 
kommt.

von Dirk (Gast)


Lesenswert?

Kalman Filter entwerfen und alles an Ungenauigkeiten in die Störgröße

von Hp M. (nachtmix)


Lesenswert?

Benjamin N. schrieb:
> Aufgrund von Montagefehler der Sensorik als auch der Halterung für die
> Platte bekomme ich die Sensoren nicht idealerweise auf einer Höhe und
> auch die Platte hat in der Ausgangsstellung nicht den Winkel 0 Grad,
> d.h. ist zu 100 prozent waagerecht.

Deshalb bezieht man sich, wenns waagerecht werden soll, nicht auf 
fragwürdige Untergründe, sondern auf die Richtung der Schwerkraft.
Bei mäßigen Genauigkeitsanforderungen nimmt man z.B. solch eine Libelle 
http://www.ebay.de/itm/Wasserwaage-Dosenlibelle-D-40x10mm-NEU-/253174245019 
wenns viel genauer sein muß, kann man auch die die Parallelität von 
Wasseroberfläche und spiegelndem Hintergrund interferometrisch prüfen.

von Benjamin Nels (Gast)


Lesenswert?

Hp M. schrieb:
> Deshalb bezieht man sich, wenns waagerecht werden soll, nicht auf
> fragwürdige Untergründe, sondern auf die Richtung der Schwerkraft

Das versteh ich nicht ganz. Was  soll das bringen, wenn man sich auf die 
Schwerkraft bezieht.

Dirk schrieb:
> Kalman Filter entwerfen und alles an Ungenauigkeiten in die
> Störgröße

Inwieweit ist das zuverlässig und wie komplex ist das ganze?



Ansonsten vielen Dank bis jetzt für eure Antworten. War sehe hilfreich. 
Das beste Forum hier.

von Smdkg (Gast)


Lesenswert?

Benjamin Nels schrieb:
> wenn man sich auf die Schwerkraft bezieht

Nicht auf die Kraft (deren Betrag), sondern deren Richtung ...
welche exakt senkrecht ist. Waagerecht ist dann die Fläche im 90° Winkel 
zu dieser senkrechten Gerade (egal an welcher Stelle auf dem Planeten).

von Smdkg (Gast)


Lesenswert?

Selbstverständlich gilt das immer nur für diese eine Stelle...

Zwei solcher senkrechten Geraden durch verschiedene Punkte der 
Planetenoberfläche ergeben ja nicht die gleiche Waagerecht-Fläche.

Tja - vielleicht solltest Du mehr ins Detail gehen.

von Retro N. (retronerd)


Lesenswert?

Benjamin Nels schrieb:
> Das versteh ich nicht ganz. Was  soll das bringen, wenn man sich auf die
> Schwerkraft bezieht.

Wie schon vom Vorposter beschrieben: Die präzise Lagemessung relativ zur 
Schwerkraft. Davon wird z.B. bei Multikoptern rege Gebrauch gemacht.

Über Sensoren (3-Achsen-Gyros)kann man sich zum Einstieg z.B. hier 
orientieren
Beitrag "Tipp: Murata ENC-03R SMD Gyrosensor fü 5 Euro"
Es gibt auch recht preiswerte Breakout-Boards unter 10 EUR.

> Dirk schrieb:
>> Kalman Filter entwerfen und alles an Ungenauigkeiten in die
>> Störgröße
>
> Inwieweit ist das zuverlässig und wie komplex ist das ganze?
Sehr zuverlässig, weil die billig Gyros allerdings Rauschen und Driften, 
ohne Kalman Filter sinnlos. Komplex, wegen der Filterung. Es gibt aber 
längst auch OpenSource Vorlagen, an denen man sich orientieren kann.
Dazu hier der Thread:
Beitrag "Frequenz Gyro Integration"

von Benjamin N. (ml6)


Lesenswert?

Retro N. schrieb:
> Wie schon vom Vorposter beschrieben: Die präzise Lagemessung relativ zur
> Schwerkraft. Davon wird z.B. bei Multikoptern rege Gebrauch gemacht.

Das versteh ich leider immer noch nicht ganz - Welche Vorteile habe ich 
und wie erfolgt diese präzise Lagemessung?

von Der Andere (Gast)


Lesenswert?

Retro N. schrieb:
> Über Sensoren (3-Achsen-Gyros)kann man sich zum Einstieg z.B. hier
> orientieren
> Beitrag "Tipp: Murata ENC-03R SMD Gyrosensor fü 5 Euro"
> Es gibt auch recht preiswerte Breakout-Boards unter 10 EUR.
>
>> Dirk schrieb:
>>> Kalman Filter entwerfen und alles an Ungenauigkeiten in die
>>> Störgröße
>>
>> Inwieweit ist das zuverlässig und wie komplex ist das ganze?
> Sehr zuverlässig, weil die billig Gyros allerdings Rauschen und Driften,
> ohne Kalman Filter sinnlos. Komplex, wegen der Filterung. Es gibt aber
> längst auch OpenSource Vorlagen, an denen man sich orientieren kann.
> Dazu hier der Thread:

Lest ihr eigentlich die Fragen?
Dwer TO will einmalig einen Offset, der durch die Montage seiner 
Sensoren kommt kalibrieren.
Und ihr empfehlt ihm Multikopter IMUs incl. Kalman Filter.
Seine schon eingesetzten Sensoren haben genau NULL Drift, davon habt ihr 
mit euren IMUs nur feuchte Träume.

Alles was er braucht ist eine Wasserwaage oder 2D Libelle oder was auch 
immer für ein Neigungsmessgerät, mit dem er einmalig die Platte 
waagrecht tariert und dann seine regelung kalibriert.
Zur Not kann er dafür auch sein Handy nehmen, auch wenn ich nicht glaube 
daß das sehr präzise wird.

von rmu (Gast)


Lesenswert?

Benjamin N. schrieb:
> Retro N. schrieb:
>> Wie schon vom Vorposter beschrieben: Die präzise Lagemessung relativ zur
>> Schwerkraft. Davon wird z.B. bei Multikoptern rege Gebrauch gemacht.
>
> Das versteh ich leider immer noch nicht ganz - Welche Vorteile habe ich
> und wie erfolgt diese präzise Lagemessung?

Im Ausgangspost ist von WAAGRECHT die Rede. Das meint vermutlich die 
Waagrechte die eine Wasserwage anzeigt wenn die Libelle in der Mitte 
ist. Und genau das ist senkrecht zur Lotrechten, der Richtung, die ein 
Lot anzeigt.

Die Richtung der Schwerkraft kann man relativ einfach mit einem 
MEMS-Accelerometer bestimmen, macht das Mobiltelefon auch so. Einige 
Eval-Platinen von µCs haben das auch an Board mit dabei.

Das (3d-)Accelerometer liefert einem die 3 Komponenten des 
Beschleunigungsvektors, wenn das Accelerometer ruht, d.h. sich nicht im 
freien Fall befindet oder sonstwie beschleunigt wird, zeigt dieser 
Vektor in Richtung Schwerpunkt der Erde und hat in etwa 9,81m/s², 
abhängig von Ort und generalisierter Mondphase. Daraus ergibt sich der 
Neigungswinkel des Accelerometers.

von Benjamin N. (ml6)


Lesenswert?

Der Andere schrieb:
> Lest ihr eigentlich die Fragen?
> Dwer TO will einmalig einen Offset, der durch die Montage seiner
> Sensoren kommt kalibrieren.

Danke, das wäre meine nächste Frage, inwieweit ich meine Sensoren 
kalibrieren muss? Ich verwende zwei analoge Wirbelstromsensoren, die 
einen Messbereich von 1 - 8 mm haben und einen Spannungsbereich von 0.5 
bis 7.5 V. Die Formel, vom Hersteller angegeben, lautet: U(z)=1V/mm * z 
-0.5V.

Sorry für meine vll. jetzt dumme Frage, bin aber recht früh noch im 
Studium, doch was genau bedeutet Sensorkalibrierung und wie erfolgt dies 
bzw. wozu muss ich das eig. machen, wenn der Hersteller ja eig. schon 
die Formel oben angibt??

von Leroy M. (mayl)


Angehängte Dateien:

Lesenswert?

Der Hersteller des Sensors sagt dir nur, wie du die Spannung, die das 
Teil ausgibt, zu interpretieren hast, damit du am Ende eine Strecke 
auswerten kann.

Eine simple lineare Funktion.

z wird die Strecke in mm sein.

Der Sensor gibt dir pro mm 1V aus, davon wird am Ende 0,5V abgezogen.
Wenn du die Werte in die Formel eingibst, kannst du da eir in der 7. (?) 
Klasse schön die Einheitenkürzen.

z.B.
z = 2mm
Uz = 1V/mm * z -0,5V
Uz = 1V/mm * 2mm - 0,5V                  |Wert einsetzen
Uz = ( 1V/mm * 2mm ) - 0,5V              |Punkt vor Strich
Uz = [ 1 * ( V / mm )  2  mm ] - 0,5V  |Einheiten aufgedröselt |V/mm 
als Bruch dargestellt
Uz = [ 1  2  ( V / mm ) * mm ] - 0,5V  |ein bisschen umgestellt
Uz = [ 2 * [ V / mm ) * ( mm / 1 ) ] - 0,5V | 1 * 2 = * | mm in Bruch 
gewandelt.
Uz = [ 2 * ( V * mm / 1 * mm )] - 0,5V   |Bruch multipliziert
Uz = [ 2 * ( V / 1 ) ] - 0,5V            |im Bruch mm herausgekürzt
Uz = ( 2 * V ) - 0,5V                    |Bruch aufgelöst, weil Eintel
Uz = 2V - 0,5V
Uz = 1,5V

Bei einer gemessenen Distanz von 2mm gibt der Sensor also 1,5V aus.


Was machst du mit dem Ausgabewert? Klar, im Mikrocontroller einlesen und 
als Digitalwert speichern.
Da kommt dann irgend ein Wert raus von was weiß ich zwischen int z = 0 
bis int z = 255
Von mit aus z = 53

Weil die Sensoren unterschiedlich verbaut sind, misst der höher gelegene 
Sensor bei einer waagerechten Platte immer weniger als der andere 
Sensor.

Nach dem Einlesen hast du dann von mir aus

int zSensor1 = 53
int zSensor2 = 63

Damit dein Phi bei der Waagerechten Platte jetzt 0 wird, musst du die 
Werte angleichen

int zOffset = 10
int ZSensor1corrected = zSensor1 * zOffset

Aber soweit waren wir schon.

Die Frage ist nun, wie kommen wir an den Wert für zOffset?

Bei der Gelegenheitfragen wir mal, welchen Phi berechnest du eigentlich?
Tangens Phi?

Z ist die Höhe, L die Breite. in einem rechtwinkligen Dreieck wären das 
jeweils An- und Gegenkathete.

Aber dank The Power of Geometrie sollten wir das trotzdem berechnen 
können.



1. Nehmen wir mal die gemessene Entfernung des Sensors Z2, der auf der 
Seite liegt, an der die Platte höher liegt, als Strecke S1 mit dem Wert 
von 1 Maylmetern (Mm) ;)

2. Die Distanz beider Sensoren untereinander ist bekannt Strecke S2. 
angenommener Wert 5Mm.

3. Die gemessene Distanz von Z1 nehmen wir beispielsweise als 0,3254Mm 
an.

4. Beide Strecken sind rechtwinklig zueinander. W1 = 90°

5. Wäre die Platte waagerecht, wäre sie ebenfalls in einem Winkel von 
90° zu S1 ausgerichtet. Laut TO ist sie aber um 2° aus der Ebene. Daraus 
folgt: W2 = 90° - 2° =88°

6. 2 Winkel, eine Strecke, daraus kann man das Dreieck rekonstruieren:
der 3. Winkel, W3 = 180° - (W1 + W2) = 2°
Strecke S3 = 28.654Mm , Strecke S4 = 28.636Mm

7. Die Strecke S5, also der Abstand der schräg liegenden Platte zur 
Ebene, können wir dank Strahlensatz bestimmen:
S1/S5 = S2/(S4-S2)
S5 = (S4-S2)*S1 / S4
S5 = (28.636Mm - 5Mm)* 1Mm / 28.636Mm
S5 = (23.636Mm) * 1Mm / 28,636Mm
S5 =  23.636Mm /28,636Mm
S5 = 0,8254Mm

Der Sensor Z1 müsste also, wenn er mit Z2 auf einer Ebene montiert wäre, 
0,8254 Maylmeter messen.

8.Da er aber in der Ebene zu Z2 versetzt ist, misst er den Wert S6 = 
0,3254Mm

Den Offset ist leicht berechnet:
Soffset = S5 - S6
Soffset = 0,8254Mm - 0,3254Mm
Soffset = 0,5Mm

--------------------------------------------
Das heißt in dem Fall, Z1 wurde 0,5Mm zu hoch eingebaut. Um ihn 
rechnerisch auf die Ebene von Z2 zu bewegen, müssen wir den Offset zu 
seinem Messwert addieren.



Aus reinem Interesse, was studierst du?
Das ist Mathematikstoff aus der 8. oder 9. Klasse...

: Bearbeitet durch User
von Benjamin N. (ml6)


Lesenswert?

@ Leroy, erst mal vielen Dank für deine Hilfestellung.

Leroy M. schrieb:
> er Sensor gibt dir pro mm 1V aus, davon wird am Ende 0,5V abgezogen.
> Wenn du die Werte in die Formel eingibst, kannst du da eir in der 7. (?)
> Klasse schön die Einheitenkürzen.

Die Rechnung ist soweit klar, und auch verständlich. Mir war klar, wie 
man das ausrechnet. Meine Frage ging wenn überhaupt ums Kalibrieren.

Leroy M. schrieb:
> int zOffset = 10
> int ZSensor1corrected = zSensor1 * zOffset

Das müsste eher ein PLUS in der letzten Gleichung als ein * sein, oder?

Leroy M. schrieb:
> 1 Maylmetern (Mm)

Sorry, aber was soll das für eine Einheit sein?

Leroy M. schrieb:
> 5. Wäre die Platte waagerecht, wäre sie ebenfalls in einem Winkel von
> 90° zu S1 ausgerichtet. Laut TO ist sie aber um 2° aus der Ebene. Daraus
> folgt: W2 = 90° - 2° =88°

Die 2° sind nicht von mir angegebn.


Die Rechnung ist ja nachvollziehbar, aber ohne die genaue Angabe, in 
welchem Winkel diese Platte ausgerichtet ist, kann ich den Offset doch 
nicht genau bestimmen.

Leroy M. schrieb:
> Aus reinem Interesse, was studierst du?
> Das ist Mathematikstoff aus der 8. oder 9. Klasse...

Die Mathematik ist auch kein Problem.

Ich studiere IKT. Ist auch ein Projekt, für das ich mich interesse und 
da reinbeiße.

von Leroy M. (mayl)


Lesenswert?

Natürlich, der Offset wird addiert.

Der Winkel, in dem die Platte aus der Waage ist.

Lot/Pendel und Geodreieck wäre eine Möglichkeit.

Oder Winkel (Werkzeug), Lot und Maßband:
Winkel auf die Platte stellen, Lot ausrichten, Längen/Strecken messen, 
Winkel berechnen und dann wie oben vorgehen.

Alternativ den Offset mittels Versuch und Irrtum herausfinden.
Sprich den Offset raten und so lange anpassen, bis es passt.

Oder du lässt die Regelung ganz bewusst auf ein Phi ungleich Null 
regeln, bis die Platte waagerecht ist und errechnest daraus den Offset.


Wie erkennst bzw. überprüfst du eigentlich, ob die Platte am Ende 
tatsächlich waagerecht ist?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.