PAE 2021 Vol de ruche 2 : Différence entre versions

De Learning Lab Environnements Connectés
Sauter à la navigation Sauter à la recherche
 
(10 révisions intermédiaires par le même utilisateur non affichées)
Ligne 1 : Ligne 1 :
  
  [[Fichier:Abeille2.jpg|vignette|Bzz]]
+
  [[Fichier:Abeille2.jpg|vignette|Drone déguisé en abeille]]
 
Les apiculteurs doivent faire face à beaucoup de problèmes pour maintenir une production de miel durable. <br/>
 
Les apiculteurs doivent faire face à beaucoup de problèmes pour maintenir une production de miel durable. <br/>
 
Entre les attaques de frelons et les produits nocifs utilisés à proximité des ruches, les abeilles sont exposées à<br/>
 
Entre les attaques de frelons et les produits nocifs utilisés à proximité des ruches, les abeilles sont exposées à<br/>
Ligne 14 : Ligne 14 :
 
Nous comptons tout d'abord effectuer un échantillonnage afin de faciliter le traitement et l'analyse du signal.
 
Nous comptons tout d'abord effectuer un échantillonnage afin de faciliter le traitement et l'analyse du signal.
 
Avant de réaliser un récupération d'information, il faut calibrer les axes afin que les données reçues correspondent à celles attendues.
 
Avant de réaliser un récupération d'information, il faut calibrer les axes afin que les données reçues correspondent à celles attendues.
Pour déterminer si il présence ou l'absence de mouvement nous allons réaliser un seuillage, afin de ne pas prendre en compte les petites variations de mouvement.
+
Pour déterminer si il y a présence ou non de mouvement nous allons réaliser un seuillage, afin de ne pas prendre en compte les petites variations de mouvement.
 
Cette étape de seuillage nous permettrait de récupérer un bit d'état renvoyant 1 si il y a détection de mouvement, ou 0 sinon.  
 
Cette étape de seuillage nous permettrait de récupérer un bit d'état renvoyant 1 si il y a détection de mouvement, ou 0 sinon.  
Pour réaliser ce projet, nous comptons utiliser une carte PSoC étant donné que nous avions quelques connaissance suite à l'APP2 et aux TP.
+
Pour réaliser ce projet, nous comptons utiliser une carte PSoC étant donné que nous avions quelques connaissances suite à l'APP2 et aux TP.
  
 
=Séance 1 : 15/03=  
 
=Séance 1 : 15/03=  
Ligne 35 : Ligne 35 :
 
<B>Travail à faire</B>  
 
<B>Travail à faire</B>  
 
<br/>
 
<br/>
Echantillonner les valeurs et les afficher pour observer une cohérence des valeurs récupérées.
+
Echantillonner les valeurs et les afficher pour observer la cohérence des valeurs récupérées.
  
 
=Séance 2 : 22/03=  
 
=Séance 2 : 22/03=  
Ligne 41 : Ligne 41 :
 
<B>Travail effectué</B><br/>
 
<B>Travail effectué</B><br/>
 
Durant cette séance nous nous sommes penchées sur la partie logicielle et code de notre projet. Nous voulions dans un premier temps afficher la valeur échantillonnée et la valeur en volt pour vérifier le bon fonctionnement de notre système. <br/>
 
Durant cette séance nous nous sommes penchées sur la partie logicielle et code de notre projet. Nous voulions dans un premier temps afficher la valeur échantillonnée et la valeur en volt pour vérifier le bon fonctionnement de notre système. <br/>
Nous nous sommes d'abord préoccupé que d'un seul axe, l'axe z.
+
Nous nous sommes d'abord préoccupées que d'un seul axe, l'axe z.
 
<br/>
 
<br/>
 
Voici le code permettant l'affichage des bits et des volts sur l'écran LCD.<br/>
 
Voici le code permettant l'affichage des bits et des volts sur l'écran LCD.<br/>
Ligne 97 : Ligne 97 :
 
<br/>
 
<br/>
 
<B>Travail à faire</B> <br/>
 
<B>Travail à faire</B> <br/>
Mise en place logicielle et codage et ces différents blocs.
+
Mise en place logicielle et codage de ces différents blocs.
 
=Séance 6 : 04/05 =
 
=Séance 6 : 04/05 =
 
<B>Travail effectué</B><br/>
 
<B>Travail effectué</B><br/>
Restauration du projet suite a la réduction de l'espace de stockage.<br/>
+
Restauration du projet suite à la réduction de l'espace de stockage.<br/>
 
<br/>
 
<br/>
 
<B>Travail à faire</B> <br/>
 
<B>Travail à faire</B> <br/>
Identique à au travail prévu à la séance précédente.
+
Identique au travail prévu à la séance précédente.
  
 
=Séance 7 : 18/05=
 
=Séance 7 : 18/05=
Ligne 124 : Ligne 124 :
 
#Tentative d'affichage des valeurs en sortie en g des 3 axes </br>
 
#Tentative d'affichage des valeurs en sortie en g des 3 axes </br>
 
#Evaluation par les professeurs </br>
 
#Evaluation par les professeurs </br>
#Tentative d'application des solution proposé par les professeurs (affichage du message d'alerte pendant 2 secondes)</br>
+
#Tentative d'application des solution proposées par les professeurs (affichage du message d'alerte pendant 2 secondes)</br>
  
 
=Conclusion=
 
=Conclusion=
<br/> Pour conclure notre projet s'arrête au stade de la réception d'un mouvement sur l'axe z et l'envoi d'un message sur l'écran LCD du PSoc. </br>
+
<br/> Pour conclure notre projet s'arrête au stade de la réception d'un mouvement sur l'axe z et l'envoi d'un message sur l'écran LCD du PSoC. </br>
 
Ci dessous les photos réalisé lors de nos tests :</br>
 
Ci dessous les photos réalisé lors de nos tests :</br>
 
<br/>
 
<br/>
Ici nous ne détectons aucun mouvement majeur, tout va bien.</br>
+
Ici nous ne détectons aucun mouvements majeur, tout va bien.</br>
 
[[image:Toutvabien.jpg|500px]]</br>
 
[[image:Toutvabien.jpg|500px]]</br>
 
</br>
 
</br>
Ligne 136 : Ligne 136 :
 
[[image:Auvoleur.jpg|500px]]</br>
 
[[image:Auvoleur.jpg|500px]]</br>
 
</br>
 
</br>
Objectivement, cette solution n'est pas suffisante pour résoudre le problème le problème mentionné dan l'introduction. En effet, si le voleur ne réalise aucun mouvement par rapport à l'axe z, mais pousse ou tire la ruche selon l'axe x ou y (ce qui semble complexe mais envisageable), le vol ne serait pas détecté.
+
Objectivement, cette solution n'est pas suffisante pour résoudre le problème de vol de ruches. En effet, si le voleur ne réalise aucun mouvements par rapport à l'axe z, mais le voleur pousse ou tire la ruche uniquement selon l'axe x ou y, le vol ne serait pas détecté.
Nous donc avons commencé la réception de l'information du mouvement sur les 3 axes mais nous n'avons pas réussir à bien les récupérer et les afficher sur l'écran LCD. </br>
+
Nous donc avons commencé la réception de l'information du mouvement sur les 3 axes mais nous n'avons pas réussi à bien les récupérer et les afficher sur l'écran LCD. </br>
Nous n'avons également pas eu le temps de nous s'occuper de la partie de l'envoi du message d'alerte.
+
Nous n'avons également pas eu le temps de nous occuper de la partie de l'envoi du message d'alerte.

Version actuelle datée du 6 avril 2022 à 16:00

Drone déguisé en abeille

Les apiculteurs doivent faire face à beaucoup de problèmes pour maintenir une production de miel durable.
Entre les attaques de frelons et les produits nocifs utilisés à proximité des ruches, les abeilles sont exposées à
une surmortalité grandissante. Pour remédier à ce problème, certains apiculteurs n'hésitent pas à voler
les ruches à proximité. Ces attaques entre apiculteurs ne cessent d'augmenter, rendant les conditions de
travail et de vie très difficiles pour les apiculteurs victimes de ces vols.
Dans ce qui suit nous vous présentons nos solutions pour remédier à ce problème.


Travail de réflexion préparatoire

Notre travail est de détecter une perturbation puis d'en informer l'utilisateur. Pour détecter le mouvement de la ruche nous allons utiliser un accéléromètre. Nous comptons tout d'abord effectuer un échantillonnage afin de faciliter le traitement et l'analyse du signal. Avant de réaliser un récupération d'information, il faut calibrer les axes afin que les données reçues correspondent à celles attendues. Pour déterminer si il y a présence ou non de mouvement nous allons réaliser un seuillage, afin de ne pas prendre en compte les petites variations de mouvement. Cette étape de seuillage nous permettrait de récupérer un bit d'état renvoyant 1 si il y a détection de mouvement, ou 0 sinon. Pour réaliser ce projet, nous comptons utiliser une carte PSoC étant donné que nous avions quelques connaissances suite à l'APP2 et aux TP.

Séance 1 : 15/03

Travail effectué

ADXL335

Déterminations des blocs à utiliser :

  1. Gain, pour récupérer un signal analogique
  2. CAN, pour numériser le signal


Réflexion sur les solutions qui vont être développées. (travail de réflexion préparatoire)

Documentation sur l'accéléromètre ADXL335.
Datasheet ADXL335 :
https://www.mouser.fr/Analog-Devices-Inc/Sensors/Motion-Position-Sensors/Accelerometers/Datasheets/_/N-axgd7?Keyword=adxl335&FS=True&P=1yyh4l4&gclid=EAIaIQobChMIubyKhP-x7wIVkMLtCh3opwiyEAAYASAAEgISmfD_BwE


Travail à faire
Echantillonner les valeurs et les afficher pour observer la cohérence des valeurs récupérées.

Séance 2 : 22/03

Travail effectué
Durant cette séance nous nous sommes penchées sur la partie logicielle et code de notre projet. Nous voulions dans un premier temps afficher la valeur échantillonnée et la valeur en volt pour vérifier le bon fonctionnement de notre système.
Nous nous sommes d'abord préoccupées que d'un seul axe, l'axe z.
Voici le code permettant l'affichage des bits et des volts sur l'écran LCD.

Description de la boucle while :


Whilecode.JPG


Travail à faire
Conversion des valeurs en sortie du CAN en g.

Séance 3 : 01/04

Travail effectué
L'objet de cette séance était d'établir la formule reliant l'accélération à la tension en sortie de l'accéléromètre. Cette phase est nécessaire pour pouvoir calibrer notre système et déterminer nos seuils permettant de signaler si il y a un mouvement ou non. Pour ce faire nous avons mesuré la valeur en volt en sortie de l'accéléromètre en positionnant l'accéléromètre de manière précise.

Positionsadxl.JPG

En suivant la datasheet avec les informations ci-dessus nous avons pu déterminer la valeur en volt pour -1,0 et 1 g. Après avoir placé ces valeurs dans un tableur, on a la confirmation que l'accélération est linéaire et de pente -0.33.

Tableur1.JPG


Travail à faire
Maintenant que nous avons obtenu la relation liant la tension à l'accélération, nous pourrons établir le seuillage des valeurs.

Séance 4 : 08/04

Travail effectué
Nous avons affiché les valeurs en sortie de l'accéléromètre :

  1. La valeur échantillonnée, en niveau de bits (en haut à gauche de l'écran)
  2. La valeur convertie en Volt (en haut à droite de l'écran)
  3. La valeur convertie en g (en bas à gauche de l'écran)


App3elec.jpg

Durant cette séance nous avons également déterminé les seuils qui allait nous permettre de déterminer si la ruche est en mouvement ou non.
Voici le code relatif au seuillage :
CodeSeuillage.JPG

Pour déterminer les valeurs choisies, nous avons relevé la valeur échantillonnée à l'arrêt et nous avons estimé à vue d'œil son incertitude.

Travail à faire
Reprendre le projet en prenant en compte un mouvement sur les 3 axes.

Séance 5 : 29/04

Travail effectué
Documentation sur le multiplexeur à utiliser pour prendre en compte les 3 axes. Nous comptons utiliser un AMUX4 ainsi qu'un RefMux.

Travail à faire
Mise en place logicielle et codage de ces différents blocs.

Séance 6 : 04/05

Travail effectué
Restauration du projet suite à la réduction de l'espace de stockage.

Travail à faire
Identique au travail prévu à la séance précédente.

Séance 7 : 18/05

Travail effectué
Durant cette séance nous avons rédigé le code pour la mise en marche du multiplexeur. Ci dessous un extrait des codes modifiés.
Assignation des port :
Codere0f.JPG


Affichage de la valeur en g pour les 3 axes:

Coderef.JPG

Cependant, on remarque que seul le nom des axes s'affiche sur l'écran.

Travail à faire :
Affichage de la valeur en sortie en g des 3 axes.

Séance Finale : 25/05

Travail effectué

  1. Tentative d'affichage des valeurs en sortie en g des 3 axes
  2. Evaluation par les professeurs
  3. Tentative d'application des solution proposées par les professeurs (affichage du message d'alerte pendant 2 secondes)

Conclusion


Pour conclure notre projet s'arrête au stade de la réception d'un mouvement sur l'axe z et l'envoi d'un message sur l'écran LCD du PSoC.
Ci dessous les photos réalisé lors de nos tests :

Ici nous ne détectons aucun mouvements majeur, tout va bien.
Toutvabien.jpg

Ici nous réalisons un mouvement, le message adéquat s'affiche sur l'écran.
Auvoleur.jpg

Objectivement, cette solution n'est pas suffisante pour résoudre le problème de vol de ruches. En effet, si le voleur ne réalise aucun mouvements par rapport à l'axe z, mais le voleur pousse ou tire la ruche uniquement selon l'axe x ou y, le vol ne serait pas détecté. Nous donc avons commencé la réception de l'information du mouvement sur les 3 axes mais nous n'avons pas réussi à bien les récupérer et les afficher sur l'écran LCD.
Nous n'avons également pas eu le temps de nous occuper de la partie de l'envoi du message d'alerte.