WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Signal eines Beschleunigungssensors zum Weg 2 mal integriere

 

autoingenieur
Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 20.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2012, 10:15     Titel: Signal eines Beschleunigungssensors zum Weg 2 mal integriere
  Antworten mit Zitat      
Servus,

ich möchte eine aktive Vibrationsdämpfung für ein Autodach entwickeln. Die Regelgröße ist die Strecke, allerdings bekomme ich vom Beschleunigunsaufnehmer nur Beschleunigungen berechnet, die ich zum zweimal integrieren müsste.

Getestet habe ich einen Beschleunigungssensor mit einem Kalibriergerät, welche die Frequenz 1000 rad sowie die Amplitude 10 m/s² erzeugt. Mithilfe eines Gain Blocks, kommt auch diese Beschleunigung sowie die Frequenz in Simulink an (über Control Desk).

Daraus möchte ich den Weg, den der Sensor zurücklegt berechnet, was normalerweise durch zweimal integrieren funktioniert.

Ich habe das Problem mal als Bild aus Simulink angehängt, wobei ich den Beschleungigungssensor durch ein Sinussignal mit 10 m/s² und 1000 rad ersetzt habe.

Wenn man dieses Signal zweimal integriert erhält man einen mit der Zeit steigenden Weg, was aber nicht sein kann, da der Sensor auf dem Kalibriergerät permanent um die Nulllage schwingt.

Der Fehler entsteht bereits beim ersten Integrieren, wo die Geschwindigkeit bereits nicht um 0 schwingt sondern mit einem Offset, siehe Bild.

Das erklärt wiederum, warum die Strecke kontinuierlich steigt.
Das Problem habe ich als die Anfangsbedingung identifiziert.

Eine Sinusbeschleunigung wird ja also folgende Formel dargestellt:
f(t)=A sin(wt)
Integriert ergibt das eigentlich:
Int: f(t)=-A/w *cos(wt) + C

Nochmal integriert ergibt das den Weg:
Intint: f(t)= -A/w² *sin(wt) +Ct +D

Ich möchte, dass Simulink bereits nach dem ersten Integrieren mit der angegebenen Formel rechnet, also C=0. Was aber nicht mit der Anfangsbedingung in Simulink funktioniert.

Ich hoffe ich konnte mein Problem ausreichend erklären. Kann mir einer helfen?

Gruß

simulink.gif
 Beschreibung:

Download
 Dateiname:  simulink.gif
 Dateigröße:  34.79 KB
 Heruntergeladen:  1670 mal
Private Nachricht senden Benutzer-Profile anzeigen


Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.01.2012, 10:27     Titel:
  Antworten mit Zitat      
Hallo,

ich halte es wenig sinnvoll, hier mit unbestimmten Integralen / Stammfunktionen zu arbeiten. Was man hier braucht, ist das Integral von 0 bis T.

Geschwindigkeit [einsetzen von T] - [einsetzen von 0] :
v(T)=-A/w *cos(w*T) + A/w ==> immer > 0

Weg, integrieren und dann [einsetzen von T] - [einsetzen von 0] :
s(t)= -A/w² *sin(w*T) +A/w * T + A/w² ==> oszillierend um einen linear steigenden Trend

Soweit die mathematische Erklärung.

Die technische Erklärung:
Du hast hier zwar eine negative Beschleunigung, aber nur als Ausgleich einer positiven Beschleunigung. Mit anderen Worten, du beschleunigst in eine Richtung und bremst dann wieder ab, kommst aber nur auf Geschwindigkeit 0 runter.

Du kannst den von dir gewünschten Effekt erreichen, indem du cos statt sin verwendest oder eine Phasenverschiebung um pi/2 annimmst.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
autoingenieur
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 20.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2012, 12:36     Titel:
  Antworten mit Zitat      
Hallo Harald,
vielen Dank, das habe ich gerade ausprobiert und es klappt bei diesem beispiel. In der Realität werde ich allerdings kein signal von einem sinusblock bekommen sondern zunächst von einem Kalibriergerät auf dem der beschleunigungssensor sitzt und danach von einem x-beliebigen signal, wenn das autodach durch einen shaker bzw. eine rauhe rolle angeregt wird und ich es durch einen Simulink regler minimieren will. Das Signal ist quasi eine Art Rauschen.

Auch hier möchte ich die Regelgröße Weg haben, und da habe ich dann weder eine konstante Amplitude oder Frequenz. Auch hier will ich als Strecke, die Schwingung um eine Nulllage haben (der Sensor kann ja nciht abhauen!)

Kennst du dafür ebenfalls eine Lösung?

Gruß Matthias
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 20.01.2012, 12:46     Titel:
  Antworten mit Zitat      
Hallo,

ich würde vermuten, dass sich das bei einem realen Signal automatisch richtig ergibt. Kommt allerdings natürlich auf den Versuch an.

Für den Moment würde ich festhalten, dass die Ergebnisse von Simulink korrekt und nachvollziehbar sind. Wie gesagt, bei einem realen Signal sollte dieser Effekt nicht auftreten. Außer natürlich, dein Messgerät hat einen Messfehler mit Mittelwert "weit weg" von 0 - dann musst du diesen Mittelwert finden und mit einem entsprechenden Offset arbeiten.

Dein ursprüngliches Test-Signal beschreibt eher einen Weg, bei dem man beschleunigt und wieder anhält, beschleunigt und wieder anhält, aber eben nie die Richtung wechselt.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
autoingenieur
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 20.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 20.01.2012, 12:48     Titel:
  Antworten mit Zitat      
Genau so hab ich das Simulinkergebnis auch interpretiert. Aber danke für die Antwort, ich werde es so ausprobieren.

Gruß Matthias
Private Nachricht senden Benutzer-Profile anzeigen
 
autoingenieur
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 20.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2012, 16:17     Titel:
  Antworten mit Zitat      
Servus,

ich hab jetzt Tests mit verschiedenen Beschl. aufnehmern sowie Anregungsaktoren (Shaker,Piezokeramiken) gemacht, und bei beiden trat der selbe Effekt auf, nämlich dass der Weg immer größer wird und nicht um eine Mittellage schwingt wie es der Aufnehmer in der Realität macht.

Kennt einer vielleicht das Problem und weiß eine Lösung? Gibt es eine Möglichkeit eine Art Pi/4 Phasenverschiebung in Simulink einzubauen, sowie ich das beim Sinus Chirp Block einstellen konnte?

Ansonsten wird mir nichts anderes übrig bleiben und auf die Beschleunigung zu regeln.

Gruß
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 27.01.2012, 16:32     Titel:
  Antworten mit Zitat      
Hallo,

meine Vermutung ist hier, dass der Messfehler deines Sensors nicht Mittelwert 0 hat. Ich halte eine Phasenverschiebung für weniger sinnvoll als die Einführung eines Offsets, der dann im Grunde dem Mittelwert des Meßfehlers entspricht.

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
autoingenieur
Themenstarter

Forum-Newbie

Forum-Newbie


Beiträge: 6
Anmeldedatum: 20.01.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 27.01.2012, 16:38     Titel:
  Antworten mit Zitat      
Ich bin mir jetzt nicht sicher, ob ich dich richtig verstanden habe. Aber ich werde eine Messung ohne Anregung machen, schauen, was der Sensor mir anzeigt, wenn er eigentlich nichts anzeigen sollte und dessen Mittelwert als Offset verwenden. Vielen Dank für den weiteren Hinweis.
Private Nachricht senden Benutzer-Profile anzeigen
 
Harald
Forum-Meister

Forum-Meister


Beiträge: 24.492
Anmeldedatum: 26.03.09
Wohnort: Nähe München
Version: ab 2017b
     Beitrag Verfasst am: 28.01.2012, 00:19     Titel:
  Antworten mit Zitat      
Hallo,

die Frage ist nun auch, ob der Offset unter allen Bedingungen gleich ist - wahrscheinlich eher nicht.

Wenn du weißt, dass du am Anfang und am Ende bei Null bist, könnte man auch im Nachhinein schauen, ob es einen linearen Trend gibt, und den abziehen. Ist natürlich nur sinnvoll, wenn die Daten nicht für eine anderweitige Steuerung o.ä. verwendet werden.

Falls das ein Projekt an der Uni ist, würde ich diese Frage auf jeden Fall auch mit dem Betreuer besprechen. Ich selbst möchte an der Stelle betonen, dass ich von der Ausbildung her kein Ingenieur bin und daher auch nicht sagen kann, wie diese bei solchen Problemen typischerweise verfahren - am Ende das Messgerät nacheichen lassen? Wink

Grüße,
Harald
Private Nachricht senden Benutzer-Profile anzeigen
 
aimse
Forum-Anfänger

Forum-Anfänger


Beiträge: 10
Anmeldedatum: 06.05.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.02.2012, 15:30     Titel:
  Antworten mit Zitat      
Hallo,

falls dein Thema noch aktuell ist, kannst du es mal mit dem external reset versuchen...
In deinem Falle könnte sowas funktionieren.
Bin mir allerdings nicht sicher ob das Ergebniss dann richtig ist. Du siehst hier auch nur die Amplitude.

Grüße Aimse

Unbenannt.png
 Beschreibung:
reset des Weges

Download
 Dateiname:  Unbenannt.png
 Dateigröße:  172.09 KB
 Heruntergeladen:  1582 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.