Burst output at maximum duty cycle

Hi,
       I have been working on a C program that was used in a welding machine. Now, I would like to change a part of code to make the burst output at full duty cycle and user maximum time. I just want to test any method in labVIEW before implementing it in C. I am quiet good in understanding labVIEW code and therefore using it to figure it out somehow.
      The details of the machine are 400Hz, 2-4 KAmps and the AC mains are at 50Hz. What exactly I want is to produce a burst current according to the user input current and mind it that duty cycle is always at maximum. So, I don't care about duty cycle settings. I have no idea to find a way. Can any one have suggestions for me?
Help me.

I have done some search around and come to a conclusion. I would like to give three settings to user and those are current, set time and duty cycle. The duty cycle should not be changed ever and it should be at maximum i.e.. 50% all the time of a periodic pulse train. User can change the current value and set time according to his interest but duty cycle not. If the set time is passed and the rest of duty cycle should blanked automatically in order to stop the current and it should follow the same rhythm for every set time and current value. The frequency is 400Hz and AC mains are at 50Hz.
Can any have some suggestions to me?    

Similar Messages

  • I am working with the NI PCI-5411 AWG in arbitrary mode. How change the duty cycle of the square wave output located at the Sync connector by software?

    We use Labview 7.0 and NI fgen 2.1 in order to drive the pci card.Can you send me a VI example?

    Hi LtDel,
    To achieve this you will need to insert an niFgen property node from the niFgen functions palette into your code flow somewhere in amongst the configuration vi steps. Wire up the reference and error inputs and outputs. Left click on the "property" and select >>output attributes>>sync duty cycle high. Right click and set to "write" then wire in a control or constant defining the % duty cycle for the high phase.
    Hope this helps,
    Nick

  • 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

  • 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

  • Burst output

    Hello all,
    I am using a pci 6503 board with a Gecko g320 servo motor controller. I have control of the motor, except it is not precise enough. The attached vi is used for sending a signal to the controller, which moves the motor. I would like to be able to specify the number of square wave pulses, the duration of the pulse and the frequency in addition to what I have. So a signal that would be 2 seconds long, at 400 hz, with 200 cycles specified, should have 200 cycles, then 1.5 seconds of silence.
    I can already specify how many cycles I want by the number of samples, depending on the sampling frequency. Is there a simpler way, perhaps some vi I have missed that will output a specified number of periods at a given frequency, or is the method of controlling the number of samples the only way?
    Thank you and all the best,
    Alek 
    Solved!
    Go to Solution.
    Attachments:
    one channel waveform.vi ‏21 KB

    Hi Alek,
    Baji is correct in that changing the number of samples is the only way to perform your task using a PCI 6503. Please note that because the 6503 only supports software timing, your timing, especially your frequency, will be imprecise due to the non-determanistic nature of the 1kHz Windows system clock.
    However, if you want more precise control of your duty cycle, frequency, and length of your bursts, I highly reccomend using a counter/timer board like the PCI 6601 or the PCI 6602. With one of these boards, you will have the ability to set the duty cycle, frequency, and number of pulses when you configure a Pulse Generation counter output task. The pulses you generate from these counter boards will be much more precise than what you can get from a static DIO board, as the 6601 uses a 20 MHz timebase while the 6602 uses a 80MHz timebase to set up the pulse train.
    There are many examples on how to do this in the NI Example finder (which you can get to by clicking Help»Find Examples). There is a whole set of examples on how to set up a finite pulse train using counters in the Hardware Input & Output»DAQmx»Generating Digital Pulses folder.
    -Abram
    Message Edited by Abram R on 05-13-2009 04:08 PM

  • How to generate a pwm whose duty cycle has to be varied depending on the frequency of the input trigger??

    Sir/madam,
    I am quite new to the Labview FPGA module. 
    I am currently working on an application where i have to generate a pwm to control the ON time duration . The pwm ON time depends on the frequency of an input signal.I want to retrieve the ON time value from a lookup table which contain the duty cycle values for the pwm at different frequencies of the input.This input also has to work as a trigger. The input is pulsed and the trigger has to generate the pwm at every rising edge. I am using a PCI 7831R-  RIO series. I am urgently in need of some help and i have hardly a  couple of weeks before i meet the deadline.
    I am trying hard to learn the basics from the shipping examples but not able to quite make my vi work. 
    Kindly lend a helping hand and i would be very grateful to anybody who can help. Thanks a lot in advance.
    Do ask in case of any clarifications required. I  think i have explained my problem quite well. 

    Hello Manu,
    You can refer 
    Developing a PWM Interface using LabVIEW FPGA or PWM Output with LabVIEW FPGA
    How this helps.
    Best Regards, 
    Hardik Asawa
    AE
    National Instruments  
    Message Edited by Hardik Asawa on 05-05-2010 12:46 AM

  • Duty Cycle - Calculations

    Hello,
    I have spent the most of the day trying to figure out why my duty cycle calculations were not going any faster then .1 sec.
    I am aquire data from 13 accelerometers at a frequency of 20000 Hz. When I put this through the Express VI to calculate the duty cycle, the time step always goes to .1 sec.
    My question really is it possible to make this faster? The duty cycle of my accels are around 10ms.
    I tried to dive into the express vi's front panels, but that didn't seem to have any good answer.
    Thanks,
    Royce

    I think that you mis-understood what I was getting at. I get excellent readings in terms of the duty cycle output. The accels duty cycle ranges from around .25 -> .75 in my case. I even setup a nice little config block to get everything to around .5 to adujust easily to gravity readout for all 13. The problem that I am having is that the duty cycle conversion doesn't seem to read out all values of the input. The duty cycle will readout only 1 sample every .1 secs. That readout I believe should really be less then .01 secs depending on the resistor values that I have set up for my accels etc. What is even more interesting is that with the dynamic data readout, if I were to probe the data. Since I am reading at 20000 Hz, it is telling me that my dt should be .00005 secs. Which was fine for sampling of my input duty cycle wave, but afterwards that dt value should be scaled down to the actual frequncy. Now, if the program was written to take an average of duty cycles over .1 secs to fix the output period to a standard amount instead of having all sorts of strange step sizes since each reading (accel) generally has a different output frequncy the program forces that conversion to .1 sec period then fine or that is just takes a sample of 10, I guess I will have to deal. But, I did have the option to have a lot higher sampling rate for my accels, and if the .vi forces everything to .1 sec period for duty cycle output or if it takes an average of 10 readings and then rounds to the nearest sig digits this should be documented in the .vi for the duty cycle so that it is clear. If I am way off base and I shoudln't be getting a reading resulting from the duty cycle every .1 secs then I guess I am really lost. But, I do understand where the duty cycle readout comes from, that part is simple enough.
    Thanks!
    Royce

  • 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

  • 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.

  • How to convert a number to duty cycle (FPGA)

    Hi
    I want to convert a numerical number to a duty cycle value in FPGA module so I could use it to generate a PWM signal for the numerical value.
    I tried dividing it but it shows an error in FPGA as it would produce a float value. I tried even the example of scaled division but the quotient is rounded of to 0 (I wanted to convert an output by multiplying 10/36).
    In my project the 100% duty cycle is 360 degrees and 0% is 0 degrees of the motor shaft rotation.
    Please help me I need to use it for my project.
    Thank you
    Dinesh

      I am not exactly sure how your duty cycle is setup, but here is a way we have used a number to create a PWM in our FPGA.
         If you have 360 deg. then I would guess you want to create a PWM duty cycle that is some fraction of 360, say "number"/360.  You could use a for loop where 360 is wired to the "N" and then your "number" can be compared to the current loop count.  That comparison would be true/false which could triger a DIO to be high or low.  Therefor, if   (loop count) < "number"  then DIO is HIGH,  if (loop count) >= "number then DIO is LOW.   This would send out a PWM that has a duty cycle of "number"/360, (multiply by 100 to get in %)  
         I hope this helps.
     --Alex--

  • Generate and synchronize 6 digital channels with differents phases/frequencies/duty cycles/...

    Hello,
    For some kind of tests we need to generate, with a 6534 card, 6 signals.
    The 6534 has 32 digital E/S and can go up to 20MB/s !
    Each channel must be independant so that it can have it's own frequency and duty cycle. But for exemple the second channel can be delayed in reference at first channel. I put an image so that you can understand better what i try to do (3 signals are shown but six are needed).
    I see a lot of things on forum that are close to my probleme, but none seems to be as advanced as mine.
    http://sine.ni.com/devzone/cda/epd/p/id/4683 -> 6534 doesn't have timers
    http://forums.ni.com/ni/board/message?board.id=40&message.id=5167 -> Just a phase probleme
    http://forums.ni.com/ni/board/message?board.id=170&message.id=261289 -> Another board
    http://forums.ni.com/ni/board/message?board.id=40&message.id=5090 -> Another probleme
    I contacted NI support, they send me an exemple on "patterns" but it generates frequencies that are multiple of one with no phase consideration or duty cycle.
    Any idea ?
    Thanks in advance for your advice and help.
    Eric.
    Message Edité par Eric31 le 08-10-2007 06:52 AM
    Message Edité par Eric31 le 08-10-2007 06:55 AM
    Attachments:
    Sans titre.PNG ‏8 KB

    At best, that's gonna be a pain in the neck with that board.  If you need very precise timing for freqs, duty cycles and offsets, it gets worse.  If they need to change on-the-fly, it'll be near-impossible.
    1. You can only operate 1 hw-timed digital output task at a time.  So all 6 signals must be part of that 1 task.
    2. Thus, you need to define an output buffer representing the states of those 6 bits throughout your entire generation.
    3. There's a bunch of greatest common factor and least common multiple stuff needed to figure out the right output rate and buffer size, assuming you'll want to regenerate repetitively.  You first need the gcf of all the transition times to come up with the right output rate since all the transitions need to occur on some integer multiple of the output period.   You'll then need the lcm of the 6 signals' periods, combined with the output rate, to size up a buffer that can be regenerated.
    4. Forming the output data array may be quite complex.   Personally, I always do my stuff with raw arrays and I know that interleaving all those signals can be quite tricky, especially if there may be an occasional simultaneous transition.   However, I suppose there's a chance that some of the digital waveform functions *might* make this step a bit simpler.  I just haven't played around with that format much.
    Editorial opinion: Buy a 6602.  You can trigger 6 counters to start with different initial phasing, and will be able to change freq & duty cycle on-the-fly for each one independently.
    Editorial opinion #2: For higher channel count apps, I'd also recommend checking out the DIO-64 board put out by Viewpoint Systems, an NI Alliance partner.  It gives you much smarter hardware-timed DIO.  With the NI board, there can be huge amounts of redundant info in the DO buffer.  If you find that your GCF is 10 microsec, but the time between consecutive transitions is 10 millisec, you'll have to stuff 1000 identical values into your output buffer.   With Viewpoint's board, your data acq buffer *only* contains data at the transition times.  Timing is controlled by delivering a separate array defining the timestamps that correspond to those transitions.
    -Kevin P.

  • TO change the Duty Cycle(DAQmxSetCOPulseDutyCyc)

    I have an application that uses Pulse Width Modulation (PWM) to control the speed of a motor. Thus, it requires that I change the duty cycle of my square wave. My continuous pulse is being generated on the output of my counter. When I use the function "DAQmxSetCOPulseDutyCyc" to update the duty cycle when the task is run, the changes aren't reflected. What is the problem? thanks in advances!
    cinzia

    Masa-
    Kevin is correct. Unfortunately, there is little we can do to change this behavior in DAQmx. There are only two options:
    1) change which property updates the pulse train value, which would leave you with the same issue you are currently having if you have a situation where the frequency needs to change but not the duty cycle, or
    2) add a third property that would be a "switch" command. This option would add more work for users, as a third property would have to be called.
    One other thing you might trying using instead of the properties (assuming you are using DAQmx 7.2 or later) is the DAQmxWriteCtrFreqScalar() method. This write method added in DAQmx 7.2 allows you to update the frequency on-the-fly without having to use the properties.
    I
    hope this helps!
    gus....

  • Frequency and duty cycle measuremen​t

    Hi Friends,
    Its been very helping from the day 1 i started psoting my questions to this forum...
    Now again its time to seek ur help...
    My req is something like i  have a sound waveform (say a tone) saved as a .wav file.
    Say suppose 1.wav.................
    I need to evaluate this wave at a particular interval and should be able to calculate duty cycle, dB level, output frequency and peak to peak voltage similar to a CRO.
    I already tried with the below VI but its showing for the entire .wav, so need to do some modifications which attains my req, but i am not sure where to kick off....
    So anybody who have worked or developed similar VI in past ,please share your exp's
    Thanking you in advance.
    Cheers,
    Suneel.V
    Attachments:
    Duty_Cycle.JPG ‏91 KB

    Joe/Jeremey,
    I am facing some new issue with the VI,
    Frequency and Duty cycle are coming but the problem is something like the JPG attached.
    Its not frequent and only coming for a particular part of the waveform
    Is it waveform (.wav) dependent, if so let me know how to debug this.
    Attached the VI (modified), snapshot of error and also wavefile (.wav)
    P.S: error coming only when the yellow lines selected to the first quarter of the wave.
    Cheers,
    Suneel.V
    Attachments:
    delete_b.zip ‏12 KB
    Waveform_Extractor_With_Duty-Cycle_July11.vi ‏151 KB
    error_midlevel1.JPG ‏133 KB

  • 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

  • Duty cycle on SCXI Modules

    Hi All!
    I was wondering if anyone could tell me if there is an SCXI Module available that allows me to adjust multiple duty cycles. I need to control the duty cycles of multiple signals simulataneously and was hoping to find a module to do this with. It should be a module that fits to an SCXI housing because this is the system that I am currently using for the measurements. A single module containing multiple counters and counter outputs would be ideal.
    I am sure I am not the first to need something like this, so could someone please help me out and tell me how I can solve this?
    Thanks to everyone for the help!
    Regards
    Charel Marais

    Hi Wolfgang,
    Yes I was thinking of PWM for the duty cycle control. I have done this before using counters on the NI cards, but as you mentioned it is only possible to control 2 signals. I now need to do at least four, possibly more. The system I am using now is a 6036 PCMCIA card as acquisition connected to an SCXI 1000 with an 1102, 1126, 1163R and 1124. I have considered using another DAQ card to provide more counters, but this is a very untidy solution when you have two PCMCIA DAQ cards in one notebook each with a cable going into it. The connectors push very hard against eachother and in long term use, this will destroy the connectors on the cables, the cards and the notebook.
    I gather that there is no SCXI module available that provides counters as a normal "slide-in" module (like an 1102 for instance)...? Is there then some other effective way to connect two PCMCIA cards to one notebook?
    Thanks for the advice on the counter cards.
    Regards
    Charel

Maybe you are looking for