27.08.2009, 22:42
01.09.2009, 13:09
@michadu
sorry, war aus einigen privaten erledigungen die letzten tage nicht in der lage mich mit LabVIEW zu beschäftigen.
habe heute endlich wieder zeit und habe natürlich gleich mal die beiden vi´s getestet. also prinzipiell funktionierts, es werden auch verschiedene frequenzen angezeigt jedoch sind das nicht die richtigen. wenn bspweise der motor schneller dreht sinkt die frequenz, dann springt sie wieder hoch dann wieder runter. also irgendwie ganz willkürliche werte.
sorry, war aus einigen privaten erledigungen die letzten tage nicht in der lage mich mit LabVIEW zu beschäftigen.
habe heute endlich wieder zeit und habe natürlich gleich mal die beiden vi´s getestet. also prinzipiell funktionierts, es werden auch verschiedene frequenzen angezeigt jedoch sind das nicht die richtigen. wenn bspweise der motor schneller dreht sinkt die frequenz, dann springt sie wieder hoch dann wieder runter. also irgendwie ganz willkürliche werte.
MichaDu
01.09.2009, 13:48
Mit welcher Frequenz dreht denn der Motor?
In dem korrigierten VI habe ich mit 0,5ms abgetastet. Das funktioniert bei der Scan Engine nicht (s.o.). Da müsstest du noch die Intervallzeit auf 1ms oder größer ändern.
In dem korrigierten VI habe ich mit 0,5ms abgetastet. Das funktioniert bei der Scan Engine nicht (s.o.). Da müsstest du noch die Intervallzeit auf 1ms oder größer ändern.
MichaDu
01.09.2009, 14:27
Habe dir das geänderte VI angehängt. Kannst du ja mal ausprobieren.
01.09.2009, 15:21
sorry michadu. irgendwie gehts nicht.
ich habe vom prof einen anderen ansatz bekommen. der wirkt auf jeden fall simpel. er meinte ich solle doch einfach mit einem schieberegister dein input auf >0 oder <0 vergleichen mit einem UND. anschliessend mit einem Zeitstempel die Zeit messen.
Was denkst du?
ich habe vom prof einen anderen ansatz bekommen. der wirkt auf jeden fall simpel. er meinte ich solle doch einfach mit einem schieberegister dein input auf >0 oder <0 vergleichen mit einem UND. anschliessend mit einem Zeitstempel die Zeit messen.
Was denkst du?
MichaDu
01.09.2009, 18:59
Was ist denn das? Du hast hier einen Trigger für Nulldurchgang (minus->plus) gebaut! Und dann überträgst du den logischen Ausgang (true/false) zu deinem Host.VI? Wo sind deine Daten und die FFT geblieben?? Verstehe ich nicht...
Was dein Prof vielleicht meint, ist dass du die Messdatenerfassung bei Nulldurchgang starten sollst. Dann kannst du dein UND-Signal in dafür verwenden: bei Start Messwerte in das Array schreiben, wenn voll dann FFT, anschließend Array leeren und wieder warten, bis die UND-Startbedingung erfüllt ist, usw.
Dabei kannst du ja Datenfenster verwenden, wenn du Messwerte über mehrere Perioden sammelst.
Sofern du nur die Drehzahl deines Motors messen willst, würde ich auch mal über einen anderen Sensor nachdenken, der Impulse erzeugt, die du mit einem Zähler (DI) einfacher bestimmen kannst.
Was dein Prof vielleicht meint, ist dass du die Messdatenerfassung bei Nulldurchgang starten sollst. Dann kannst du dein UND-Signal in dafür verwenden: bei Start Messwerte in das Array schreiben, wenn voll dann FFT, anschließend Array leeren und wieder warten, bis die UND-Startbedingung erfüllt ist, usw.
Dabei kannst du ja Datenfenster verwenden, wenn du Messwerte über mehrere Perioden sammelst.
Sofern du nur die Drehzahl deines Motors messen willst, würde ich auch mal über einen anderen Sensor nachdenken, der Impulse erzeugt, die du mit einem Zähler (DI) einfacher bestimmen kannst.
01.09.2009, 20:32
Nein, sein gedanke war eher beim Nulldurchgang ein Signal zu erzeugen und dann einfach die Zeit zu messen wie lange es dauert bis der nächste Nulldurchgang kommt. Mit der Zeitdifferenz kann man dann die Frequenz berechnen. Er meinte das ich einen (zwei) Zeitstempel erzeugen soll. Die Differenz beider ergibt dann die Periodendauer.