08-05-2010 01:30 PM
I am trying to generate a signal to run a pump for my research. I have created a program that will allow me to customize my signal equation. Overall the signal is clean, but there is an artifact that appears no matter how simple or complicated the signal is. This artifact can only be viewed after the signal has passed through the DAQ (such as on an o scope or in the pump motion). This artifact is a brief jump in the signal which disrupts the motion of the pump. I have played around with different ways of generating the signal including using the Continuous Waveform generator with internal clock.
I have included the simple program that I have put together. The equation on the front panel is in its full glory. There may be some problems with the full equation, however, if you just enter a simple sine or cosine function the disruption is still visible.
Any ideas on how to get rid of this discontinuity would be of great help.
Clara
08-05-2010 10:41 PM
You'll have to show us a screenshot or something of what the signal looks like on the oscilloscope for us to understand what you are talking about.
08-06-2010 10:08 AM - edited 08-06-2010 10:08 AM
The first picture is of the waveform during a cycle without the artifact. The second picture is the waveform with the artifact cutting the peak in half. The third and forth picture are the same program with a simple one term cosine fuction, but the blip is still
visible. Any help would be great.
08-06-2010 11:29 AM
Do you see the artifact when you run the program and the DAC but without the pump or its controller connected? What else is running at the time you see the glitches?
It looks like something is coupling a pulse into your signal. Sometimes SCR or TRIAC based motor speed controllers can cause that type of interference.
Lynn
08-06-2010 12:33 PM
This is test VI based on one of the shipping examples. As I can se the wave is generated continiously without glitches as long as the settings are stable. However changing the frequency will cause a glitch. Could it be the source of your problem
08-06-2010 12:35 PM
This is test VI based on one of the shipping examples. As I can se the wave is generated continuously without glitches as long as the settings are stable. However changing the frequency will cause a glitch. Could it be the source of your problem
08-06-2010 01:24 PM - edited 08-06-2010 01:26 PM
The glitches can be seen in the pump motion however the pictures above are from the DAQ being hooked straight into the o scope without the pump or controller in the system. When operating with the pump I am sometimes running a Vi to record data, but the above glitches appeared with nothing else running.
Also, I couldn't open the Waveform Generation Using Formula.vi because it was from LabView 9 and I have version 8.6. I will look to see if my version has a similar shipping example. As far as adjustment to the frequency, I don't change that right now. I will eventually want to play with it, but right now I just bump up the amplitude sometimes.
Thanks for the suggestions.
08-06-2010 01:34 PM
That posted example does not use a DAQ output so not really a good example.
Open your example finder and under Hardware Input and Output>DAQmx>Analog Generation>Voltage, try running "Cont Gen Voltage Wfm-Int Clk-Non Regeneration".
08-06-2010 01:42 PM
Will the system run continuously or just for short periods of time? What I am thinking about is how you could generate the signal in advance and make sure it has no glitches, then send it to the DAQ and the pump.
Another thought. What is the DAQ device you are using? And another: Is the DAQ Assistant re-initializing your DAQ device on each loop? You may be better off getting rid the the DAQ Assistant and creating your own DAQ code. Then you initialize the DAQ device outside a loop, write to it inside the loop and shut it down after the loop completes. Much smaller chance of something happening that you did not know about.
Lynn
08-06-2010 01:53 PM
I am using the NI USB 6221. I am using the first Analog ouput channel A0 0 and a BNC cable to send the signal to either the oscope or pump controller.
The program is designed to run continously, because I need the pump working while I conduct my research which can last for an hour or two at a time.
As far as the question about the re-initalizing, I am not sure how to find that out. I am very new to LabView and still learning how everything fits together and operates.