Measure high speed duty cycle in labview

Hello.
I'm trying to do semi-period measure for high frequency (up to around 200KHz).
i need to know an exact duty cycle and frequency of the signal.
all the examples i could find worked fine for low freq. (up to 50KHz) but dont match for high speed.
for now i'm using the M series 6259 and the new X series 6353 DAQ.
is there a solution for high speed measure?

Hi jackedi
Have you tried the examples in the Example Finder?  You can find the Example Finder at Help >> Find Examples.  When this opens, double click Hardware Input and Output >> DAQmx >>  Counter Measurements >> Meas Semi-Period.  This should measure your semi period.  On the 6353, the counters run at 100 MHz, so you should be able to get good resolution of a 200 kHz signal.
Regards,
Jim Schwartz

Similar Messages

  • Measuring the changing duty cycle of PWM waveform

    I need to measure the changing duty cycle of PWM waveform.
    conditions:
    1. the period is fixed.
    2. but the duty cycle is changing.
    goal:
    measure the every duty cycle of a period in the waveform.
    Can you please give me a help?
    Thank you in advance.
    the waveform image is attached.

    You need to provide more specific information.
    What is the period? What is the minimum, maximum, and resolution of the PWM signal? What is the time scale in your image?
    How are you measuring or generating the signal you show in the image?
    What should the output look like? An array of duty cycles expressed as percentage? Some kind of plot on a graph?
    How long will this measurement last?
    Lynn

  • How to decode duty cycle using LabVIEW?

    The duty cycles are output of an accelerometer, which are the input of the DAQcard-DIO-24, but how to decode the duty cycles after acquisition? I knew a timer would be useful, but have no idea about how to perform with labview.
    Thanks a lot.
    --yang
    Message Edited by YangLi on 02-23-2006 05:43 AM
    Message Edited by YangLi on 02-23-2006 05:48 AM

    This will still be a very difficult task without dedicated hardware, and the 1ms resolution will still be relative to other things outside your control. Timed Loops give the tasks they execute a high priority in terms of processor time, but Windows will always be able to preempt LabVIEW in favor of anything it pleases (anti-virus software, automatic updates, screen redraws, etc.). The Timed Loop gives you the ability to dynamically handle what you do in such a situation (discard loop iterations, abort, etc.), but this is not ideal.
    You would really be much better off, as Dennis said, with dedicated hardware. Most NI MIO or DIO boards come with a couple counters, which can measure high times and low times against a high-accuracy clock and calculate the duty cycle. The advantage here is that the hardware is doing all the work with real-time accuracy, so you don't have to worry about software-timing and Windows instability. In addition, the API for this in LabVIEW is much simpler.
    If you choose to try using timed loops, then you will have pair each digital acquistion with a timestamp and for a sort of digital waveform.
    Jarrod S.
    National Instruments

  • High accuracy duty cycle with DAQ-STC

    I am trying to measure the duty cycle of a 4 kHz TTL pulse train with high accuracy. I can do this over one cycle but actually need to average over a number of cycles because there is noise. This doesn't seem possible with the stanard VI's? Can anyone help?
    Thanks,
    Gavin

    Gavin,
    There is an example on our website that does buffered duty cycle measurement on DAQ-STC devices that should be helpful for you. From www.ni.com/support you can search under Option 3 through Example Code for +duty +cycle +stc to find it or follow this link: E Series Duty Cycle Example
    Regards,
    Molly K.
    National Instruments
    Applications Engineering
    Molly K.
    Web Support & Operations Manager
    National Instruments

  • NI 5105 - Measure PWM Waveform Duty Cycle

    Will the Positive Duty Cycle scalar measurement in the NI-SCOPE software calculate duty cycle correctly on a PWM (pulse-width modulated) waveform?  I have a 400Hz signal that is pulse-width modulated with a 40Hz signal that I need to measure the duty cycle for.  Since this is not a normal, continuous waveform (like a sine wave or square wave) I don't know if the NI-SCOPE software will correctly calculate the Duty Cycle.  Has anyone tried this with success?  I am looking at using the NI-5105 because it has 8 channels, but am open to using other hardware and just multiplex my signals to the digitizer.

    The positive duty cycle scalar measurement should correctly calculate duty cycle on your pulse.  By default, the measurement finds the base and top of your waveform using a histogram of the Y values (there will be peaks in the histogram at the base and top values).  Duty cycle is calculated from the 50% level crossings between these two values.  You must have at least one complete cycle and only the first cycle is measured.
    If that doesn't work for you, there are a plethora of parameters you can change (except for which pulse you measure - it is always the first).  For example, you can set the upper, lower, and level crossing values to specific % or voltage levels.  See the documentation and examples for details.
    If you need to measure the duty cycle of multiple pulses in the same pulse train, there is a LabVIEW function (Pulse Measurements.vi) which allows you to do this.  It uses the same algorithms as the internal NI-SCOPE routines.
    In either case, the measurement is independent of the hardware.  Any NI-SCOPE device will work.  If you have any other questions, let us know.
    This account is no longer active. Contact ShadesOfGray for current posts and information.

  • Duty Cycle measurement

    Hello all,
    I am attempting to Measure and output duty cycle to a device. I don't have the device in my possession so I have my hardware hooked up to each other. I have NI 9472 output card hooked to a NI 9423 input card. I have found these 2 examples of how to adjust duty cycle and how to read duty cycle. They work great, but the reading of the duty cycle is oppesite of the outputing of the duty cycle. For example if I set my output duty cycle to 60% the reading is 40%. If I set my duty cycle to 30% it reads that it is 70%. I looked thru the block diagram to see if the input was looking for the resting signal to be low or hi. Being a new user it might be right in front of me. Can some one take a peak at them and tell me anything? Thank you.
    Attachments:
    Modify Duty Cycle while running.vi ‏31 KB
    Meas%20Duty%20Cycle%20Cont%20LabVIEW%208.2[1].vi ‏31 KB

    Hey greentea2,
    You can try taking your waveform data and adding a replica of itself to the end of the data using the Append Waveform VI, so that you have multiple cycles of data to send into the Timing and Transition Measurements Express VI or the Transition Measurements VI for calculating the rise time.  I've attached a picture that shows a simple example of this using a sine wave.
    If your data does not complete a full cycle that comes back to a similar starting low point, then this example may not work for you or give you the right value.  If that is the case, then please respond with a picture of what your waveform looks like, so we can determine how to manipulate it.
    Hope this helps,
    Attachments:
    Append Replica Wave Form Data.png ‏28 KB

  • Generating square wave with variable duty cycle

    We like to generate a square wave with variable duty cycle using LabView 6.1 and SCB-68 and this duty cycle comes from some PID controller programmed by LabView by reading a voltage and feeding back this square wave

    the story begins with some one called separately excited DC motor
    this thing sometimes changes its speed
    so we are trying to keep a constant speed
    irrespective of the load no matter how it changes
    this comes by reading the voltage out from
    the tackometer which represents the speed as voltage
    then comparing this with a reference set by the labview program
    the labview program will send a control signal to some chopper circuit
    which is connected to the field of the motor which controls the speed
    we are tending to make the labview program as pid controller
    that will generate our beatiful square wave with some duty cycle
    which will vary to increase or decrease the voltage across the field
    we tried "Real-Time PID Control.vi" example and other examples
    and we are discussing different solutions for this duty cycle thing
    but till now no output
    this is our whole story with this DC motor thing

  • "create analog signal" programmatic control of parameter Duty Cycle

    I need to generate a square wave with a programmable duty cycle in LabView (not SignalExpress).  I can use "Create Analog Signal" for a fixed duty-cycle signal but I cannot figure out how to get at the Duty Cycle parameter to change it programmatically.  I was hoping for something like Property Node access but found that this only works for front panel objects.
    Is there a way to dynamically change the Duty Cycle parameter in the "Create Analog Signal"? 
    Solved!
    Go to Solution.

    The Square Waveform vi found in Signal Processing - Wfm Generation has an input at the top for offset.
    - tbob
    Inventor of the WORM Global

  • Problem to measure 0% and 100% duty cycle of a PWM.

    Hi,
    I am using counters of USB-6341 to measure duty cycle of PWM just by following the example 'Meas Duty Cycle-Buffered-Finite.vi'. It works almost all the time. However, when the duty cycle of a input pwm is 0 or 100%, the DAQ can't read anything, in another word, it can't measure 0 or 100% duty cycle.
    How to modify that?
    Thank you very much :-)
    Nan

    That's the thing about PWMs, you never really know if the PWM is 0% or 100%.
    Let's say we have a 50% duty cycle, at 1/2Hz.  So low for 1 second, high for one second right?  What if we run at 1/20Hz, so low for 10 seconds high for 10 seconds.  Or is this a 0% duty cycle for 10 seconds, and a 100% for 10 seconds?
    A true PWM read will never be 0% or 100% it will just keep waiting until the trigger is seen, and recalculate the frequency and duty cycle of it.  The solution to your problem is for you to define a duration to watch for a change, and if one isn't seen, then you can define 0% or 100% appropriatly.
    So I would recommend taking your duty cycle like you normally are, and then at the same time watch the digital signal for however long you want, if the digital line does not change state, then output 0% if it is low and 100% if it is high and ignore what ever duty cycle you read.  But if the digital line does change state, then use the read duty cycle as the actual value.
    Unofficial Forum Rules and Guidelines - Hooovahh - LabVIEW Overlord
    If 10 out of 10 experts in any field say something is bad, you should probably take their opinion seriously.

  • LabVIEW 8.5 high-speed camera

    Hi,
    I'd like to take many
    high-speed images with a camera, and save them to a disk, or my computer's hard drive. I congfigure the camera (it is a Pulnix TM-6740cl camera) with the Measurement and Automation Explorer (MAX.) I take the pictures with LabVIEW. I've found an example program in LabVIEW that is close to what I want; it was written by two members of this forum, N_Holmes and reut. The only differences between that program, and
    the program that I'd like to run is that I need to be able to change
    the shutter speed of the camera (although I believe that I can do this
    with MAX), I'd like to be able to change the target
    directory (for some reason, if I change the directory with the reut
    program, the camera only takes 1 "frame" and stops), and I'd like to be
    able to save a file for each frame taken by the camera (I can only get
    the reut program to save 1 file.) I have LabVIEW version 8.5. If you
    could help me out in any way, then that would be greatly appreciated. Thanks!
    Attachments:
    grab images and Save to FileReut-11.vi ‏67 KB

    Hi Bolin,
    I'm using an NI PCI 1426 with NI-IMAQ, 18MB. Thanks for your previous help. I've actually worked on the program, and I got the camera to take multiple pictures. I also incorporated a part in the program that decodes the raw bayer image that this camera outputs.
    I do have some other questions, though. First of all, I'm not entirely sure what you mean by "trigger." I use the computer to take the pictures; MAX configures the camera, and LabVIEW sends the signals to the camera to take the pictures, and then saves them on the computer. Also, I know this is probably a bad question, but I'm not 100% sure where in MAX I can look to find out what framerate I'm acquiring at. I'd like to acquire pictures at the camera's maximum framerate, which I believe is somewhere over 1000fps. I tried many different methods in order to capture at the maximum framerate, and the best option seemed to be at the settings: manual shutter, shutter setting 0, 4X4 binning. However, my pictures were of extremely poor quality, and they were very dark.
    Also, where can I go in MAX to change the shutter speed? I've tried changing the shutter control setting and the shutter setting number; I just want to verify that this is correct.
    Thanks again for your help! Once I can figure out how to make these pictures take at maximum speed, and at the best quality, then I can finally start on my project!

  • Measuring PWM duty cycle with Analog Input

    Hello folks,
    I have a NI 9205 module and was wondering if there was a way to measure the duty cycle of a PWM signal that I am generating with a separate microcontroller?  I have found a lot of examples with Digital inputs but not analog.. Is this possible?
    Thank you,
    Bob

    Hi Robert,
    I'm not sure what that error is, try searching for it.
    If you want to measure a PWM signal you would usually use a counter input.  A counter is a dedicated piece of hardware that is used to measure digital signals.  Since the NI 9205 is an analogue device and it doesn't have any counters onboard, you will not be able to select counter input.
    I would recommend you get the right tools for the job and buy a digital acquisition device with an onboard counter.  It will make reading PWM much easier for you.  The NI 6008 has a counter onboard and is only £99.  It will also offload processing from software to hardware since you don't have to calculate duty cycle.
    If you still want to use analogue post back and we can look into why its not working for you.  Tips to start you off: Voltage is the correct setting and  Look in the manual and make sure you have connected it like you have configured it (differential, RSE, NRSE page 14)
    Lewis Gear CLD
    Check out my LabVIEW UAV

  • How the duty cycle is calculated by Timing and Measurement.vi

    I am using the Timing and Measurement express vi(LabView8.0 is used) to measure the Duty cycle and frequency. I want to know how the same is calculated by the Timing and Measurement express vi. Please reply.

     The Timing and Measurement Express VI uses \vi.lib\measure\mascope.llb\Pulse Measurements N chan.vi to do the Duty Cycle and Frequency measurements. 
    Help says the following about this VI:
    Accepts a periodic waveform or an
    array of periodic waveforms and returns the period,
    pulse duration (pulse width), duty cycle (duty
    factor), and pulse center of a selected pulse and period.
    Refer to the Pulse and Transition Measurements VI in the labview\examples\measure\maxmpl.llb for an example of
    using the Pulse Measurements VI.Maybe NI can explain the algorithm.
    Hope that this helps,
    Bob Young
    Bob Young - Test Engineer - Lapsed Certified LabVIEW Developer
    DISTek Integration, Inc. - NI Alliance Member
    mailto:[email protected]

  • How can I measure a 0% or 100% duty cycle signal ?

    I want to measure the duty cycle of an input signal using a counter of a 6030-E board.
    I work with a PXI Rack under Labwindows/CVI.
    My program already works properly for duty cycle between 1% and 99%, but it is not able to detect 0% duty cycle (ie : signal to ground), nor 100% duty cycle (ie : signal to power supply).
    The problem is I don't understand how the counter works in such a situation (it cannot detect any edge, as long as the signal is continuous 0V or continuous 12V).
    Please have a look on the following code :
    1- First, the counter is configured
    // Reset Compteur
    i_Status = GPCTR_Control(iDevice, iCptID, ND_RESET);
    //Definition du type de mesure du compteur (mesure temps impulsion)
    i_Status = GPCTR_Set_Application (iDevice, iCptID, ND_SIMPLE_PULSE_WIDTH_MSR);
    //Definition de la vitesse d'echantillonage (20 Mhz)
    i_Status = GPCTR_Change_Parameter(iDevice, iCptID, ND_SOURCE, ND_INTERNAL_20_MHZ);
    //Definition du signal a mesurer (defaut)
    i_Status = GPCTR_Change_Parameter (iDevice, iCptID, ND_GATE, ND_DEFAULT_PFI_LINE);
    // initialisation du compteur
    i_Status = GPCTR_Change_Parameter(iDevice, iCptID, ND_INITIAL_COUNT, 0);
    // Preparation du compteur avant de l'armer
    i_Status = GPCTR_Control (iDevice, iCptID, ND_PREPARE);
    2- Then, every 10 ms, the value of the counter is read, so that I can calculate the duty cycle...
    i_Status = GPCTR_Watch(iDevice, iCptID, ND_COUNT, ul_val_cpt);
    3- ...and the counter is armed again for the next reading
    i_Status = GPCTR_Control(iDevice, iCptID, ND_ARM);
    When duty cycle changes from x% to 0% or 100%, the counter always keep the value corresponding to x%.
    Even if I reset the counter between each measurement, it keeps this value ! I don't understand how it is possible.
    How can I know that the counter didn't see any edge, and so that duty cycle is 0% or 100% ?
    Thank you in advance for your help !
    FraB

    Hi,
    Just have a look at this link, it can be interesting for you...
    http://forums.ni.com/ni/board/message?board.id=40&message.id=2161&requireLogin=False
    Regards
    DD

  • Using labview cosimulation, how to control PWM duty cycle in multisim

    I am new to using Multisim with LabVIEW using cosimulation. I want to ask if there is a PWM component in Multisim that can have its duty cycle be controlled using LabVIEW? I have an algorithm in LabVIEW that outputs duty cycle values from 0 to 1, representing duty cycle percentages.
    How do I control the PWM duty cycle in Multisim using LabVIEW cosimulation?
    Many thanks,
    SPECTRE
    Solved!
    Go to Solution.

    Hi Spectre,
    In Multisim, search for the parts base on functionality, there are some PWM models in the database.  Have a look at this knowledge base  if you don't know how to search for parts:
    http://digital.ni.com/public.nsf/allkb/7309A5CABC677296862577ED006EC99E
    Aslo, have a look at this knowledgebase:
    http://digital.ni.com/public.nsf/allkb/EF391C48CF71AE4F862571B900644F84
    This article shows how you can get Mutlisim and LabVIEW to co-simiualte:
    http://www.ni.com/white-paper/13663/en
    I hope this helps
    Tien P.
    National Instruments

  • I need to count intermitte​nt high speed pulses from an outside source with cFP-CTR-50​2 and labview.

    I need to count intermittent high speed pulses from an outside source with cFP-CTR-502 and Labview 8.2 . I've found example code for generating pulses and creating intricate count setups but no straightforward examples of a simple counter. Any suggestions?

    Hello tinfish,
    I could not find a simple example that implements simple counting either, but it should be straightforward enough for us to try. Do you have the CTR module configured properly in MAX? If so, can you monitor the channels on your CTR 502 for input? Try connecting a square wave or some other digital pulse to the terminal to test the functionality of the counter module first (before programming). If you monitor the input channels with somethign connected you should see the count increment each time it sees a rising edge (assuming default configuration).
    Once you've verified that everything works in MAX, you can set up your CTR module in a LV 8.2 project. If you need help with this, refer to the help document (look in the "Configuring FieldPoint in LabVIEW" section):
    C:\Program Files\National Instruments\FieldPoint\documentation\Online Help\fplv.chm
    You should be able to just read a channel tag from your CTR 502 using an FP Read VI. (Simply drag the channel from your project onto the block diagram). Since counting is the default behavior of the 502, there is no special programming involved to make it work.
    I hope this helps -- if it's too high-level we can talk details about specific questions you have.  Have a good one!
    Charlie S.
    Visit ni.com/gettingstarted for step-by-step help in setting up your system

Maybe you are looking for

  • Windows 8/8.1: Printer Offline Problems

    Windows 8/8.1: Printer Offline Problems Are you getting an error that your network or wireless printer is offline when you try to print? When you print to your network printer, does it fail, and when you check the printer status it says Offline? Do y

  • How to call rule in program

    Hi I have created rule and attached to user decision and its working fine but i need to use the same rule elsewhere,  just to get the list of agent since i dont have user dialog task here, i need some way in which i can call this rule is there any st

  • Time Capsule connection failure

    My Airport Time Capsule has a "Connection failure" message in my finder. The actual device flahes orange, it has been doing this for a while but it hasn't been a problem until now. I've always been able to connect through it to WiFi and backup wirele

  • Time Stamp Delta field for Generic Data Source

    Hi Experts, I have a requirement to create a Generic Data Source based on view. This view on PA0006 and PA0105 tables. Will you please suggest me which field i have to take as delta field. Thanks In Advance.

  • Gray Screens

    How many gray screens are too many gray screens? Today I exprienced my 4rd gray screen. Now that I now how to resolve it (PRAM reset)- I have but how many times does it take to be a concern? What is the cause of this?