Verfasst am: 19.08.2019, 09:44
Titel: Real Time Plot Matlab Bluetooth
Hallo,
Ich habe eine Bluetooth Verbindung zwischen Matlab und meinem Arduino Uno mit dem Modul HC-05 aufgebaut. Mein Arduino gibt dauerhauft Daten an die serielle Schnittstelle raus und diese möchte ich (so synchron wie möglich) mit Matlab auslesen und live plotten. Allerdings habe ich das Problem, dass Matlab zu langsam ist und immer wieder mit Daten aus einem alten Buffer anfängt, statt die aktuellsten Daten zu nehmen. Wenn ich den Plot vom Arduino mit meinem Plot vergleiche ergeben sich ziemliche Ungleichheiten und ich verstehe ehrlich gesagt nicht, was ich falsch mache bzw. wie ich das ganze beschleunigen kann...
Ich benutze folgenden Matlab Code zum auslesen der Daten:
% Read current voltage value
Val1 = fscanf(bt, '%f');
%i = i + 1;
% Get current time
t = datetime('now') - startTime;
% Add points to animation
addpoints(h,datenum(t), Vout) % Update axes ylim([-22])
ax.XLim = datenum([t-seconds(15) t]);
datetick('x','keeplimits') drawnow
Ich habe auch zwei Plots angehängt, damit ihr die Unterschiede seht.
Der blaue ist der vom Arduino, der rote von Matlab. Es ergeben sich beim Anschauen der Plots riesige Zeitunterschiede.
Habt ihr eine Idee, was ich verändern könnte, um akkurat an meine Daten zu kommen bzw. Matlab schneller zu machen?
auch wenn dieser Post schon sehr alt ist, frage ich an dieser Stelle nocheinmal nach.
Ich habe akteull ein sehr ähnliches Problem. Hast du inzwischen eine Lösung dafür gefunden?
Einstellungen und Berechtigungen
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.