Vibration measurement in a wind turbine gearbox

Dependencies:   mbed

Fork of ADXL345 by Owen Edwards

Revision:
1:d9496621bfb5
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Apr 20 17:22:04 2015 +0000
@@ -0,0 +1,63 @@
+#include "mbed.h"
+#include "ADXL345.h"
+ 
+ADXL345 accelerometer(p5, p6, p7, p8); // MOSI, MISO, SCK, CS_bar
+Serial pc(USBTX, USBRX);
+// 11-bit extented values; 50 readings stored in an array.
+       int data[50][3];
+       int reading = 0;
+int main() {
+    
+    int readings[3] = {0, 0, 0};
+
+    pc.printf("\nStarting ADXL345 test...\n");
+    pc.printf("Device ID is: 0x%02x\n\r", accelerometer.getDevId());
+    //Go into standby mode to configure the device.
+    accelerometer.setPowerControl(0x00);
+ 
+    //Full resolution, +/-4g, 4mg/LSB.
+    accelerometer.setDataFormatControl(0x09);
+    
+    //3.2kHz data rate.
+    accelerometer.setDataRate(ADXL345_3200HZ);
+ 
+    //Measurement mode.
+    accelerometer.setPowerControl(0x08);   
+ 
+      // Create timers
+    Timer Write_time;
+    Write_time.start(); 
+
+        //Fill the data with values.
+        for (int i=0; i<50; i++){
+      // Create timers for counting sampling time, and hence sampling rate.
+//    Timer Sample_time;
+//    Sample_time.start();             
+            accelerometer.getOutput(readings);
+//    Sample_time.stop();
+//    pc.printf("\nTime taken to take one sample= %f seconds\n\r",Sample_time.read());         
+       
+             for (int j=0; j<3; j++){           
+            data[i][j] = readings[j];
+            }
+        }
+        
+    Write_time.stop();
+    
+    pc.printf("\nTime taken to write array= %f seconds\n\r",Write_time.read());         
+        
+      // Create timers
+    Timer Read_time;
+    Read_time.start();    
+// Write to PC
+for (int i=0; i<50; i++){     
+                 reading++;
+    //11-bit, sign extended values. 
+       pc.printf("\nAx=%i, Ay=%i, Az=%i\n", (int16_t)data[i][0], (int16_t)data[i][1], (int16_t)data[i][2]);
+        pc.printf ("reading %d\n\r", reading); 
+    }
+    Read_time.stop();  
+        pc.printf("\nTime taken to read array= %f seconds\n\r",Read_time.read());         
+  
+}
+