LabVIEWForum.de
Blinksequenzen einer LED durch Parameter verändern - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Blinksequenzen einer LED durch Parameter verändern (/Thread-Blinksequenzen-einer-LED-durch-Parameter-veraendern)

Seiten: 1 2


Blinksequenzen einer LED durch Parameter verändern - pwgt90 - 09.03.2012 15:11

Hallo zusammen!

Meine Aufgabe: eine LED wird durch Counter-Output per Pulsweitenmodulation zum Blinken gebracht, wobei ich Frequenz, Tastverhältnis usw. direkt über das VI ändern kann...

Das Ausgangssignal meiner NI USB-6211 geht an eine OPV-Schaltung (Spannungsgesteuerte Stromquelle), mit der ich durch ein Potentiometer die Amplitude (Helligkeit) der LED regeln kann.

Mit einer Photodiode werden die erzeugten Impulse aufgenommen, aber das gehört jetzt nicht hierzu.

Nun zu meinem Problem: die Erzeugung der Lichtimpulse klappt wunderbar, aber eben nur kontinuierlich. Für meine Zwecke benötige ich aber eine andere Reizfolge. Ich habe hierzu ein kleines Bild angefügt. Ich möchte beispielsweise für eine Dauer von 0,1...1ms Lichimpulse mit maximal 400Hz erzeugen, wobei diese Dauer vorher eingestellt werden kann. Für den Rest einer Periode (z.B. 1s, 100ms, 10ms, 1ms) - ebenfalls durch Eingabe oder Auswahlvorgabe - erscheinen keine Lichtimpulse. Die gesamte Dauer soll bis zu 60 Sekunden sein (auch vorher durch Eingabe wählbar).

Wie kann ich das in meinem VI realisieren?

Falls etwas unklar sein sollte hoffe ich dass das Bild Klarheit bringt.

MfG pwgt90


RE: Blinksequenzen einer LED durch Parameter verändern - chrigi28 - 09.03.2012 16:24

Ich hoffe ich habs richtig verstanden. Habe dir mal ein Denkanstoss zusammengestellt, das heisst nicht das es so komplett oder korrekt ist.
[attachment=39029]

LG Chrigi


RE: Blinksequenzen einer LED durch Parameter verändern - jg - 09.03.2012 16:38

Stimmen deine Zeitangaben, die du machst?

Für 0,1 -1 Millisekunde lang Pulse mit einer Frequenz von 400 Hz, d.h. ein "Takt" ist schon 2,5 ms lang! Das beißt sich irgendwie...

Gruß, Jens


RE: Blinksequenzen einer LED durch Parameter verändern - pwgt90 - 09.03.2012 19:21

Hallo Jens,

oha - von der Seite hab ich das noch gar nicht betrachtet vor lauter Programmieren...

Werde mir aber mal Gedanken machen wie ich meine Aufgabe anders umsetzen kann Construction und mich bei Bedarf hier melden...

Vielen Dank aber erstmal für den Hinweis... Blush

Gruß pwgt90


RE: Blinksequenzen einer LED durch Parameter verändern - pwgt90 - 12.03.2012 11:34

(09.03.2012 16:38 )jg schrieb:  Stimmen deine Zeitangaben, die du machst?

Für 0,1 -1 Millisekunde lang Pulse mit einer Frequenz von 400 Hz, d.h. ein "Takt" ist schon 2,5 ms lang! Das beißt sich irgendwie...

Gruß, Jens

Hallo!

Erstmal an Jens Vielen Dank für den Hinweis...

Hab mir am WE nochmals Gedanken gemacht und würde das ganze jetzt so aufbauen:

- Wahl der Periodendauer mit vorgegebenen Auswahlmöglichkeiten (1s, 100ms, 10ms, 1ms)

- Je nach gewählter Periodendauer stehen dann auch nur bestimmte Impulsdauern zur Verfügung

- als letztes wählt man die gewünschte Impulsfrequenz (auch hier stehen nur bestimmte zur Verfügung)

Habe ein kleines Bild angefügt und nochmals mein VI und das zugehörige Bild, das hoffentlich mein Aufgabe erläutert...

Es würde mir schon sehr helfen wenn mir jemand Tipps geben kann, wie ich meine Impulsfolge nach meinen Anforderungen aufbauen kann.

Wie Jens schon erwähnte muss ich ja bei der Wahl meiner Impulsdauer immer meine Frequenz mit berücksichtigen, deshalb stelle ich mir am Ende das so vor, dass der Benutzer per Drop-Down im ersten Schritt eine Periodendauer-Einstellung wählt und im nächsten Schritt dann auch nur die Impulsdauern zur Auswahl angeboten bekommt, die ich vorher festlege, ebenso bei der Impulsfrequenz.

Die eingestellten Werte sollten dann die Parameter für meine Impulsfolge sein und für die Pulsweitenmodulation angenommen werden...

Ich hoffe dass ist verständlich so!
Blush
mfg pwgt90

P.S.: Bitte das etwas durcheinander aussehende Frontpanel vernachlässigen - ich möchte mein Frontpanel erst am Ende bearbeiten


RE: Blinksequenzen einer LED durch Parameter verändern - pwgt90 - 15.03.2012 21:18

Hallo!

Keiner einen Ansatz?

Mir würde schon reichen wenn jemand nen Tipp hat wie ich meine Signalform im VI einbinden kann...

Mfg pwgt90Blush


RE: Blinksequenzen einer LED durch Parameter verändern - M Nussbaumer - 16.03.2012 07:51

(15.03.2012 21:18 )pwgt90 schrieb:  Hallo!

Keiner einen Ansatz?

Mir würde schon reichen wenn jemand nen Tipp hat wie ich meine Signalform im VI einbinden kann...

Mfg pwgt90Blush

Könntest du das VI auf LabVIEW 2009 oder tiefer speichern? Würde mir das VI gerne mal ansehen, meine Version ist jedoch zu alt dafür.

Gruss


RE: Blinksequenzen einer LED durch Parameter verändern - pwgt90 - 16.03.2012 10:51

Hallo M Nussbauer!

Hab da VI in LabVIEW 8.6 angefügt..

Hoffe das reicht Blush


RE: Blinksequenzen einer LED durch Parameter verändern - pwgt90 - 18.03.2012 12:08

Hallo!

Habe jetzt mal versucht den einen Vorschlag umzusetzen...

Habe eine flache Sequenzstruktur verwendet, zuerst lass ich meine LED blinken, für den Rest der Differenz mache ich gar nichts.

Bin mir aber nicht ganz sicher ob das so klappt - kann leider auch nicht ausprobieren da ich die Hardware nicht dabei habe.

Deshalb meine Frage: kann ich mit den verwendete Express-VIs auch Zeiten von 0,1ms einstellen?

Mit t gesamt stelle ich meine "Periodendauer ein", mit t ein die Zeit wo meine LED mit der von mir gewählten Frequenz, Tastverhältnis blinkt, t aus ist dann die Zeit in der gar nichts passiert.

Wie stelle ich jetzt noch eine Gesamtzeit ein, mit der ich festlege wie lange / wieviele Perioden ich nacheinander abfolgen lassen kann?

MfG pwgt90


RE: Blinksequenzen einer LED durch Parameter verändern - GerdW - 18.03.2012 19:02

Hallo pwgt,

Zitat:Wie stelle ich jetzt noch eine Gesamtzeit ein, mit der ich festlege wie lange / wieviele Perioden ich nacheinander abfolgen lassen kann?
In dem du eine große Schleife um deine Sequenz machst, und dort einen dritten Timer abfragst: "ist die Gesamtzeit abgelaufen?"...

- Überlege mal, ob die im zweiten Frame wirklich eine ungebremst laufende Schleife brauchst - oder ob hier nicht ein einfache "Wait [ms]"-Aufruf ausreicht! Bei geschickterer Verdrahtung könnte man auch auf die Sequenzstruktur verzichten...

- Läuft dein erster Frame überhaupt richtig? Wie stellst du sicher, dass die innere While-Schleife auch wirklich nach " t ein" abbricht? Muss man da immer manuell einen Stopp-Button drücken? Wozu der ständige Test, ob vor der Schleife ein Fehler aufgetreten ist?