22.01.2010, 15:34
Beitrag #1
|
cheeze
LVF-Gelegenheitsschreiber
Beiträge: 92
Registriert seit: May 2009
2010
2008
de
10969
Deutschland
|
Nach 1 sekunde werte vergleichen
Ich möchte gerne die Drehzahl eines Motors darstellen. Wenn der Motor allerdings stehenbleibt, bekomme ich immer die letzte gemessene Frequenz angezeigt. Ich möchte aber dass beim Stillstand auch die Frequenz Null angezeigt wird. Mein gedankengang war folgender: Ich vergleiche mit einem Schieberegister den aktuellen mit der aus der vorherigen Interation. Dann sind allerdings beide werte mal gleich und mal nicht. Die Anzeige springt dann willkürlich mal auf Null und mal auf die gemessene Frequenz. Ich habe dann noch eine Sequenz eingefügt mit der ich eine Sekunde warte und dann den Wert der alten Iteration weitergebe. Dann wird allerdings die Anzeige auch nur jede Sekunde aktualisiert.
Hat jemand eine Idee???
|
|
|
22.01.2010, 15:45
Beitrag #2
|
echtzeit
LVF-Grünschnabel
Beiträge: 39
Registriert seit: Oct 2009
8.6.1 und Labview 2009 SP1
2008
de
1099
Deutschland
|
Nach 1 sekunde werte vergleichen
Klingt konfus was Du da schreibst....
Wie wäre es mit einer "oder" Verknüpfung???
|
|
|
22.01.2010, 15:47
Beitrag #3
|
|
|
22.01.2010, 16:23
Beitrag #4
|
cheeze
LVF-Gelegenheitsschreiber
Beiträge: 92
Registriert seit: May 2009
2010
2008
de
10969
Deutschland
|
Nach 1 sekunde werte vergleichen
@seBa ist dir langweilig?? hoffe deine beiträge sind nicht alle so geistreich...
@echtzeit vielleicht ist meine schreibweise etwas verwirrend gewesen. also nochmal
- frequenzmessung eines motors
- bei stillstand wird letzte erfasste frequenz angezeigt
- möglichkeit zum "nullen der anzeige"
|
|
|
22.01.2010, 17:11
Beitrag #5
|
SeBa
LVF-Guru
Beiträge: 2.025
Registriert seit: Oct 2008
09SP1 & 10 FDS
2008
DE
65xxx
Deutschland
|
Nach 1 sekunde werte vergleichen
' schrieb:@seBa ist dir langweilig?? hoffe deine beiträge sind nicht alle so geistreich...
Nein. Ich hab das ernst gemeint...
Warum wird die letzte erfasste Frequenz angezeigt und die ist nicht 0 wenn der Motor steht?
Da du nichts darüber sagtest woher du die Frequenz bekommst, ging ich davon aus, dass du das selbst programmiert hast.
Gruß SeBa
Dieser Beitrag soll weder nützlich, informativ noch lesbar sein.
Er erhebt lediglich den Anspruch dort wo er ungenau ist, wenigstens eindeutig ungenau zu sein.
In Fällen größerer Abweichungen ist es immer der Leser, der sich geirrt hat.
Rette einen Baum!
Diesen Beitrag nur ausdrucken, wenn unbedingt nötig!
|
|
|
23.01.2010, 03:04
(Dieser Beitrag wurde zuletzt bearbeitet: 23.01.2010 03:06 von cheeze.)
Beitrag #6
|
|
|
23.01.2010, 10:33
Beitrag #7
|
chrissyPu
LVF-Stammgast
Beiträge: 467
Registriert seit: Jun 2006
2014 PDS
2006
DE_EN
64283
Deutschland
|
Nach 1 sekunde werte vergleichen
Hi,
wie wäre es damit, einen "Timeout" beim Einlesen Deines Analogen Wertes zu generieren? Wenn der vorbei ist, also kein Sinussignal nach einer gewissen Zeit mehr kommt, weißt Du, dass Du im Stillstand bist...
Die Sequenz ist übrigens Überflüssig, der Schleifentimer m.E. auch, da der nur Einfluss auf die äußere Schleife hat und die innere ja unendlich weiter läuft...
Hast Du Dir mal die Beispiele von NI zur Frequenzerfassung auf RT-Targets angeschaut? Prinzipiell machst Du ja genau das und da ist das glaub ich ein bisschen eleganter gelöst.
Wenn Du außerdem noch Platz für Hardware hast: Bau einen Schmitt-Trigger zwischen den Ausgang und einen digitalen Eingangskanal der Karte - dann kannst Du einfach bei einer steigenden Flanke einen Counter inkrementieren und in einer parallelen Schleife definiert den Counter auslesen, Rücksetzen etc. Führt zur höchstmöglichen Genauigkeit (die Hysterese vom Trigger mal abgesehen) und gleichzeitig einer Aktualisierungsrate der Anzeige, die frei einstellbar ist...
Grüße,
ch
|
|
|
23.01.2010, 10:43
Beitrag #8
|
IchSelbst
LVF-Guru
Beiträge: 3.697
Registriert seit: Feb 2005
11, 14, 15, 17, 18
-
DE
97437
Deutschland
|
Nach 1 sekunde werte vergleichen
' schrieb:mit hilfe eines schieberegisters messe ich die zeitdifferenz zwischen den nulldurchgängen (bzw wegen rauschen im stillstand bei 0,25V).
Alleine durch diesen Algorithmus ist es möglich auch Stillstand festzustellen. Nämlich dann, wenn die Zeitdifferenz zwischen zwei Nulldurchgängen größer als eine Sekunde werden würde.
Zitat:zum verständnis füge die frequenzmessung bei. da die periodendauer im case(true) berechnet wird und im stillstand der casestruktur nicht mehr in true wechelt, wird immer der letzte wert im true angezeigt.
Warum verwendest du dann nicht den False-Case als Timeout?
Lass im False-Case einen (nachtriggerbaren) Timer laufen, der den ganzen Messvorgang abbricht, wenn für mindestens eine Sekunde kein neuer Nulldurchgang erkannt wurde.
Hinweis:
Das "Grundrauschen" im Nulldurchgang, das zu Problem beim Erkennen des Timeout führen würde, hast du ja bereits beachtet.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
|
|
|
25.01.2010, 13:40
Beitrag #9
|
|
|
| |