I just tested the new BMA180. It is an I2C accelerometer chip that reads gForce (obviously). I get three values -- x,y and z
The rate on the interrupt line is 74 Hz. There is not much vibration. It is configured in mode 3, and a 150Hz bandwidth..
The Arduino and PC combination work together with no problem. There does not appear to be a significant number of dropped packets. I am sending 48 byte UDP packets from the arduino to the PC -- a four core AMD system running Vista 64 with a custom program written in Delphi to read and stamp packages and sequence stamp them -- in addition to the seq. stamp sent by the Arduino. The Arduino Mega2560 Has the Arduino built (Wiznet) Ethernet shield with the SD card interface. Only the BMA180 I2C accelerometer is active.
(BTW -- The constraint appears to be the UDP packet system.)
Carrying on.... However, when I switch to a Bandwidth of 1200Hz the PC receives packets at a rate of 175 Hz, but the clock rate at the interrupt pin is about 448 HZ
the BMA180 rate. I do not need 1200Hz bandwidth so this is not really meaningful for me....
In other words I start to drop about 2 packets out of every three -- a little less actually...
This is a system rate! So you can be sure that if you transfer via UDP you are maybe going to be able to read three values off a fast ADC and send them to a PC such that you can somewhat reliably reproduce a 60Hz signal -- which is sufficient for me. Unless I add more stuff to the program. Since I need to send the data to a database that could be interesting. I often collect three million samples on a run -- not counting all the dropped packets of course.
I also did a run at 1g sensitivity, 300Hz bandwidth (Mode 3 again) and got a clock rate of 149Hz from the BMA180 -- the Arduino-PC system programmed in Delphi received all the packets with no dropped records. I have an internal sequence counter in the code which matches the count from the Arduino if no packets were dropped. Each packet from the Arduino has a sequence number. So that would give a decent performance for me at 70Hz Low Frequency Noise rate -- and lower. This is less certain for your project if you wish to maintain the accuracy of the waveform shape. This assumes that your instrument is recording an accurate wave shape -- I assume it is an oscilloscope -- which should be. A strip chart recorder is a different issue...
I may have to put the data handling (To the Interbase SQL server) in a different thread though. I will make these same tests as I add each segment to the final program.
So this is one way of testing if the System response is sufficient. This is what you need to know. Speccing individual parts will not help you except to let you know if it could work at the desired rate.
Hope that gives you some food for thought!Message for the ARDUINO Guys!
Clearly we need the 32MHz Arduino Meag2560Plus which I am sure is on the drawing board as we speak.
I'll take two!