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 

Tastverhältnis Binärsignal



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!

22.11.2013, 13:30
Beitrag #1

isl83 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Nov 2013

11.0.1 (32bit)
2013
DE



Tastverhältnis Binärsignal
Hello World,

Daten:

- Verwendete Version: LV 11.0.1
- Verwendete Messkarte: Velleman K8055N
- Know-how: blutiger Anfänger

Vorhaben:

Ziel ist es, ein relativ genaues Thermometer zu realisieren. Hierfür möchte ich einen digitalen Temperatursensor (SMT 160-30) mit linearer Kennlinie verwenden, d.h. den Sensor über einen Transistor an einen digitalen Eingang der Messkarte klemmen und das entsprechende Signal mit LabVIEW weiterverarbeiten. Die Frequenz des Sensors liegt zwischen 1kHz und 4kHz, ist aber nur von der Versorgungsspannung abhängig und transportiert keine Temperaturinformation.
Der entsprechende Treiber (K8055D.dll) ist eingebunden und funktioniert. Das Signal des Sensors liegt somit in LV als boolescher Wert vor. Die Temperatur kann über das Tastverhältnis des Signals ermittelt werden, womit ich nun zum "Problem" komme.

Problem:

Das Tastverhältnis eines booleschen Signals bestimmen.

Gibt es eine einfache Möglichkeit, ein Tastverhältnis (true-Zeit/(true-Zeit+false-Zeit) zu bestimmen, ohne das ganze in ein analoges Signal umzuwandeln, bzw. jeweils die true-Zeit und false-Zeit zu messen? Dies kann im prinzip auf eine Sekunde erfolgen, welches dann auch das Aktualisierungintervall der Temperaturanzeige sein soll.

Lösungsansatz

Der Lösungsansatz befindet sich im Anhang. Leider funktioniert das ganze wohl nicht so einfach. Liegt es am fehlenden Bezugspotential? Wenn ja, wie sollte ich dieses definieren?

Oder bin ich absolut auf dem Holzweg?



Danke im Voraus für jegliche Hilfe.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
22.11.2013, 14:15 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2013 14:17 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Tastverhältnis Binärsignal
Hallo isl,

unterstützt die K8055 überhaupt so schnelle Signale?
- Kannst du mit dieser Karte Digitalsignale mit ~400kHz samplen? Dann kannst du dein 4kHz-Signal auf 1% genau auswerten...
- Kannst du mit dieser Karte spezielle Counterfunktionen verwenden, um den Dutycycle auszuwerten?
- Kannst du mit dieser Karte Analogsignale mit ~400kHz samplen, um wie beim Digitalinput dein 4kHz-Signal auf 1% genau auszuwerten?
- Kann die Karte mit Triggersignalen umgehen? Kann sie auf steigende und fallende Flanken reagieren (und jeweils einen Timestamp dazu ausgeben)?
Kurzum: Hast du dir schon mal Gedanken darüber gemacht, ob deine DAQ-Hardware überhaupt zum Sensor passt?

Ansonsten:
Bastel dir einen kleinen Tiefpass, der dein Duty-Signal in eine analoge Spannung umsetzt. Die kannst du dann relativ langsam samplen, was die K8055 definitiv kann.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2013, 14:50 (Dieser Beitrag wurde zuletzt bearbeitet: 22.11.2013 14:58 von isl83.)
Beitrag #3

isl83 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Nov 2013

11.0.1 (32bit)
2013
DE



RE: Tastverhältnis Binärsignal
Hallo GerdW,

danke für Deine schnelle Antwort. Da war bei mir wohl ein dicker Denkfehler drin, denn die Spezifikation ist wie folgt:

Zähler-Funktion bei Eingängen 1 und 2 mit anpassbarer Entprellung (max. 20KHz, hängt von der gesamten I/O-Belastung ab.)

Da hatte ich mich wohl irgendwie vom verbauten 4MHz-Quarz täuschen lassen.

Mein Ursprüngliches Vorhaben war auch die Verwendung eines NTC in Kombination mit einem Spannungsteiler auf dem Analogkanal. Leider ist auch das mit 8bit sehr ungenau, da ich effektiv über die Spannungsteilung nur ein DeltaV von ca. 1 V erreiche.

Um ehrlich zu sein weiß ich gerade nicht, welches der sinnvollste Ansatz zu realisierung meines Vorhabens ist. Da muss ich wohl nochmal ein Konzept entwickeln.

Für Vorschläge bin ich sehr dankbar. Blush
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
22.11.2013, 21:27
Beitrag #4

isl83 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Nov 2013

11.0.1 (32bit)
2013
DE



RE: Tastverhältnis Binärsignal
So, nochmal...

nachdem ich jetzt einiges verworfen habe, gibt es einen neuen Ansatz:

Ich werde mir eine elektronische Schaltung bauen welche ein Rechecksignal (Information in Periodenlänge, nicht mehr in Tastverhältnis) generiert und über einen Transitor einen digitalen Input kurzschließt. Diesmal bestimme ich die Frequenz durch die Schaltungsauslegung selbst!

Zwar habe ich einen Treiber für meine Messkarte, leider ist meines Wissens aber der Counter der Karte nicht in den Treiber implementiert - leider! Laut Spezifikation haben DI Kanal 1 und 2 eine interne Timerfunktion mit einstellbarem debounce. Dies ist auch in der Testsoftware ersichtlich.
Bilder und .dll im Anhang!

Ich muss nun also die Periodendauer des booleschen Signals messen. Wie stelle ich das am einfachsten an?
Nehme auch gerne ein fertiges vi Big Grin

PS: Oder sollte ich lieber das Signal über den analogen Eingang jagen? Wenns das programmieren erleichtert gerne, ansonsten würde ich schon gern den digitalen nutzen. Was ist sinnvoller?

Tips und Kritik bitte! Guru1

Danke im Voraus


Angehängte Datei(en) Thumbnail(s)
       

2.0 .dll  K8055D.dll (Größe: 337,5 KB / Downloads: 303)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2013, 09:01 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2013 09:05 von Lucki.)
Beitrag #5

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
RE: Tastverhältnis Binärsignal
Das Tastverhältnis direkt zu messen würde ich ganz schnell vergessen. Normalerweise wird man das Ausgangssignal mit einem RC-Glied (Zeitkonstante z.B. 1 sec) glätten (wurde von Gerd schon erwähnt). Da die Zustände das binären Ausgangssignals 0 und Versorgunsspannung sind, ist das Tastverhältnis dann gleich der geglättetem Ausgansspannung, geteilt durch die Versorgunsspannung. Wenn die Versorgungsspannung des Sensors hinreichend stabilisiert ist, läuft die Messung auf eine einfache Spannungsmessung hinaus - einfacher gehts wirklich nicht.
Allerdings hat deine antiquierte Katre nur einen 8 bit ADC. Die Auflösung im Temperaturbereich von -45°..+135° wäre nur wenig besser als 1° - wenn überhaupt. Wenn man die Karte unbedingt benutzen will und den vollen Temperatorbereich nicht braucht, kommt man um etwas Operationsverstäker-Schaltungstechnik nicht herum. Wenn man beispielsweise nur den Temperaturbereich 10°..35.5° braucht, könnte man mittels Offset und Gain diesen Bereich in den Focus des ADC-Bereiches schieben und hätte dann eine Auflösung von 0.1°.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2013, 09:08 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2013 09:13 von jg.)
Beitrag #6

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
RE: Tastverhältnis Binärsignal
So weit ich sehe kannst du mit deiner Karte:

- softwaregetaktete Einzelabfrage der DI/AI
- Zählen von Ereignissen (nur Zählen, ohne sonstige Auswertungen wie Frequenz oder Tastverhältnis)
- softwaregetaktetes Setzen der AO/DO

Somit folgt: Auch eine Periodenlänge kannst du nur mit der Genauigkeit des Computers über häufige Einzelwertabfrage des DI bestimmen. LabVIEW bietet dir eine minimale "verlässliche" Schleifenzeit von 1 ms, unter Windows kommt da aber gerne ein Jitter von 1-2 ms drauf. Also, auch die Periodendauer eines DI-Signals wirst voraussichtlich nur auf ca. 2-3 ms genau bestimmen können. Langt dir das?

Gruß, Jens

EDIT:
Aus den technischen Daten auf der Velleman Seite:
Zitat:allgemeine Konvertierungszeit: 2ms pro Befehl
Wenn das auch für die DI-Abfrage gilt, kommst du auf eine Genauigkeit von minimal 4-5 ms.

Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)

!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!

Einführende Links zu LabVIEW, s. GerdWs Signatur.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
23.11.2013, 10:13 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2013 10:28 von isl83.)
Beitrag #7

isl83 Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Nov 2013

11.0.1 (32bit)
2013
DE



RE: Tastverhältnis Binärsignal
Danke für die Mühe. Die Genauigkeit genügt mir, da ich eine wesentlich langsamere Frequenz auswerten will (Periodenlänge ca. 0,5s). Das wäre geklärt, jetzt das wie?

Messen der Periode von aufsteigender True-flanke bis zu dieser nächsten und Ausgabe der Zeit als numerischer Wert mit aktualisierungsintervall von 1s.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
23.11.2013, 10:25 (Dieser Beitrag wurde zuletzt bearbeitet: 23.11.2013 10:31 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.469
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Tastverhältnis Binärsignal
Hallo isl,

- DI im 5ms-Takt abfragen (so genau es eben geht...)
- EdgeDetection durchführen
- Zeitpunkt der Flanken in Schieberegister merken
- Zeit zwischen den Flanken berechnen

Zitat:Tips und Kritik bitte!
- Was soll man mit einer nackten DLL anfangen? Du hast weder .h-Daten noch eine Beschreibung beigefügt. (Abgesehen davon ist die Internetquelle bekannt...)
- Was soll man mit dem Bild des BD anfangen, wenn man fast ausschließlich die Terminals von Bedienelementen sieht (und nebenbei das Rube-Goldberg-Konstrukt des Umwandelns eines Arrays in einen Cluster, um an die Elemente zu kommen - als wenn es keine IndexArray-Funktion gäbe...)?
- Was soll man mit dem Bild des FP anfangen, wenn man weder das VI zur Verfügung hat noch die Hardware?
Wenn du hier Attachment anhängst, dann doch bitte sachdienliche... Big Grin

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


Gehe zu: