Sismomètre Vibra Sense
- Présentation du projet
- Journal de bord
- Codes finaux
- Poster de présentation
- Bill of Materials
- Fichiers sources et références
Présentation du projet
Informations
- Nijma Assal et Elie Tricart
- nijma.assal@etu.sorbonne-universite.fr elise.tricart@etu.sorbonne-universite.fr
- LU3ST062 Atelier FabLab (Licence Sciences de la Terre)
- 19/01/2024-10/05/2024
Contexte
Objectifs
(Capteur Vibra Sense 2 Click; https://www.mikroe.com/vibra-sense-2-click)
Journal de bord
19/01/24 : Choix et explication sommaire du projet (Essayer de faire un sismomètre à partir de 3 capteurs de vibrations)
Etude du fonctionnement général et des caractéristiques et composantes des sismomètres :
- Appareil capable de détecter de très petits mouvements du sol et de les enregistrer (analogiquement ou numériquement) en suivant une base de temps très précise (séisme = vibrations provoquées par la cassure de la croûte terrestre)
- Comporte un capteur mécanique, un transducteur, un amplificateur et un enregistreur
- Sismomètres utilisés actuellement : électromagnétiques (mécanisme de pendule avec un aimant se déplaçant dans une bobine de cuivre), chaque capteur est unidirectionnel, il en faut 3 (vertical, Est-Ouest, Nord-Sud)
- Le mouvement du sol zsol est lié au mouvement de la masse z par l’équation suivante, avec α la constante d’amortissement du système, ω0 la pulsation propre de l’oscillateur et M l’amplification :
Ici, l'idée est de faire un sismomètre à 3 composantes. Ces sismomètres sont particulièrement adaptés à l'étude de la sismicité locale et permettent de reconstituer le mouvement du sol en trois dimensions.
26/01/24 : Rencontre avec le responsable du projet et explication des attentes/cahier des charges, des résultats déjà obtenus et des consignes de réalisation.
Le capteur est composé d'un film piezoélectrique de 28µm d'épaisseur, laminé et monté sur un click-board :
Le but du projet est d'utiliser 3 de ces capteurs pour créer un sismomètre à 3 composantes facile à monter et peu coûteux (Les capteurs coûtent moins de 10euros chacun). Il faudra donc positionner les 3 capteurs selon les 3 axes orthogonaux de l'espace.
Début du travail avec le capteur sur une carte Arduino UNO R3. Alimentation du capteur :
Draft de code :
else{
09/02/24 : Travail sur le montage Arduino et le programme associé (étude de la plage de réponse du capteur).
On a testé le capteur dans un environnement silencieux en essayant de réduire au maximum les vibrations (dans une boîte en polystyrène), mais les réponses du capteur ne changent pas. Il semblerait que le capteur sature, ou plus probablement que le programme utilisé n'est pas adapté à ce capteur. Des recherches sur Internet ne donnent rien quant à d'autres projets utilisant ce capteur menés à terme par d'autres personnes.
01/03/24 : Travail sur le montage Arduino et le programme associé
Code utilisé :
29/03/24 : Nous avons assemblé les faces du sismomètre, mais avons rencontré un problème dans l'assemblage des faces, les trous pour les vis dans les cubes utilisés pour l'assemblage étaient trop petits. Nous avons donc réimaginé les pièces et le mode d'assemblage.
05/04/24 : Nous avons assemblé sommairement les parties du sismomètre. Certaines mesures sont fausses, et l'assemblage est un peu compliqué, nous allons donc modifier une dernière fois les pièces du sismomètre. Nous avons aussi créé le code pour le sismomètre avec ses trois capteurs, mais avons eu du mal à le lancer.
Codes finaux
Code Arduino
const int PIEZO1_PIN = A0; // Sortie du piezo 1
const int PIEZO2_PIN = A1; // Sortie du piezo 2
const int PIEZO3_PIN = A2; // Sortie du piezo 3
float previousPiezo1ADC = 0; // Stocker la valeur précédente
float previousPiezo2ADC = 0; // Stocker la valeur précédente
float previousPiezo3ADC = 0; // Stocker la valeur précédente
void setup() {
Serial.begin(9600);
}
void loop() {
// Lecture de la valeur ADC actuelle du piezo
float piezo1ADC = analogRead(PIEZO1_PIN);
float piezo2ADC = analogRead(PIEZO2_PIN);
float piezo3ADC = analogRead(PIEZO3_PIN);
// Calculer la différence entre la valeur actuelle et la précédente
float diff1 = piezo1ADC - previousPiezo1ADC;
float diff2 = piezo2ADC - previousPiezo2ADC;
float diff3 = piezo3ADC - previousPiezo3ADC;
// Mettre à jour la valeur précédente pour la prochaine itération
previousPiezo1ADC = piezo1ADC;
previousPiezo2ADC = piezo2ADC;
previousPiezo3ADC = piezo3ADC;
// Affichage de la différence
Serial.print(diff1); Serial.print(",");
Serial.print(diff2); Serial.print(",");
Serial.print(diff3); Serial.print(",");
Serial.print(-20); Serial.print(","); // To freeze the lower limit
Serial.print(20); Serial.print(","); // To freeze the upper limit
Serial.println();
// Attente avant la prochaine lecture
delay(5);
}
Code pour le support cubic
// Valeurs en mm
Eb = 6;
Es = 3;
L = 75;
R = 2.5;
Et = 100;
// Base
union(){
cube([L, L, Eb]);
cube([6, 6, 69]);
translate([69, 69, 69])cube([6, 6, 6]);
translate([69, 0, 69])rotate([0, 90, 0])difference(){
cube([63, L, Es]);
translate([11, 15, 0]) cylinder(Et, R, R, true);
translate([51, 15, 0]) cylinder(Et, R, R, true);
translate([11, 60, 0]) cylinder(Et, R, R, true);
translate([51, 60, 0]) cylinder(Et, R, R, true);
translate([15.5, 45, -50]) cube([30, 35, Et]);
translate([20.5, 11, -50]) cube([20, 40, Et]);
translate([15.5, 11, 2.5]) cube([5, 40, 2]);
translate([40.5, 11, 2.5]) cube([5, 40, 2]);
}
translate([69, 69, 6])rotate([90, 0, 180])difference(){
cube([69, 69, Es]);
translate([11, 15, 0]) cylinder(Et, R, R, true);
translate([56, 15, 0]) cylinder(Et, R, R, true);
translate([11, 54, 0]) cylinder(Et, R, R, true);
translate([56, 54, 0]) cylinder(Et, R, R, true);
translate([17.5, 39, -50]) cube([30, 30, Et]);
translate([22.5, 5, -50]) cube([20, 40, Et]);
translate([17.5, 5, 2.5]) cube([5, 40, 2]);
translate([42.5, 5, 2.5]) cube([5, 40, 2]);
}
translate([0, 69, 69])rotate([0, 0, 270])difference(){
cube([69, 75, Es]);
translate([11, 15, 0]) cylinder(Et, R, R, true);
translate([51, 15, 0]) cylinder(Et, R, R, true);
translate([11, 60, 0]) cylinder(Et, R, R, true);
translate([51, 60, 0]) cylinder(Et, R, R, true);
translate([15.5, 45, -50]) cube([30, 35, Et]);
translate([20.5, 11, -50]) cube([20, 40, Et]);
translate([15.5, 11, 2.5]) cube([5, 40, 2]);
translate([40.5, 11, 2.5]) cube([5, 40, 2]);
}
}
rotate([0, 180, 0])translate([-140, 0, -3])difference(){
cube([63, L, Es]);
translate([11, 15, 0]) cylinder(Et, R, R, true);
translate([51, 15, 0]) cylinder(Et, R, R, true);
translate([11, 60, 0]) cylinder(Et, R, R, true);
translate([51, 60, 0]) cylinder(Et, R, R, true);
translate([15.5, 45, -50]) cube([30, 30, Et]);
translate([20.5, 11, -50]) cube([20, 40, Et]);
translate([15.5, 11, -1.5]) cube([5, 40, 2]);
translate([40.5, 11, -1.5]) cube([5, 40, 2]);
}
rotate([0, 180, 0])translate([-69, 80, -3])difference(){
cube([69, 69, Es]);
translate([11, 15, 0]) cylinder(Et, R, R, true);
translate([56, 15, 0]) cylinder(Et, R, R, true);
translate([11, 54, 0]) cylinder(Et, R, R, true);
translate([56, 54, 0]) cylinder(Et, R, R, true);
translate([17.5, 39, -50]) cube([30, 30, Et]);
translate([22.5, 5, -50]) cube([20, 40, Et]);
translate([17.5, 5, -1.5]) cube([5, 40, 2]);
translate([42.5, 5, -1.5]) cube([5, 40, 2]);
}
rotate([0, 180, 0])translate([-146, 80, -3])difference(){
cube([69, 75, Es]);
translate([11, 15, 0]) cylinder(Et, R, R, true);
translate([51, 15, 0]) cylinder(Et, R, R, true);
translate([11, 60, 0]) cylinder(Et, R, R, true);
translate([51, 60, 0]) cylinder(Et, R, R, true);
translate([15.5, 45, -50]) cube([30, 30, Et]);
translate([20.5, 11, -50]) cube([20, 40, Et]);
translate([15.5, 11, -1.5]) cube([5, 40, 2]);
translate([40.5, 11, -1.5]) cube([5, 40, 2]);
}
Poster de présentation
Bill of Materials
Nom de l'élément | Description, dimensions | Référence | Lien | Prix unitaire | Quantité | Notes |
Vibra Sense 2 Click | Capteur de vibrations à film senseur piezoélectrique | MIKROE-4355 | $26 | à définir (2 déjà en stock, potentiellement un 3ème à obtenir) | ||
Fichiers sources et références
Fonctionnement et éléments d'un sismomètre : https://musee-sismologie.unistra.fr/
Caractéristiques et untilisation du capteur : https://www.mikroe.com/vibra-sense-2-click
Nous avons pu écrire le code grâce à l'aide précieuse de M. Thery.