Speed measure with DAQ, how to override the noise

Hello.
I try to measure spped using the counter input. My VI didn't work, so I look at the singnal I get from the encoder and I saw, I get a lot of noise in my signal. That's why program shows wrong values. I connect my signal between PFI8 and DGND on my DAQ 6212. My encoder (torque transducer) gives me 60 pulz/revolution. Is it possible to nullifythe noise with program, or there is a problem with ground. I tried many different ground options, but didn't work
Hope you have any idea.
Thanks a lot.
Simon

Hello Mateusz. Thank you for responding me.
You can see my signal taken from scope and check my vi file. Noise causes regulator of the motor I drive. If regulator is switched off there is no noise and if I turn my motor by hand, I get correct values of velocity, but when I turn on the controller, I get full of noise in my signal, so DAQ card reads all those noise as many signals, so it displys velocity much greater than it's real. I moved my daq card away from controller as much as possible and used coaxial cable, but noise still appear. I hope you have any idea.
I hope you don't mind, because notes in my vi are written in my language. I just wrote them, that I can see what I was doing.
Regards. Simon
Attachments:
DAQmx velocity.vi ‏45 KB
scope_0.JPG ‏118 KB

Similar Messages

  • Speed measure with DAQ and torque transducer

    Can anyone tell me how to convert the voltage i get from torque transducer, which can measure torque and velocity eather. I made a program with labview, but it gives me some voltage. I'd like program converts me that voltage to a velocity. 
    Thanks for answers.

    First of all, we need to deeply understand the signals we receive from the sensor.In my opinion, the information from the datasheet is not the most comprehensive
    Sensor requires  12V DC, 160mA excitation.
    Torque: 0V-10V, -10V-0V  depending on direction - should be connected to AI
    Speed 60 pulses/rev - should be connected to counter 0
    Angle 360 pulses/rev (two signals- angular encoder) - should be connected to counter 1
    What I would recommend is you started with LV examples for:
    Hardware Input and Output -> DAQmx 
    Torque - Analog measurements  and then scale the signal to result in strains   
    Speed - Counter Measurements -> Digital Frequency
    Angle  - Counter Measurements -> Position
    Please find the proper example, scale them properly, make each work individually and in the end, integrate the three examples into one single application,
    Mircea

  • Speed measurement with PCI6601

    I am building an application for measuring two linear encoders ( micrometers ) and one quadrature encoder for measuring speed of one motor.
    At the moment I can read the two linear encoders with the "position measurement" option for the PCI6601.
    But I have trouble to calculate in an easy way the speed of the rotating motor in RPM.
    Could anyone have any easy solution for doing this?
    Thanks
    Massimo Visintin

    Massimo,
    A few notes in no particular order:
    1. Re: future use of last counter for another speed measurement. With the 6601, you only have 1 DMA channel available for buffered measurements. A second buffered measurement would have to be manually configured to use interrupts.
    A buffered measurement will give you much better precision, but you may be better off starting with a simpler unbuffered approach when getting started.
    2. How accurately do you need to measure speed? And how often do you need a new measurement? It sounds like you're reasonably happy with a simple speed estimate made about once per second.
    3. Have you considered making a separate loop for the speed measurement? You could simply read the count once per second (unbuffered) and put it into a shift register. Then estimate speed as delta counts divided by delta time. A small enhancement would be to also store the time from 'Tick Count (msec)' on each loop, and use a measured delta time rather than an assumed one in the calculation.
    Note that with this method, it's best to run unbuffered to avoid the lock-up problem you saw. It'll also be simpler to add your second speed-measurement counter task in the future.
    4. Again, there *are* solutions available involving precise buffered measurements. I recently posted a DAQmx-based example that includes an instant-response buffered read (toward the end of this thread.). But I'd recommend first getting a simpler approach to work, then coming back to the buffered measurements later when you're sure you need more precision.
    Good luck!
    -Kevin P.

  • How to override the default height of tree component...

    Hi,
    Can anyone please tell me how to override the default height of <af:tree> component.
    Actual Problem:
    I have a PanelBox in which I have a ShowDetail component. ShowDetail contains Tree component. When I click on ShowDetail item the Tree component have to be displayed. But, PanelBox is expanding to TREE default height(27.27 ems) instead of expanding to exact height of Tree.
    How to manage this issue?
    Thanks
    -Sukumar

    Did you already try
               <af:treeTable value="#{bindings.DashProjectPhasesDev.treeModel}"
                                  var="node"
                                  selectionListener="#{bindings.DashProjectPhasesDev.treeModel.makeCurrent}"
                                  rowSelection="none" rowBandingInterval="0"
                             inlineStyle="width:810px; height:1100px;"> Check the last line with inlineStyle...
    Julian

  • HT201441 If the previous end-user passed away suddenly and did not leave the password word with anyone, how then can the device be wiped?

    My company issues iPads to certain staff for their line of work.  If the previous end-user passed away suddenly and did not leave their iCloud password word with anyone, how then can the device be wiped.  Currently we cannot turn off the iCloud, change the user, update the iOS, nor update our apps.  Can the local Apple Store assist in some way?

    I think Winston hit the nail.  I imagine the issue is you allowed the person to set up personal and private accounts on the device, not corporate controlled accounts.  As such, regardless of your ownership of the device, Apple will not release or change personal or private account-related information to you.
    Whether they would or not to a direct family member, I do not know, but I highly doubt they will (or legally can) do so to you as the employer for a personal account.
    I know such instances have come up in the past with things like company phones and such, both involving Apple as well as other companies.  The reported results in news articles were always that private information is private, and if companies want access or control, then they need to restrict employees use to only corporate provided accounts and services.

  • One of my kids changed my password, and now i can't access my mail accounts. Any ideas on how to override the password and set up a new one?

    one of my kids changed my password, and now i can't access my mail accounts. Any ideas on how to override the password and set up a new one?

    A mail account password or you login password?
    Which OS by the way?

  • Can I measure with DAQ NI 6115 differential signals with a value of 0-5 V? ( ACH0-3 - is then outside the spec of +-2.5V)

    I have to measure differential signals (0 to 5 V level). Unfortunately the maximum working voltage of the analog input channel of NI 6115 S-serie - is +-2.5 V. What will happen? Will the performance of the NI 6115 decreases? And - can I get an error when I connect fast signals to - (!), because the inputs are pseudodifferential?

    Hello matops,
    I don't think you should be running into any type of problem trying to measure a 0 to 5 V differential signal using the NI 6115. The maximum working voltage for the negative input is specified at +-2.5 V, meaning that you can have a maximum common mode voltage of 2.5 V in your measurement system. However, the maximum working voltage on the positive input is +-11 V or +-42 V, depending on your voltage range. If you are going to be going above this limit, then you may want to reconsider your measurement setup as you could damage the hardware.
    Though pseudodifferential signals are usually composed of a signal on the - input that is slow to change, the 6115 is specified at a maximum sampling rate of 10MS/s, and thus I think it is going to be OK to co
    nnect a fast signal to these inputs (depending on what your definition is of a fast signal).
    Hope this helps.
    Jared A.

  • How to override the create method invoked by a create form?

    Hello everyone, I'm using ADF Faces and have the next question:
    How can I override the create method which is invoked by a create form to preset an attribute in the new row (the preset value is not fixed, I have to send it to the method as a parameter as it is obtained using an EL expression)?
    In the ADF guide I read how to override a declarative method (Section 17.5.1 How to override a declarative method), but this explains how to do it with a method that is called by a button. I don't know how to do the same with a method which is called automatically when the page is loaded.
    I also tried overriding the view object's createRow() method to receive a parameter with the preset values but it didn't work, I believe that was because the declarative create method is not the same as the view object's createRow. This caused the form to display another row from the viewobject and not the newly created one (I also set the new row into STATUS_INITIALIZED after setting the attribute).
    Well, I hope my problem is clear enough for somebody to help me.
    Thank you!

    Hello,
    I'm not sure you can do it with standard generated Create Form.
    In your view object you'll need to create your own create method with parameters, publish it to client interface and invoke instead of standard generated create action in page definition.
    Rado

  • How to override the default "required" attribute for the UIComponent?

    Hi, consider the following markup: <h:inputText id="txt_firstName" value="#{myBean.firstName}" required="true"/>
    if I leave this field empty and hit the submit button, the required validator will fire an error msg. If however, I leave an empty space in the text box and hit submit button, it will go through no problem.
    I'd like to override the required attribute, so it will trim the spaces first before decide if it really is empty:
    //whatever the name of the method i'm overriding....
    String value = (String)value;
    if(value==null)throw new ValidatorException(whateverDefinedInTheBundle);
    value = value.trim();
    if(value.length==0)throw new ValidatorException(whateverDefinedInTheBundle);
    How can I go about doing that?
    Thank you.

    Did you already try
               <af:treeTable value="#{bindings.DashProjectPhasesDev.treeModel}"
                                  var="node"
                                  selectionListener="#{bindings.DashProjectPhasesDev.treeModel.makeCurrent}"
                                  rowSelection="none" rowBandingInterval="0"
                             inlineStyle="width:810px; height:1100px;"> Check the last line with inlineStyle...
    Julian

  • How to override the default delete operation

    Hi,
    I am new to Jheadstart, java coding for that matter.
    Here's my situation,
    I have a view which is based on a function (function returns a collection).
    I have created instead of triggers on this view to perform insert/update/delete operations.
    All these DML operations work as expected in Oracle database.
    Now, I created an Entity object and a view object on this view in my jheadstart project.
    When I run this Jheadstart application my insert and search operations run fine but update and delete operations fail with JBO-26080 error.
    The underlying oracle error is "ORA-02014: cannot select FOR UPDATE from view with DISTINCT, GROUP BY, etc."
    I know that delete and update operations work fine in Oracle and hence I would like to override the default Jheadstart operations. Can any body tell me how can I do it or point me in right direction?

    Hi,
    From the JHeadstart Developer's Guide, chapter TroubleShooting - Problem Assessment:
    If you are getting a JBO error (Business Components for Java error), try to perform the same data retrieval or data manipulation action using the BC4J Tester. You can
    invoke the tester through a right-mouse-click on the BC4J application module. If you get the same error using the BC4J tester, the problem is in the BC4J object definitions. If you added business rules, or other custom code to your BC4J objects that executes during your data retrieval or data manipulation action, you can debug this code line-by-line by running the tester in debug mode. You can also look up the JBO error in the JDeveloper online help, for each error possible causes and how to solve them are described.
    It sounds to me like you will also get this error in the BC4J Tester. This means that the problem is not related to JHeadstart. You can go to the JDeveloper discussion forum http://otn.oracle.com/discussionforums/jdev.html and ask your question there without mentioning JHeadstart. Maybe there is some switch you can set in the BC4J object to let BC4J not use SELECT FOR UPDATE.
    Hope this helps,
    Sandra Muller
    JHeadstart Team

  • How to override the where clause (Bind Variables) in Backing Bean.

    HI
    I am using bind variables in VO and using exeutewithparam to pass the values to bind. Which is working fine.
    But what i want now to override the values pro grammatically from backing_bean of that page.
    How can i pass the values to bind variables from bean.
    M Niaz.

    Hi
    Try this if it works. this is from 10g
    1)create value binding in the backing bean on any action
    FacesContext ctx=FacesContext.getCurrentInstance();
    ValueBinding vb= ctx.getApplication().createValueBinding("#{bindings['account_name1'].inputValue}");
    2) and then set the value for binding
    vb.setValue(ctx,(String)accountInput.getValue());
    Now execute the method with method binding and execute it
    ctx.getApplication().createMethodBinding("#{bindings.ExecuteWithParams.execute}",null).invoke(ctx,null);
    Regards
    Rohit

  • How to override the NUMBER format in BEX?

    Hi,
    I want to override the number formats in BEX queries (Excel).
    In the Query Designer -> Query Properties -> Value Display,
    or in 3.x: Query Properties -> Display -> Number Format,
    the setting "Display of +/- Signs" affects how the numeric values in Excel will be displayed. This setting seems to take effect after everything else is done.
    I can change any cell formatting (pattern, border, color, etc.) except the number format. I have tried redefining Styles, assign different styles to the Result Area, setting up a default template, even Visual Basic (Sub SAPBEXonRefresh), nothing works, my settings always get overwritten by the query setting.
    For example:
    I am trying to assign the Number Format "Accounting", with a "$" sign in the far left of the fields, to the amounts in my workbook.
    It should look like this: "$     (123,456.00)"
    The results: my settings are replaced by the format "Currency" with the "$" sign.
    "    ($123,456.00)"
    It must be due to that number format setting in the query designer.
    I was hoping the number format setting in the query designer could be switched off. But apparently it is not possible. Not even the "Adjust Formatting after Refreshing" setting affects this behavior. It always takes effect.
    Does anyone have any idea what could be done about it?
    Thank you,
    Vince

    OK, I think I have just found the answer to my own question...
    I had done something in the VB editor that created this whole problem. Now it is fixed and works as it should.
    Thanks anyway.

  • How to override the event loop

    As a windows game developer, I have always overridden the application message loop to make sure that graphics were rendered when the CPU was idle, and still being able to process windows messages like keyboard/mouse events. CPU is then maxed out (except when a forced sleep or v-sync is enabled) to give highest performance on graphics, making a simple clear opengl window render at 3500 frames per second (I know this is idiotic but I'm trying to make a point).
    Now that I'm porting my game engine (c++ code) to cocoa, I  am struggling with how to implement the main loop. I could use a timer but this will fix the framerate and might be slow. It will prevent me to use the CPU to its full extent.
    So: is there some kind of OnIdle event I can override? Or do I have to do the Event loop processing myself? And can anyone tell me how to do something like this? Is there a tutorial or a book or anything I can study to learn about this? I presume this is lower level API.
    Any help is appreciated!
    Dirk.

    etresoft wrote:
    Michael may profess ignorance about MacOS X applications, but he is still 100% correct. You need to study the architecture and find the best way to work with it. The first thing to know is that the CPU is irrelevant. Let the GPU handle your graphics - that is what it does best. You do want your CPU to be as idle as possible. Approach it from a device-driver or event-driven perspective.
    Just to clarify that I'm not a total noob trying to write his first program: of course I will not overly use the CPU if not necessary. I completely agree with what you guys say about maximizing CPU usage. My game engine on windows will put the CPU to sleep when it's not necessary making my engine perform very good with almost no CPU usage.
    But... when I want to test if changes to my engine/shaders/... improve or degrade performance of the renderings, I want to be sure that everything is maxed out so that I can be sure that the difference is correct. On maxed out CPU/GPU, I will notice the difference when framerate goes for example from 2000 to 1900 while this will not be visible when just at 60 fps and a lot of free time. I will see 60 fps even when my code is worse. That's why I need to be able to test this.
    Anyway, as I said, I completely agree and I will certainly do my very best to make sure that CPU is not overly used. So my question remains: how can I make sure that I have everything I need at the time I need it while I will do my best to make sure nothing more is used?
    Timer-events at 1/60th of a second is not the answer...
    Using threads for these things is not the answer... I use them for other things (loading from disk/processing data/generating data)
    But are there other options?
    Can you point me to where I can learn more about the architecture and its possibilities?

  • How to override the default order UOM when using BAPI_PO_CREATE1...

    Hello Experts,
    How do I force BAPI BAPI_PO_CREATE1 to use my declared purchase order unit of measurement instead
    of getting it in the material master data? For example, material A has a default purchase UOM of CV, but
    when I create a PO using material A I want the purchase UOM to be EA instead of the default CV.
    How do I do that?

    Sorry settings in inforecord problem.

  • JRE 1.4.2: how to override the default xml parser?

    Hi all,
    I have JRE 1.4.2_03 and I need to replace the default xml "crimson" parser with xerces because the former one doesn't properly handle utf-8 BOM.
    Does anyone have an idea where I should look at for this kind of configuration?
    I skimmed thorugh the oracle docs but couldn't find anything.
    I found a link describing how to change the xml parser in OC4J, but my understanding is that this has little to do with what I am looking for.
    I need to force Saxon 8.6.1, that is invoked by means of java.exe from the command line, to pick up the right xml parser.
    Has anyone else tried this out already?
    Alternatively, is it safe to install JRE 1.5 in place of JRE 1.4.2 on a Oracle 10.1.0.4 database?
    I am told that JRE 1.5 uses a different xml parser that should fix my problem.
    Bye,
    Flavio

    I sorted this out myself.
    Downloaded the latest stable xerces binary (2.5.0) from http://xml.apache.org/dist/xerces-j/
    Then I extracted xercesImpl.jar and put it under:
    %ORACLE_HOME%\LIB\endorsed
    I had to create the endorsed folder as it didn't exist.
    Then, when invoking Saxon using java.exe, I added the following switch:
    -Djava.endorsed.dirs=%ORACLE_HOME%\LIB\endorsed
    That's it.
    You can find some background info on:
    https://jaxp.dev.java.net/Updating.html
    Bye,
    Flavio

Maybe you are looking for