07-21-2009 02:33 PM
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
07-22-2009 09:18 AM
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.
07-22-2009 11:27 AM
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.
09-11-2009 05:09 PM
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.
09-14-2009 09:35 AM
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!
09-14-2009 10:32 AM
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
09-15-2009 02:30 PM
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.
09-15-2009 02:40 PM
09-16-2009 08:58 AM
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"
09-16-2009 09:08 AM
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,