Incremental Encoder Velocity VI Help

Howdy Everyone,
I am currently working on a project that requires me to get the velocity of an incremental encoder with 2 channels A and B. I already have the counts for A and position but I still did not find any VI that calculates velocity. I am currently using a Wireless Data Aquistion System "WLS-9163" with NI-9215 module.
Any help would be really appreciated.
Thanks.
Mechanical Engineer

Velocity is:
Actual Sample - Previous Sample / Sampling Rate.
1.Create Channel: CI - Position Linear Encoder
2. The sample rate can be set using the Sample Clock Vi. One of the inputs is Rate.
3.Use Counter 1DBL 1Chan N Samples in order to set the number of samples read.
 This way you'll get an array with "position values" sampled using the specified rate (at 2.). So you have to compute:
pos[i] - pos[i+1] / rate  =>> velocity
Paul
PS: Sorry for VIs in German but I think it's easy to find them also in English, in DAQmx

Similar Messages

  • Incremental encoder, velocity, position and direction

    hi,
    A incremental encoder(With channel A and B)
    I know that the velocity is proportionate with the frequence of the pulses and we can find the position with a simple edge count. But it's a bit difficult to find out the rotating direciton even if the principe is very evident.
    are there any exemples for these kinds of application?

    PCI-MIO-16E-1 --> DAQ-STC --> see paragraphs concerning DAQ-STC in this
    file
    Unfortunately I have never used a SC-2345. But after a short overview of its specifications, it seems that you will need one SCC-FT01 to connect the A channel to the counter source and the other to connect B to the auxiliary line that will set the direction. See schematic in the file mentionned above. So your hardware will allow you to take this measurement.
    See this example to see how to configure a DAQ-STC counter for position measurement.
    1) Simple event counting
    2) Up/down counting. Direction is given by hardware --> auxiliary line of the counter (DIO6 for counter 0 and DIO7 for counter 1)
    3) Start the counter
    4) Read periodically the counter value
    5) Reset the task when finished
    Don't be troubled by the BNC-2120. Use your SC-2345 instead. Obviously you will need to adapt the number of encoder pulses/rev to suit your encoder.
    Add a shift register to store the position from one iteration to the other and compute the difference to determine the direction.
    If you want to add the velocity, than you have two options :
    1) If the accuracy must not be very high, then you can compute it (delta position / loop time).
    2) If you need high accuracy, then it will necessary to use the second counter to measure the frequency of channel A. In order to avoid errors due to vibrations it is recommended to use the LS7084 in this case.
    As you can see here, there are 3 methods to measure a frequency.
    Obviously, the examples will not work with your DAQ-card because the 660X is a NI-TIO type counter.
    If you want to measure the velocity at the same time than the position, then you will need to use the first method (Inverse period measurement) because the others will need 2 counters. (your card has only 2 counters and one is already used for the position measurement).
    There is an example of period measurement for DAQ-STC that ships with LV (Measure Period (DAQ-STC).vi).
    1) Single period measurement
    2) Source specification --> internal timebase
    3) Gate specification --> channel A
    4) Start task
    5) Wait for one pulse on Gate. I recommend to add a timeout to not enter in an endless wait if there is no pulse.
    6) Read number of pulses of the internal timebase.
    7) Check if counter overflow
    8) Reset task
    You will need to combine both examples in one vi.
    I hope this is clear enough to help you.

  • How to check a incremental encoder by multimeter

    hi
    i have a robotic machine i am facing problem in one convyer that convyer not taking step i have a dout on encoder i want to check that encoder  by multimeter how i can check it encoder make -- Baumer GI342 A707123. so help me to check this

    Hi amit1980,
    Let me make sure I understand you correctly-
    You have a machine that includes a conveyer. You have an incremental encoder and you would like to debug your system using a multimeter.
    When you wrote "that conveyer not taking step" do you mean that it is a stepper motor that is not moving at all?
    An incremental encoder generates pulses that overlap on the two lines. By counting the pulses and which order they occur on the two lines you can determine the distance, speed and direction travelled.
    If the motor is not moving at all then the encoder will generate no pulses.
    You can do a sanity check of your encoder with a multimeter. You can read the voltage of one of the tracks while you very slowly turn the shaft of the motor. Very very slowly. The rotor has to turn slowly enough that the multimeter will have time to detect the change in voltage. If you just spin the motor the pulses will happen too quickly for the multimeter to see them. This encoder has 2048 pulses per revolution. To be able to see one transition you would have to move the shaft 1/2048th of a turn.
    If you just want to make sure that the encoder is producing any pulses at all then you can just set your multimeter to AC mode and spin the motor. A non zero voltage while spinning will mean that pulses are being generated.
    If you need more information that this- such as the direction, whether the tracks are overlapping properly, or especially velocity- you will need to use a scope rather than a multimeter.
    Since the encoder only produces pulses when it rotates, if your motor really isn't moving at all then the encoder is not likely to be the problem and you should investigate further up.

  • Incremental encoder rotational acceleration

    I am trying to obtain acceleration velocity and displacement from an incremental encoder using labview 7.0. I am currently using an analogue input and a waveform measurement block to get a time period. The problem is that when the shaft is not rotating i get an error message saying the signal has not crossed the reference point enough times. Is there a way around this?
    I know differentiating the signal produces inaccurate results.
    I have have also tried connecting the signal to a edge count but cant obtain velocity and acceleration signals.
    any suggestions

    Thanks.
    We are setting up a moment of inertia experiment where a flywheel is accelerated by a mass attached to a cord which is wrapped around the axial. We are timing how long it takes for the mass to go from stationary to the time it touches the floor. The current experiment used stopwatches and assumes at time = 0sec velocity =0 seconds. Although I have been able to extract an initial velocity, my supervisor wanted it to start from zero to make calculation simpler for the students.
    Because the experiment is over in around a minute the sampling has been set to 1 second obviously the longer the sample times the less results I get. I want to create some kind of loop that will trigger when the first edge counts the timer starts. I May have just answered my question with this but if you have any suggestions would be useful.
    Do you know what the default number of pulses are that are required to for the waveform vi to work?
    I’ll have a look at the gated count. How do you ignore errors when the period is below a set value and how do you overwrite the signal?
     Thank you for your help!
    Tim

  • How do i use my NI 6216 daq to find a angular position of an incremental encoder

    i have a ni 6216 daq baord and an incremental encoder (i dont know the pulses per revolution of encoder). How do i write a labview code to get the angular positon of a motor wihch is interfaced with the encoder. How can i know the pulses per revolution of the incremental encoder.
    Thanks.

    Hi, 
    My name is Thomas and I am an application engineer at National Instruments.
    I looked through some of the information we have on file for incremental encoders and found a couple of documents that may be of help to you. 
    Follow this link for some general documentation on setting up an incremental encoder to measure the angular position of your motor.
    Follow this link for some example code off of which to build your application.
    As you alluded to, we are going to need to know at how many pulses per revolution your encoder runs. Which encoder are you using? With a bit of research we can hopefully learn the specifications for your specific encoder. 
    Best Regards,
    Thomas B.
    National Instruments
    Applications Engineer

  • Encoder velocity + min and max of velocity

    Hello!
    I use incremental encoder and PCI-6220 card. I need to measure angular position and angular velocity of shaft (rotation angle of shaft is from -80 to + 80 degrees (there is no complete revolution). For measuring angular position I am using DAQ Assistant (encoder is for position measurement) (see attached file LabView 7). But I do not know how to measure angular velocity of shaft and also maximum and minimum values of velocity (of course minimum value of velocity have to be zero, because rotation is clockwise and counterclockwise)
    Sergey

    My attachment
    Attachments:
    ENC.vi ‏48 KB

  • Incremental encoding

    I recently finished encoding a 2 hour iDVD project from iMovie on the Varsity Baseball season - It took nearly 4 complete days of computer time to finish this!!!! Needless to say - I missed my deadline for some of the graduation parties I promised this to!
    Now - looking at the DVD on a TV I wish to tweek the menu. Will I need to wait 4 days again to watch this re-encode the entire mess?
    Is there a way to incrementally encode assests of the project?
    As a second question - - I have an older PowerPC G4 Mac (1.25GHz with 3/4 GB RAM) What is the best platform for encoding? Are the new multi-core Intel Macs best? If I eventually upgrade my hardware, would I be better off with a multi-processor/multi-core PPC tower, or an Intel based Mac?
    What has more impact - amount of physical ram, available hard disk swap space and disk speed, or CPU speed?

    in addition to Len's advice...:
    the biggest "brake" while encoding is the size of free disk space! iDVD needs at last 10 - 15GB free on internal drive (ext. drives don't matter, to be precise: start-up partition, for people, who have partitioned their drives…)
    going under that size forces iDVD to do zilliones of read/write operations from/to RAM<<>>HD; and because we speak of >10GigaBytes, even a good portion of RAM doesn't help that much…
    other factors, as Len has mentioned are CPU (G4, G5, Intel, M/GHZ), RAM, HD speed, bus speed, usage of int. only/fw connected hd, and even content of project is time relevant…
    on my antique hardware (see specs), I have to calculate a factor of 8x - 10x for encoding a project… Cube computes at nite… 100% quite.... hmmm ;-)))
    Will I need to wait 4 days again
    you have to encode the whole DVD again, sorry to say that, but, cleaning up your drive (=>export some big space eaters to ext. drive), I'm sure it will be done much faster…
    helpful?solved?

  • Encoder displacement VI Help

    Howdy Everyone,
    I am currently working on a project that requires me to get the displacement of an incremental encoder with 2 channels A and B. I already have the counts for A but I still did not find any VI that calculates displacement. I am currently using a Wireless Data Aquistion System "WLS-9163" with NI-9215 module.
    Any help would be really appreciated.
    Thanks.
    Mechanical Engineer

    Thanks for replying. I am currently using the following code to measure A channel counts. I already tried and it is working properly for counting up and down.
    Mechanical Engineer
    Attachments:
    2.jpg ‏98 KB

  • What hardware do I need to monitor the signal from an incremental encoder?

    We are trying to implement a feeding
    solution for one of our cutting machines and I’m not quite sure how to proceed. 
    I have attached a document from the NI website that outlines exactly what we are
    trying to do but does not go into detail on any of the concepts like programming
    and implementation.
    1.) We have a NI DAQPad-6015
    connected to a SC-2345 which has one SCC-CTR01 module installed.  Which this
    configuration can we read the incremental encoder signal and use to setup our
    cutting machine as outlined in the attached document?  If not what is the
    minimum amount of hardware we need to sample the signal from the incremental
    encoder and obtain both the direction and magnitude of the
    movement?
    2.) If we wanted to use the
    information obtained from the encoder and subsequently send a signal to a
    stepper motor controller or perhaps a PLC what additional hardware would be
    needed.
    Thanks,
    Chris  
    Attachments:
    Incremental Encoder Example.pdf ‏94 KB

    Hi Chris,
    For quadrature encoder measurements your
    hardware is not the ideal equipment. The 6015 doesn't provide X4
    decoding. That means, that the board counts only one raising edge of
    one phase. Still, if you connect phase A and B to the counter inputs,
    it will count up and down, depending on the direction of the axis, but
    as already mentioned, you will loose 75% of the available resolution. Here is some more information about this topic.
    The document that you are referring to recommends a PCI-6624
    and this is in fact a much better option. This board provides X4
    decoding and isolated inputs not only for phase A and B but also for
    the Z-index (not available for the 6015).
    If you need a USB-solution and if you can work with TTL voltages, you might have a look at the USB-6218, that provides isolated I/Os.
    For motion control there are various options. E. g. you could use an NI motion control device like the PCI-7332,
    but there are also options to communicate with external motion
    controllers through CANopen, RS232 or various fieldbusses. Depending on
    the solution that you choose, you may need a bus interface that
    provides support for your programming software.
    I hope that helps,
    Jochen KlierNational Instruments
    Message Edited by Jochen on 09-24-2008 09:24 AM

  • Incremental encoder: reset counter on pci 6014?

    I want to connect an incremental encoder with A, B and Z to a PCI 6014 card. I found some VI's for counting A and B (DAQmx->Counter->Count Digital Events; DAQmx->Counter->Measure Posititon) . However I can't figure out what to do with the Z. Is there a way to reset the counters by Z? (I am using labview 2009)
    Thank you very much!

    Sorry, my fault. I didn't see you have an E-Series device.
    Resetting your counter with a digital trigger is possible for Counter/Timer devices but not for your PCI 6014.
    You can reset the counter with DAQmx by stopping and starting the task again. You could read your Z index on a digital input, if the input goes high (or low) you could reset the counter.
    DAQmx: Count Digital Events with Option to Reset Counter
    http://decibel.ni.com/content/docs/DOC-6576 
    I think this is the only way for the PCI 6014. Since you have to go through several software layers, the performance goes down a bit. If it is possible, i would recommend to change to a M-Series device...
    Cheggers
    Sascha E.
    Group Leader Applications Engineering
    National Instruments Switzerland

  • NI Motion with incremental encoder and precise position

    I am currently working on a project that requires me to get the precise position (mesure) with an incremental encoder with 2 channels A and B. I am Using NI Motion, NI UMI-7774,NI PCI 7550, and Labview 10 

    That should work!

  • NI Motion witth incremental encoder and precise position

    I am currently working on a project that requires me to get the precise position (mesure) with an incremental encoder with 2 channels A and B. I am Using NI Motion, NI UMI-7774,NI PCI 7550, and Labview 10

    Hey that's great!
    I think you're in the wrong forum: http://forums.ni.com/t5/Motion-Control-and-Motor-Drives/bd-p/240
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~

  • I want to measure rpm using 100 ppr incremental encoder via digital input

    i want to measure rpm using 100 ppr incremental encoder  via digital input max speed (4000 rpm)
    am using 9178 c-DAQ chassis and 9426 digital input module
    pl provide me example code for this

    Hi asaccullo.
    The recommended settings for encoders are using the counters in the daq cards. Using digital I/O’s is not recommended, the encoders send digital signals but one of the main differences between using digital IO vs counters is that counters are designed to handle these type of events.
    Here I found several examples in ni.com/code that you might check:
    Imitation Quadrature Encoder with DAQmx Counter Tasks
    Use Counter Frequency to obtain an Encoder Rotational Speed
    An Elvis is a daq device, so this should work for you.
    I also found an example for myDAQ, it uses the DIO but with a counter task in the set up.
    Regards,
    steve.bm
    AE | NI

  • Burning a DVD - keep getting encoding errors message, help?

    I have a video that I made out of videos, photos, and music that is less than an hour in length.  I selected highest quality b/c it was less than the available 4.7 GB of available space.  It took over a day to burn and at the very end it gave me a message saying that it was having encoding errors.  Help!  I am trying to burn it again at reduced quality, but prefer to have it at highest quality.
    Thanks,
    savageclan7

    savageclan7
    Let us get the details into perspective and then we will advance from there.
    What version of Premiere Elements are you using and on what computer operating system is it running?
    What are the properties of the video that went on that Timeline....video compression, audio compression, frame size, frame rate, interlaced or progressive, file extension, pixel aspect ratio....photos - how many and what pixel dimensions??
    Based on the properties of your source media, what did you or the project select as the project preset?
    When you go to the burn dialog for your burn to DVD, what did the quality area of the burn dialog show for Space Required and Bitrate (with a check mark next to "Fit Content to Available Space"? The only time I would work without the check mark there is if I was getting Data Rate Error message and I had to set the Bitrate manually to move forward.
    What is the exact wording of the message(s) that you are getting once you hit Burn in the burn dialog?
    Let us start here and then we can decide what next.
    If you need clarification on anything written, please do not hesitate to ask for that clarification.
    Thank you.
    ATR

  • 7344 with the incremental encoder

    Hi
         The system uses the 7344 control and UMI7764 with the incremental encoder feedback. Before the system is power off, I want to record the value of the encoder to the flash ROM of the 7344. Then next time,  I can read  this value to know exactly the status of the system when it is power on.
          But the question is that it doesn't work when I try to solve this with the Object Management nodes. So, will you please give me some instructions or maybe some example code like this?
          Thanks in advance!

    Could anybody please give some instructions?
    Thanks!

Maybe you are looking for

  • Delivery date changed 4 times-called to ask what is going on and then best buy cancelled order

    I ordered a 55 inch aquos  with free ROKU stick for $599.00 on Sept. 22   (removed per forum guidlelines) and got a confirmed delivery of Sept. 26.  Unfortunately, I received a call in the morning of the Sept. 26 and was told that delivery was pushed

  • Error  while migrating object from PI 7.0 to pi 7.1

    Hi All, I am migrating IR and ID object from PI 7.0  to PI 7.1 using file system. IR oject got imported sucessfully in ESR but ID after importing when i tried to activate the objects in change list i am facing the following error. Does anyone have an

  • Smart mailboxes not working after latest update

    My smart mailboxes are all showing empty, including one whose entire duty is to show unread mail. How do I restore their functionality?  I did the index build but from what I can tell that does not affect smart mailboxes.

  • Saved Queries in Business Partners not working

    Hi All, I have 2 saved queries that populate the following Business Partners fields with default data: Group - I have a default group for a Vendor and a different default group for a Customer ShipType - I have a default Ship Type for a Vendor and a d

  • Orders/Notifications assigned to a personnel Number

    I need to get all the orders and notifications assigned to a personnel in plant maintenance. Can anybody suggest me the tables where I can query and get the orders and notification assigned on personnel Number. This Personnel Number get populated aga