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

Similar Messages

  • How can I read channels from different SCXI modules simultaneu​sly?

    Hello.
    I have a system that consists in:
    - Three E-series DAQ boards (PCI-6034, PCI-6052 & PCI-MIO-16E)
    - One SCXI chassis (SCXI 1001)
    - 4 SCXI modules for voltage measurement connected to PCI MIO 16E
    - One SCXI module for strain gauges connected to PCI 6034
    - One SCXI module for accelerometers connected to PCI 6052
    I have to develop a software application that reads all the channels at the same time or at least in the same program cycle. I have tried to create only one DAQmx task containing all the channels, although they belong to different DAQ boards (and SCXI modules, of course), but it seems to be impossible to use channels from different devices in the same task.
    So I have created three different DAQmx tasks, one for each device and its channels. I have used one "DAQmx Start Task" VI for each task at the beggining of the loop in order to use them independently, reading their channels inside the loop in every program cycle.
    When I have run the program I have get the following error:
    "ERROR -200619 ocurred at DAQmx Start Task.vi
    Chassis cannot be used for more than one scanning operation at the same time.
    Do only one scanning operation or combine multiple scanning operations into a single operation."
    What is the problem? How can I combine these multiple scanning operations? What can I do to read all channels at the same time?
    Thanks.

    Hello pablomendana,
    it's ok that you got an error when trying to use more than one device on the same task. According to the setup you have, I agree that 3 tasks should be put in place.
    The key question I have is... Have you configured manually at MAX the SG and accel. modules to be in Parallel mode?
    I would not expect the error you get if they are in parallel mode (in which you could even read directly from the DAQ board, using DAQ device channels instead of SCXI channels).
    Unfortunately, I haven't been able to setup a system similar to yours, but I would like to know more details on what you've tried so far.
    Also, I recommend you that if still need help on setting up the system, use NI's SSP program to get support from your local NI Application Engineering organization, as this will be faster than the forum.
    Regards,
    Jorge M.

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

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

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

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

  • Read duty cycle of a PWM with DAQ

    Hi,
    I am doing a test system and I have several signals that control motors. They use PWM with a max frequency of 5 kHz.
    I would like to know if with a USB DAQ or a PCI DAQ for example PCI-DIO96 could I meassure the duty cycle of these PWM signals. I mean I need to meassure with 10kHz at least.
    Which are the read frequency of these systems?
    Due to the high number of I/O to test I am also thinking of using Compact-RIO with different I/O modules. What do you think?
    Thanks in advance

    If your PWM frequency is 5 kHz and you want to measure duty cycle to 1%, then you need timing resolution of 2 microseconds or faster.
    The USB-6343 has hardware timed DIO at up to 1MHz, so it might be suitable.  There are other devices with hardware timed DIO at rates of 10 MHz or faster as well.
    Before you buy, determine how often you need to measure the duty cycle to make sure the data transfer can keep up.  USB can sometimes be a bottleneck.
    Lynn

  • 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

  • PWM duty cycle update stalls

    Hello
    I want to output a variable pulse width modulated signal via counters. The duty cylce should follow a sine or triangle pattern from 10 to 90 percent.
    Problem: When I observe the ctr output with an oscilloscope, I see that the update stalls, i.e. for some time, the output is seamlessly variable as expected, but then, update stalls and jumps to a new duty cycle to continue variable again.
    I tried several different approaches,
      -for-loop with wait ms- timing and single sample,
      -timed loops with single sample and
      -pulse train ouptut via DaqMX-Write-Counter-n-Samples.
    Albeit to no avail. In any case, I get jumps in the PWM duty cycle instead of smooth transitions.
    System is either cDAQ 9174 or PXI with 6602. As system load is 99% idle state, I can't imagine the OS at fault.
    Solved!
    Go to Solution.

    Hello, Frank
    After looking through some documentation, I think that I need RT-HW for what I want.
    6602 cards have STC-2 without buffer, so updating duty cycle is OS-limited. Even in timed loops there is no guarantee that update will run at the specified rate of 1/140 sec. I'll probably just get an error for untimely execution....
    With STC-3 based counters (such as cDAQ9074 or X.series PXI 6361) I can load 127 values into buffer which will be processed smoothly but on renewal of samples (every 127/140 sec), I get stalls again, since the OS seems to consider my request inappropriate. I was surprised to find that USB vs PXI does not change the behaviour, though I'd have expected better latency from PXI.
    Attached, please find a VI to get an impression of what I tried out. Pardon for code ugliness.
    I still hope that I maybe have missed something simple to get running with what HW I got
    Best regards
    Michael
    Attachments:
    Unbenannt 1.vi ‏172 KB

  • Analog signal duty cycle incorrect

    I am using an NI PCIe 6535 board to send digital timing signals to a custom PCB.
    The signals are digital square wave signals with various duty cycles and phase shifts.
    I also need to send a 12 bit ramp signal to the board.
    I am having issues with the frequency.
    I need the timing signals to run at 833.33333 khz.
    I need the lsb of the ramp to run at 416.666666khz.
    To create the timing signals I am using "Create Analog signal", so that I can set up the square wave with the appropriate phase shift and duty cycle.
    Then I conver from analog to digital.
    I am using a DAQmx generate to output the signal to the PCB. I have noticed that the DAQmx gen frequency directly controls the ramps frequency.
    However for the digital timing signals there is some scaling factor. The frequency of the digital timing signals can be set in the timing signals them selves. The sample rate in the analog signal also effects the frequency.
    To get the frequencies that I need. I had to set the"create analog signal" sample rate at 2.778G S/s, the "create analog signal" frequency to 1.2889GHZ, and the DAQmx generate frequency to 1.66666 MHZ. At those numbers, I get the timing signals to output at 833.333KHZ and the second bit of the ramp at 416.6666HZ (for the ramp I upped it to 13 bit and I don't use bit 0, as it outputs at 833KHZ).
    However at these settings all of my timing signals have the same phase, and the same duty cycle, even though I have them set differently.
    Can someone please help? I think the issue is that I have the sample rate and frequency of the "create analog signal" block set too high, but if I set them lower my signals will not be at the right frequency.
    Attachments:
    timing signal 1.JPG ‏44 KB
    timing signal 2.JPG ‏47 KB
    daqmx gen.JPG ‏55 KB

    Hi David,
    We found that there seems to be a weird divider between the sampling rate of the analog signal module, the analog signal sample rate, and the f daqmx gen.
    After various tests we made a chart of what we observed. Fsignal and sample rate are values set in the "create analog signal" module, Fdaqmxgen is set in the "DAQmx generate" module. We used a "create anaolg signal" module to create the square wave, then convert analog to digital convert the square wave to digital.
    We have "repeated signal" and "N periods" checked.
    Fsignal
    Fdaqmxgen
    Sample rate
    Frequency   measured on the scope
    1GHZ
    10MHZ
    100G s/s
    100KHz
    100MHZ
    10MHZ
    100G s/s
    10KHZ
    1GHZ
    1MHZ
    100G s/s
    10KHZ
    10GHZ
    10MHZ
    100G s/s
    1MHZ
    100GHZ
    10MHZ
    100G s/s
    10MHZ
    100GHZ
    10MHZ
    100G s/s
    5MHZ
    The equation we came up with is Feff = (Fsginal/FDaqmxgen)*1000.
    To meaure the frequencies were using an HP 54600A oscilloscope, and probing standoff pins on our custom pcb.
    We have several versions of the project, attached is the latest one.
    Kyle,
    How do I set the compression to false?
    The picture below looks like labview? We are using signal express.
    I can't change the frequency on the DAQ mx gen because I need the ramp to run at a set frequency.
    There is a divider between the daqmx gen and the f signal. I have to set the Fsginal in the GHZ to get it to out at the right frequency. The equation we came up with is Feff = (Fsginal/FDaqmxgen)*1000.
    Thanks,
    Devin

  • How can I vary a PWM´s duty cycle inside a while loop?

    Hi,
    I'm using the "Generate Pulse Train.vi" to generate pwm signals in counters 0 and 1 in order to drive a DC motor both ways.
    The problem is, I need to control the movement of the dc motor with my PI controller which is inside a while loop. I've tried letting the "generate pulse train.vi" outside the while loop, but the problem is, it only changes the value of the duty cycle when the loop is stopped. I also tried putting it inside the loop, but then it doesn't even work.
    So, how can I vary a PWM´s duty cycle inside a while loop?
    I'm attaching the VI with the PI controller.
    Thanks for your help!
    Guilherme
    Attachments:
    controleValvula.vi ‏332 KB

    Here's some code I threw together a while back to change a duty cycle on the fly. It generates a fixed 5KHz or 25KHz frequency depending on laser selection, then allows duty cycle to be changed continously. Maybe you can use the premise of it for your application.
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    "It’s the questions that drive us.”
    ~~~~~~~~~~~~~~~~~~~~~~~~~~
    Attachments:
    Pulse_Width_Modulator.llb ‏197 KB

  • 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

  • I use LabWindows/CVI and SCXI modules, how can i check the polarity of a capacitor during an ICT?

    I am a newbie using CVi Lab Windows and SCXI modules, how can i perform ICTs to check the proper polarity of a capacitor?

    Hello,
    That's a big question for a single sentence. Could you give some more details about the hardware you have, and the measurements you want to take?
    By the way, when you say ICT, do you mean In-Circuit Test or something else?
    Thanks,
    John N
    Applications Engineer
    National Instruments

  • 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

Maybe you are looking for

  • Calendar on iPhone does not sync to iCloud

    I have never synced anything to iCloud before. I would like to sync my iPhone 4s Calendar to the iCloud (iOS 7.0.4). I have followed all the instructions to sync to iCloud using the settings, Mail, Contacts and Calendars and iCloud, but it doesn't se

  • Tab order of Radio Buttons?

    Although it consistenly goes to the same choice for each group, when I tab through my form, it seems somewhat random which radio button I tab into for each group.  Most times it is the left-most or top button (desired) but often it is another choice.

  • Required Field Left Blank

    I'm sure that I'm missing something simple; however, the form on this page < http://www.howardcore.com/bad_link_form.html> worked a couple weeks ago when I put it online, and now upon form submission tells the user that they have left a required fiel

  • Seperating songs in Playlists from songs in collection

    I have a few live albums that I like to listen to as Playlists however I would also like to keep those songs out of the collection when I shuffle my music. Is this possible? Thank for your time.

  • Photoshop Elements 7: Repair catalog taking hours, and still running?

    In Photoshop Elements 7, is it normal for file/catalog/repair to take several hours?  I have, probably a few thousand photos. I'm moving to a new computer, and wanted to clean-up the catalog before backup/restore...