cDAQ-9178 & NI 9401 - ASM: incremental Rotary encoder works is not beyond a certain frequency

I use a chassis with a NI 9401 DIO module 9178 cDAQ.  I'm trying to convert the output of a rotary incremental encoder ASM (in radians) to rpm.

Sensing head (PMIS4-20-50-240kHz-TTL24V-Z0-2M-S)

Snap ring (PMIR7N-20-50-M-20)

The encoder outputs 2500 pulses per rev (output 5V TTL).  The maximum speed which will see the encoder is 2800 rpm, which is equivalent to 2800 RPM * 2500ppr/60 = 116,667.67 Hz in terms of frequency.

Since the NI 9401 of the operations specifications:

Maximum of the input signal switching frequency by the number of input channels, by channel

8 input channels... 9 MHz
4 input channels... 16 MHz
2 input channels... 30 MHz

I use only 1 channel, so I'm assuming that the 9401 should be more than capable of handling the 116kHz which the ASM encoder is spit.

Everything works fine until about 2100 RPM (~ 87, 500 Hz) but then I begin to see a drop in rpm, followed by a flattened behavior, then a slight increase. But never more than 2100 RPM.  Our test unit is inspected for other reasons at the moment so I can't produce a plot of the behavior (I can reupload later).  I think this must be a matter of aliasing with the meter or something of the sort.  I have a digital filter set in place with a minimum of 4.0E pulse width - 6.  It is two times smaller than the width of minimum pulse at a frequency of 116kHz (0.0000085714).  I don't think this should have an impact on the calculation.

Any suggestions? This value of RPM is essential to our application.

Thanks in advance,

-MB

brown_ktr wrote:

I have a digital filter set in place with a minimum of 4.0E pulse width - 6.  It is two times smaller than the width of minimum pulse at a frequency of 116kHz (0.0000085714).  I don't think this should have an impact on the calculation.

A 116 kHz frequency, the period is ~8.57 us, but the pulse width half duty cycle of 50%.  Ascent/descent time factor, and it is quite possible that 4 US is too long for your encoder signal.

The shape of this graph supports this theory, if we consider that there is variation in the exact pulse of each encoder pulse width.  The shortest pulse is ignored when the filter starts to kick in, and the speed of ROTATION increases pulses longer and longer are ignored then as well.

Try to decrease the minimum pulse of digital filter (US 2 or even 1 US) width and see how it goes.

Best regards

Tags: NI Hardware

Similar Questions

  • TTL NI 9401 edge work but not able to count frequency

    Hello world

    I have a CompactDAQ, and a NI9401. I used this hardware with labview to control the speed of the crankshaft. My sensor (optical) output a square wave, amplitude 0 - 5v, TTL compatible.

    I check on an oscilloscope it is perfectly shaped tooth.

    I connect to 9401, and I try these 2 simple .VI attachment and weirdely,.

    the counting of edge work perfectly (and the increment speed matches the speed of the crankshaft)

    But, the frequency meserment or pulse with or period, do not work

    Anyone has any idea why?

    (I struggled for 4 hours and I did not understand it)

    Thank you very much for your help,

    Guillaume.

    Hey, I found my problem,

    I need to plug the wire into the line 5 instead of 4

    I chose ctr1 for example and then count dashboard ONLY works on number 4 and the frequency, period measuremnt etc work only on line 5.

    hard for me.

    Welcome,

    Guillaume.

  • Difference between the cDAQ-9174 and cDAQ-9178

    I have several cRIO-9081.  Each cRIO-9081 running NOR-DAQmx 15.5.  On four of the cRIO-9018 we show you cDAQ - 9178 with 8 modules.  Everything just worked.  On the fifth cRIO-9018, we tried to connect a cDAQ-9174.  The aircraft appeared in the Windows Device Manager and MAX, but MAX has indicated that the aircraft was missing (error-88705) and that Windows can't find a driver for the instrument.

    We then plugged a cDAQ-9178 in the fifth cRIO and everything just worked.

    What is the difference between a cDAQ-9174 and cDAQ-9178 other than the number of the module support?

    Paul

    Hi Paul,.

    It seems it could be a driver problem! What DAQmx version you have installed on two computers? Reinstall the latest version may be worth it because it looks like there may be corruption. You can find the latest version here: http://www.ni.com/download/ni-daqmx-15.5/5901/en/

    You can manually associate the device driver, here: http://digital.ni.com/public.nsf/allkb/5B80CAAA64413B4C86256C5E0000C1A7

    There are modules connected to the cDAQ chassis?

    Also, sometimes, this can happen if you do not restart your computer after the installation of the NOR-DAQmx driver. Restart your computer after the driver installation will allow you to reserve the device successfully. Here are a few others not to try:

    • Check the charger to device OR to see if it is running

    • Reset the service OR charger

    • Reset the MAX Configuration database

    • The system power cycle

  • new cDAQ-9178 chassis was smaller than the cDAQ-9172 old buffer?

    Digital waveform features:

    Waveform acquisition (DI) FIFO for cDAQ-9172: 2047 samples

    Waveform acquisition (DI) FIFO for cDAQ-9178: 127 samples per slot

    This means that the new HW (9178) has a much smaller than the old buffer (9172)!

    I want to run a correlation over generation/acquisition at 2 MHz with 2000 samples. Does this mean that the new chassis will not be able to acquire the whole of the data (I use a NI 9401 module inside the chassis)?

    FIFO sizes are misleading and not a true indicator of the chassis supporting the streaming is not the single buffer.  We did some tests comparing the latest and cDAQ-9172 chassis.  You will not notice the difference, especially with your application to a finished task of 2 000 samples at 2 MHz.  With 2 000 samples, you can run your DI task on your chassis cDAQ-9178 at 10 MHz if you wanted without problem (don't try with continuous or even finished tasks).

    The only time where the FIFO size really comes into play is when you run a primary task at high rates, say > 5 MHz, even if it is system dependent.  At these speeds a FIFO that is deeper 2 000 samples you buy only tens or hundreds of additional microseconds when Windows jitter is measured in milliseconds.

    I would be very surprised if there is a practical application that worked on a cDAQ-9172 chassis which did not work on newer USB cDAQ chassis.

  • Slow outputs analog on the cDAQ-9178

    My control of the C language application calls the DAQmx API 200 times per second to update some AOs, using the following call:

    DAQmxWriteAnalogF64 (taskHandle,

    1, TRUE, 0.0, DAQmx_Val_GroupByScanNumber, data, NULL, NULL);

    On a system with a single chassis cDAQ-9178 and two modules OR 9264 AO, it works correctly with a task of up to 4 channels. If I add channels to the AO job, the flow slows down below 200 Hz (5 ms). Here are the times:

    Chans ms

    8 6.8

    16 13.4

    32 26.9

    How can I write 1 sample per channel, more than 32 channels, all 5 ms? It's a control application that meets the entries, so I can't write several samples per call.

    Thank you.


  • cDAQ 9178 simultaneous independent loops counters?

    I have a cDAQ 9178 wherein I am scanning in various mainly analog channels, but also unique sending digital outputs. These tasks are started during the execution of the program and basically scan continuously, filling variables according to the needs.

    In addition to this, I needed to count impulses and the only way I managed to do that work was to begin the task of counter when necessary, and then stop it. This happens at the same time (within a state machine) and works very well.

    Now, I want to add a second counter, which will take place if necessary (same scenario, task of beginning, read the pulses, work stoppage).

    So in summary, I have to:

    Main outputs and analog loop, digital inputs, tasks began before the great loop and continuously, work stopped only after the termination of the program. (works fine)

    Counter task began when necessary, stopped when necessary, of the main inside while loop. (works fine).

    2nd job counter starts when necessary... (I was wondering if it will work)?

    Should it be a problem?

    Jeff

    Hi Jeff,

    I don't think that you will have problems with that.  To test this, I took an example of the meter and it - create two tasks, each using a counter of the device even duplicated and I has not encountered any errors.  That said, the best way to check for your application would be to add a second straightforward and test it.  As long as it works, there is no problem even if your final configuration can be much more complex.

    Kind regards

    Trey C.

  • How to give the option to the user to select the measures of temperature or voltage with NEITHER cDAQ-9178

    Hello. I wrote two programs for the NOR cDAQ-9178 that work perfectly, but now I would like to combine... and users the ability to perform a measurement of the temperature (module NI 9214) or a measure of tension (NI 9201 module). I tried to use an Enum to a case Structure control, where the

    user can choose either 'Measure the temperature', or 'Measure the tension', but during execution of the program, only the before user input panel opens and the program stops. Could someone please look at the code below and give me advice on the placement of my two programs in a structure of case? Each program contains two screws... a Subvi user input and a measure vi. Is it possible for me to drag the temperature and tension screw in the structure of matter? Thank you.

    FYI - I am reposting this, because I couldn't get tethering to work on my previous post

    I found my solution. I had to right click on the Subvi vi... 'Subvi node Setup' and select set the front panel

  • Bad analog output help Every_N_Samples-NI-9263 cDAQ-9172 chassis (works with cDAQ-9178 chassis)

    Hello

    The NOR-9263 analog output voltage geberation works correctly with the cDAQ-9178 chassis but gives wrong result using the chassis NOR cDAQ-9172.

    In the attached code example, a single cycle of a sine wave is composed of 40000 samples and came out in the background using Every_N_Samples at a rate of production of 5000 samples per second.

    The output buffer size is set to 10000 samples.

    Prepare us the buffer writing 10000 samples 1, then write the remaining data in the background using the Every_N_Samples callback.
     
    Bug: Using the cDAQ-9172 chassis, to the 5000 s/s sampling rate with the help of an external field (or through closure to another HAVE), we observed that 1 10000 samples came out twice, followed by the rest of the waveform. The last 10000 samples are never exits. If you are working properly, we would expect to see 1 full cycle of a sine wave.

    The bug does not occur with the chassis NOR cDAQ-9178. I use the driver NIDAQmx v9.2.1f0 on Windows XP
    The bug does not happen with simulation devices, so you will need to use harwdare real to reproduce.

    Please find attached an example of code C based on the example program OR "ContGen - IntClk.c" to reproduce this bug.

    Thank you

    whemdan,

    The MathWorks

    Hi whemdan,

    By default, DAQmx regenerate old samples if no new data is available.  To give the correct behavior, you can:

    Use DAQmxSetWriteRegenMode to disable the regeneration (DAQmx_Val_DoNotAllowRegen).  In most cases, this is recommended if new data are written continuously in the buffer as the build is in progress.

    If you just need to generate 40 k samples, you can write them just all at once, rather than in 10 pieces of k (the code you attached probably is just an example, so I'll assume that you have a reason to write the data into segments in your actual code).

    I think the difference in behavior between 9172 and 9178 can if explained by the different way, buffering is set up on each product.  The 9172 uses a buffer of 8 k (on the STC2) in all cases (source).  The 9178 uses an 8 k of memory buffer (on the STC3) If you use regeneration shipped, but uses the 127 samples FIFO cartridge, if you use no on-board regeneration (source).

    Then... on the 9172 8191 samples are immediately transferred to the FIFO.  By default, the hardware is going to request new data when the FIFO is less to fill (this is configurable with DAQmxSetAODataXferReqCond).  I'm not sure what the transfer data request size is in your case (you can set the maximum value with DAQmxSetAOUsbXferReqSize), but obviously it is bigger than the other 1809 samples that you have not yet sent to the Board of Directors of your first entry.  At this point, the pilot will regenerate 10 existing k samples so that sufficient data will be available to meet the demand of data transfer.

    The 9178 however use the FIFO of 127 smaller samples so you will not have the same behavior in your case.

    In summary, the behavior is explainable by the difference of material.  If you want to avoid to regenerate old samples, you should ban the regeneration using DAQmxSetWriteRegenMode.

    Best regards

  • Connect a cRIO-9081 a cDAQ-9178

    I want to connect a cDAQ-9178 chassis to a cRIO-9081USB port.

    The cRIO-9081 has Windows Embedded 7 on it.  I wrote a LabVIEW FPGA program that is loaded in the cRIO FPGA.  Once started the FPGA, FPGA ignores basically on the side of Windows, very minimal data exchange.

    I want to use the side WIndows to run a program cDAQ.  I have to do it this way because the cRIO has 7 modules inside and the cDAQ has 7 modules.

    Whenever I insert the 14.5 of NOR-DAQmx CD into a CD drive on the cRIO, I see that the cRIO drivers.  How can I get the cDAQ drivers installed?

    I was able to work around the problem by copying the DAXmx on a USB and install from there.

  • Why NEITHER cDAQ-9178 isn't in the DAQmx device simulated in MAX?

    Hi all

    I want to create a device that simulated for cDAQ-9178. But Max, I could not find it. It lists only NOR cDAQ-9172. I have the version of NOR-DAQmx 8.9.5.

    Thank you

    Raja

    LV 2009

    Hello Dennis,.

    NEITHER cDAQ-9178 is listed under DAQmx 9.0.2 supported device.

    Thank you

    Raja

  • Media Encoder CC will not install with PPCC on Mac OS 10.9

    After many tests after update to the Mavericks to install Media Encoder CC, there not every time. When trying to make projects in first Pro CC a screen will appear that says I use an older version of Media Encoder and need to update so I'll update and is says I have the latest version. I also have Media Encoder CS6 installed on the Mac which appears under Applications but MECC does not work. So, I tried about three times to unistall that first Pro CC via the CC cleaning tool and reinstall, MECC still does not appear. Any thoughts?

    What Adobe CC applications you have on your system?  If you have more first Pro CC, it would be a good try all uninstall them first before reinstalling.  Adobe Media Encoder is packaged in several applications as the first Adobe AfterEffects, prelude, Flash and InDesign.  You may need to uninstall all applications that harnesses SOUL.  Also, when you uninstall, could you uninstall via Windows 'Programs and features', rather than use the CC cleaning tool and see if it helps?

  • The installed Adobe Media Encoder product has not been activated.

    My Adobe Media Encoder CS4 worked perfectly.

    I exported even a video one morning and afternoon, he refused and gave me the following message:

    "Thank you for using Adobe Media Encoder CS4.". The installed Adobe Media Encoder product has not been activated.

    Please launch and activate this Adobe product before continuing to use Media Encoder"

    I reinstalled a couple of times, but nothing has changed.

    I uninstalled and installed CS5, it launched once and then gave me the same message all over again.

    I even tried to install it on another computer and it gives me the same result.

    I have worked on this video more a month, and I can not export it.

    Can anyone help? I have a deadline to meet

    Thank you very much

    Go to:

    C:\Program Files\Adobe\Adobe Media encode CS6

    remove the amtlib.dll

    Reach:

    C:\Program Files\Adobe\Adobe Premiere Pro CS6

    amtlib.dll copy from there to:

    C:\Program Files\Adobe\Adobe Media encode CS6

    If you are using 32-bit versions or earlier version CS6 then choose the correct folders for your case.

  • 9401 counting by quadrature encoder error

    I use a 9401 module in a chassis 9188 to measure the position of a tree in 1E6 County/rev. The signal is an AQuadB emulated from an AKD Kollmorgen servo drive. My problem is that when the player is turned on, the noise it makes picked up as very positive figures by the 9401. The player has outputs RS485 but my cable length is short and well armored, so I thought it would work very well. It is wired like this:

    9401 CTR1 channel

    A +: 9401 pin 20

    B +: 9401 pin 23

    GND: 9401 commune

    The cable shield: 9401 commune

    Is this product because the encoder signal is differential, or is my bet to the ground/shield OK? If I disable the encoder entirely the 9401 picks up a zero solid. Should I use a kind of RS485 converter to TTL?

    In addition to the advice of John to help protect against digital noise, I also recommend that it would be a good idea to convert the differential asymmetric TTL formally.  I had opportunities in the past where I had an ambivalent connection channel differential encoder of 5V to a DAQ card and often, it would work properly.  But there have also been moments where differential signals (-) were trying to drift over the other while being tied to the digital earth common DAQ, causing sporadic but strange counting behaviors.  At least that's the diagnosis I'm come up with at the time.

    These questions disappeared immediately and permanently after putting in a differential to the TTL converter.  Here is a link to the productI used (and then successfully reused on the following projects).  Just check the specifications of your particular differential signals compared to what this product is to spec'ed to manage.

    -Kevin P

  • Incremental Quadrature encoder

    Hello

    I use an encoder incremental quadrature.

    I ran the position.vi of angular measure in the examples to find > measure angular position.vi

    However, I always get the angle between within 360 degrees.

    How to obtain the more than 360 degrees (i.e. If the tree goes more than a tour)? I don't want to see after 360 degrees, then it return to 0 degrees. 1 degree etc.

    Can someone change the position.vi of angular measure to accommodate the jumps from 360 to 0?

    Thank you.

    You have the encoder in front of you?  Give it a try.  Spend some time to learn about the counters and encoders.

    You will get no help from me until you demonstrate that you are ready to follow a proper forum etiquette.  Don't send personal messages.  Two months ago you sent me a personal message and I explained to him that you should rather post on the forum.  Yet you did exactly the same thing again today.  If I had noticed that you sent me a personal message before posting the same question in the forum, I would not respond at all.  Then, when you do not have an immediate response later in the thread, you followed up with another personal message containing exactly the same content.  This is not the right way to get help here.

  • Sampling frequency for digital sampling (cDAQ-9172 & NI 9401)

    Hello!

    I have a cDAQ-9172 with NI 9401 C-series (digital) module. I would like to taste the digital inputs with a sampling frequency of e.g. 400 or 200 kHz. My problem is that I can only choose a clock 100kHzTimebase and therefore only get a sampling rate of 100 kHz. The 20MHzTimebase clock is too fast, as it gives me a sampling rate of 20 MHz). Is it possible to get a defined user e.g. 200 kHz sampling frequency, dividing for example down the clock of 20MHzTimebase?

    Thank you! Last post and this article using the internal one or cDAQ chassis counters has solved my problem.

Maybe you are looking for

  • Restore the HP Slate 7 hd 3403 are

    Hello! I get error when you apply update.zip downloaded from your support page. Assert failed! less_than_int ro.build.date.utc getprop Why can´t I plant my camera flash? I ve watch autour and google that and I read that something is with the date and

  • Cannot install on my new computer 10 Diadem

    To whom it is I got a new computer and tried to install my software Diadem 10.0 on this. At the same time, I have received our central system at Volvo Labview but missed the license. I then installed Diadem 10.0 and it worked. Then, my problems start

  • RIP a DVD

    I have a House for movies on DVD that I can play through Windows Media Player, but cannot pull them up on the hard drive or on an external drive. Am I right that it is impossible without having to download specialized software? If so, which? Y does i

  • My wordpad windows application has stopped working! How to operate?

    My wordpad windows application has stopped working! How to operate?

  • loading soundcards 10

    When I try to load windows on my Sony Vaio VGN-FW48E 10 he gets with 32% and locks upward.  The only way out is to power down, when I turn it back on to its tells me there is an error and refills windows 7. C1900101 error code. I tried 4 times and ev