From 01:00 AM CDT Saturday, June 3 - 03:00 AM CDT Saturday, June 3, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

DAQ to generate variable amplitude 1 kHz Sinewave

I am looking for the lowest cost solution to generate a 1 kHz sinewave (this will likely need to be variable as well, but nothing greater than 3 kHz is needed).  I do need the amplitude to be fairly precise though, and have it go as low as 10 mV p-p and as high as 1 V p-p. 
0 Kudos
Message 1 of 12
(3,578 Views)

Hello TNeilson,

The Low-Cost M Series devices offers 16 bits of resolution and an analog output range of +/-10 V, giving you a code width of about 0.3 mV.  The absolute accuracy is 3.23 microVolts.  You can see this information for yourself in the M Series Help (User Manual and Specifications).  I was looking at the specifications for the PCI-6221.  Our lowest cost options, USB-6008 or 6009, will not work for you because they do not have the ability to do hardware-timed analog output. 

Please let me know if you have any questions about this.

Regards,

Laura

Message 2 of 12
(3,563 Views)
I do have a PCI M series card here I'll try out.  I've been using the DAQpad USB stuff for the last year and haven't really needed any analog stuff, and tried it with one of those and could get very good results at all.  In fact, I couldn't put out 1 kHz at all.  Does this seem correct?
0 Kudos
Message 3 of 12
(3,561 Views)

Hello TNeilson,

This does seem correct.  The DAQPad 6015/6016 specifications say that software timed analog output can go to 300 S/s (system dependent) and hardware timed analog output can go to 50 S/s (system dependent).  You will be much better off with a PCI device for analog output because of the much higher rates.

Regards,

Laura

Message 4 of 12
(3,554 Views)
Yes, that does sound right.  I'll test it out with the PCI card and see if I get better results.
 
Thanks.
0 Kudos
Message 5 of 12
(3,548 Views)
Well, the card I have is the PCI-6025 and it doesn't seem to be working.  I use the Measurement and Automation explorer and set up a sinewave for 1000 Hz -1 to 1 V and I only get 100 mHz.  Am I setting something up wrong?  I would think this card could at least get faster than that.
0 Kudos
Message 6 of 12
(3,536 Views)

Hello TNeilson,

Are you using the DAQmx Test Panels?  The frequency of the wave you produce should be 1/1000th of the update rate you specify and it should show in the Frequency indicator.  So with a 1000 Hz update rate, you should get a 1 Hz sine wave.  The specifications for the analog output of this device are:

Max update rate
  DMA 3   10 kHz, system dependent
  Interrupts   1 kHz, system dependent

So I also would think you could go faster than 100 mHz with the test panel.  What programming language are you using?  Perhaps we could try running an example.  Also you could check the functionality of this device using the DAQ Diagnostic Utility (note that you need NI-DAQmx installed). 
 
Regards,
Laura
0 Kudos
Message 7 of 12
(3,522 Views)
I guess I'm not familiar with the DAQmx Test Panels.  I'm using Labview for programming though.  I've gotten a 1 kHz sinewave with it, but it is stair stepped.  If I up the samples to try to make it smoother, I get an error saying memory overflow.  1 kHz just doesn't seem that fast to where this wouldn't work clearn.  I did a little testing a 100 Hz as well, and it seems anything under 100 mV p-p it gets really noisy.
0 Kudos
Message 8 of 12
(3,494 Views)
I think it's time you posted your code. Are you using the DAQ Assistant, a modified shpping example, or something you wrote yourself?
Message 9 of 12
(3,488 Views)

I haven't even written any code yet.  I'm just trying the examples first.  One I am trying out is the Cont Gen Voltage Wfm-Int Clk.vi

 

I'm using the PCI-6025E card.  When I load the example, it is already set for 1 kHz, Sinewave, 250 samples per buffer, 1.00 amplitude, and 5 cycles per buffer.  With these settings, it gives an error right off (Onboard device memory underflow).  I can play with the numbers...changing the samples per buffer to 2500 and cycles per buffer to 100.  I get a 1 kHz signal, but it is "stair stepped" and can never really get a clean 1 kHz signal.

0 Kudos
Message 10 of 12
(3,484 Views)