DAQ Card is inducing noise on an external clock signal resulting in false triggering

I am using an optical encoder as an external clock source for analog measurements with a PCI 6036 card.  The optical encoder signal is "filtered" using a Schmitt Trigger circuit and proper shielding practices are used on the encoder cable.  I am using a recent version of Labview.
When the TTL square wave signal from the encoder is viewed on an oscilliscope (without the DAQ attached) it is a picture perfect square wave, nothing that would cause any problems.
When I then connect the encoder output to my PFI line (with or without the oscilliscope) I get false triggering due to intermittent (seemingly random...) high frequency noise "blips".  Out of 360 expected samples, I will typically get between 2 and 6 "bonus" samples...  When captured on a scope, the noise looks like a decaying sine wave and lasts for only a few us.  the peak magnitude is tyically around 2 V or so as shown on the scope, which is apparently just enough to make my card grab a sample.
Since the noise is only present when the encoder signal is attached to the DAQ, it seems that the DAQ is somehow inducing noise into the signal.
I have been fighting this problem for a while now and tried the following:
1)  I first tried the raw encoder signal, but then added the Schmitt trigger, increased the signal strength of the encoder lines by adding resistors to ground, double checked my shielding, etc...
2) I verified that my ground potential between my card and my conditioning circuit were not causing problems.  The conditioning circuit and encoder is now powered of the card itself, which should resolve any possible problem with grounds.
3) Cursed at various inanimate objects (made me feel better but didn't help the situation)
4) Checked if I could set a minimum pulse width required to trigger off of an exernal scan clock (I can't with my hardware.)
5) Swapped my card with a card of a different type (problem is still there)
If anybody out there has some recomendations, I am open to anything.

Hello OSU_Mech_Eng,
I'm not quite sure how the DAQ card could be inducing glitches into
your digital signal.  Digital signals from mechanical devices like
quadrature encoders can often be glitchy or bouncy, but your schmitt
trigger should act as a debouncing filter to clean up that digital
signal.  It sounds like you have thoroughly troubleshooted this
problem, and I would recommend moving on and trying to use a counter on
your DAQ board to generate the digital signal, rathar than using the
raw signal from your encoder/schmitt trigger.
You were correct when you stated that the best way to do this is by
configuring your counter to perform retriggerable pulse
generation.  You can use the signal of from your encoder to gate
the internal clock on your DAQ card, creating a clean digital
signal.  By setting the minimum pulse width of the signal, you
will be able to ignore the small glitches in your signal. Here is
a link to some Knowledgebases describing how to do this:
How Do I Remove Glitches or Add a Debounce Filter to My Digital Signal?
How Do I Define the Parameters for Pulse Generation in NI-DAQmx?
For further reference, on all of NI's new M-Series DAQ cards (PCI
625x), the PFI circuitry contains built in debouncing filters to
protect against small glitches in digital signals.  If you have an
M-Series card lying around, it might be helpful to give that a try.
I hope this helps,
Travis Gorkin
Applications Engineering
National Instruments
www.ni.com/support

Similar Messages

  • Ni pxi 6221 daq card internal dc offset is appearing in every signal

    sir ,
    thank u for the quick response from ni , please reply for my first
    question , i.e there is internal dc offest value of around 0.35 volts
    appearing with every signal when i try to measure it with a pxi 6221
    multi fuction daq card and ni elvis oscilloscope or  oscilloscope
    to observe it . even though the the dc offset is zero from the
    source  side (arbitray waveform genertor).
    Deepak Kumar
    M.Tech , Power and Energy Systems
    NITK SURATHKAL
    MANGALORE
    INDIA

    Hello,
    What is your arbitrary waveform generator's product number?  Have you tried calibrating the arb?
    Regards,
    Sean C.

  • Which DAQ card support to Capture AC signal voltage?

    I am new in Labview programing and i plan to capture AC Voltagel(Not DC voltage). 
    I have DAQ 6009 card.
    My question is DAQ 6009  support Capture AC voltage? otherwise which DAQ card support to capture AC voltage

    CPUT wrote:
    I am new in Labview programing and i plan to capture AC Voltagel(Not DC voltage). 
    I have DAQ 6009 card.
    My question is DAQ 6009  support Capture AC voltage? otherwise which DAQ card support to capture AC voltage
    An AC signal is nothing more than a constantly changing DC voltage.  Ok, there's more to it than that.  But still, the DAQ takes quick snapshots of what the signal voltage is at a given instant.  If you take enough of these snapshots, you can recreate the signal.  Niquist states that you need to sample at at least twice the bandwidth of your AC signal.  I recommend more of 3-5 times.
    There are only two ways to tell somebody thanks: Kudos and Marked Solutions
    Unofficial Forum Rules and Guidelines

  • External clock LabView crash with Measurment Computing board.

    Hi,
    I'm using a Measurment Computing PCI-DAS6402-16 board with Labview (using Universal librarys VIs) in a 4-stroke engine DAQ application and amognst the signals obtain Internaly clocked, there is In-Cylinders Pressure signal which is timed with a Crank-angle deocoder sending analog pulse signal.
    Although there seems to be no problem while the motor is running, it appears that when to external clocked signal  is not getting any pulses (while the motor is not running) then Labview stops to respond and awaits for the external clock to start, and that doesnt happen within 10s then it crashes.
    I dont know whether it is Software problem (because external and internal clocked signals are both in the same WHILE LOOP) or if it is a Hardware problem (because With a NI card there seem to be no problems).
    THNX in Advance

    Well it couldnt be a more typcal windows crash:
    If a channel is externally timed with an analog pusle signal, If the VI starts running but the external clock isn't then:
    -Labview stops to respond to any clicks (there is no .exe at this point) but it keeps working though (That i know cause if i start the ext. clock at this point it "un-stucks' and starts working)
    -But, if for some secs no ext. pulse signal is generated then labnview app stops respondin and i get the typical 'send error report' window.
    Could it be that the Universal library for Measurment Computing boards haw a bug? Cause the same thing happens with the "Analog input External Clock.vi" example given with the Library..so it can't be my mistake..or can it?!

  • DIO Pattern with external clock

    I use Pattern Input with external clock, I only wire external clock to REQ pin, I see how frecuency vary, but I do not receive data but the one that was latched last time, Do I need to wire something else in order to receive correct and continuos data? I think I just need a singnal to get data latched every time I require trought external clock. What do I have to do to get my application running?

    It sounds as though you are using a NI-653X data acquisition board to perform Pattern Input. When performing Pattern Input, data is transferred upon the rising or falling edge (user configurable) of each clock pulse. This clock signal can be externally provided or internally generated. To use an external clock signal of up to 20MHz, simply connect the signal to the REQ pin as you are doing.
    I recommend trying a LabVIEW shipping example already set up to do pattern input. The particular example I am thinking of gives you the option to try either an internal clock or provide an external clock. I would recommend trying each option. I do not know which version of LabVIEW you have but will provide the path to the example in LabVIEW 7; the path is very simi
    lar in earlier versions of LabVIEW:
    Help >> Find Examples >> Hardware Input and Output >> DAQ >> Digital Input and Output >> 653x >> Cont Pattern Input.vi
    I hope this helps!
    Sonya

  • Data-acquisition with NI 6036E DAQ card & GPIB using an external trigger

    Hi all,
    I hope somebody could give me some help with the following and answer some questions:
    Simple system description:
    Labview 6.1
    PCI-GPIB card
    6036E DAQ card
    In my system, I am using an external analog trigger signal (A) for continuous data-acquisition. Characteristics of the analog trigger signal (A) are: ~40 Hz, signal height +1.48V, triggered by rising edge (the analog trigger signal (A) could be changed to a TTL signal). Each data-acquisition is done within ~1.0 ms after the rising edge of the trigger pulse. The timing of the data-acquisition and analyzing procedure is controlled by execution in a sequence structure placed in a loop.
    Now, I connected a power meter to the system, to measure the laser power during the data-acquisition. The power meter has two options to provide the laser power data:
    a) via analog signal output (voltage corresponds to laser power in watts)
    b) via GPIB (direct output reading of laser power in watts).
    Problem:
    During a certain point in my data-acquisition sequence structure (defined by a frame), I want to use the next occuring analog trigger signal (A) to acquire 1 value from the power meter.
    How do I do this in Labview programming for the following two situations?
    a) If I connect the analog output from the power meter to an analog input channel of the 6036E DAQ card. The analog trigger (A) would be connected to a second analog input channel (In case the analog trigger signal (A) is changed to a TTL signal it would be connected to the PFI0/Trig input pin on the DAQ card).
    b) If I use the GPIB connection of the power meter. The analog trigger (A) would be connected to a second analog input channel (In case the analog trigger signal (A) is changed to a TTL signal it would be connected to the PFI0/Trig input pin on the DAQ card).
    An other possibility would be to trigger the power meter directly, so it outputs constantly power meter values at ~40 Hz. How could I than acquire 1 power meter value (at a certain time im my sequence structure) via analog input at DAQ card or GPIB?
    Additional questions:
    How do I configure the PFI0/Trig pin on the 6036E DAQ board individually as an INPUT?
    How do I use an analog trigger signal (A) as counting signal for a loop, or as an activation signal for a sequence structure which includes GPIB commands?
    It would be very nice if somebody could give me some help.
    Kind regards,
    beam

    Hi beam,
    I just want to verify that I understand your situation correctly:
    An external trigger signal (A) is wired to one of your input channels (e.g. CH0) to trigger data acquisition of a second channel (e.g. CH1). Your power meter is connected to an analog input channel, which you would like to trigger with a certain rising edge at some of your sequence structure.
    Problem:
    During a certain point in my data-acquisition sequence structure (defined by a frame), I want to use the next occuring analog trigger signal (A) to acquire 1 value from the power meter.
    How do I do this in Labview programming for the following two situations?
    a) If I connect the analog output from the power meter to an analog input channel of the 6036E DAQ card. The analog trigger (A) would be connected to a second analog input channel (In case the analog trigger signal (A) is changed to a TTL signal it would be connected to the PFI0/Trig input pin on the DAQ card).
    If a task has been configured to acquire signal from one analog channel, it's not possible to run a second analog input task or to add a second channel on the fly. You had mentioned that it's possible to read from the instrument through GPIB. Is it possible to perform a software trigger such that at a certain frame of your structure, when the trigger signal A reaches voltage "x", a GPIB command is written to your power meter to query a measurement reading?
    Additional questions:
    How do I configure the PFI0/Trig pin on the 6036E DAQ board individually as an INPUT?
    You do not need to explicitly configure the PFI0 line as an input. If you want to use it as an input such that it acts as an analog trigger, simply wire the trigger signal to this pin. When configuring the trigger in your software, specify PFI0 as the trigger source.
    How do I use an analog trigger signal (A) as counting signal for a loop, or as an activation signal for a sequence structure which includes GPIB commands?
    You can try using the Limit VI to find out when the trigger signal reaches a certain level, and count how many times this level is reached. Similarly, you can use this as the condition to execute GPIB commands.
    Hope this helps,
    Lesley

  • Noise in thermocouple measurement using PCI-6024E DAQ card

    I am using a PCI-6024E DAQ card for thermocouple(TC) measurement. The
    TC is installed in the mold cavity of an injection molding (IM)
    machine. The leads from the TC are connected to the DAQ card using a
    CB-68LP board. I made a  temperature mesurment task in LabView 7.0
    with the two leads from TC as differential inputs and used CJC value of
    25 deg C.
    The problem is that when the IM machine is OFF, I get a reasonable temp
    reading with some slight noise but as soon as I turn ON the IM machine,
    the temp readings go wild with a lot of variations around the mean
    value. The temp values also don't go to higher values when the TC is in
    contact with the molten plastic in the IM machine.
    Do I need to ground something here or put a resistor in the I/O board?
    BTW the IM machine is grounded and the TC give correct temp values when
    connected to a hand-held temp reader.
    Any help will be highly appreciated.

    Hello  Aftab,
    Looks like you need to use bias resistors to reduce the noise. Check out the following tutorial for more information about how to use bias resistors.

  • How can I create software start and stop trigger in LabView using 6023E series DAQ card? I don't want to use the external trigger.

    I am using 6023E DAQ card to collect the signals, such as AE, Force, Torque from the machine. I want to collect only some part of signal for example between start triger and stop trigger. I'd like to know how I can creat those triggers in LabView from one of the channels that I am acquiring at the same time. I found one or two library file that is only for start trigger. I know that this is availabe in some of DIAdem functions. Please let me know if you have done some example for this requirement.

    If you are wanting to create a software trigger based on an analog input voltage in LabVIEW, there are several options. One suggestion would be to compare the voltage values from one input channel to a number within a loop. If the input voltage crosses that threshold (is greater than the number), have a case statement that will acquire data from the other channels. This would simulate a software start trigger in LabVIEW.

  • Can a DAQ card be connected to a PC's external PCMCIA card reader?PC

    What is involved to use a Flashmate PCMCIA card reader of PC with something like an AI-16XE-50 DAQ card? Will the card reader device driver work for this purpose?

    Hello;
    NI's DAQCards were tested to operate with the Native Microsoft Laptop Socket drivers only. Once you insert a third party device on your system, the NI-DAQ driver might or might not talk to the third party driver. That will be a trial and error process.
    Regards
    Filipe A.
    Applications Engineer
    National Instruments

  • Using external clock on a 6062E DAQ card

    In my application I need to use an external clock (2 MHZ) to sample 10 channels at 40 KHz each. I connected the external clock to PFI_7/Startscan, enabled the ND_IN_CHANNEL_CLOCK_TIMEBASE and ND_IN_SCAN_CLOCK_TIMEBASE using The Select_signal function. If I use only two channels (instead of 10) everything works fine. If I try to increase the number of channels to more than 2 I get a digitized waveform with points missing (one every 2). I tried to decrease the sampling rate to 4 KHz per channel, but the problem persisted. For 2 channels everything is always fine, but for more than 2 I get the same error in the digitization pattern.
    The relevant lines of my codes are attached
    Thank you for your help
    Enrico Gratt
    on
    Attachments:
    Sample_code.pas ‏3 KB

    Enrico,
    I have a couple of questions. Do you see the same amount of missing data regardless of how many channels (more than 2) you are acquiring? If you use the internal 20 MHz timebase, can you successfully acquire all 10 channels at 40 kHz?
    Spencer S.

  • I use labview 8.0 and i can not run daqmx driver for pcmcia 6062e daq card

    i use labview 8.0 on window xp .when i installed a PCMCIA daq card 6062E, i could not run daqmx driver.It is fine to see that the traditional version is working well.When i install daq card sometimes it is working well with traditional driver  but mostly i see error on reading an analog input from PCMCIA daq device.An error called 'base adress' occures .I use last version of driver that is daqmx 8.0.1. and i have installed this correctly but again i could not  see any signal on the test panel for daq-mx driver.I don't know what is the problem.Also when i install PCMCIA daq card Please reply this message.I need your helps.
    Thanks

    Hello,
    Thanks for your reply.I will try to answer your questions.
    I have checked the Device Mananger and I have seen that the device is detected by Windows  XP.  For another question the card shows up under both NI-DAQmx Devices and Traditional NI-DAQ (Legacy) Devices consistently in the Measurement & Automation Explorer.I use a way that I reset the driver for traditional NI-DAQ in MAX,and then i reset the device for NI-DAQmx driver in MAX and again i tried to run the test panel of DAQmx driver but again i saw a wrong signal or noise signal on the test panel i could not see the sinusoidal signal that i connected. i do get the test panels to run with the card using the DAQmx driver,  But could not run the DAQ diagnostic utility.The error was as i specified below.
    03.05.2006 09:49:35
    Results saved to:  C:\Documents and Settings\serkan\Desktop\Diagnostic Results.txt
    Selected Device: Dev1
    Device Type: DAQCard-6062E
    Serial Number: 107509E
    Device Support: (PASS)
    NI-DAQmx Version: 8.0 (PASS)
    Device Reset: (FAIL)
    Error -50002 occurred at an unidentified location
    Possible reason(s):
    The specified device is not a valid device. The operation could not be completed as specified.
     ------ DIAGNOSTIC UTILITY ABORTED -----
    And for your last question i can say that i have used the DAQ card on other laptops.But the results were the same.İ hope to see your reply
    Thanks,
    Serkan Buhan
    Electrical-Elecronics Engineer
    Researcher
    TUBITAK-BILTEN

  • DAQ card works with NIDAQ test panel but not with VB app/Component works

    I am seeing this problem with 2 different DAQ cards. The card works fine with the NIDAQ test panel, but acts like the return lead is lifted with my VB app. The plotted signal appears to be little more than noise. Channel scan is internally triggered; that apparently works fine. The VB app is running in this configuration successfully in other areas, and I fixed this problem once by swapping cards. Currently, I lack a spare, as my "spare" is showing the same symptoms. Any helpful hints?
    Card type: AT-AI-16XE-10
    Configuration: Double-ended input, +/-10V range
    Running: VB6, NIDAQ 6.1, ComponentWorks Std. 2.0.1, Windows NT 4.0 SP5

    I upgraded to NI-DAQ 6.8.1 (with patch), but no joy. The upgrade went smoothly, the card was recognized and I was able to set the resources without a problem. The test panel works fine looking at the actual signal on the target system: slowly varying DC between 0-5 V or so. My app works fine also, except that it behaves as though the A/D is not connected to anything: noise between .05-.1 V or so. I swapped DAQ cards between the test system and my development system. The problem appears to be in the test system, not on the card. Another test system, identical except for (now) the version of NI-DAQ, works fine. I'm stumped!
    BTW, why are there 3 DMA channels listed in the configuration for this DAQ? Do all 3 need to be assigned? I've run some systems
    for years with only the first 2 assigned.

  • Low sample-rat​e measuremen​ts on the PCI-6115 DAQ card

    I need to measure an analog signal at a sampling rate of a few tens to hundreds of Hz in sync with the rising edge of an external clock. I have a PCI-6115 DAQ card w/ Labview 6.1 and NI-DAQ 6.9.2. The PCI-6115 is a high speed card and has a minimum sample rate of 10 KS/s. Is there any way of implementing a low sampling rate measurement using the PCI-6115 in sync with an external clock?
    Thanks in advance.

    Kuldeep,
    It is possible to do what you are describing above (in fact I don't think an external clock is required to do this), however, bear in mind that the reason for this minimum sampling frequency is due to the ADCs used on this high speed board. The ADCs used are pipelined ADCs, meaning that when a signal is digitized, it is digitized in distinct stages within the ADC (in the case of the 6115, I think there are 3 stages involved). Data is moved from one stage of the ADC to the next each time a sample clock pulse is recieved. If too much time elapses between these clock edges, the signal to be digitized can actually 'leak' off of the ADC. This can result in improper digitization, which can lead to less accurate measurements. So, while it is possible to mak
    e the device sample below it's minimum rate, it may be advisable to sample faster than the rates required by your application, and either average multiple data points per measurement, or throw away extra points taken.
    I hope this helps,
    Dan

  • I need to interface SCC-TC02 with help of SC 2345 and PCI-6024E DAQ Card.please tell me the procedure and if possible send me the program

    Dear Friends,
               I need to interface SCC-TC02 with help of SC 2345 and PCI-6024E DAQ Card.But i can not understand example program.please send me the procedure to interface these three componnets and if possible send me the program.
    With Regards,
    Eswaramoorthy K V

    nce of nth triggering pulse. i need to know when the when the ist trigger occurs and when the nth trigger occurs . please tell me how to to . what i know is that event triggering has to be done with start and stop trigger. please tell me how it has to doneSuresh;
    What you will need to do is to set up a digital start and stop triggered Analog Input acquisition. Then you will need to have a counter set as event counter, having the specific number of pulses you need configured as the preset value, configured to count down, and generating a pulse after the terminal count has been reached. That counter output will be the stop trigger of the Analog Input operation. In summary, you will have the external pulse being both the digital trigger of the Analog Input operation and the source pin of the counter, and the counter output being the digital stop signal for the analog input.
    I'm attaching a Labview VI that does the start and stop analog input acquisition. You will need to include the counter part and set the stop s
    ignal to be the counter output.
    Hope this helps.
    Filipe
    Attachments:
    AI_Start-Stop_D-Trig.zip ‏25 KB

  • Commutatio​n with 6280 DAQ Card

    Hello,
    I want to perform parameter identification of a three phase brushless DC servo motor. Basically I want to obtain mass moment of inertia, viscous damping coefficient and coulomb friction at the bearing. To do so, I plan to apply a step voltage input to the motor terminals and collect the position information with a DAQ card. I know the inductance and resistance values of the motor windings as well as the I want to perform parameter identification of a three phase brushless DC servo motor.
    Basically I want to obtain mass moment of inertia, viscous damping coefficient and coulomb friction at the bearing.
    To do so, I plan to apply a step voltage input to the motor terminals and collect the position information with a DAQ card.
    I know the inductance and resistance values of the motor windings as well as the torque constant of the motor.
    So when I apply a step voltage input to the terminals of the motor, I would know the torque that is applied.
    And since I know the torque that is applied and also collect the position data I would be able to plot torque vs. position curve and would be able to obtain the necessary parameters from this graph.
    My problem is; I don't know how i can apply a step voltage input to a three phase brushless DC motor.
    Is it possible to use a DAQ card (I have a PCI 6280 DAQ card) for commutation? If it's possible is there an example about commutation of brushless dc motor?
    I don't want to use a motion control card to perform the commutation since I want to observe the motor dynamics only.
    Regards.

    Hello,
    for commutation you need to synchronize the output signals to the absolute rotational position of your motor. Typically this is done by implementing a lookup table to output values according to the motor's angle of rotation. This operation requires deterministic real-time behavior, so you could use a DAQ board with LabVIEW Real-Time, but for your application an FPGA-based R-Series device is probably a much better choice.
    Instead of generating analog output signals, with an R-Series device you could directly generate PWM signals with sinusoidal duty cycles to control an external FET amplifier.
    Here you can find example code for such a setup.
    I hope this helps.
    Kind regards,
    Jochen Klier
    National Instruments

Maybe you are looking for

  • How do you store parsed XML data in an array

    Hi, i am trying to complete a small program which implements the SAX parser to parse an XML file. My problem is that i am writing a custom class to store the parsed data into an array, and then make the array available to the main program via a simpl

  • Oracle Ias 9i and Apache - How connected?

    Hi everybody, here is my problem: i need to know how Oracle Ias 9i communicates with the Apache integrated in itself. I have to understand if i can redirect the requests to the Ias 9i through another Apache instance than the integrated one. This othe

  • Trouble with median function

    I need to use median function in fact table in my repository. In business model I have fact table with logical column(column where I used median function with name "MyCalculacion"). And I have Time dimension with column ("Year", "Quarter"(with value:

  • Hi Guys I am new to this, need a hand

    Okay so I have a video that is about 40 minutes long. I am making a short 3-4 minute movie. I transfered the video to the college's computer and then transfered it to an external HD and then transfered it to my computer. Now the video is 40 minutes l

  • Kernel panics when I wake up my Mac Pro from sleep mode.

    Hi All, This problem occurs about twice a week and has been happening for a few months. I have taken my Mac to two authorized repair centers and they can not find any problems. Both had the Mac for a few days and ran the hardware stress test.  I have