From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

Real-Time Measurement and Control

cancel
Showing results for 
Search instead for 
Did you mean: 

Choosing Modules for a cRIO System

I am looking to put together a cRIO system that can output a PWM signal and can accept analog signals on four channels.

 

We need to be able to output a PWM frequency at 50 kHz. I am looking at the NI 9401 module for this part of the system. I see that the update rate for this module is 100 ns. I am not familiar with update rate. Am I correct is assuming that means it can output pulses at a maximum of 10 MHz? Is there a module better suited for this task?

 

The other half of my system will be reading analog input from a set of accelerometers. I want to be able to get at least 6 samples each on 4 channels (for a total of at least 24 samples) once every 500 us and I need the actual sampling to take no longer than about 50 us. The signal we are reading is 60 Hz, so it would be preferable to read as high as 600 Hz. I am looking at two modules for this: the NI 9223 and the NI 9234. Comparing the two, I see the NI 9234 has 24 bits and 51.2 kS/s/ch while the NI 9223 has 16 bits and 1 MS/s/ch. My understanding is that this means the NI 9234 has better resolution. However, assuming I did my math right, the NI 9234 can only read 2.56 samples over a 50 us period on each channel while the NI 9223 can read 50 samples over 50 us. Have I interpreted this data correctly? Is there a module better suited to this task?

 

I do not have any experience in signal processing or system design at this level, so I apologize for my ignorance with these questions.

0 Kudos
Message 1 of 3
(838 Views)

Just a quick general reply:

  • For both your PWM and accelerometers - the first thing to do is make sure you know the signal types / signal levels from your external devices and pick out those modules that are designed for that type of signal. Accelerometers can have different types of signal, such as volage, IEPE, etc depending on the fundamental sensor technology and what on-board processing is within the sensor.
  • Are you using accelerometer to measure vibration - which case you use at high sample rates, but create a spectra and it is the spectra requirements (max frequency, frequency spacing) that will determin the sample rate needed. You will probably need to program such things on an FPGA on the cRIO. We've just used a 9223 for a vibration application sampling at 50KHz
  • ... if you are using accelerometer to measure acceleration then sample time depends on your application, but bear in mind that accelerometers themselves don't usually have good performance at low frequecies anyway.
  • You might want to read up on the difference between SAR (sucessive approximation) and sigma-delta ADCs - see this https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z0000019Nw5SAE&l=en-GB
  • Be aware that some of c-series IO modules have one ADC per channel and others have multiplexed ADC, and for these the quoted sample rate is usually the overally sample rate that has to be shared across all the channels. And this leads into that some modules can set sample rate freely, whereas others you the sample rate can only be set to be some integer multiple of the clock. Just read datasheets carefully.

There's a lot to think about / check. Hope this gives you some useful steer.

Consultant Control Engineer
www-isc-ltd.com
0 Kudos
Message 2 of 3
(819 Views)

Thank you for your quick reply. I'm a new engineer and my boss has given me this task as a learning opportunity, so I very much appreciate your insight and knowledge.

 

The motor driver we are using has absolute maximum ratings for PWM as -0.3V to 6.0V, and while the datasheet doesn't say anything about PWM explicitly, it does say it can be used for pulse generation, so I think that module is good for our purposes.

 

The accelerometer outputs voltages between -0.3V to either 1.8V or 2.1V. The datasheet is a little confusing on that detail. We're talking about using an amplifier between the accelerometer and whatever cRIO module we use.

 

We are using the accelerometer to measure vibration. We do have plans to use an FPGA on the cRIO, but I don't know much about how it's going to be programmed. I'll look into that.

 

Regarding the ADCs, my boss did caution me about that. We do not want they channels to be multiplexed. I called customer support and got confirmation that both the modules I'm looking at do not multiplex.

 

This has given me a lot to think about. I'll know if I need more clarification after I talk to my boss. Thanks again.

0 Kudos
Message 3 of 3
(774 Views)