The heart of this seismometer is MPU-6050 sensor contains a 3-axis MEMS accelerometer and a MEMS gyro in a single chip. It is very accurate, as it contains 16-bits analog to digital conversion hardware for each channel. Therefor it captures the x, y, and z channel at the same time. The sensor uses the I2C-bus to interface with the Arduino.
The first part of this project is directly taken from Silicon Chip magazine March 2018. At maximum sensitivity, the fullscale reading of this device is ±2g on each of the three axes and the 16-bit DAC gives a resolution of 0.00006g (2 ÷ 32768). MPU-6050 is that it has configurable digital low-pass and high-pass filters. The low-pass filter can be configured with a –3dB point of 5Hz, 10Hz, 21Hz, 44Hz, 94Hz, 184Hz or 260Hz. We have chosen 5Hz because this suits our application. Similarly, you can configure it for a high-pass filter of 5Hz, 2.5Hz, 1.25Hz or 0.625Hz. We have used the last option, giving a response of 0.625-5Hz. We provide an additional 1Hz high-pass filter in the software (which also helps to remove any residual gravity from the readings; for example, if the unit is not mounted perfectly horizontally). The Arduino makes a couple of dozen readings of the X, Y and Z-axis acceleration figures each second, and after processing them it uses an RMS formula to compute the magnitude of the resulting X/Y low-frequency vector. This is multiplied by a sensitivity factor, set using trimpot VR1, and if it exceeds an arbitrary threshold for more than about 200ms the alarm is triggered.
The LED diode serves as a visual indication. In case of vertical shake the LED diode shines continuously for 5 seconds, and in case of a horisontal shake it blinks. Sensitivity is adjusted by trimmer P1. For understandable reasons I can't share this part of the code but you can buy it for only 3 AUD from Silicon Chip web. The assembly described above can be used as a stand-alone device. If we want to do continuous monitoring of seismic activity, another Arduino microcontroller and specialized software is needed
The second Arduino microcontroller is an additional filter and A / D converter and through the serial port sends signals understandable to the free AMASEIS software which is a 24/7 data logger to record seismic activity. The Arduino code for this section (nerdaq), as well as the Amaseis software, can be downloaded below. To set Amaseis you can recall from my previous videos where are presented several types of seismometers. I also made minimal changes to the Silicon Chip software for this purpose, by which the A3 of the first microcontroller is defined as an analog output with a voltage proportional to the magnitude of the shock. Lastly, based on my experience so far, I can conclude that still electromechanical sensors (such as geophones) are more sensitive, since the shutter threshold of electronic sensors is quite high.
UPDATE: Silicon chip code is now free so I add modified code for this project.
Comments