Hallo zusammen,
Ich würde gerne von 2 Winkelsensoren die Winkelwerte auslesen.
Die Sensoren arbeiten mit dem SPC-Protokoll(erweiterung von SENT).
Die Dateninhalte der SENT-Nachricht werden über die Zeit, die zwischen zwei negativen Pulsflanken verstreicht, kodiert.
[
attachment=54458]
Das Signal lese ich über den Analogkanal ein, leider "wandert" das Signal und flackert, sodass die Messung immer nur zu einer bestimmten Zeit anfängt und dann wieder aufhört und die Messergebnisse hin und her schwanken.
Ich würde gerne die Signale kontinuierlich und parallel Auslesen.
Ich hoffe ich bin mit meinen Ansätzen richtig. Für jeden Tipp bin ich dankbar.
Freundliche Grüße Keywan
Ich arbeite mit der NI 6218
VI
[
attachment=54459]
SubVI
[
attachment=54460]
[
attachment=54457]
EDIT jg: Externe Bildlinks gelöscht.
Bitte in Zukunft die
LVF-Regeln beachten und auch Screenshots hier im Forum hochladen.
Danke, Jens
Hallo Keywan,
Zitat:Die Sensoren arbeiten mit dem SPC-Protokoll(erweiterung von SENT). Die Dateninhalte der SENT-Nachricht werden über die Zeit, die zwischen zwei negativen Pulsflanken verstreicht, kodiert.
Warum arbeitest du bei einem digitalen Signal mit Analogeingängen? Warum nicht mit Digitaleingängen, die mit genügend hoher Abtastrate eingelesen werden?
Danke Jens,
Dachte das mit den Screenshots wie ich das gemacht habe würde passen. Das nächste mal weis ich es besser.
Den Beitrag von mir hast du ja jetzt verbessert
Passt jetzt soweit alles?
Gruß
Keywan
Zitat:Warum arbeitest du bei einem digitalen Signal mit Analogeingängen? Warum nicht mit Digitaleingängen, die mit genügend hoher Abtastrate eingelesen werden?
Das Liegt daran, dass die "Box" die mir zu Verfügung steht nur mit BNC Anschlüssen an den analogen Kanälen versehen ist und ich an die andere Kanäle bzw Pins nicht rankomme.
Ich dachte ich könnte eine reine Software Lösung erstellen.
Wenn es wesentlich einfacher ist an mein Ziel zu kommen die Digitaleingänge zu benutzen. Dann werde ich wohl oder übel die Box aufmachen müssen und mir die Pins selbst rauslegen.
PS: ich habe nur die NI6218 Karte ohne das gehäuse von NI. Das Gehäuse ist von jemand anderem erstellt worden.
Da du eine USB-6218 hast, wirst du keine schnelle Erfassung per DIO hinbekommen. Diese Karte kann bei den DIOs nur Software-Takt.
Gruß, Jens
Ok, wie Jens schon sagte, erlaubt deine Hardware kein schnelles DI.
Du könntest aber trotzdem
- vor dem Eingang einen Schmitttrigger setzen, der dein Signal "stabilisiert" (Stichwort TTL 7414).
- deine gemessenen AI-Daten mit einem einfachen Vergleich zu einem Digitalsignal machen
Dann kannst du nämlich sehr einfach Flankenwechsel bestimmen und die Abstände dazwischen…
Danke GerdW,
das mit dem Schmitt-Trigger werde ich probieren und schauen was dabei rauskommt
Zitat:- vor dem Eingang einen Schmitttrigger setzen, der dein Signal "stabilisiert" (Stichwort TTL 7414).
- deine gemessenen AI-Daten mit einem einfachen Vergleich zu einem Digitalsignal machen
In wiefern würde das Signal "stabilisiert" sein? Ich habe ja ein verwendbares Signal, nur wandert es von rechts nach links laut dem Graphen und auch meiner Messung.
Ich würde am liebsten das Signal wie an einem Oszi triggern, dass das Signal "steht" und trotzdem wenn ich am Sensor drehe möchte ich die Winkelveränderung sofort sehen.
Ich hab mal 2 Screenshots gemacht mit ~10sec Zeitdifferenz
[
attachment=54471]
[
attachment=54472]
Hallo Keywan,
Zitat:In wiefern würde das Signal "stabilisiert" sein?
Der Schmitttrigger sorgt für steile(re) Flanken und damit eine vereinfachte Flankenerkennung in deiner Software.
Zitat:Ich habe ja ein verwendbares Signal, nur wandert es von rechts nach links laut dem Graphen und auch meiner Messung.
Weil du dein VI so programmiert hast: neue Messwerte werden im Plot dargestellt und "schieben" die älteren nach links aus dem Bild…
Zitat:Ich würde am liebsten das Signal wie an einem Oszi triggern, dass das Signal "steht"
Dann musst du die Anzeige so programmieren, dass du den gleichen Trigger wie dein Oszi erkennst und nur die darauf folgenden Daten graphisch darstellst…
Zitat:und trotzdem wenn ich am Sensor drehe möchte ich die Winkelveränderung sofort sehen.
Einerseits willst du erstmal einen Trigger suchen und trotzdem "sofort" die auf den Trigger folgenden Daten darstellen?
Also die Reihenfolge sollte eigentlich sein:
- Trigger im Signalverlauf suchen
- die auf den Trigger folgenden Daten suchen/auswerten
- dann das Ergebnis dieser Auswertung darstellen…
(03.11.2015 08:30 )Keywan schrieb: [ -> ]das mit dem Schmitt-Trigger werde ich probieren und schauen was dabei rauskommt
Ich würde kein externes IC verwenden. Nimm die Softwarelösung ("Schwellwertvergleicher"), die ist ganz einfach: Irgendwo hat du ja ein DAQmx-Lesen. Dessen Ausgangsdaten tust du vor jeder weiteren Verarbeitung bereits digitalisieren.