I have an ADXL193 250G single axis accelerometer connected to a 2560.
I'm running a simple program to display the output to serial. I get a value between 504-508 as I move it, if I leave it still it settles on 1 number (506 for example).
I have 5V going to VDD and OUT is connected to an analog port (tried 3 different ports).
If I connect a voltmeter to GND and OUT I get values that bounce between 0 and 2.5V. That should result in a reading from the Arduino between 0 and the 500s I see.
The program is fine because when I connect a pressure sensor to it and squeeze it I see values between 0 and 1024 like I would expect. I've tried 2 different ADXL193s, so I don't think that's the problem.
This means you have +- 250G for the full range from 0..1023 meaning 1G == delta of 2
You get a value between 504 and 508, which could mean you are shaking it with approx 1G or it might be just noise....
did you connect all GND's in the system as a reference.
Did you try "to hit the sensor with a hammer", it should get read higher G forces. Mind you a rollercoaster has a max of 4G and at 10G a trained pilot looses his consciousness. I become quite curious what kind of process you want to monitor (hurricanes?).
The Arduino takes time to measure, approx 10K samples per second meaning 0.1 ms for a sample. Some physics.
To get 250G for 0.1 ms an object would need to increase its speed by v=a.t
a = 250 G ~ 2500 m/s^2
t = 1e-4
==> v = 2500 . 1e-4 = 0.25m/sec and that in 1e-4 second...
thinking in cars: 250G accelerates from 0..100km/hour in just 12 milliseconds.
I assume that you need special ADC's to read these peak accelerations, do you have a link to the datasheet?
What's odd is that when I connect a voltmeter to it and move it around I do get voltage values that jump all around as expected but not when the Arduino is reading it.
I think you're right though. When I taped it to a board and slammed it down the values did drop down into the 400s.
It's going in the head of a robot that will be measuring the force of a punch. A concussion is around 95 G's, will be interesting to see what readings I get when I get it setup. The Arduino is also driving an LCD screen, pressure sensors, ethernet and 3 motor drivers.