ni.com is currently undergoing scheduled maintenance.

Some services may be unavailable at this time. Please contact us for help or try again later.

LabVIEW

cancel
Showing results for 
Search instead for 
Did you mean: 

Pulselength USB 6501

Hello,
 
I want to use one or more USB 6501 Boards to fire up some 10s of IGBTs. Each of these switches turns on ~10A for 1ms-3ms (each IGBT has a different turn-on length). Since the pulse pattern repeats after at least 40ms, i want to fire them step by step to minimize the stress for my main power line.
 
I managed to create a VI which does exactly what I want - with one exception: The digital waveform gets created from an array using "build waveform". But no matter what value I feed into "dt" to control the length of each digit/pulse, all I get is pulses of 1 ms for each logical "1".
 
From my point of view, "dt" tells the Channel how long it should stay "high" for each "1" it receives. Is this incorrect? I want to control the length of each pulse in steps of 0.1 ms - in other threads I read something about the need to use some kernel-functions to be able to use sub-millisecons resolutions. If this is correct, shouldn´t I be able to see a 2 ms pulse when setting "dt" to 0.002?
 
Thank you for every hint, Sascha
 
BTW: Labview 8.5 Evaluation / Labview 6.1 full
BTW2: In the attached file you will only find 8 digital waveforms for 24 digital ports... I don´t know how to save the full 24*20 binary array, therefore you will receive an error if you try to run this VI without correcting the number of physical ports to use.
 
 
Download All
0 Kudos
Message 1 of 3
(3,062 Views)
Hello Philosoph,


the USB-6501 is a static DIO device, which means it does not have an onboard clock to switch the digital ports with a certain frequency.
You can turn on and off the digital lines with software timing in LabVIEW. That is ok if the timing does not have to be very accurate - i.e. it does not matter if the pulse is 10 ms or 12 ms - and if the frequency is not too high.  A pulse length of 1 ms is borderline - most of the time, it will probably work, but when your PC does have to do other tasks, you might get a delay of up to  100 ms. In any case, you will have a jitter on the pulse length. For higher timing accuracy requirements, you would have to use a DIO device with correlated, which means clocked, outputs.

Having said that, I would recommend a different approach for the signal generation. I attached a VI that writes state information to the digital outputs; you can modify the digital pattern in the array, and set the desired pulse length. As the first iteration of "Wait for next ms multiple" does not have a determined duration, I would leave the first line all zeros and start signal generation with the second line. If needed, you can wrap the for-loop in another loop to repeat the pattern.

Regards,
Johannes

NI Germany
0 Kudos
Message 2 of 3
(3,034 Views)

Hello Phisoloph Sacah,

 

I want to do the same, can I ask you some questions?

 

Andy

0 Kudos
Message 3 of 3
(2,824 Views)