Solenoid Duty Cycle Time

Hello. I can not reduce duty cycle on my Solenoid less than 0.1. Actually I use the NI USB6008 by Analog Putout. I gave the Square Wave to generate the Splendid. In my case, the frequency was 0.1 Hz. Actually I want the Solenoid can give impact as fast as possible and not more than 0.1 (s) for ON TIME equivalent to 0.01 Duty Cycle In my case. 
Anyone can tell me how?

I already chosen sampling Rate 150 (Hz) timing by driver.
I use Display 10, NIDAQmx with Measurement & Automation Explorer version 4.50f0.
I connect the NIUSB-6008 analog output to a relay circuit to generate the solenoid at 12 volt that is supplied by DC power.
I defined output task as analog output with Generation Mode: 1 sample (on demand).
Today, I just get that the NIUSB-6008 doesn't output any signal when I set dutycyle less than 0.01 0r in my case 0.1(s), but it works when if I output at less 1(s). I use an oscilloscope for this testing.
I understand that if the NIUSB-6008 support 150 (hz) sampling rate that mean that I still get 1 sample every 0.0067 (s), it is more than enough for my requirement 0.1(s).
do i still lack of something?

Similar Messages

  • Sine, Square & Sawtooth sweep generation with variable duty cycle/rise time & fall time

    Dear All !
    I request and need some candid advices on the subject issue keeping in view the following notes:
    1) I am a novice in LabView.
    2) I was an average Electronics Engineering graduate who graduated about 9 years ago and since then I have not been involved in Electronics Engineering.
    I have undertaken a task or generation of Sine, Square and Saw Tooth wave forms. All these waveforms are to be frequency swept form 1 Hz to 100 kHz. The amplitude of all these waveforms should be able to be adjusted. The duty cycle of Square Wave should also be adjustable (or better be able to be swept). Likewise the rise time and fall time of sawtooth wave should also be adjustable (or better be able to be swept).
    I am considering  other options as well but wanna try it on LabView.
    I wish to ask that is it possible to execute this task in Labview 7.0? If possible then considering the para 1 & 2 above, is it possible for me to finish this task in 15-20 days if I work on this for about 3 hours a day? If not then what can be reasonable estimate?
    I will be extremely grateful if you people can offer advice on whole project or part(s) of it.
    Thanking you in advance and requesting urgent response(s).
    Solved!
    Go to Solution.

    Check this thread.
    I did some similar coding, it might be usefull to you.
    http://forums.ni.com/ni/board/message?board.id=170​&thread.id=493477&view=by_date_ascending&page=1
    I am using ver 9.0 though.
    If you work 3hr /day for 2 weeks you might as well finish book basics 1& 2 and than can do whan you need in a breeze, couple of hours.
    Good luck

  • MacBook Pro duty cycle - can it be run at full CPU for extended time?

    Hello,
    I'm wondering if anyone knows Apple's stance on the duty-cycle of the MacBook Pro models. I'm should be receiving a MBP Core2Duo 2.16 GHz in a couple days.
    The reason I ask is that I currently have a PowerBook 1.33 GHz, and do a good deal of rendering of 3D computer graphics. On my PowerBook, when it is running under full load, the fan will come on for a while.. then turn off... then on for a while etc. It doesn't seem to have problems keeping the temp down unless the ambient temp of the room is high (say, above 80 F, 26C, which then is my fault and I need AC... lol, not computer design).
    I have had a few MacBook Pro units from work, and they work quite differently. The fan always runs... usually around 1k RPM, and then spools up to compensate for load. I have had two left fans go bad in 1.83 GHz Duo Core units (fairly early in production), and recently got a 2.33 GHz at work. I put it under full load tonight for a while, and the fans spun up to about 4k RPM (they seem to idle at 2k RPM). This kept the temp of the CPU to around 79 C... which is a bit higher than I like... but probably safe (and our room temp is fairly cool this time of year... about 70 F, 21 C).
    I'm wondering if it is safe to run a MBP like this for extended periods of time. I'm talking days here, 24x7... not just an hour or two. I have done this MANY times on my PowerBook G4 1.33... and it is probably like 3 years old or so now. Having those fans go out has just made me a bit gun shy I guess. Should I expect to be able to do this kind of thing with a 'Pro' laptop... or am I just running them too hard? Or, were there just a bad run of fans in the earlier MBPs?... it was always the left fan.
    -Steve

    Actually, I don't think 4,000 RPM is all that great,
    and the fans shouldn't have any trouble maintaining
    this speed indefinitely. 10k or more would be a
    different story.
    Of course, this is true only if the fans are designed
    (and built) properly. I can't speak to that.
    Yea, that's what I'm afraid of (fans not designed for that). It might be because I've actually witnessed a couple go bad... but I just don't think most of these tiny PC type fans can take it. Graphic card fans are notorious for going bad too. I'm less concerned with keeping the CPU temp down than I am with the high RPM on the fans actually.
    Regardless, you should be able to run your MBP "full
    bore" for as long as you like, and you needn't worry
    about it failing.
    I think you're correct... other than the fans. I'm guessing they will fail. If they did, the computer would probably just shut down. It probably wouldn't hurt anything, just need the fan replaced. But, I'd rather avoid that if I can. I suppose I could replace it myself to keep from having to send it away for a week or two.
    There is one thing, however, that
    most people do not consider, and which will help more
    than anything else (maybe even room temp): Keep the
    air around your MBP moving!
    Bingo! Great lead. I guess I knew this but didn't think of how big of difference it really would make. So, I did some experimenting.
    I brought up my trusty iStat Nano Dashboard widget so I could see the fan speed. Then I took a folder and fanned the computer for a couple minutes. Just this amount of air movement dropped the RPM from around 4600 (for some odd reason, my 2.16 runs at higher RPM than my 2.33, and keeps the CPU a couple degrees cooler) down to 2800. WOW!
    Then my arm got tired, and I went to get a rather powerful fan I could fit on my desk (one of Honeywell vortex type fans), and then it dropped to 2200 RPM. This fan is WAY to noisy, but my folder experiment demonstrated I don't need all that much air movement... just like you said.
    I think I'm going to go tomorrow and get either a couple of small fans, or maybe even some low noise computer fans and experiment with some ways of mounting them. I should be able to keep it down in the mid-2500 RPM range and still be quiet if I get the right setup.
    Also, I think you can safely disregard what your
    "overclocking" friends have to say. True, 100 C is
    quite hot, and would certainly be too hot for earlier
    processors. The Core Duo, however, is an entirely
    different beast, and Intel has designed it to run
    that hot. I think your friends are probably
    (inappropriately) applying specs for earlier
    processors to the Core Duo.
    I checked the Intel specs on the Core2Duo, and it has an operating max of 100 C. It some kind of actual hardware failure type shutdown at 120 C. So, I guess 80 C is hot, but 20 C under the max operating temp. I'm sure Apple designed it to keep that temp safe, so I guess they just vary the fans to keep it under 80 C the way it looks.
    Thanks much... that tip will solve my issue!
    -Steve

  • Frquency & Duty cycle Value changes- every time

    Hello all
     im using pcie 6320 to measure the frequency and the duty cycle of a signal.i have attached my vi & the data measured for reference.The values highlighted in red ,is my actual frequency and duty cycle but values changes for every 1 sec.Please correct me if i have any mistake.
    Solved!
    Go to Solution.
    Attachments:
    measure frquency-duty.vi ‏54 KB
    HZ-DUTY.JPG ‏37 KB

    You'll need to enable digital filtering--insert the following property node into your code (call the property node before starting the task):
    Try a "Min Pulse Width" of a few us and increase it if you still are picking up incorrect readings.
    The errant numbers are coming from false edges being picked up during transitions, enabling digital filtering will cause the DAQ device to ignore any transitions with a pulse width of less than the set value.  Your 475 Hz 72% duty cycle signal should have a high time of about 1.52 ms and a low time of about .59 ms):
    656 Hz = ~1/(high time)
    1718 Hz = ~1/(low time)
    MHz values = multiple edges picked up during a single transition.
    Best Regards,
    John Passiak

  • 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

  • Kernel Panic - invalid backlight duty cycle - after upgrade from 10.5.2 on macbook air A1237

    Here is the short version. I bought an older orignial Macbook Air Model A1237. The hinges had been damaged, and the screen would not display correctly - it had lines all across it and you could not see what you were doing. Anyway - I replaced the screen, hard drive, logic board, upper case, pretty much everything in sucession in an effort to get the MBA up and running again and get rid of the kernel panic I keep getting, all Apple replacement OEM parts. I bought a replacement screen - making sure I checked compatibility etc.. but when it started up I felt great perfect view - all was good - then it kernel paniced. I finally figured out that if I turned up the backlight manually all the way to max or if the ambient sensor made the backlight go to max - these were the only time I get a panic. Otherwise it runs perfeclty. The odd thing is I bought the original MBA disc that would have came with the MBA brand new - and if I wipe the hard drive and install leopard 10.5.2 from the dics and do not update anything - it works 100% perfectly no kernel panic at all. If I updgrade beyond the 10.5.2 I get the panic back. So that tells me its not the hardware, and I have confirmed the hardware and firmware are all up to date, as I was hoping it would be that easy a fix of updating the firmware.  I have tried everything - googled everything - I am at the end of my rope on this one - please help.
    In addition to all the repair work - i have tried test user, upgrading to snow leopard and lion, taking to the apple store, everything I can do , with no solid answer  - the apple store told me it was hardware. But if it was then 10.5.2 should generate the panic as well.  There are lots of articles and posts on other forums on this very issue - usually surrounding having the MBA display repaired and then they started getting the panics thereafter - but no one has ever recieved an answer either at all, or that works.
    Here is the KP log below - please let me know your thoughts - id like to upgrade to lion to get the most out of the MBA - any help is appreciated - - - - - heres the log - - - - ( the reason the BSD states at loginwindow is the ambient sensor at that time kicks in and creates the panic ):
    Interval Since Last Panic Report:  3873 sec
    Panics Since Last Report:          1
    Anonymous UUID:                    3A665154-0D6B-4EDF-8F76-80C322CF134A
    Mon Aug 27 23:04:07 2012
    panic(cpu 0 caller 0x2E42320C): "IG: Invalid backlight duty cycle value"@/SourceCache/GraphicsDrivers/GraphicsDrivers-5.48.6/Common/GLKernel/Inte l/IntelIntegratedFramebuffer/IntelGMAX3100FB.cpp:7065
    Backtrace (CPU 0), Frame : Return Address (4 potential args on stack)
    0x2e3dbaa8 : 0x12b4c6 (0x45f91c 0x2e3dbadc 0x13355c 0x0)
    0x2e3dbaf8 : 0x2e42320c (0x2e431258 0xa4aa 0x2e3dbb18 0x0)
    0x2e3dbb18 : 0x2e425434 (0x3af6c00 0x5f40 0xe 0x0)
    0x2e3dbb68 : 0x2e4d2283 (0x3e75000 0x0 0x626b6c74 0x5f40)
    0x2e3dbbd8 : 0x2e3f9769 (0x4639e00 0x4107280 0x3a6ace0 0x80)
    0x2e3dbc08 : 0x2e3f724c (0x48f2a00 0x4107280 0x3a6ace0 0x80)
    0x2e3dbc38 : 0x2e3f785d (0x48f2a00 0x80 0x2e3dbc68 0x3f158d)
    0x2e3dbc58 : 0x2e3f71db (0x48f2a00 0x80 0x2e3dbc88 0x3f0942)
    0x2e3dbc78 : 0x2e3f9475 (0x48f2a00 0x430c640 0x3a6ace0 0x80)
    0x2e3dbca8 : 0x2e3f92b9 (0x48f2a00 0x430c640 0x3a6ace0 0x80)
    0x2e3dbd28 : 0x440edf (0x48f2a00 0x3feb880 0x44 0x11e7de)
    0x2e3dbd78 : 0x18b71a (0x48f2a00 0x3fea900 0x44 0x407c7c0)
    0x2e3dbdb8 : 0x12d4d6 (0x3b92090 0x407c79c 0x2e3dbdf8 0x11f1c6)
    0x2e3dbdf8 : 0x1264fa (0x3b92000 0x392e984 0x408226c 0x0)
    0x2e3dbf08 : 0x198fa3 (0x2e3dbf44 0x0 0x0 0x0)
    0x2e3dbfc8 : 0x1a1cfa (0x398d120 0x0 0x1a40b5 0x3dc0c80)
              Backtrace continues...
          Kernel loadable modules in backtrace (with dependencies):
             com.apple.driver.AppleBacklight(1.6.0)@0x2e4d0000->0x2e4d3fff
                dependency: com.apple.iokit.IONDRVSupport(1.7.3)@0x2e435000
                dependency: com.apple.iokit.IOPCIFamily(2.6)@0x2e2d5000
                dependency: com.apple.iokit.IOGraphicsFamily(1.7.3)@0x2e3f5000
             com.apple.driver.AppleIntelGMAX3100FB(5.4.8)@0x2e41c000->0x2e434fff
                dependency: com.apple.iokit.IOPCIFamily(2.6)@0x2e2d5000
                dependency: com.apple.iokit.IOGraphicsFamily(1.7.3)@0x2e3f5000
                dependency: com.apple.driver.AppleSMC(2.3.1d1)@0x2e412000
                dependency: com.apple.iokit.IOACPIFamily(1.2.0)@0x2e2ec000
             com.apple.iokit.IOGraphicsFamily(1.7.3)@0x2e3f5000->0x2e411fff
                dependency: com.apple.iokit.IOPCIFamily(2.6)@0x2e2d5000
    BSD process name corresponding to current thread: loginwindow
    Mac OS version:
    9L31a
    Kernel version:
    Darwin Kernel Version 9.8.0: Wed Jul 15 16:55:01 PDT 2009; root:xnu-1228.15.4~1/RELEASE_I386
    System model name: MacBookAir1,1 (Mac-F42C8CC8)
    System uptime in nanoseconds: 58935778708
    unloaded kexts:
    (none)
    loaded kexts:
    com.apple.driver.AppleHDAPlatformDriver          1.7.1a2 - last loaded 45739893296
    com.apple.driver.InternalModemSupport          2.4.0
    com.apple.iokit.IOBluetoothSerialManager          2.1.9f10
    com.apple.filesystems.autofs          2.0.2
    com.apple.driver.DiskImages          199
    com.apple.driver.AppleHDAHardwareConfigDriver          1.7.1a2
    com.apple.driver.AppleHWSensor          1.9d0
    com.apple.driver.AppleUpstreamUserClient          2.7.5
    com.apple.Dont_Steal_Mac_OS_X          6.0.3
    com.apple.driver.AppleHDA          1.7.1a2
    com.apple.driver.ApplePlatformEnabler          1.0.2d1
    com.apple.driver.AppleGraphicsControl          2.8.15
    com.apple.driver.AppleIntelGMAX3100          5.4.8
    com.apple.iokit.IOSCSIArchitectureModelFamily          2.1.1
    com.apple.driver.AppleIRController          113
    com.apple.driver.AirPortBrcm43xx          367.91.22
    com.apple.kext.AppleSMCLMU          1.4.5d1
    com.apple.driver.AppleLPC          1.3.1
    com.apple.driver.AppleTyMCEDriver          1.0.0d28
    com.apple.driver.AppleHDAController          1.7.1a2
    com.apple.driver.SMCMotionSensor          2.1.1d2
    com.apple.driver.AudioIPCDriver          1.0.6
    com.apple.driver.ACPI_SMC_PlatformPlugin          3.4.0a17
    com.apple.driver.AppleBacklight          1.6.0
    com.apple.driver.AppleIntelGMAX3100FB          5.4.8
    com.apple.driver.AppleUSBTCButtons          1.7.4f1
    com.apple.driver.AppleUSBMultitouch          189.35
    com.apple.driver.AppleUSBTCKeyEventDriver          1.7.4f1
    com.apple.driver.AppleUSBTCKeyboard          1.7.4f1
    com.apple.driver.BroadcomUSBBluetoothHCIController          2.1.9f10
    com.apple.driver.AppleUSBMergeNub          3.5.2
    com.apple.driver.XsanFilter          2.7.91
    com.apple.iokit.IOATABlockStorage          2.0.6
    com.apple.driver.AppleUSBHub          3.4.9
    com.apple.driver.AppleFileSystemDriver          1.1.0
    com.apple.iokit.IOUSBUserClient          3.5.2
    com.apple.driver.AppleAHCIPort          1.7.0
    com.apple.driver.AppleIntelPIIXATA          2.0.1
    com.apple.driver.AppleUSBEHCI          3.4.6
    com.apple.driver.AppleUSBUHCI          3.5.2
    com.apple.driver.AppleEFINVRAM          1.2.0
    com.apple.driver.AppleRTC          1.2.3
    com.apple.driver.AppleHPET          1.4
    com.apple.driver.AppleSmartBatteryManager          158.10.5
    com.apple.driver.AppleACPIPCI          1.2.5
    com.apple.driver.AppleACPIButtons          1.2.5
    com.apple.driver.AppleSMBIOS          1.4
    com.apple.driver.AppleACPIEC          1.2.5
    com.apple.driver.AppleAPIC          1.4
    com.apple.security.seatbelt          107.12
    com.apple.nke.applicationfirewall          1.8.77
    com.apple.security.TMSafetyNet          3
    com.apple.driver.AppleIntelCPUPowerManagement          76.2.0
    com.apple.BootCache          30.4
    com.apple.iokit.IOSerialFamily          9.4
    com.apple.driver.DspFuncLib          1.7.1a2
    com.apple.iokit.IO80211Family          216.1
    com.apple.iokit.IONetworkingFamily          1.6.1
    com.apple.iokit.IOHDAFamily          1.7.1a2
    com.apple.iokit.IOAudioFamily          1.6.9fc5
    com.apple.kext.OSvKernDSPLib          1.1
    com.apple.driver.IOPlatformPluginFamily          3.4.0a17
    com.apple.iokit.IONDRVSupport          1.7.3
    com.apple.driver.AppleSMC          2.3.1d1
    com.apple.iokit.IOGraphicsFamily          1.7.3
    com.apple.iokit.IOUSBHIDDriver          3.4.6
    com.apple.driver.AppleUSBBluetoothHCIController          2.1.9f10
    com.apple.iokit.IOBluetoothFamily          2.1.9f10
    com.apple.driver.AppleUSBComposite          3.2.0
    com.apple.iokit.IOStorageFamily          1.5.6
    com.apple.iokit.IOAHCIFamily          1.5.0
    com.apple.iokit.IOATAFamily          2.0.1
    com.apple.iokit.IOUSBFamily          3.5.2
    com.apple.driver.AppleEFIRuntime          1.2.0
    com.apple.iokit.IOSMBusFamily          1.1
    com.apple.iokit.IOHIDFamily          1.5.5
    com.apple.driver.AppleACPIPlatform          1.2.5
    com.apple.iokit.IOACPIFamily          1.2.0
    com.apple.iokit.IOPCIFamily          2.6

    So I found a post on a random forum that offered a fix that I have tried and it worked. Background: I had a cracked LCD screen on a A1237, and I replaced a new screen and a battery. I started getting kernel panics when the brightness went to the highest level. Anyways, what you do is you need to get this file from a apple os x 10.5:
    /System/Library/Extensions/AppleIntelGMAX3100FB.kext
    then:
    Install the .kext file you just grabbed by dragging it into Kext Utility (which can be downloaded here: http://cvad-mac.narod.ru/index/0-4)
    then:
    Shut down the machine. Reset SMC and PRAM (SMC: http://support.apple.com/kb/ht3964, PRAM:http://support.apple.com/kb/ht1379)
    and the problem is fixed. If you google a bit, you can find an os x 10.5.2 AppleIntelGMAX3100FB.kext file at to use.
    The original fix I found was posted here:
    http://forums.macrumors.com/showthread.php?t=880800
    Edit:
    Just to clarify, my mac book air is running snow leopard 10.6.8, and I inserted the file from a 10.5.2. The fix completely eliminated the problem, now I can turn the brightness to max without the kernel panic.

  • 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

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

  • Duty cycle value & user prompt

    1. Duty cycle
    The value input in the front panel works fine up to 34%, but then it fails for any value above 35%.
    (for input value 35% and above, instrument shows 0.5% instead..for all values..)
    How can I fix this to make it between 0-100%???
    2. User Prompt for config file
    Currently, config file will be loaded via "Load Config" case, but is it possible to kick this off when the main VI starts?
    The idea is to force a user to load config file to synchronize between the instrument display and the LV front panel.
    (when every time the program gets kicked off)
    Does anyone have an idea how to do this?
    Thanks,
    Attachments:
    Pulse Channel with Load and Save_no event_v09.4.2.llb ‏2689 KB

    I am still having a trouble with setting duty cycle value above 35%...
    Tried to add timebase mode subVI in the application function VI, but the outcome is still the same.
    Plz help on this...
    Attachments:
    HP8133A Application Function_mod2.vi ‏129 KB
    Pulse Channel with Load and Save_no event_v09.4.3.vi ‏580 KB
    HP8133A Ex-Div Timebase_mod.vi ‏48 KB

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

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

  • Calculate Square wave Duty Cycle

    Hello everyone,
    I'm acquiring (with USB-6212) a square wave, "100Hz" with variable duty cycle - which can be 20%, 50% or 80% - for matters of decodification; the acquisition frequency is set to 4k. Actually, I said the frequency is 100Hz, because I get a rising edge every 10ms, but the length of the high level is defined by the communication protocol and that is what I called duty cycle (even though this does not match the exact definition of this property)
    Since I need to decode the information contained by the wave, it's necessary for me to be able to tell what the duty cycle is. I've acomplished this so far by taking the derivative of the signal, then calculating peaks and valleys index in the waveform and finally subtracting them, as shown below.
    It works ok almost the whole opeartion, however, the acquisition is not 100% exact. Sometimes I get the signal in the picture A, that is ideal for what I intended.
    Other times, the signal is like B and the derivative amplitude does not cross my threshold, even though there is a rising edge there. I could lower my threshold to 2, for instance, but then I'd get vulnerable to the signal in picture C, which would accuse 2 peaks, instead of just one.
    Anyone have an idea on how to work around this or any other method more reliable than taking the derivative of the signal?
    Solved!
    Go to Solution.

    Well, we can only answer question based on the information supplied!  The LabVIEW Mind Reading Toolkit is still in development.
    Your application is one where parallel loops may be valuable.  In the acquisition loop you read data from the data acquistion device at a rate which optimizes the DAQ perfomance (the >= 2k points you mentioned).  The data is transferred to an analysis loop via a queue. In the anaylsis loop you can put the data into a shift register.  When more data is available from the Acquisition loop, dequeue it and append it to the data in the shift register.  The Duty Cycle section will find two consecutive rising edges and the falling edge between them ( the 10 ms segment).  It calculates the duty cycle for that segment. Then it uses the second of the rising edges as the first rising edge for the next segment.  Repeat until duty cycles have been determined for all segments.
    There are a lot of details which can be imprortant in a process like this. Many of them are dependent on other things you have not specified.  What will be done with the duty cycle values? Is the raw data to be displayed? Saved to file? Discarded after the duty cycle is measured?  How long will the process continue?  How much data can accumulate?
    Lynn

  • 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

Maybe you are looking for