Donnerstag, 27. Dezember 2012

Schwingungsmessung mittels Beschleunigungsmesser von Android Geräten

Screenshot von der App Vibration Monitoring
Jedes Standard Android Smartphone besitzt mittlerweile Beschleunigungssensoren. Wer schon immer wissen wollte, für was man diese Sensoren sinnvoll einsetzen kann, sollte sich folgende Idee mal genauer ansehen. Das Stichwort heißt Schwingungsmessung. Für die Aufzeichnung bzw. Visualisierung der Beschleunigungen in x, y und z-Richtung gibt es verschiedene Apps. Ich habe die App Vibration Monitoring installiert und für gut befunden, siehe Screenshot. Man kann alle Beschleunigungsrichtungen anzeigen und die  Aufzeichnungsrate ändern. Da mein Samsung Galaxy Note 2 sogar mit 100fps aufzeichnet, können sogar höhere Frequenzen gemessen werden. Wie das bei anderen Geräten ist, kann ich nicht sagen.

Als Testobjekt habe ich meine Waschmaschine herangezogen und die Beschleunigungen gemessen, die während des Schleudervorganges auftreten. Das Handy wird einfach auf der Waschmaschine fixiert und zeichnet dabei die Schwingungen auf.

Der plot unten zeigt die aufgezeichneten Schwingungen der drei Beschleunigungssensoren. Nach etwa 35 Sekunden ändert sich der Schleudermodus der Waschmaschine. Interessanterweise reduzieren sich bei größerer Drehzahl die Amplituden. Bei kleinerer Drehzahl (bei <35s) und beim Herunterfahren (>110 s) scheinen die Schwingungen in eine Art Resonanz zu gehen. Die Visualisierung wurde mit Octave realisiert, der Code ist unten zu sehen.

Beschleunigungen in die drei Raumrichtungen. Visualisiert mit Octave.

Um jetzt aus diesem wirren Signal die relevanten Drehzahlen herauszufiltern, kann man eine Fourier Analyse bemühen.

Amplitudenspektrum vs. Frequenz

Nach einer Fourier Analyse, siehe Bild, kann man zwei relevante Drehzahlen herausfiltern. Die erste Drehzahl ist ca. 1180 rpm und die zweite ist ca. 1320 rpm. Die kleinere entspricht also des ersten Schleudermodus, die höhere dem zweiten. Das ist sehr interessant, meine Waschmaschine sollte nämlich mit maximal 1400 Umdrehungen schleudern. So wird man also veräppelt.

Anbei der verwendete Octave Code:

frequency.m

clear all;
data=dlmread('/pathtofile/default__3.txt',' ');



%% rewrite the time from relative to absolute time
time(1)=data(1,4);
for i=2:length(data)
time(i)=data(i,4)+time(i-1);
end;


%% define equidistant time vector
t=linspace(time(1),time(end),length(time));


%% interpolate signal to the equidistant time vector
data1=interp1(time,data(:,1),t);
data2=interp1(time,data(:,2),t);
data3=interp1(time,data(:,3),t);


%% compute fourier decomposition with the 
%% customized ft function, see below
[f1,y1,Y1] = ft(data1,t);
[f2,y2,Y2] = ft(data2,t);
[f3,y3,Y3] = ft(data3,t);

f1=f1*60; %%  per minute
f2=f2*60; %%  per minute
f3=f3*60; %%  per minute



plot(f1,Y1,'b',f2,Y2,'g',f3,Y3,'r') 
legend('x-axis','y-axis','z-axis')
xlabel('frequency in 1/min');
ylabel('amplitude');

axis([800 1600 0 0.8])



 figure
 plot(time/1000,data3,'r',time/1000,data2,'g',time/1000,data1,'b')
 legend('z-axis','y-axis','x-axis');
 axis([0 140 -5 5])
 xlabel('time in seconds');
 ylabel('acceleration in m/s^2');


ft.m

function [f,y,Y] = ft(dat,t)
%% computes the Fourier decomposition of dat

Fs=1000/(t(2)-t(1));
T=1/Fs;
L=length(t);

NFFT=2^nextpow2(L);

y=fft(dat,NFFT)/L;

f = Fs/2*linspace(0,1,NFFT/2+1);

Y=2*abs(y(1:NFFT/2+1));





Donnerstag, 20. Dezember 2012

Essen auf der Weihnachtsfeier

Vorspeise, Hauptgericht und Nachspeise. Wenn man während der Weihnachtszeit schon fett wird, dann mache ich vorher wenigstens noch schöne Bilder.




Montag, 17. Dezember 2012

HDR mit dem Samsung Note 2


Hier ein Beispiel des HDR Modus mit dem Samsung Galaxy Note II




Original


HDR Modus

Dienstag, 11. Dezember 2012

Schnee, Wolken und Sonne


Nach einem gemütlichen Aufstieg wird man mit solch einem Ausblick belohnt. Es war zwar ziemlich kalt, aber die Sicht und das schöne Foto entlohnen dann wieder.

Donnerstag, 6. Dezember 2012

Kabelbruch bei L-förmigem Magsafe

Mit dem alten Magsafe Kabel scheint Apple mal Probleme mit Kabelbrand und Kabelbruch gehabt zu haben. Das Neue scheint wohl solider zu sein, leider nicht bei mir. Nach nichteinmal einem Jahr löst sich die Ummantelung ab und der Draht kommt zum Vorschein.

Zum Glück befinde ich mich noch in der Garantie und das Magsafe Netzteil wird ausgetauscht. Super.