Ich lese per mikrocontroller die Daten eines 6DOF Sensors aus (Invensense MPU6050 mit 3*Gyro, 3*Accelerometer). Diese Daten will ich nun sämtlich in Echtzeit über der Zeit auftragen. Dazu sende ich die Daten über die serielle Schnittstelle an den PC und von dort an übernimmt MATLAB.
Nun kann ich allerdings nur immer 2 Daten gleichzeitig plotten, sonst hakt die Darstellung. Wie ihr im Code seht, habe ich z.B.
einkkommentiert, d.h. hier plotte ich nur je einen der drei Beschleunigungs-und Drehbeschluenigungswerte.
Wie kann ich die Darstellung der Werte signifikant beschleunigen?
Ich hab jetzt schon so manches im Code ausprobiert, komme aber hier einfach nicht weiter. Der Code ist nicht ansatzweise schnell genug, und ich bin nicht sicher ob ich mich beim Beschleunigen des Codes auf die str2double -Wandlung oder eher auf das Plotten an sich konzentrieren soll.
Schöne Grüße
Andy
Öffnen der Schnittstelle:
Code:
%% Serielle_Schnittstelle_erzeugen % öffnen %clear all
%s = serial('COM3','BAUD',9600);
s = serial('COM3','BAUD',115200);
global ByteCntr; %Anzahl empfangener Zahlen
ByteCntr = 0;
global Cntr2;
Cntr2 = 0;
global data;
data = 0;
function MATLAB_Serial_Portfcn(s, event)
%MATLAB_SERIAL_PORTFCN
%This is the callback fcn to my MATLAB_SerialCOM.mScript.
%it is called whenever there are bytes available at the serial port.
global ByteCntr;
global Cntr2;
global dataACCX;
global dataACCY;
global dataACCZ;
global dataGYROX;
global dataGYROY;
global dataGYROZ;
ByteCntr = ByteCntr + 1;
Cntr2 = Cntr2 + 1;
%Datenreihe aktualisieren
if(Cntr2 == 500)
%Länge der Datenreihe ist 500
Cntr2 = 1;
cla(gca);
end
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
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.