INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Dieses Thema hat akzeptierte Lösungen:

Drehzahlmessung mit Hall-Sensor auf Arduino



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

27.11.2020, 12:05
Beitrag #1

Nomier Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2020

2019
-
DE_EN



Drehzahlmessung mit Hall-Sensor auf Arduino
Moin Leute,
ich bin neu hier und arbeite erst seit ein paar Wochen mit Labview. Daher ist meine Frage mit Sicherheit sehr trivial, aber ich komme nicht weiter.

Folgendes:
Ich möchte die Drehzahl einer Welle mittels eines Hallsensors messen. Dafür klebt auf der Welle ein Magnet, der dann am Hallsensor vorbeikommt. Der Sensor schaltet dann einfach nur true, wenn der Magnet gerade da ist und false, wenn nicht.
Ich verwende LabView 2019 und eine Arduino Uno über das Linx Tool. Auf der Arduino habe ich den Hallsensor über den Digitalpin angeschlossen. Nun war meine Idee zur Drehzahlmessung, dass ich über den Block "verstrichene Zeit" die Zeit stoppe und jedes Mal, wenn der Sensor True schaltet, also eine Umdrehung rum ist, die Zeit gestoppt, gespeichert und in die Drehzahl umgerechnet im GUI angezeigt wird. Anschließend wird die Zeit neu gestartet. Beim der nächsten Umdrehung wird wieder die neue Zeit gestoppt, der alte gespeicherte Wert überschrieben und wieder im GUI als Drehzahl ausgegeben.

Das zentrale Problem ist hier das Speichern des Wertes.
Wie kann ich die gestoppte Zeit als Konstante speichern und beim nächsten Mal überschreiben?
Ich habe schon diverse Dinge mit Arrays, Rückkoppelungen und Schieberegistern probiert, aber da ich keine For Schleife n Mal durchlaufen will, war das alles nicht zielführend.
Oder ist die Idee mit dem Tool "verstrichende Zeit" grundsätzlich falsch und gibt es eine ganz andere Lösung?
Im Anhang ist mein Entwurf, der aber nicht so funktioniert wie gewollt.

Aber vermutlich ist das Problem einfach meine mangende Labview Erfahrung, daher bin ich für jede Hilfe und Tipps dankbar!

Danke schon mal an alle!!!!!

Liebe Grüße

Nomier


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
27.11.2020, 13:34
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Drehzahlmessung mit Hall-Sensor auf Arduino
Hallo Nomier,
herzlich willkommen im Forum!

Zitat:Das zentrale Problem ist hier das Speichern des Wertes.
Wie kann ich die gestoppte Zeit als Konstante speichern und beim nächsten Mal überschreiben?
Ich habe schon diverse Dinge mit Arrays, Rückkoppelungen und Schieberegistern probiert, aber da ich keine For Schleife n Mal durchlaufen will, war das alles nicht zielführend.
Wenn du einen Wert für die nächste(n) Iterationen speichern/bereitstellen willst, solltest du ein Schieberegister verwenden!

Eine "Konstante" kann man nicht speichern/ändern/überschreiben: dann wäre es ja keine Konstante mehr! Big Grin
Du willst wahrscheinlich so etwas wie eine "Variable" haben: in LabVIEW ist der Draht die Variable - oder das Schieberegister!

Zitat:Oder ist die Idee mit dem Tool "verstrichende Zeit" grundsätzlich falsch und gibt es eine ganz andere Lösung?
Falsch ist die Idee nicht. Es geht aber auch einfacher: man merkt sich den Timestamp des letzten Hall-Pulses in einem Schieberegister. Beim nächsten Puls dann einfach aktueller Timestamp minus den gespeicherten rechnen. (Letztendlich macht ElapsedTime genau das gleiche…)

Zitat:Im Anhang ist mein Entwurf, der aber nicht so funktioniert wie gewollt.
Da ist nur ein Bild. Bilder kann man mit LabVIEW weder debuggen noch editieren.
Beim nächsten mal bitte echten Code anhängen!

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.11.2020, 14:11
Beitrag #3

Nomier Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2020

2019
-
DE_EN



RE: Drehzahlmessung mit Hall-Sensor auf Arduino
Hallo GerdW,
danke für die schnelle Antwort.

Das mit der Konstante ist mir auch gerade aufgefallen, aber du weißt ja, was ich meine.

Ok, also Schiebregister in eine For Schleife. Ich habe auch die Funktionsweise von den Schieberegistern noch nicht so ganz verstanden. Ich will ja keine diskrete Anzahl an Schleifendurchläufen haben.
Und wie sage ich dem Schieberegister, dass es den Wert speichern soll?

Im Anhang ist jetzt die richtige Datei.

Danke nochmal und viele Grüße

Nomier


Angehängte Datei(en)
19.0 .vi  Drehzahlmessung.vi (Größe: 32,63 KB / Downloads: 194)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.11.2020, 14:18 (Dieser Beitrag wurde zuletzt bearbeitet: 27.11.2020 14:24 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Drehzahlmessung mit Hall-Sensor auf Arduino
Hallo Nomier,

Zitat:Ok, also Schiebregister in eine For Schleife.
Wozu die FOR-Schleife?
Du hast doch schon eine While-Loop…

Zitat:Ich will ja keine diskrete Anzahl an Schleifendurchläufen haben.
Dafür verwendest du doch schon eine While-Loop…

Zitat:Ich habe auch die Funktionsweise von den Schieberegistern noch nicht so ganz verstanden.
Ein Schieberegister "schiebt" den Wert, den man ins rechte Terminal schreibt, in die nächste Iteration der Loop und gibt ihn am linken Terminal wieder aus.
Ganz einfach…

Zitat:Und wie sage ich dem Schieberegister, dass es den Wert speichern soll?
Indem du ihn ins rechte Terminal schreibst. Wie gerade beschrieben…

So in etwa:
   

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.11.2020, 14:29
Beitrag #5

Nomier Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2020

2019
-
DE_EN



RE: Drehzahlmessung mit Hall-Sensor auf Arduino
Hallo GerdW,
ich probiere das am Montag mal aus. Wie gesagt, ich bin ein ziemlicher Laie in Labview. Danke für deine Geduld
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.12.2020, 10:55 (Dieser Beitrag wurde zuletzt bearbeitet: 01.12.2020 10:56 von Nomier.)
Beitrag #6

Nomier Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2020

2019
-
DE_EN



RE: Drehzahlmessung mit Hall-Sensor auf Arduino
So, ich habe deinen Vorschlag ausprobiert, GerdW und es funktioniert schon ganz gut. Ich kenne nur zwei deiner Blöcke nicht. Zum einen den orangen DBL Block oben rechts zwischen dem Select und dem Schieberegister. ist das dein Anzeigeelement im Frontpanel? Da habe ich keine mit Ein- und Ausgang. Ich glaube, dass er deswegen bei mir den Wert nicht speichert, weil ich mein Anzeigelement anders eingebaut habe.

Der andere ist der true/false Block in der Mitte mit der roten und grünen Lampe. Ist das auch einfach nur eine LED im Frontpanel, oder ist die wichtig?


Danke und viele Grüße


Nomier
Hier ist mein VI, hatte ich eben vergessen.


Angehängte Datei(en)
19.0 .vi  Drehzahlmessung.vi (Größe: 25,12 KB / Downloads: 223)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
01.12.2020, 11:21
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Drehzahlmessung mit Hall-Sensor auf Arduino
Hallo,

rechts oben ist ein ganz normales Anzeigeelement.
Das andere nennt sich Point-by-Point-BooleanCrossing, damit kann man boolsche Statewechsel detektieren.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.12.2020, 11:24
Beitrag #8

Nomier Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2020

2019
-
DE_EN



RE: Drehzahlmessung mit Hall-Sensor auf Arduino
Aber wie hast du das in Reihe geschaltet? Oder sieht das nur so aus?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
01.12.2020, 12:51
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.412
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Drehzahlmessung mit Hall-Sensor auf Arduino
Hallo Nomier,

Zitat:Aber wie hast du das in Reihe geschaltet? Oder sieht das nur so aus?
Das sieht nur so aus.
Das ist ein Draht, der von einer Funktion zu einem Indicator und einem Schieberegister führt…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.12.2020, 10:53
Beitrag #10

Nomier Offline
LVF-Grünschnabel
*


Beiträge: 11
Registriert seit: Nov 2020

2019
-
DE_EN



RE: Drehzahlmessung mit Hall-Sensor auf Arduino
Hallo GerdW,
ich habe deinen Vorschlag ausprobiert und es funktioniert aber noch nicht. Der Wert wird im Minusblock von einander abgezogen, aber in der Anzeige nicht gespeichert. Diese zählt dann immer runter, weil die Zeitdifferenz ja steigt.
Wie kann ich erreichen, dass der Wert im Anzeigeblock für eine Umdrehung konstant bleibt?

Danke und viele Grüße

Nomier
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  MPU 6050 Arduino via i2c Beshleunigung-Weg Ermittlung frtdgl 5 5.461 19.03.2018 07:39
Letzter Beitrag: GerdW
  Arduino Uno Analog Read / Oszi t0bsN 9 8.202 11.05.2016 09:55
Letzter Beitrag: t0bsN
  Hall Sensor - Flanken zählen Kim 2 4.969 21.11.2012 14:56
Letzter Beitrag: Kim

Gehe zu: