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 

Erzeugen von 1khz PWM-Signal



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!

16.01.2018, 12:35
Beitrag #1

fightingeagle Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2018

2015
2017
DE



Erzeugen von 1khz PWM-Signal
Moin,

ich würde gerne mit Labview ein PWM-Signal erzeugen, welches 1khz hat.
Die Sache ist die, dass ich jedoch dieses Signal über einen Labjack U12 ausgeben muss, um ein Relais anzusteuern.

Ich hab aber leider kein passendes VI gefunden: Nur das Rechtecksignal VI kam da noch einigermaßen dran, das erzeugt aber wirklich ein Rechtecksignal und gibt
nicht einfach die erforderte Spannung raus.

Kurz zum Aufbau: Aus meinem PID-Glied kommt ein Prozentwert zwischen 0-100%, der im Endeffekt der Tastrate des PWM entsprechen müsste.
Das PWM-Signal müsste dann beim Labjack über den Analogausgang ausgegeben werden.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2018, 12:40 (Dieser Beitrag wurde zuletzt bearbeitet: 16.01.2018 12:40 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.419
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Erzeugen von 1khz PWM-Signal
Hallo eagle,

herzlich willkommen im Forum!

Was genau hast du ausprobiert?

Zitat:Aus meinem PID-Glied kommt ein Prozentwert zwischen 0-100%, der im Endeffekt der Tastrate des PWM entsprechen müsste.
Das PWM-Signal müsste dann beim Labjack über den Analogausgang ausgegeben werden.
- Unterstützt dein LabJack analoge Ausgabe mit 1kHz Samplerate?
- Du könntest dein Analogsignal mit den Funktionen aus der Signalverarbeitungspalette erzeugen, da gibt es auch eines zum Erzeugen eines Rechtecksignals mit wählbarem Tastverhältnis und Amplitude ("SquareWaveform")…

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2018, 16:02 (Dieser Beitrag wurde zuletzt bearbeitet: 16.01.2018 16:03 von fightingeagle.)
Beitrag #3

fightingeagle Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2018

2015
2017
DE



RE: Erzeugen von 1khz PWM-Signal
Das mit dem Labjack ist eine andere GEschichte, da bin ich mir auch nicht sicher ob der das überhaupt schafft. Müsste aber eig. sonst auch über den Digital-ausgang gehen, bei einem Beispiel-VI von denen kann man die Frequenz auf 1000hz stellen.

http://zone.ni.com/reference/de-XX/help/..._waveform/
Das hier hab ich probiert, ich erhalte aber nichts am Ausgang, zumindest zeigt dieser dann nichts an.
Der Fehler müsste daran liegen, dass er einen 2D Signal ausgibt, ich aber den Ausgang nur mit einem Wert ansteuern kann. (man schreibt einfach in eine lokale Variable, die dann der ausgang ist)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2018, 16:11 (Dieser Beitrag wurde zuletzt bearbeitet: 16.01.2018 16:14 von GerdW.)
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.419
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Erzeugen von 1khz PWM-Signal
Hallo eagle,

Zitat:Das hier hab ich probiert, ich erhalte aber nichts am Ausgang, zumindest zeigt dieser dann nichts an.
Genau diese Funktion meinte ich.
Wenn du "nichts" erhälst, dann hast du etwas falsch gemacht. Mangels eines VIs von dir kann man dir leider nicht sagen, was du genau falsch gemacht hast…

Zitat:Der Fehler müsste daran liegen, dass er einen 2D Signal ausgibt,
Die verlinkte Funktion gibt kein 2D-Array aus!
Du erhälst eine Waveform: Rtmfx

Zitat:ich aber den Ausgang nur mit einem Wert ansteuern kann. (man schreibt einfach in eine lokale Variable, die dann der ausgang ist)
Glas1
- Wenn du "nur einen Wert" ansteuern kannst, hast du irgendeinen Modus gewählt zur Einzelwertausgabe. Damit wirst du NIE ein PWM-Signal mit 1kHz-Takt ausgeben können…
- wenn du in eine "lokale Variable" schreibst, machst du schon wieder etwas verkehrt! Leider kann man wiederum mangels eines VIs von dir sagen, was du genau verkehrt machst…
Glas1

Zu deiner Hardware: auch hier hilft Rtmfx
Sowohl für AO als auch DO gilt:
Zitat:The functions AOUpdate and DigitalIO are used to set the direction, set the state, and/or read the state, of each D pin. In addition, DigitalIO also returns the current state of the direction and output registers. Both of these functions take up to 20 ms to execute, providing a maximum update rate of about 50 Hz per pin.
(Quelle)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2018, 16:43 (Dieser Beitrag wurde zuletzt bearbeitet: 16.01.2018 16:43 von fightingeagle.)
Beitrag #5

fightingeagle Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2018

2015
2017
DE



RE: Erzeugen von 1khz PWM-Signal
Ich hab dir eine einfache Nachbaut angehängt. In Scaled Data ist der Messwert, PID gibt am Ausgang zwischen 0-100% aus, AnalogOutPut ist der Analogausgang. Wenn man 5 reinschreibt werden 5V ausgegeben.


Genau die Waveform ergibt ja keinen Sinn? Er soll mir ja immer die 5V bei der Spitze in Abhängigkeit der Tastzeit ausgeben...

Habs Datasheet von gelesen und auch im Forum nachgefragt. Wenn das jetzt kein automatisierter Bot war ist in den Beispielen schon die Rede von mehr als 50Hz!:
https://labjack.com/forums/u12/1-khz-pwm-output


Angehängte Datei(en)
17.0 .vi  PWM.vi (Größe: 15,26 KB / Downloads: 225)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2018, 16:53
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.419
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Erzeugen von 1khz PWM-Signal
Hallo eagle,

Zitat:Genau die Waveform ergibt ja keinen Sinn? Er soll mir ja immer die 5V bei der Spitze in Abhängigkeit der Tastzeit ausgeben...
Definiere bitte "5V bei der Spitze in Abhängigkeit der Tastzeit"…
Du willst ein PWM-Signal ausgeben, d.h. du willst zwischen TRUE und FALSE in einem bestimmten Tastverhältnis umschalten. Das bedeutet:
- TRUE und FALSE benutzen zwei verschiedene Spannungspegel
- du benötigst einen zeitlichen Verlauf deines Signals - eben eine Waveform in LabVIEW
- deine Hardware muss diesen zeitlichen Verlauf (Waveform) auch ausgeben können

Zitat: ist in den Beispielen schon die Rede von mehr als 50Hz!
Erstens: es wird klar darauf hingewiesen, dass andere Devices deutlich besser geeignet sind als dein U12.
Zweitens: hast du diese verlinkte PulseOut-Funktion benutzt?

Zu deinem VI:
Warum ist "Scaled Data" ein Indicator, wenn es ein Control sein sollte?
Warum ist AnalogOut0 ein Control, wenn es ein Indicator sein sollte?
Hast du den CoercionDot bemerkt? Weißt du, was er bedeutet und bewirkt?

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.01.2018, 17:14
Beitrag #7

fightingeagle Offline
LVF-Neueinsteiger


Beiträge: 4
Registriert seit: Jan 2018

2015
2017
DE



RE: Erzeugen von 1khz PWM-Signal
Vllt. hab ich einen Denkfehler oder weiß nicht genau wie Hardware PWM erzeugt...
Ich hab bspw. gedacht an: Er schreibt mir 1 sek. lang 5 in den Output und danach 1s 0 in den Output, dann wieder 5 usw.
Nur dann im Anwendungsfall mit 1000hz und der Abtastrate aus dem PID-Ausgang.

Der Hinweis das andere besser sind bringt mir leider nix...
Ich muss das Zeug benutzen das ich gestellt bekomme.

Konnte die nur zu Hause bisher testen und da sieht man nicht viel da mir die .dll fehlen.
Kann aber sein dass das nur Simulations-VI sind die mir an den Ausgängen nix bringen.

Das VI hab ich eben zusammengeschustert und den Auschnitt in ein neues VI kopiert, da das ganze Programm deutlich größer und unübersichtlicher ist.
Kann sein das er mir da was durch das kopieren verändert hat. Sonst funktioniert das alles soweit. Die Variablen sind auch nicht von mir, sondern direkt vom Labjack vordefiniert.

CoercionDot wandelt den Formattyp. Hab den Begrif zu vergessen, aber er wandelt bspw. den INT-Typ in einen DBL-Typ um usw.
Ist mir tatsächlich nicht aufgefallen, eher das die Verdrahtung nach dem Case sich ändert...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.01.2018, 20:16
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.419
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Erzeugen von 1khz PWM-Signal
Hallo eagle,

Zitat:Ich hab bspw. gedacht an: Er schreibt mir 1 sek. lang 5 in den Output und danach 1s 0 in den Output, dann wieder 5 usw.
Nur dann im Anwendungsfall mit 1000hz und der Abtastrate aus dem PID-Ausgang.
Und wer soll die Taktung übernehmen?
In deinem VI ist jedenfalls keinerlei Taktung enthalten, weder 1s noch 1ms…
Und wo hat der "PID-Ausgang" eine Abtastrate?

Zitat:Die Variablen sind auch nicht von mir, sondern direkt vom Labjack vordefiniert.
Der "LabJack" wird keine Variablen definieren, sondern VIs (aka Funktionen), die man aufruft und denen man Parameter übergibt oder Werte abfragt…

Zitat:Ist mir tatsächlich nicht aufgefallen, eher das die Verdrahtung nach dem Case sich ändert...
Und die Konsequenz aus der Beobachtung? Ignorieren??? Wall

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


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Erfasstes Signal mit simulierten Signal vergleichen funktioniert nicht wegen Datenty Felifa 14 8.999 21.04.2017 07:46
Letzter Beitrag: Felifa
  feststehendes Signal erzeugen urbacher 1 2.751 16.08.2013 16:23
Letzter Beitrag: Trinitatis

Gehe zu: