Full featured scrolling chart application showing MEMs X,Y,Z and temperature.
Exploring the MEMS (Micro Electro Mechanical Sensor)
When the primer is placed flat on a table so that you can read the STM32 logo above the display you will find that
- X (red) is 0.00 and changed by tilting left or right,
- Y (blue) is 0.00 and is changed by tilting forward/backward,
- Z (green) is +1.00 and changed by up/down acceleration, or either of the 2 actions above.
Angles and Sines: If you tilt the primer left or right at constant speed so that you rotate a full 360 degrees, you will notice that the X trace charts an approximate sine wave, furthermore you will see that the Z is the same shape but 90 degrees out of phase - a cosine?. This is quite a fun visualization tool for understanding otherwise rather dry phase relationships. You can even 'see' the sine or cosine of the angle the Primer is tilted. For example the sine of 30 degress (and cosine of 60 degrees) is a half. So see if you can get a trace halfway between midpoint(0) and full scale by tilting 30 degrees on one axis.
Speed and distance; Now lay the Primer flat on the table again and slide it left or right about 30cm or so. If you did so gently it will be hard to see the point where you started and stopped moving. This illustrates that it is hard to accurately measure position, speed and distance moved. The small changes in the trace at the start and end of motion are small and hard to distinguish from noise. This is one reason why it is important to rid the device of noise in the measurements.
Rotational blindness; Finally lay the Primer flat on the table again so you can read the logo. Now while keeping it flat on the table rortate it about the centre of the Circle. Notice that if you do this properly without moving left/right forward/back up/down none of the traces change. In this case you are rotating about the Z axis. See if you can rotate it about the X and Y axes without registering any significant changes on any traces. Where would you place other accelerometers so that the the Primer could detect these rotations? Could you do this by adding another 3 axis MEMS device?
Version 1.9 by Raisonance changes 15 January 2013
Project source(s) were modified to ensure compatability with Open4. The archive is updated with a Ride project adapted to Open4.
Version 1.8 by Raisonance changes 15 January 2009
Project source(s) were modified to ensure compatability with Primer2. The archive is updated with a Ride project adapted to Primer2.
Version 1.7 changes 10 March 2008
a) Chart trace thickness represents maximum and minimum measurement in each chart shift interval
b) status menu order and wording changes so the heavyest item (All - cycle) at the bottom
c) chart speeds displayed in seconds (or minutes) per division [assumes medium clock speed]
d) About menu choice in options menu lists information about application
e) Defaults changed so chart speed is constant by default
f) Defaults changed so fixed status area displays everything in a cyclic manner (All)
g) status cycling period upped to every 180 app handler calls so enough time to read the numbers.
Version 1.6 changes 12 Feb 2008 - Contest Release
a) Project structure simplified, chart.c source included.
b) MEMs Scale option added to Options menu so MEMs can range -2 to +2 G (1 G=9.8ms-2).
c) Min,Digits,Max added to Status options menu so user can see minimum and Maximum values.
d) ADC1 peripheral is calibrated for better temperature measurements.