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
(2,802 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
(2,774 Views)

Hello Phisoloph Sacah,

 

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

 

Andy

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