Hi, i have an intel edsion gen2 board.i have interfaced with analog sensor ADXL335,i am using arduino IDE.i need to know about sampling rate with which ADS7951 sampling the data.On arduino IDE i have used 1 second of Timer interuupt and Delay of 1 millisec between each samples.
when i have given serial print in every one second i am able to get samples(640-680).
Can anyone tell me wat's the problem for non uniform sampling data which are obtaining on serial monitor???
Can anyone guide me how to increase the sampling rate so that i can able to read maximum samples for everysecond on serial monitor.??
because i have to process on that adc data farther??
please make it soon....
What do you mean by "...i have an intel edsion gen2 board…"? There's only one model of Edison available, on the other side the Galileo has a Gen 1 and Gen2 versions. Are you using a Galileo Gen 2 or an Edison?
Regarding your question, could you please share the code you are using in your project? We would like to check it to see how you are implementing the sensor.
I am using Edison break out board I am sending link of the board.
I am using Arduino framework in order to read the analog sensors data.
as u can see this is the code which I have written in order read data an display on every one
second.but I am able to collect only (646-660) samples in one second.can u tell me how can I increase the samples in one second.or else how I can I infer the sampling rate from this.??
make it soon'
You wait 1 ms between each sample so your max. sample rate can be 1000 (if everthing else you do takes no time)
For faster sampling you should do:
(1) do not use a delay
(2) do not do anything during the measurement what is not necessary (typecasting, calculations etc.)
1).when I am not providing (delay(1)) then I am not getting single sample also and serial monitor window is completely blank.
so to avoid that I am using delay(1)...
2). right now.. I am not performing any operation.. after sensor data acquired but I need to get more samples. How to achieve that??
3).how can u say that if I provide 1 millisecond I will get maximum..1000 samples..can u explain it??
1, Ok so without a delay the measurement is "too fast", try a shorter delay: https://www.arduino.cc/en/Reference/DelayMicroseconds Arduino - DelayMicroseconds
3, an ADC measurement does only "one shot" and you get the result. So in 1 second you can only get 1000 results if you wait 1 ms after every "shot"
2, Furthermore look at this thread: , but maybe the newest image can reach some higher rates...
-->For fast sampling you should use an external ADC, for example http://www.ti.com/lit/ds/snas415f/snas415f.pdf http://www.ti.com/lit/ds/snas415f/snas415f.pdf as an i2c device, or you use the adc of the intel edison (http://www.ti.com/product/ADS7951 ADS7951 | Precision ADC (<=10MSPS) | Analog to Digital Converter | Description & parametrics</a> ) externally
I have gone through all the links above. They say I have to run the program on eclipse, I hav to code it..But I am not able to find the way of increasing the samples for one second ..
ok can u explain y I am getting only (646 to 700) range of samples..wa basis??can u explain that..
Even ADS7951 also have 1MHZ sampling Rate..???
How come...??can u explain..
The sampling rate of the ADS7951 is the maximum value that the ADC can handle. So you can get 1 000 000 samples per second, if you bus is fast enough to get this data.
The ADS7951 is connected via the SPI bus to the edison. This means that the bus of the edison must be fast enough to get this sampling rate. The behaviour of the bus
depends on the OS that is controlling the SPI interface. As you can see the OS / the SPI interface is not fast enough to achieve 1 000 000 samples. The problem is not the
speed of the edison, but the interface speed.
You can compare it to your computer. Your graphics card may be fast enough to calculate 1 000 frames per second, but your monitor
can never displays this amount of frames. So a solution to achieve a higher frame rate may be another display technology.
For the ADC problem you could also switch the interface to get a high sampling rate.
If you just want to increase your sampling rate a bit (some more speed should be possible) you should reduce the delay time.
So you should use a delay around some microseconds.
I really thanking u for this good answer.
As u mention
"For the ADC problem you could also switch the interface to get a high sampling rate".how to do that...because the the interfaces uses SPI interfaces from ADC so it must give maximum samples rate..??correct if I am wrong??
When I am using Delay ((Delay(.01))) I am getting samples less I am getting samples range of 100 to 200samples for everysecond ...?? other display Technology means..can u suggest me some else??
Hi flo 1991
However I am using Arduino ide for interfacing with sensor can u tell me is
their anyway to increase the sampling rate via importing "MRAA and UPM libraries" if yes HOW?? can u tell me after installing these
libraries Where can store the libraries so that My arduino sketch can
Utilize it...HOW to utilize that libraries and if u can give some steps or
some code example??
2) suppose if am switching on eclipse on windows what are the
advantages can I get over Arduino.
3) when I wanted to look for an IP address of Intel Edison I am not
getting..??what is the way of it..I am able to find in device manager but I am
not getting IP.By the way I am using C/C++ eclipse Developer IDE. I followed
the all step I am not able to find IP of Intel Edison an dhow to do on
serial terminal. Can u tell me??
One more thing as u said Since OS can not bale to handle the SPI bus..so if
I swith to Linux is it possible ??
If you switch to the eclipse IDE you can write your code in C/C++, use everything that linux supports without the "arduino emulation" in between.
You get full access to the system. So you can do the things with a better performance and even do things that are impossible with the arduino IDE. Some examples
are threading, thread configuration, full memory access etc...
I would suggest to try this getting started guide:
https://learn.sparkfun.com/tutorials/edison-getting-started-guide Edison Getting Started Guide - learn.sparkfun.com
You must connect your edison to your wifi network, your pc must also be connected to this network.
If you want to use the onboard adc you cannot switch the interface. For this you need an external adc that is for example connected to the I2C port of the breakout.
I would say try out the getting started guide and try the eclipse IDE.