Jump to content

Generating a disformed sinus


Recommended Posts

Hi all,

I am working on a nice project. (creating an Crankshaft Position sensor signal). I have created a sinus in LabView (that works fine). But now I send this sinus from LabView to a DAQ device and this DAQ is connected to a scope. But on the scope the sinus is different, there is an area in the sinus that isn't right. You will see this at the attachments below.

How do I get this error out off the sinus ?

So we have a programm ("Create Sinus") where I create the sinus, this program is also linked to the DAQ and to the scope, we have a perfect sinus on the scope.

Then the 2nd programm ("Save Sinus") is to capture the sinus made in the 1st program. This is saved in a file. This file is also included in the attachments.

In the 3rd programm ("Send out Sinus") we can select the file and send it to the DAQ and the scope, but here the sinus is different and has an error in it.

So does anybody have an idea how we can get this error out off the sinus ?

Because my project is capturing signals from automotive (like the crankshaft, and so on), this is not good, because this sinus allready is deformed, so if I capture a crankshaft signal and then send it out to the DAQ, then this Crankshaft signal would also be deformed, and that is not the purpose of my project. I want to capture and send out a perfect crankshaft signal...

In attachments you will see the 3 programs, the file and also 2 pictures of the deformed sinus.

Thank in advance,

Phil

Link to comment

QUOTE (speedliner @ Mar 25 2009, 03:27 AM)

Hi all,

I am working on a nice project. (creating an Crankshaft Position sensor signal). I have created a sinus in LabView (that works fine). But now I send this sinus from LabView to a DAQ device and this DAQ is connected to a scope. But on the scope the sinus is different, there is an area in the sinus that isn't right. You will see this at the attachments below.

How do I get this error out off the sinus ?

So we have a programm ("Create Sinus") where I create the sinus, this program is also linked to the DAQ and to the scope, we have a perfect sinus on the scope.

Then the 2nd programm ("Save Sinus") is to capture the sinus made in the 1st program. This is saved in a file. This file is also included in the attachments.

In the 3rd programm ("Send out Sinus") we can select the file and send it to the DAQ and the scope, but here the sinus is different and has an error in it.

So does anybody have an idea how we can get this error out off the sinus ?

Because my project is capturing signals from automotive (like the crankshaft, and so on), this is not good, because this sinus allready is deformed, so if I capture a crankshaft signal and then send it out to the DAQ, then this Crankshaft signal would also be deformed, and that is not the purpose of my project. I want to capture and send out a perfect crankshaft signal...

In attachments you will see the 3 programs, the file and also 2 pictures of the deformed sinus.

Thank in advance,

Phil

My first thought is that your scope may not be sufficient. At least you should be sampling in peak detect mode or without any filtering so you see the actual data.

you said: "I want to capture and send out a perfect crankshaft signal..."

You are going to need to define "perfect" at the outset. You will find out just how illusive perfect is, if you think about it.

You need to apply Nyquist to the output - you should be generating resolution 10 times greater than the car would be sensing from a real sensor. A real analog sensor has no digital weirdness at any level of sensing. Your "Analog" output is never going to be perfect. You have to understand that and define what is acceptable - not perfect.

Also your scope should be several or 10 times faster than the AO generation otherwise you will not see all the potential errors and imperfections in the output.

The trace you show looks like a discontinuity in the Analog output. I can't open the newer files so I have to guess. Your vi's probably run one cycle of the sine wave and then the analog output must stop and be restarted - but the stop and restart takes time. There is usually a way to expose the code (if you were using Tasks you need to generate the LV code), then the parts that Open the AO channels, Configure the AO process and Close the process are pulled out of the looping section. The AO must be "retriggerable," a configuration setting. It is also possible that there is a better VI that makes a continuous AO without this extra work - search the example code that ships with your software and search the knowledge base at ni.com.

Don't lose my first post where I describe how to create the signal with an actual crank sensor. It takes less than a week to buy and build a crankshaft simulator to exercise a crank sensor.

Mike

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.