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!
Ich habe ein Problem, vielleicht seid ihr so nett und erfahren, dass ihr mir weiterhelfen könnt.
Also ich erfasse über einen DAQ (NI USB-6008) Impulse von einem Weggeber, der an einem Auto angebracht ist, der pro Radumdrehung einen Impuls abgibt.
Dieser liefert mir ein analoges Rechtecksignal mit einer Frequenz von ca 8,5Hz.
Ich muss auf einem Diagramm den Pegel bei einer bestimmten Frequenz über den Weg aufnehmen.
Wie ich die Pegelwerte bekomme weiß ich, ich habe nun jedoch das Problem, dass ich zwischen den Impulsen ca. 10 gleich verteilte Messwerte aufnehmen muss und ich bekomme die Aufnahme noch überhaupt nicht hin... nur über die Zeit funktioniert das schon recht gut. jedoch wi ich die Impule in das ganze einbinde weiß ich nicht. Vielleicht könnt ihr mir da ja helfen.
ich hab Dein Problem noch nicht verstanden.
Du sollst Impulse erfassen und Messwerte erfassen.
Zuerst erfolgt für eine gewisse Zeit die Erfassung von Impulsen und anschließend eine Erfassung von 10 Messwerten. Anschließend fängt das wieder von vorne an.
Erklär das bitte etwas genauer. Wie werden die Impulse erfaßt? (DIO, AI) Wie sollen die Messwerte erfaßt werden? (AI)
Die Impulse werden über den AI0 eingelesen, da es sich um ein analoges Rechtecksignal handelt und die Messwerte bekomme ich ja über eine GPIB-Schnittstelle. Nun habe ich das Problem, dass ich nicht weiß, wie Ich das ganze so in einen Graphen einbinden kann, das pro Impuls 10 Messwerte, gleichmäßig verteilt vor dem nächsten Impuls, aufgenommen werden.
wenn das Rechteck von nem Rad kommt, dann kann das ja auch mal schneller oder langsamer werden, oder? D.h. du hast nicht immer 1/8,5 Hz Zeit, um die Messwerte von der GPIB einzulesen, oder? Evtl. könnte man so viele Werte wie möglich in der Zeit bis zum nächsten Impuls aufnehmen und in nem Array puffern. Im nächsten Schritt teilst du dieses Array in 10 gleich lange Teilarrays auf und bildest jeweils darüber Mittelwerte. Diese stellst du dann über deine (variable) Zeit zwischen zwei aufeinanderfolgenden Impulsen dar. Damit wär die Anzeige allerdings nicht mehr in "Echtzeit", sondern um je einen Puls verzögert dargestellt.
Klingt interessant! Mal gespannt, was da rauskommt...
Gruss
Achim
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Jetzt steig ich langsam durch.
Du möchtest in einem Graphen zwei Plots darstellen. Der erste stellt das Rechtecksignal dar und der zweite soll aus 10 Messwerten bestehen, die über eine Phase des Rechecksignals verteilt sind.
Aus dem Stehgreif würde ich ein xy-Graph verwenden.
Da kannst Du dann die x-Werte für die 10 Messwerte nach der Frequenz berechnen und mit den zugehörigen Messwerten als zweiten Plot darstellen.
Hilft Dir das weiter ?
@Andreas:
Ne generelle Frage: Wie würdest du die Synchronisierung zwischen den beiden Signalen machen? Woher weiß ich denn, wann ich von der GPIB nen neuen Wert holen muss? Und geht das dann schnell genug, um den nächsten Wert auch noch zu erwischen? Was hälst du von meinem Vorschlag?
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
Du liest fortwährend Werte von deinem Messgerät ein, ob sinnvoll oder nicht. Sobald ein Impuls kommt schiebst du alle darauffolgenden Messwerte in ein Array (Buffer). Wenn der nächste Impuls kommt, schiebst du alle bis dahin gesammelten Werte in ein anderes Array, damit der Puffer wieder frei wird für den nächsten Durchlauf.
Das Ursprungsarray teilst du dann in 10 gleich große Teilarrays auf und bildest jeweils den Mittelwert. Dann hast du zehn Werte und die musst du dann gleichmäßig über deine Periodendauer verteilen. Dazu ist ne kleine Rechnung nötig...
Hm, vielleicht hat Andreas noch ne Idee ?!
A.
"Is there some mightier sage, of whom we have yet to learn?"
"Opportunity is missed by most people because it is dressed in overalls and looks like work." (Thomas Edison)
@Achim Hatte Dein Post von 11:02 leider nicht bemerkt, weil ich noch am Verfassen meiner Antwort war.
Ich sehe in der Synchronisierung auch ein Problem. Die Frage ist eigentlich wie synchron das ganze sein muß.
Hab keine Ahnung was aus den Daten später abgeleitet werden soll. Ich hab mir allerdings gedacht, wenn 10 Messwerte irgendwie über einen Rechteckimpuls verteilt werden, dann ist die Synchronität vielleicht nicht der Hauptaspekt.
Dein Vorschlag hört sich aber gut an. Ich denke das ist ein guter erster Ansatz und deckt sich zufällig auch mit meinen Vorstellungen.
@Bettina
Vielleicht kannst Du die Messung etwas ausführlicher erklären, bzw. was Du damit erreichen möchtest. Natürlich nur wenn das den Programmansatz weiter bringt.