I am using your Graph Accelerometer (advanced) VI and the other Vi available in the library.
How can I calibrate the accelerometer ( there are offsets which are not explained by gravity) and how do I change the range to +-8G?
I am not sure what the units on your graphs represent? They are usually +-1, is it G (9.812 m/s)? On the Control center I am getting diferent units?
Thanks for your help,
I have corrected the accelerometer calibration. From the datasheet of the accelerometer used in the watch, its range can be set to +/-2g or +/-8g (probably set in hardware). The values I measure are in +/-2g. To calibrate, convert each 8-bit measurement to an I8, then divide by 64 to calibrate to g forces. Then -127 is approximately -2g, 0 is 0g, and 128 is 2g. For some reason, the z-axis has a 0.5g (+64) bias, which is corrected in this latest version.
Thank you so much for this update. All the VIs work great, but I am missing something here: I guess that I need to use the Poll Accelerometer VI for the calibration, Can you explain how to do it? What type of data should be in the "error in" boxes (in my case the code is 0 and the source is blank)?
I checked the calibration of my watch (with your new VIs) by levelling it and turning it 90 degrees 6 times (as if it was a cube). On each face (of the cube) one of the axes should be 1 G and the other 2 should be zero. In my watch only the x axis has a reasonable zero (+-0.01G), but both the y and z axes have a +- 0.1 to 0.14 G. Also, the x axis shows +-0.78 G when it should be 1G (i.e., the axis is perpendicular to the center of gravity). The y axis shows -0.9 and +0.687 and the z axis shows -0.65 and +0.921 G, when they are perpendicular to earth. I think this is what calibration is all about: zeroing the sensor output when it should be zero and assigning it the correct value when a standard acceleration is applied (i.e, 1G for gravity).
I apologize fro my ignorance, can you walk me through this as I am a novice :-(
Thanks in adavance,
Hi Kull - Poll Accelerometer is not designed to run standalone, it is meant to be a subVI. Open the Example Finder to find ez430 Chronos Examples that show how it is used. If the calibration method I use doesn't seem accurate, then you may need to try out your own calibration - the TI ez430 Chronos Wiki is a good resource for this (http://processors.wiki.ti.com/index.php/EZ430-Chronos). The values you are getting don't seem unreasonable, though I would expect them to be more accurate.
Hi elgeeko and thank you for your continuous suppot!
Last question, I promise: how can I do my "own calibration"? Which software or VI I need to use in order to assign G values to the sensor output? I understand that the sensor output is between -127 and 128, how and where can I see this values? (The values I am getting in the Control Center are different). I tried the link that you sent me and could not find anything there about calibration.
Take care and thank you again
First, dive in to my VI and remove my calibration (mine was quick and dirty anyway) - just use the raw values. Measure the bias of each axis by placing it where you believe 0g is. Then find the sensitivity by measuing the change from 0g to +1g (that is, measure the value at +1g and subtract the bias). The acceleration in g is then a = (raw - bias) / sensitivity .
If you have a hard time measuring bias, you can calculate it by finding the smallest value the watch returns when at rest (-1g) and the largest value the watch returns when at rest (+1g) - bias should be the midpoint between the two.
The axes appeared to have different calibration parameters to me, so do this for each axis. If I have a chance to revisit this I'll post an update, otherwise good luck!
Thank you for your detailed answer. This is what I was trying to do, because the process you just described on the last post is indeed "calibration". Unfortunately, it needs to be done with every particular watch and if you want accurate readings of acceleration it needs to be repeated before every measurement or at least once in a while. You see, I am a scientist and not a programmer and I thought your VI will help me do this "calibration" on my watch. Anyhow, I know where I am now and I'll look up a good programmer :-(
By the way, while looking for answers I came across this very informative (albeit long) post regarding our chronos: http://e2e.ti.com/support/microcontrollers/msp43016-bit_ultra-low_power_mcus/f/166/t/139739.aspx
Yes, the process I described follows an affine function model of a sensor; it sounds like you are well aware that our models are never exact, and calibration isn't just done once. NI produces clock signals that require oven-controlled oscillators!
Very informative link on the Chronos, the author was very thorough. It does seem the resolution is fairly course, and the documentation appears to mix rounding up/down on the exact number of "ADC samples" per unit of g measured - I believe I hacked a number close to 65 without ever running the numbers myself.
Interestingly enough, I actually wrote a calibration VI for an analog accelerometer that allows you to perform calibration at runtime. For the Chronos package I'll stick with hard-coded calibration (the focus of the package is usability), but I'm happy to share my calibration code with you for the accelerometer, with the hope you can integrate it with the Chronos code. The inputs/outputs are different, but they at least serve as an illustration.
I also built a custom VI to calibrate the ez430 Chronos - I haven't had a chance to test it (on an airplane as I am posting this), but I think it should work. I'll send you a PM.
Hello everybody, I hope anybody can help me with my eZ430 chronos LabVIEW project. I use the sample code to acquire and save the accelerometer data. But now I want to expand my project to acquire the heart rate in the same way than the accelerometer data. Is that possible? Thank you very much!
sir i can't able to connect my chronos to labview.I am getting problem ah RF Dongle not acknowlwdged can you please help me to solve the problem