LabVIEWForum.de
Software Timer - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Instrument IO & VISA (/Forum-Instrument-IO-VISA)
+---- Thema: Software Timer (/Thread-Software-Timer)



Software Timer - Gottimp - 15.03.2021 18:14

Guten Abend Community,

ich habe versucht ein Programm zu schreiben, welches die Drehzahl eines Motors, bzw die Geschwindigkeit des Fahrzeugs anzeigt.

Als Hardware habe ich einen Arduino Uno an den eine Lichtschranke angeschlossen ist die von einem von der Welle angetriebenen Ritzel unterbrochen wird.

Des Weiteren habe ich mir das Toolkit Linx heruntergeladen.

Meine Hauptsächliche Frage ist nun ob es elegantere Methoden gibt Softwareseitig den Weg über der Zeit darzustellen.

Wie immer freu ich mich über eure Antworten und stehe für jegliche Nachfragen zur Verfügung.

Anbei das Programm

Gruß Gotti


RE: Software Timer - jg - 15.03.2021 19:13

Hallo Gotti,

ich hatte dir schon einmal geantwortet, dass du über die serielle Schnittstelle sehr wahrscheinlich nicht alle Flankenwechsel mitbekommst und somit keine zuverlässliche Drehzahl am PC ermitteln kannst. Oder drehst du dein Rad sooo langsam, dass es doch klappt?

Ist dir außerdem klar, dass du 2x pro Impuls ein Wegstück aufaddierst?

Deine Geschwindigkeitsberechnung ist verkehrt (überlege selber, wieso)!

Die Zeitdifferenzberechnung hast du dir unnötig kompliziert gemacht:
[attachment=61712]

Gruß, Jens


RE: Software Timer - GerdW - 15.03.2021 20:20

Hallo Gotti,

Zitat:ich hatte dir schon einmal geantwortet, dass du über die serielle Schnittstelle sehr wahrscheinlich nicht alle Flankenwechsel mitbekommst und somit keine zuverlässliche Drehzahl am PC ermitteln kannst. Oder drehst du dein Rad sooo langsam, dass es doch klappt?
Jens hat ja schon die wesentlichen Dinge angemerkt!
Diesen Teil der Messung sollte man besser direkt auf dem Arduino erledigen, der kann wesentlich schneller Pulse zählen/auswerten als dass er die serielle Schnittstelle bedient…

Zitat:Meine Hauptsächliche Frage ist nun ob es elegantere Methoden gibt Softwareseitig den Weg über der Zeit darzustellen.
Hier noch eine weitere "elegante Methode softwareseitig":
[attachment=61714]
Hinweis: Zum Verständnis einer Software trägt auch gut strukturierter Programmcode bei. Warum ist dein VI aber so unaufgeräumt?


RE: Software Timer - Gottimp - 16.03.2021 16:23

Wie immer vielen Dank für eure Antworten.

Grundsätzlich spielt die Messunsicherheit bei mir eine untergeordnete Rolle, da ich gerne mehr mit Labview arbeiten möchte und der Arduino vorhanden ist, sodass es mir leichter fällt mich mit Aufgaben zu beschäftigen, als nur am Laptop zu programmieren ohne Hardware.
Falls es von Interesse ist, ich habe um die serielle Schnittstelle zu realisieren den Atmega328P vom Arduino abgezogen und nur das Kommunikationsmodul verwendet.(geänderte Pinbelegung beachten)

Ich dachte ich hätte das VI bereits aufgeräumt, zumindest sah es zuvor noch schlimmer aus. Allerdings kann auch ein Blinder erkennen das ihr eine viel bessere Struktur habt beim programmieren.

Ich denke die Geschwindigkeitsberechnung ist korrekt. Zu Grunde liegt "Teilweg=(D*pi)/2*Speichen)", somit muss entweder 2x pro Impuls addiert werden oder die Gleichung angepasst werden, indem man nur durch Speichen teilt.

"Elegante Methode softwareseitig" scheint keine Fachsprache zu sein und hat anscheinend für Amüsement gesorgtBig Grin. Der Auschnitt bei Gerd sieht sehr gut aus.
Ich habe mal versucht es nach eurem Vorbild umzusetzen.


Grüße Gotti