Verfasst am: 14.01.2012, 17:10
Titel: Drucksensor kontinuierlich auslesen und plotten
Liebe Leute,
mittels eines Arduino betreibe ich einen Drucksensor, (http://s7.directupload.net/file/d/2769/lyj8ucln_jpg.htm) dessen Spannung ich gern kontinuierlich auslesen und plotten möchte. Bisher sieht mein Code so aus, dass ich einfach eine Schleife durchlaufe und eine Pause eingebaut habe, aber das ist mir eben zu statisch und eben noch nicht das, was ich gern möchte:
Code:
clc delete(instrfind({'Port'},{'COM4'}))
a = arduino('COM4');
Wie bekomme ich es jetzt hin, dass ich eine Zeitachse mit exakten Zeitschritten habe, entlang derer ich mein Drucksignal erfassen kann und das Ganze so lange, bis ich das figure schließe.
da ich in diesem Beispiel die Periode von 1 s auf 0.1 s heruntergesetzt habe, stimmt natürlich die ausgegebene Zeitachse im Plot nicht mehr. Sicher gibt es da noch einen anderen Weg selbige zu generieren. Auch das Vorgeben meines willkürlich gewählten Abbruchkriteriums von n=1000 möchte ich so nicht habe. Der Plot soll einfach immer weiter laufen, bis ich ihn selbst beende.
Ein zweites Problem ist jetzt noch, dass ich beim weiteren Verkürzen der Timer-Periode auf 0.01 s kein figure mehr sehen kann. Es erscheint erst nach Durchlaufen der Messaufgaben. Kann ich das ändern?
1. ich hätte gern eine Zeitachse auf Sekundenbasis. Bisher hatte ich es einfach so gemacht, dass meine TimerPeriod 1s gedauert hat und ich habe die Zeitachse so erstellt, dass ich die Durchlaufzahl mit dieser Periode multipliziert habe, um die entsprechende Sekunde zu meinen. Das ist aber sicher noch nicht die Art, wie man das machen könnte.
2. z.b. durch schließen des figures oder durch drücken von "esc" oder... eigentlich egal. das programm soll nur verstehen, dass schluss ist.
2. Wenn der Timer beim Schließen der Figure beendet werden soll, kannst du das in die CloseRequestFcn stecken. Wenn auf Tastendruck reagiert werden soll, in die KeyPressFcn.
3. Da gibts nicht viel zu belesen. DRAWNOW an die Stelle, an der die Grafik aktualisiert werden soll.
ich habe da nochmal eine prinzipielle Frage. Bisher rechne ich die beim analogen Eingang des Arduinos (10bit) ankommenden Integers folgendermaßen in eine Spannung um:
Der Sensor hat einen Messbereich bis 500 Pa und einen Signalausgang von 0.5 V bis 4.5 V. Nun ist meine Frage: sind die 5 V in meiner Formel dann überhaupt korrekt angesetzt? Eigentlich kann er die 1024 Bereiche doch nur auf 4 V aufteilen, also das delta_U.
Ich würde mich sehr über eure Hilfe freuen. Vielen Dank.
Das würde bedeuten, dass Zahlen von 0 bis 1023 gleichmäßig ("linear") auf den Bereich [0.5, 4.5] abgebildet werden. Ob das für deinen Sensor auch tatsächlich sinnvoll ist, kann ich natürlich nicht beurteilen.
Grüße,
Harald
P.S.: Ich habs mal angedeutet... man kann das vielleicht vektorisieren?
vielen Dank für deine Antwort. Ja, so ist es erst sinnvoll.
Danke nochmals und viele Grüße
pfeili
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.