This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

Real-time data acquisition up to 30 sensors - is it possible with nRF?

Hello!

I have 18-bit sensors with SPI and I2C, which I intend to use in a wireless array.

I need to choose equipment and topology (star, scanning mode?), enabling data acquisition from max. 30 sensors and sending to a selected mobile device (tablet) via USB with the shortest possible delay (10 ... 20 ms).

For example: is nRF24LE1 and nRF24LU1 sufficient to solve the problem?

Thanks for any suggestions!

  • What else will I need when deciding on nRF52810 (USB programmer, utility program or ready libraries)? Which module would be best to work with nRF52 series and PC via USB (nRF52840 Dongle)? Are there examples of configuring such communication with sensors via SPI and where can I find them? Greetings.

  • You'll need at least two proper DK's for debugging and programming. The 810 use the PCA10040 DK and the 840 uses the PCA10056 DK

    Developing on the PCA10040 and PCA10056 is almost identical. I suggest you start with two DK's and try to set up radio communications and sensor sampling before you get more DK's or dongles. 

    The DK's have an on-board J-link debugger, but the dongle does not. You can program and debug external boards with the DK's however. 

    I suggest you read our nRF5 Getting Started guide. 

    We provide a free license for Segger Embedded Studio when developing for our nRF5 series devices. 

    You should also read the Enhanced ShockBurst User Guide and read it's source code for implementation details on how to use the radio. You can also use the Radio Receiver Example and Radio Transmitter Example as a base. 

    You can stream UART or Segger RTT data though the on-board J-link and to a PC if you need application <-> PC communication like logs or CLI. This is set up by default in our examples with our Logger module, or Command Line Interface library

  • The dynamics of the process requires that the measurement results from each of the 30 sensors are read at a frequency of 200 Hz (per channel, 18 bits) and presented in graphic form on the screen of the mobile device (tablet) with the lowest possible latency. I would like to be sure that with such assumptions nRF52... will be appropriate due to sampling frequency limitations etc. At what minimum distance from each other can nRF52... operate, assuming a 2MHz channel spacing? Are they not disturbing each other over a distance of about 2cm and limiting the transmission power to a minimum (-20dBm)?

    Thanks

  • We've got data on our receivers RX selectivity that shows how much attenuation a signal in another channel has with respect to our receiver.

    If you transmit at the nearest channels while you are in receive mode there's a good chance that you'll receive it unless you do one or more of the following; reduce the transmit power, move transmissions to channels further away, or do time-division multiplexing of your transmissions. 

    You should only limit the power if you want to reduce power consumption anyways, otherwise, you should choose one of the other options. With 40 channels to choose from you can easily get more than -50dB attenuation between networks. 

    You can get shorter latency overall by using more receivers but at a cost of higher complexity. With 4 receivers you can use ESB pretty much out of the box, but you'll have to use channels that are as far apart as possible, and there's no channel hopping feature. 

  • Does giving each of the 30 sensors (nRF52810) a unique address and star topology with one receiver (nRF52840) have a chance to work properly and meet the project assumptions, or would a different connection (topology) be more appropriate? I want maximum simplification.

Related