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 

PWM-Signal über Dig.Output



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!

10.08.2007, 10:07 (Dieser Beitrag wurde zuletzt bearbeitet: 10.08.2007 10:11 von cb.)
Beitrag #11

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
PWM-Signal über Dig.Output
' schrieb:Aber in dem "Operating instructions and specifications" pdf-File wird unter "Timing" ein "propagation delay" von max. 330ns und ein "channel-to-channel skew" von max. 265ns versprochen! wie kann dann ein fehler von 7µs entstehen?

Propagation delay: das ist die Zeit die vergeht zwischen "Wunsch" und "Realität", sprich ich setze den DIO in der Software und der Ausgang hat den gewünschten Zustand angenommen
channel-to-channel skes: Zeitversatz zwischen den einzelnen Kanälen beim gleichzeitigen setzen von mehreren Leitungen

beides hat rein gar nix mit der max. Sample-Rate zu tun ...

und mit den 7 µs hab ich mich auch verguckt: bei NI ist dieses Modul als 10 ms Modul (=100 Hz) gelistet ... 180 kHz wirst du damit niemals erreichen. Das Schnellste mir bekannte DIO Modul ist das 9401 mit einer max. Sample-Rate von 10 MHz. Wenn dein Code "klein" genug ist, dann kann der FPGA das auch tatsächlich ausgeben. Ich hatte es in einer etwas größeren Applikation immerhin noch geschafft eine Abtastrate von 6 MHz zu realisieren ...

' schrieb:Wegen dem dauernden schreiben der controls an das fpga war meine überlegung, dass ich eine zeitgesteuerte while-schleife von 10ms im host laufen lasse, sodass ich sicher gehen kann das der wert der controls nur alle 10ms abgefragt wird und dann übergeben wird, weil ich verhindern will das in undefinierten zeitabständen die controls an das fpga übergeben werden. so kann ich sicher sein, dass auch wenn sich innerhalb der 10ms der zustand der controls ändert - zB. nach 5ms - der wert erst nach ablaufen der 10ms übergeben wird.

HÄ?Bahn

Versuchs einfach mit "Events": Wenn sich dein Soll-Wert ändert, schreib den Wert zum FPGA, ansonsten lass ihn in RuheSmile

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.08.2007, 12:00 (Dieser Beitrag wurde zuletzt bearbeitet: 13.08.2007 12:01 von draluz02.)
Beitrag #12

draluz02 Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Aug 2007

8.2.1
-
kA


Oesterreich
PWM-Signal über Dig.Output
' schrieb:...und mit den 7 µs hab ich mich auch verguckt: bei NI ist dieses Modul als 10 ms Modul (=100 Hz) gelistet ... 180 kHz wirst du damit niemals erreichen. Das Schnellste mir bekannte DIO Modul ist das 9401 mit einer max. Sample-Rate von 10 MHz. Wenn dein Code "klein" genug ist, dann kann der FPGA das auch tatsächlich ausgeben. Ich hatte es in einer etwas größeren Applikation immerhin noch geschafft eine Abtastrate von 6 MHz zu realisieren ...

gut, hab auf NI.com nachgesehen, aber im vergleich zum 9401 steht beim 9403 nicht explizit wie schnell es genau ist! im link steht sogar ein ? vor der möglichen zeit: "32-Ch, 10 ?s, 5V/TTL, bidirectional" ... in den specifications steht ja leider auch nichts genauesSad...

' schrieb:Versuchs einfach mit "Events": Wenn sich dein Soll-Wert ändert, schreib den Wert zum FPGA, ansonsten lass ihn in Ruhe

hab noch keinerlei erfahrung mit "events" Huh! hättest du vl ein bsp. programm das sich im bezug auf events selbst erklärt?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.08.2007, 12:54
Beitrag #13

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
PWM-Signal über Dig.Output
' schrieb:gut, hab auf NI.com nachgesehen, aber im vergleich zum 9401 steht beim 9403 nicht explizit wie schnell es genau ist! im link steht sogar ein ? vor der möglichen zeit: "32-Ch, 10 ?s, 5V/TTL, bidirectional" ... in den specifications steht ja leider auch nichts genauesSad...

im Zweifel musst du NI anrufen. Nach deiner Angabe könnten das nun ms oder µs sein, aber beides ist für die 180 kHz zu langsam ...


' schrieb:hab noch keinerlei erfahrung mit "events" Huh! hättest du vl ein bsp. programm das sich im bezug auf events selbst erklärt?

uiui, selbsterklärend, ne, damit kann ich nicht dienen ...
aber wie ich schon geschrieben habe: wenn sich dein Wert ändern soll, aktualisiere das FPGA -Control, ansonsten lass das FPGA Control in Ruhe, es macht ja keinen Sinn dauernd den gleichen Wert auf das Control zu schreiben ...

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
13.08.2007, 14:06
Beitrag #14

draluz02 Offline
LVF-Grünschnabel
*


Beiträge: 27
Registriert seit: Aug 2007

8.2.1
-
kA


Oesterreich
PWM-Signal über Dig.Output
gut! danke für deine hilfeSmile!

mfG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.07.2010, 13:15
Beitrag #15

Marty102 Offline
LVF-Neueinsteiger


Beiträge: 1
Registriert seit: Jul 2010

9/10
-
de


Deutschland
PWM-Signal über Dig.Output
Hallo

@i2dx

Zum einen vielen Dank für dein Beispiel, zum anderen gleich eine FrageSmile

Ich habe Dein vi so genommen wie es aktuell ist einfach um ein pwm Signal zu erzeugen,
gleichzeitig hänge ich mit dem Oszilloskop am Dio meiner 9401.

Ich habe allerdings das Problem das Freuquenz/Tastverhältnis in der Form nicht funktionieren.

Stelle ich 250hz ein, sehe ich am Oszilloskop 400hz, und das Tastverhältnis ist bei 1khz laut Oszi (eingestellt im Control 100hz) ist korrekt,
fängt sich aber bei jeder anderen Frequenz zu verschieben an (aus 50% werden laut Oszi dann z.b. 30% usw..)

Hattest Du dieses Problem auch?

Das vi läuft bei mir direkt am FPGA und ich brauche eigentlich nur 0-500Hz, also mit der 9401 leicht zu bewältigen.

Danke für Deine Hilfe

Lg Marty
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
28.07.2010, 21:53
Beitrag #16

cb Offline
LVF-SeniorMod


Beiträge: 1.731
Registriert seit: Feb 2006

2018SP1
2001
EN

40xxx
Deutschland
PWM-Signal über Dig.Output
die Eingänge Tastverhältnis und Frequenz werden nicht in Hertz angegeben sondern sind ganz stumpf Größen-Angaben, die sich auf den Takt der Schleife beziehen. Das ist ein VI zum selber rechnenWink

Wenn du dir das letzte VI runtergeladen hast dann berechnet sich die "Frequenz" in 10 µs Schritten, das Tastverhältnis ebenso:

Beispiel:
Frequenz = 200 => eine Periode dauert 200 x 10 µs = 2 ms ==> f = 500 Hz
Tastverhältnis= 50 => 50 x 10 µs = 0,5 ms ist die Leitung TRUE ==> Tastverhältnis dieser PWM = 25%

http://www.rotabench.com - rotierende Prüfstände nach dem Baukasten-Prinzip
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
26.08.2010, 11:20
Beitrag #17

Andreas V. Offline
LVF-Neueinsteiger


Beiträge: 7
Registriert seit: Aug 2010

2009
2010
de

30459
Deutschland
PWM-Signal über Dig.Output
' schrieb:die Eingänge Tastverhältnis und Frequenz werden nicht in Hertz angegeben sondern sind ganz stumpf Größen-Angaben, die sich auf den Takt der Schleife beziehen. Das ist ein VI zum selber rechnenWink

Wenn du dir das letzte VI runtergeladen hast dann berechnet sich die "Frequenz" in 10 µs Schritten, das Tastverhältnis ebenso:

Beispiel:
Frequenz = 200 => eine Periode dauert 200 x 10 µs = 2 ms ==> f = 500 Hz
Tastverhältnis= 50 => 50 x 10 µs = 0,5 ms ist die Leitung TRUE ==> Tastverhältnis dieser PWM = 25%
Wie muss das VI dann sein, wenn die Angabe der Frequenz wirklich in Frequenz sein soll? (das Gleiche für Tastverhältnis)


Mein Gedankengang wäre folgender:
Bei einer Abtastzeit von 10µs und einer Frequenz von 1Hz muss die Schleife 100.000Mal durchlaufen. Bei 200 Hz wären es dann 500 Mal.
Deshalb teile ich die Zahl "100.000" durch die eingegebene Frequenz und erhalte somit die Anzahl der Durchläufe.
Danach multipliziere ich diese Anzahl mit dem eingegebenen Tastfrequenz (0-100) und teile durch 100. So habe ich die Anzahl der Durchläufe für den "High-Pegel".

Theoretisch richtig?
Praktisch irgendwie besser umsetzbar?

Lv09_img2

Sonstige .vi  pwm2.vi (Größe: 50,68 KB / Downloads: 402)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Gehe zu: