I think you can take a look at these following options.
10 DOF Mems IMU Sensor: The 10 DOF(degrees of the freedom) sensor is a compact and low cost IMU from. It integrates the ADXL345 accelerometer, the HMC5883L magnetometer,the ITG-3205 gyro and the BMP085 barometric pressure sensor. It’s suitable for most of the controlling system because of the small dimension. Details: 10 DOF Mems IMU Sensor | DFRobot SEN0140 | Core Electronics Australia
As well as high resolution sensors & acquisition, you’d probably want a bit of signal processing applied in order to get the accuracy you are looking for.
I don’t think the ADXL345 device in the suggested sensor module would work, It’s data sheet says
Its high resolution (4 mg/LSB) enables measurement of inclination changes less than 1.0°.
Which is a little short of your 0.01 degree requirement.
Yeah by my calcs 0.01 degrees (or ~30") is ~0.17mg. I also wonder how stable the LSB would be. If it is flickering ±0.05degrees then that might not do me any good, even after applying a filter.
The BMI088 may do the job though, its resoltution is half my accuracy requirement, though again, im not too sure how well resolution translates to accuracy
Hi Liam , I measure ship foundations for a living, and one part of the job is to measure the angle of one foundation to a baseline foundation known as the “master reference plane”
To do this when the ship in the water means that both foundations are moving, and must be measured continuously at the same time, and determine the differential between the raw values.
On land this is easy, as there is no movement, and we have equipment that measures surfaces relative to gravity with <50um accuracy
I think i can do this better than the current “in water” system using microcontrollers, magnetometers, and RF transceivers (or even just loging to a SD card)
The device ill build will be about 150mm in diameter, have a machined surface, and should be accurate to 30" (this would be about ±25um over the 150mm). I have a 5" granite table to calibrate these on.
As I want to be confident results are accurate to 30" (~0.01d), i think i would expect the accelerometer to be sensitive to angles less than that. Ideally 1/10th
Let me know your thoughts on that . My understanding is the lower the g range, the higher the resolution/sensitivity at lower angles. Problem is lowest i have seen on this site is ±2g.
Mark makes an excellent point about signal processing, removing and characterising noise, ensuring the angular velocities match and checking the tram of the two planes are all essential parts of the project, there are lots of guides around on sensor fusion and Kalman filters that ought to help out!
There might be another issue you run into, sending the values at the same time, you could do this by blasting a base station or syncing 2 RTC’s, but something to keep in the back of your head.
Hey Liam thanks for the reply! That does look like a good sensor, seems cheaper too than getting all the components separately too.
Still thinking about how to code the RF transmission, im planning to have 1 master unit.
The idea would be the slave unit would get an average/filtered raw for the last 0.5s, send those values, and then the master would receive those values and compare its raw for the matching timestamp. then it would display that differential value on its screen, and send the value back to the slave to display. The issue i can see there is i dont know the best way to store and call back those values, and if waiting for a handshake, what happens if the transmitted valued doesnt come? How would it work if i were to use 2 slave units? Need to map out that
As the units will be stationary, the differential value shouldn’t really change but for some sensor error and vibration
Having a look at the Pinout Card for the Teensy it looks like it can take between 3.6-5.5V on the Vin Pin. It also has a VBat pin near the SD card slot for a coin cell battery to power the Date, Time and Power Management.
Thanks Aaron, so how would I go about using consumable batteries? Would it be as simple as 3 AA in series?
Edit: I was also looking at using the Adafruit Pro Trinket LiIon/LiPoly Backpack Add-On as this would allow me to charge and upload code without having to disassemble the device. Unfortunately the connections run the opposite direction, so i would be unable to mount it directly
1 Like
And you can get our latest projects and tips straight away by following us on: