SignalExpress

cancel
Showing results for 
Search instead for 
Did you mean: 

external aquisition rate

Ok, this explains a lot. Thank you CharlesD.

 

My group is going to construct an amplification device (battery of sorts) and then integrate it in with the circuitry. So that should take care of the minimum 2.4 mV requirement.

 

Am I correct in understanding that my program, the way it is written now, will not work because my square waveform, or pulse, is not digitized? If this is the case, do I need to incorporate a PWM function? Any suggestions on the specific function and where to integrate it in the code?

 

.....getting there......

 

John

0 Kudos
Message 31 of 41
(4,526 Views)

First realize that it is 2.4V not milivolts

 

No your program currently will not work because your square wave signal is not TTL conformant --but it looks like you will address this with external circuity.   As long as your signal conforms to TTL you should be ok to use the program that you have written. 

Charley Dahan

Global Account Manager
Message 32 of 41
(4,521 Views)

Oh yes, of course. That was a typo. 2.4 V is what is needed.

 

Ok, so it looks as if I can apply the external circuitry (to boost my signal above 2.4 V), then that should take care of my TTL requirements.

 

I will try this later today by increasing the output voltage of my function generator.

 

Thank you CharlesD.

0 Kudos
Message 33 of 41
(4,517 Views)

Ok, so I finally got around to conforming to TTL logic. I have a pulse signal of 2.7V and a constant analog (test) signal of .22mV.

 

My program should plot a point with each pulse. Each pulse should trigger the program to plot a point starting at a reference 

 

wavenumber and then continue moving +1 wavenumber with each successive pulse. When I run my program with the above signals, it plots the point at wavenumber 0, and does not move on. I also get the following error:

 

Error -200279 occurred at DAQmx Read (Analog Wfm 1Chan NSamp).vi

 

Attempted to read samples that are no longer available. The requested sample was previously available, but has since been overwritten.

Increasing the buffer size, reading the data more frequently, or specifying a fixed number of samples to read instead of reading all available samples might correct the problem.

 

I have tried tweaking with the sampling rates and I can't get this error to go away, nor for the program to plot a point past wavenumber 0.

 

I have tried altering the program somewhat with the help of an example program (multi-function Ctr. Retrigg. Pulse Train Gen for AI 

 

sample Clock), but I can't create a program that works.

 

Does anyone know why my program will not sample plot the analog signal past wavenumber 0? It should continue to move +1 wavenumber with every pulse.

 

I haven't changed my program any, but here it is again:

 

 

Thanks in advance, 

 

Frustrated Chemist. 

0 Kudos
Message 34 of 41
(4,382 Views)

ProgChemist,

 

This is a simple buffer over flow error.  It means that you have not pulled enough samples off of your buffer fast enough.   Usually stick with sample rate = 10x number of samples read. Please see the following KnowledgeBase article that I got by simply typing in "200279" into the ni.com search field. 

 

http://digital.ni.com/public.nsf/allkb/AB7D4CA85967804586257380006F0E62

 

Good luck!
Charley Dahan

Global Account Manager
Message 35 of 41
(4,372 Views)

Thank you Charles D.

 

I will keep trying to adjust the  sample rate (slowing it down) and see if this works. Also, one of the two signals I am using to test the program comes from a 9V battery. I soldered a resistor to the battery so I could get the potential difference down to the millivolt range--this is the intensity of the signal coming from the Raman that I will have to work with. I am not changing this voltage (220mV). It stays constant as my program executes. My other signal, which tells my program when to sample, is the pulse signal (2.7V). I turned up the voltage on this signal to allow it to conform to TTL logic.

 

Does my analog, constant voltage also need to conform to TTL logic (>2.4V)? Is the fact that the voltage used to plot the y-axis of my final graph (220mV) is constant a problem? Does this voltage need to change?

 

Thanks,

 

ProgChemist

0 Kudos
Message 36 of 41
(4,369 Views)

The only signals that need to conform to TTL logic are digital signals and Counter Tasks.  Analog signals - depending onthe DAQ card used - will usually have to conform to +/-10V and greater than ~100uV - 1mV.  The 1mV spec really depence on the accuracy of the DAQ card and is often smaller than 1mV.

 

Charley Dahan

Global Account Manager
Message 37 of 41
(4,349 Views)
By digital signals, you mean the digital signal which is produced in the labview software, after the ADC?
0 Kudos
Message 38 of 41
(4,347 Views)

By Digital Signal I mean that you are using a digital input or output task.  That is that you are routing a signal to a DI/O line like P0.0 or DIO1.  If youa re using an Analog Input task that voltage will be read in no matter what now what you do with that voltage once you bring it up into labview it is up to you to determine and convert this data into anything you require.  The TTL Specification is only 'valid' or necessary on the hardware side of things so that  the hardware can determine if it is a "Digital high" or "Digital Low"

 

Charley Dahan

Global Account Manager
Message 39 of 41
(4,339 Views)

Both signals I am working with are analog signals. The varying y-axis signal and the x-axis pulse. I know that AI is analog input and DI is digital, but is there an analog input I can attach my analog signal to for the pulse/counter input? I have been connecting my analog pulse wire to the PF0? input in the counter section of the board. Is this right?

 

Also, I just discovered that the original instument which I am updating has about 6 different monochromotor speeds--which result, esentially into more pulses per unit period vs. less pulses per unit period. More pulses per unit period =  fast scan rate = less resolution, and vica versa. Since my program is simply accepting the pulses continuously, do I need to impliment anything else to consider the different scan speeds?

 

Thanks,

 

 

0 Kudos
Message 40 of 41
(4,333 Views)