USB-6009 Digital Output Current

You need to have all those grounds connected together - USB-6009 Digital Ground, ULN2003 GND, and the power supply ground. In this case it will not matter how they are connected.  If they are not connected, then one of the devices could be damaged.
Lynn

Hi, I'm trying to increase the voltage of the digital outputs of USB-6009 device. I read a couple topics about using a relay but I could not manage it.
I was thinking to use 5V supply on the card since it has 200mA current on it, but when I use it with open-collector output, it can not switch the relay. When I measure the current between
5V and ground: 200mA,
5V and output, I read a value around 30-40 mA.
Why can't I use that 200mA with an output? This is the relay I'm using.
If this is not possible, can I use an external 5V supply (with more current) and a digital output to switch the relay without damage the 6009?

Similar Messages

  • USB-6009 digital input change detection

    Hi,
      I am trying to acquire digital signals from an ni usb-6009 device using daqmx on labview 8.0. I need to write the signals from a port of the device to an output file only when there is a change in the signals and I am not able to do this successfully. I created a digital task in MAX and was able to select acquisition mode as '1 sample (On Demand) ' only. Any other selection for acquisition mode would result in error 200077 with the following message -
    Measurements: Requested value is not a supported value for this property.
    Property: SampTimingType
    You Have Requested: Sample Clock
    You Can Select: On Demand
    I selected '1 Sample (On Demand)' acquisition mode and was able to see the channel values on running it in MAX as I rotated a device connected to the usb-6009 device. As expected the hex values on MAX were showing up as FF,7F,3F,BF and this pattern was repeated everytime I provided the input by rotating the device.
    Next, I created a simple vi to use the digital task I setup on MAX. I want to be able to record the signals only when there is a change in the digital pattern from the channels.That is when there is atransition from FF to 7F to 3F and so on, the vi should write to an output file and if no change happens, it should not write to file. To do this, I explored the Timing vi and tried using the 'Change detection' mode, but that produced the same error as above. 
    Can anyone please suggest a way to accomplish what I am trying to do ? Any guidance will be a hugely appreciated.
    Thanks
    ~Sej

    All of that effort with sample rates, timing, change detection, etc ciuld have been avoided if you had read the specs. As you finally found out, the device only supports sftware timed i/o and no change detection. You wll have to do your change detection in software this is done with a shift register/feedback loop.

  • Make USB-6001 digital output always high or low in C

    Hello all,
    I am new to the NI DAQ interface. I have an USB-6001 and I am trying to use this device to control some logic circuit in C. So what I want to do is:
    * set some digital output lines to high or low levels, and change their status when needed (in C).
    I have tested the device in NI MAX -> Test Panels, and found that the device is able to do this. Then I try to do it in C. I hace checked the examples, and the function I should use is the one called "DAQmxWriteDigitalU32". I have problem in understanding its input parameters. I have tried something with my own understanding, but it does not work as I expected. Here is one test I did:
    uInt32   data=1;
    int32 written;
    TaskHandle taskHandle=0;
    DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
    DAQmxErrChk (DAQmxCreateDOChan(taskHandle,"Dev1/port0/line7","",DAQmx_Val_ChanForAllLines));
    DAQmxErrChk (DAQmxStartTask(taskHandle));
    DAQmxErrChk (DAQmxWriteDigitalU32(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,&data,&written,NULL));
    taskHandle=0;
    DAQmxErrChk (DAQmxCreateTask("",&taskHandle));
    DAQmxErrChk (DAQmxCreateDOChan(taskHandle,"Dev1/port0/line0","",DAQmx_Val_ChanForAllLines));
    DAQmxErrChk (DAQmxStartTask(taskHandle));
    DAQmxErrChk (DAQmxWriteDigitalU32(taskHandle,1,1,10.0,DAQmx_Val_GroupByChannel,&data,&written,NULL));
    I want to simply set "Dev1/port0/line7" and "Dev1/port0/line0" to high level, but only "Dev1/port0/line0" responds me. The second parameter of the function DAQmxWriteDigitalU32 corresponds to numSampsPerChan. If i replace it (currently 1) with a larger value, e.g. 100, I can see that "Dev1/port0/line7" sends a number of 1 out, then return back to 0. So I guess the problem is just that I do not understand well all parameters of the function DAQmxWriteDigitalU32. Can anyone please tell me how I can set a digital output line to 1 or 0? 
    Thanks!
    Hongkun
    Solved!
    Go to Solution.

    Hello,
    Here is a link explaining the inputs of function:
    http://zone.ni.com/reference/en-XX/help/370471W-01/daqmxcfunc/daqmxwritedigitalu32/
    Also here you can find a lot of examples in ANSI C
    http://www.ni.com/example/6999/en/
    Randy @Rscd27@

  • Usb 6009 digital input

    Dear All!!
    With the following vi. I'm trying to receive a 5V signal in a digital input, using a usb-6009 device.
    I would like to use the 5 VCC supply, available in pin 31 of the same device and send it to pin 17, representing line0 of port0. During execution, 'm physically connecting and disconnecting  these pins in order to see the difference in a led indicator. Unfortunatelly, the led is always on, even if both pins are disconnected.
    Could somebody help me? I would be very pleased.
    Thank you very much in advance,
    Miren
    Attachments:
    proof.vi ‏38 KB

    Hi Miren,
    "the led is always on, even if both pins are disconnected"
    RTFM?!
    They use open collector inputs with an internal pullup resistor of 4.7k, so you actively have to pull down the input to GND to see a difference...
    Best regards,
    GerdW
    CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
    Kudos are welcome

  • Usb-6009 analog output voltage

    Hi,
    The usb-6009 has two 0-5 volts analog ouputs. Is it possible to connect
    them in series, in order to get a single 0-10 volts analog output
    channel ?
    Thanks,
    Nicolas

    Those are ground-referenced signals. To connect them in series, you would have to connect one of the outputs to ground. You would be shorting out (at least) one of your analog outputs, and probably damage the unit.
    John Weeks
    WaveMetrics, Inc.
    Phone (503) 620-3001
    Fax (503) 620-6754
    www.wavemetrics.com

  • USB 6009 thermocouple noise

    I'm using NI-DAQmx 7.5, Labview 7.0, and a USB-6009.
    I'm trying to get a more accurate reading from my j-type thermocouple.  It is now distorted with noise and jumps rapidly +/- 20 degrees around room temp without any heat being applied.  When heat is applied, it climbs as it should but with the same variation.  I haven't moved to the labview side of it yet, I'm still trying to get a usable reading in MAX.  I have it wired as a differential input with a floating signal source.  I've installed 10k ohm resistors for bias current return as instructed.  Installing the resistors helped but still leaves me with the readings shown in the attached pic.  I've also tried grounding my USB 6009 with no results.  Please help. john
    Attachments:
    thermocouple reading.jpg ‏41 KB

    Hi John,
    What you are running into is a problem with the actual voltage resolution of your USB-6009.  This device has 14-bits of resolution over a minimum range of +/- 1V.  That means that the voltage resolution is (1 - (-1))V / (2^14) = 2V / (16384) = 122uV.  While this is an excellent resolution for such a low cost USB device, you will still notice problems when trying to make a thermocouple measurement.  The reason for that is that Thermocouples make a very small output voltage (see image below).
    Common thermocouple types have the following response:
    K type: 41 microVolts per degree Celsius
    J type: 56 microVolts per degree Celsius
    T type: 52 microVolts per degree Celsius
    There are a few options for ways to get around this limitation.
    Good: You could read the signal in as a voltage and then manually convert that voltage into a temperature.  This would be the least accurate method, but it should allow you to average out your signal and then use the Convert Thermocouple Reading.vi to show the voltage as a temperature.
    Better: If you want to keep using the USB-6009 to measure thermocouple, what you really need to do is first amplify your signal before you connect it with your device.  This should increase your resolution of the thermocouple allowing you to get more accurate temperature specs.  This will require some more complex programming to properly scale your measurements, but it will give you more accurate readings for relatively little cost.
    Best: Opt for getting a USB device that is designed for taking temperature measurements such as the USB-9211A.  This device would give you a voltage resolution of 160mV/2^24 = 9.54 nV!  That's over 12500x the resolution of the USB-6009 that you currently have.
    Hopefully the above information helps you better understand what is going on and why.  If you have any other questions feel free to post them here.
    Message Edited by Otis [DE] on 01-13-2006 11:37 AM
    Message Edited by Otis [DE] on 01-13-2006 11:38 AM
    Otis
    Training and Certification
    Product Support Engineer
    National Instruments
    Attachments:
    761029-Thermocouple_Voltages.GIF ‏10 KB

  • USB-6009 pulse train generation with digital output....

    Hello!
    I've bought a new USB NI-Card (USB-6009) and now I'm trying to adopt an old vi that uses traditional DAQ drivers. I wrote that vi for a PCI NI-Card (PCI-6024E), which has two counters to generate two pulse trains simultaneously. Now I've only one counter and that's why I'm searching for a good way to create pulse trains using a digital output! The pulse trains are both ranging between 100 Hz and 100 kHz.
    I'm sure somebody has an idea how I can solve the probem in the best way
    Kind regards,
    Peter

    You can't do it with this low cost board. Both digital and analog outputs are software timed only. The analog out is rated at only 150  samples/sec and the digital is about the same. You can't even use one of the counters because it is not a hardware timed counter output. It is an event counter only as an input.

  • Usb 6009 continuous analog output

    Hi
    I'm pretty new to Labview, so you may have to bear with me. I have a USB-6009 and I want to generate a continuos analog output voltage. I've got the example you have posted 'Gen Mult Volt Updates-SW Timed_LV7.1 (0 to 4).vi' working and it outputs a continuous sine wave.
    In a similar manner I need to generate:
    1. Ramp up voltage (and ramp down voltage): starting with a continuos constant voltage, which after a period of time linearly increases to another constant voltage, and which allows me to specify the 3 time intervals and the rate of increase.
    2. Pulsations: whereby I can specify the amplitude and time interval of each pulsation
    This is so that I can control voltage to a valve which regulates my pipe flow. In the example I have (one stated above), I do not understand specifically:
    i. Why I need both a 'Software Loop Time (ms)' as well as 'Timeout'
    ii. The 'Sinusoidal Pattern' input which seems to generate data for a sine wave- I can't get a description of that and there are no similar VIs for other waveforms; and what is the function of the two numbers it has?
    iv. How do I change amplitude and time period for the wave?
    iii. What does 'Index Array' do?
    thank you

    Hi there,
    I'm guessing the VI you are using is the one from this KB:
    http://digital.ni.com/public.nsf/allkb/6F2C2B49A89D685C8625711D007BDD64
    i. The software timed loop control is to control the rate at which you change the voltage output.  The timeout on the DAQmx Write VI is the maximum time in seconds the VI will wait to output a sample (eg. if the write buffer is full, the Write VI will wait for it to become available for 'timeout' seconds before outputting an error).
    ii. The sine pattern is just an array constant of doubles that make up the sine wave voltage values, and the for loop adds an offset (of two volts) to every single one of those values. You might want to replace that entire array constant and for loop with a Simulate Signal Express VI (just search for Simulate Sig or look in the Functions >> Input palette) and convert the dynamic data output to an array of doubles.  You can configure the type of waveform, amplitude, and time period from that express VI as well.
    iii.  Refer to previous answer.
    iv.  Index array returns an element of an array based on the index input.  You can turn on the context help and move your mouse over functions to get more help on them.
    I hope that helps!
    Way S.
    NI UK Applications Engineer

  • Usb 6009 output changes

    Hi, I'm using a NI USB 6009 device.  I am using the analog output to drive very small currents (less than 1 micro Amp) through a 1 MOhm resistor.  I find that the output often changes significantly when I begin to acquire data, or if the computer is doing something, such as fitting data, or even if I am simply opening other files or programs.  Any advice?
    Thanks!
    Micah

    Hi, thanks for the responses.
    I'm outputing a DC voltage with values typically ranging from 0.1 V to 1 V.  The signal goes through a 1 MOhm resistor in series with a coil for producing very small magnetic fields applied to an atomic magnetometer.   It appears that the output changes by tens of millivolts, as recorded by a yokogawa oscilloscope with input impedance of 1 MOhm.  The coil and scope are both grounded.  I am using only a single input channel on the USB6009, coming from an SRS voltage preamp with output impedance of 50 Ohms
    I can also infer that there are changes in the current when the computer "does something" by looking at the signal in the atomic magnetometer.   
    Perhaps it would help if I shunted the output with some smaller resistor, say 10kOhm?
    I will look at the document you mentioned.
    Thanks again.

  • USB-6009 Analog Waveform Output

    I'm trying to create an analog waveform from a USB-6009 device through one of the analog output channels. However, through the DAQ Assistant, I can only select the 1 Sample (On Demand) setting. When I test the device, I can only push a constant voltage out. If anyone has any advice on how to create an analog voltage waveform using this device, I would like to know.

    >I am only a novice at LabVIEW and data acquisition in general.
    I don't use Labview (I write in C++) so I can't help you with that. I try to answer questions about C/C++ and general hardware questions.
    >What did you mean by software-timed waveform generation?
    That's where the software driving the device sends a sample to the DAQ device, waits for the prescribed time interval, then sends the next sample. So the timing of the waveform is driven by the software, using the computer's clock, instead of by the DAQ hardware. Software-timed is less reliable and has (often) lots more jitter because of competition for CPU resources.
    >Does this mean that I cannot generate a waveform that is more than 150 Hz?
    It's worse than that. It means you can't generate a waveform faster than 150/N Hz, where N is the number of samples (data points) that define the waveform.
    John Weeks
    WaveMetrics, Inc.
    Phone (503) 620-3001
    Fax (503) 620-6754
    www.wavemetrics.com

  • No Digital Output available in Playback devices (USB audio device)

    If one has USB audio device with coax/toslink out, with proper drivers (like ie TurtleBeach Micro Advantage) available & installed then Digital Output is available to select in Playback devices. (and one can play AC3/DTS to external amplifier with ie
    VLC or MPC-HT with AC3Filter DS filter)
    But some USB devices (ie Phonic Digitrack -
    http://www.phonic.com/en/digitrack.html ) do NOT come with drivers (as Windows has default build in). Digitrack uses TI
    Burr-Brown USB Audio Codec 2906 -
    http://www.ti.com/product/pcm2906
    Sadly these Windows drivers do NOT have a clue about what the device actually has as inputs/outputs
    So even it had coax digital out & the sound IS send via it, the actual data send is in right way, not recognized/played correctly by Digital Amplifier (AC3/DTS)
    Does anybody know of a hack to make Digital Out available?
    Seb

    Hi,
    Generally speaking, An Audio Device do need more driver besides USB driver to make itself work properly. In terms of your situation, USB driver is not enough to make your Audio Device works properly.  I think S.Sengupta
    is right. Actually it would be better to contact Digitrack support to confirm its product compatibility with Windows 7.
    Roger Lu
    TechNet Community Support

  • How to toggle LED at analog output from my VI Using NI USB 6009

    Greetings,
    I bought this NI USB 6009 Multifunction I/O and found various uses for it. In my VI, I am acquiring some signals using the DAQ assistant. After doing a couple manipulation I would like to toggle a LED at one of the two Analog outputs available. I tried configure it in Max and was able to toggle it there, but now I would like to have the VI do it once a certain value is attained. Can anyone  tell me how this is done as I think I might be doing something incorrect.
    Thanks
    Edward

    Greetings,
    Attached you will find just a simple code to turn on the LED if the indicator on the VI's front panel illuminates. In my original code it is something similar. I have also check the wiring and I don't think that's the problem since I was able to toggle it through Max. I am using LV 2009. When  the output channel was configured in Max, the output voltage was set to range from 0-5V. I am not sure if the DAQ  Assistant  analog output is being triggered properly.
    OK, Lets say that I wanted to turn on the LED if a number was greater than the one stored in memory. How would I pass that to the NI USB 6009 to turn on a External LED. Please assume that the output is wired properly.  
    Thanks
    Edward
    Attachments:
    LED Application.vi ‏43 KB

  • ITunes Digital Output using M-Audio Transit USB???

    Hi all,
    Having recently attached an M-Audio Transit USB external "soundcard" to my Mac Mini (PPC) and hooked up the TOSlink digital output from the Transit to my AV amplifier, I can definitely state that Apple DVD Player and VLC both utilise the Digital Output, giving me full 5.1 AC3 signals from DVDs/DivX movies etc, which I had hoped to be the case.
    However, I'm curious as to what the actual output from iTunes is. If I'm playing an Apple Lossles audio file, does iTunes decompress this to the original 44kHz PCM and send this through Core Audio straight to the Digital output of the Transit? In other words, am I getting bit-accurate audio information into the AV amp?
    Anyone who can confirm or deny this, please let me know, as this was one reason for me buying the Transit!!!!
    Also, any idea how to get DTS audio from a redbook CD out from this setup? Will VLC handle it? Or even iTunes???
    Thanks,
    JF
    15" Powerbook PPC G4 1.5 (1Gb RAM) + MacMini PPC G4 1.5 (512Mb RAM)   Mac OS X (10.4.6)  

    You can get full 5.1 AC3 signals from DVD because that's what the audio on the disk is encoded with. You won't get 5.1 AC3 or DTS signals from iTunes if the files are only encoded in stereo. I don't have a Transit, but I have the Sonica USB which is the previous model of the same device. They have different drivers (and your Intel Mac mini would have different drivers than a PPC Mac mini with the same Transit device), but I would guess we have similar experiences with the devices. You won't get DTS out of any file that's not DTS to begin with. That's one reason the Transit System Preferences pane will give you options to configure non-surround sound audio coming from your Mac mini to your stereo.
    -Doug

  • USB-6009 activates unwanted 5V digital signal when turning on the computer

    Hello!
    This may be a known issue, but I couldn't seem to find it in the discussion forums.
    As the title describes, upon turning on the computer, the USB-6009 receives power from the USB port and automatically fires 5V from various TTL channels.
    This is problematic, as it persistently activates part of our machinery we have attached.
    This occurs even when plugging in the USB after the computer is powered up.
    The only way to ensure none of the channels are sending 5V outputs is to power up our labview software, and manually send the command to set all TTL channels to 0V.
    Is there a way to default all the outputs to 0 upon receiving power?
    Thanks,
    -Peter

    6008 is a low-cost device, not a high-performance device.
    Build some hardware protection between the DAQ and your equipment to make it fail-safe in the event that the DAQ reinits and pulls all the lines high.  Tristate buffers and inverters help a lot here.
    You can also use the analog output to "turn on" the rest of the circuit - that inits at 1V, set a comparator to trigger above 3V and slam that output to 5 when the rest of your outputs are configured.

  • How do I set up a triggered analog output on a USB 6009?

    Hi! I am very new to LabView and am working on the control portion of my senior ME design project. It is an anti-tip brake system for a bicycle. The goal is: When critical time to tip is reached (by reading values from a rear wheel normal force sensor, taking the derivative and calculating this critical time), my cheap DAQ USB-6009 device will put out an analog signal to a transistor, which will spin a DC motor (attached to a worm gear setup) for a certain length of time (...This will change a pivot location in the mechanical assembly which will decrease brake mechanical advantage).
    I have been trying to work with LabView 8.5. I get bogged down in confusion when I try to use G-code and get unexplained errors in using Express VI's (they're rather black box-ish to me).
    I think that all I need to do is set up an analog input channel, take derivatives and values and put them into a formula for critical time. Then if the result is a "True", I want to begin an analog out sequence for a certain period of time (to get the motor to the right position).
    I would appreciate any help that I can get with this one.
    Attachments:
    ABScontrol1.JPG ‏43 KB

    chowph,
    You are
    correct with your last statement about performing a comparison on your data.
    1.  Are there any error codes or messages in the
    errors you are getting? Or if you have screenshots of the errors you could post
    then that would work too.  Knowing the
    errors would help in understanding where to start. 
    2.  In your previous
    post did you have a chance to try the examples or Kent’s example code he
    posted?
    3.  What were the results of those examples and
    your experiment?  Again screenshots would
    work fine here.
    Since you
    new to LabVIEW make sure to take advantage of the online training material and
    tutorials we have on ni.com.  I have posted
    a few that I think may be helpful.
    Learn 10 Functions in
    NI-DAQmx and Handle 80 Percent of Your Data Acquisition Applications
    Complete Data Acquisition
    Tutorial
    How Can I Learn
    LabVIEW?
    I hope this helps!!
    Message Edited by Ryan N. on 03-31-2008 11:52 AM
    Ryan N
    National Instruments
    Application Engineer
    ni.com/support

Maybe you are looking for

  • How to access sdo_geometry.sdo_elem_info with occi

    if I use occi,how to access a varray of number(sdo_geometry.sdo_elem_info) in a table such as cola_markets.

  • Changing name of directory created after source file is extracted

    This seems like it should not be a big problem, but I can't figure out how to fix it. I'm writing a PKGBUILD for a program called JAGS (http://calvin.iarc.fr/~martyn/software/jags/). When I use "pkgname = JAGS", the PKGBUILD works perfectly for my pu

  • Unable to extend FusionFX skin

    Dear All, I am having trouble implementing my own skin functionality. I wanted to extend the fusionFx skin family so I decided to create a skin file like this <?xml version="1.0" encoding="ISO-8859-1"?> <skins xmlns="http://myfaces.apache.org/trinida

  • COREDUMP,MEMORY LEAK in java

    HI I am frequently hearing these words "CORE DUMP,MEMORY LEAK...." Can anybody explain me wat is this? Thnx in Advance!

  • File renaming and second copy

    If I import RAW and tick 'Copy as DNG' and 'Make a second Copy' and 'File rename: Prefix-Date-Image#', the 'second' copies are not DNG and not renamed. If I import JPEG and tick 'Copy' and 'Make a second Copy' and 'File rename: Prefix-Date-Image#', t