La chasse aux frelons:

Le frelon asiatique est une plaie pour les apiculteurs.

Quelques sites sur ce sujet:
- frelon asiatique
- journal des femmes
- habitat_presto
- intuite
- site auvergne


Il y a 2 ans, avec deux amis apiculteurs Pascale et Olivier, de la section Apiculture de l'ASC CNES, en contact avec Florent de la société INTUITE, nous avons expérimenté une solution (parmi d'autres) pour lutter contre ce fléau qui peut décimer une ruche. Il est possible de mettre des écrans pour éviter que les frelons entrent dans la ruche, mais nous avons plutôt réalisé une balise électronique pour localiser le nid des frelons. C'est la solution proposée par INTUITE mais nous avons utilisé une technologie numérique (pour ne pas refaire la même chose et dans un but non commercial).

Le nid peut se trouver à plusieurs kilomètres  de l'endroit où l'on observe un frelon attaquant les abeilles d'une ruche. Le gag  est qu'il y avait un nid vide de frelons dans un pin à quelques mètres de ma maison, et je ne l'avais jamais remarqué ni la présence de frelons d'ailleurs, comme quoi...



Le système réalisé comprend:
- une balise 433MHz à coller sur le frelon comprenant un accu rechargeable, un µP, un circuit HF et un quartz.
- un module chargeur pour activer/configurer  la balise et charger son accu
- un circuit récepteur avec affichage et beep  pour écouter  les tops de la balise, alimenté par une pile 9V
- une antenne yagi adaptée au 433MHz

La balise:
Le choix de la bande 433MHz permet de satisfaire la législation en ne dépassant pas une faible puissance, c'est la bande utilisée par exemple par les clefs de portail, les sonnettes sans fil et les stations de température.
L'usage d'un circuit numérique avec un quartz permet la répétabilité de la fabrication sans besoin de réglage. Un oscillateur beaucoup plus simple à quartz comme  l'utilise  INTUITE est une autre bonne solution.

Le schéma final de la balise:


Le PIC10LF322 en boitier SOT23-6 permet grâce à son logiciel de configurer le fonctionnement de la balise. L'intérêt du logiciel est de pouvoir modifier facilement le comportement de la balise (activation, type de top, codage éventuel, récurrence des tops) pour tester diverses stratégies d'émission impactant la portée. A l'état éteint la balise ne consomme que les quelques microampères du pic.
Le MAX1472 génère le signal HF à 433.92MHz (multiple x32  du quartz 13.56MHz) qui est  modulé OOK par le µP pour émettre les tops périodiques.

Pour permettre la mise au point facile du logiciel du pic, le schéma a d'abord été réalisé sur une petite carte permettant l'accès aux broches de programmation, en incluant aussi une empreinte MICRF113 (similaire au MAX1472) pour le tester (c'est le MAX1472 qui a été retenu in-fine).

Noter que cette petite carte telle quelle, peut servir de balise sur d'autres bestioles plus grosses....


Les fichiers gerber de cette carte de test pour JLCPCB.
Un fil long de lambda/4 est soudé sur le pad ANT.



La balise réelle:

Elle a été réalisée chez PCBWAY par Olivier sur un pcb FLEX  comportant le fil d'antenne replié. Un accu miniature 3V est soudé sur un coté, le reste des composants est en cms 0603 sur l'autre coté.





Il serait possible de réduire le coût du flex (et la masse de la balise?) en coupant au niveau quartz et en soudant un fil fin sur un pad ce qui permettrait aussi de régler la longueur du fil. Un regret tardif est de ne pas avoir sorti les broches de programmation du pic sur l'autre face du connecteur, qu'il faut donc programmer avant de le souder.

Le montage a été fait à la main sous binoculaire (ou loupe) avec de la pâte à souder et un flux d'air chaud (et fer à pointe très fine). Après mise au point du logiciel, le PIC a été programmé avant montage sur un petit support SOT23-6 connecté sur un programmateur PicKit3. Il serait possible de reprogrammer le pic sans démontage en soudant 2 fils sur les broches 1 et 3.

Le flex est assez onéreux avec dorure des pads.



La masse d'une balise complète avec la pile/accu ne dépasse pas 0.22g.

La balise fonctionne correctement si la pile rechargeable (type 3V/1mAh dispo chez Farnell ref :3534573) est au-dessus de 2.4V environ. Au-dessous cela continue à émettre mais de façon erratique.
Pour une durée de top de 4ms modulé 50% à 1KHz émis une fois toutes les 2 secondes environ et une charge initiale à 3.15V de la pile, la balise fonctionne environ 20heures. La pile suit sa courbe de tension de décharge nominale. Par contre il faut éviter tout courant important sur la pile, ce qui la décharge très rapidement (d'où la présence de R1 de 330ohms).
Le connecteur 3 broches sur le bord du flex permet de charger la pile, de détecter l’état de fonctionnement de la balise et de lui envoyer des codes de configuration depuis le chargeur/activateur.

Le logiciel:

Modes de fonctionnement :
La balise peut être active (émission des tops HF) ou inactive (seul le pic est actif en stand-by).
Plusieurs modes de fonctionnement sont prévus dans le logiciel.

Mode désactivé :
Dans ce mode le pic passe en standby (SLEEP), et il est réveillé toutes les 2 secondes pendant qqs ms par son WDG ou par une transition sur l’entrée de configuration (RA3/MCLR).
Le MAX1472 est DISABLE ce qui induit une très faible conso de sa part (nanoAmpères). Le pic lui-même consomme très peu à cause de son WDG actif (10 à 20μA), et sa faible fréquence d’horloge (oscillateur LFINT interne à 31KHz ce qui donne une instruction de 125μs = FOSC/4).
Dans ce mode, on peut envoyer des codes de configuration qui permettent de changer le mode de fonctionnement. Tout code correctement reçu provoque la configuration en mode Activé (à part le code de désactivation of course).
Le pullup de l’entrée configuration RA3 est inactif dans le mode désactivé, ce qui rend cet état détectable par le chargeur car il n'est pas rappelé au 3V.

Dans ce mode, on s’attend à une durée de vie de la pile chargée de 15 jours voire plus, bien que cela n’ait que peu d’importance car ce mode est dédié au stockage, et la balise sera de toute façon rechargée au moment de son utilisation et son activation sur le chargeur.
Un mode de configuration accessible seulement au moment de la programmation du pic peut activer une durée limite de fonctionnement de 4 ou 8 heures qui fera automatiquement passer la balise dans le mode désactivé mais sans modifier la configuration sauvée en mémoire non volatile (les champs UserIDs du PIC).

Mode Activé :
Dans ce mode, un signal HF est émis chaque 2 secondes environ. Le pic est toujours actif dans ce mode, mais est surveillé par son WDG.
Dans ce mode, le pullup de l’entrée de configuration est actif, ce qui tire cette entrée au +pile, ce qui est détectable par le chargeur.
Par configuration par l’utilisateur final sur le chargeur, il est possible de changer plusieurs paramètres :
- Nombre de tops de 4ms de 1 à 4 (minimum 1) séparés de 200ms. Ceci permettra de discriminer plusieurs balises simultanément actives.
- Activation ou désactivation de la balise
- Type de modulation ou porteuse pure
Pour gérer ces modes le logiciel utilise les 4 champs UserID0, 1, 2, 3 (chacun de 7 bits) du PIC10LF322, de la façon suivante :
UserID0 : si 0x5D la balise est désactivée sinon activée

UserID1 : nombre de pulses à rajouter codé sur les 2 bits LSB de 0 à 3

UserID2 : code le type de top et la fréquence de modulation
0= pas de modulation top de 4ms porteuse pure (attention la consommation  sera doublée)
1 ou autre :=modulation 1KHz 50% top de 4ms (optimal pour le récepteur MAX41470)
2= modulation 2KHz 50% top de 4ms
3= modulation 1KHz et top de 8ms

UserID3 : code la durée limite d’activité de la balise
0 = pas de limite la balise s’arrêtera (de manière erratique) avec la pile
4= limite de 4 heures
8 ou autre valeur= limite de 8 heures

Seuls UserID0 et UserID1 sont modifiables par l’utilisateur final avec  le chargeur.
Les champs UserID2 et UserID3 sont modifiables au moment de la programmation du pic.
Ces champs sont tous modifiables (après erase complet du pic) sur le programmateur du pic, et ne demandent pas une recompilation du logiciel. Il est possible de sauver plusieurs fichiers HEX de programmation où les divers modes sont déjà configurés.

Codes de configuration émis par le module chargeur:
Ces codes sont constitués d’une suite de16 bits (+2 bits à 0 avant pour réveiller le pic si désactivé).
Bit0 codé par un pulse à 1 de moins de 100ms et au moins 40ms (réaction du pic qui tourne à 31KHz).
Bit1 codé par un pulse à 1 de plus de 100ms et moins d’une seconde (sécurité)
Les pulses sont espacés de 100ms. Le MSB est émis en premier.
Chaque code de configuration correctement reçu provoque le reset hardware du pic et la mise à 0 du compteur de durée limite si active.
Activation      (UserID0):      0xAAAA
Désactivation (UserID0):      0xDDDD
Configuration du nombre de tops (UserID1) :  0xCCnn nn étant le nombre de tops à ajouter de 0 à 3.
Configuration du type de top (UserID2) :         0xEE0n n étant le type de top de 0 à 3

Etat de développement :
Le logiciel est terminé et testé. La flash programme est pleine à 95% (pas trop de marge sauf bidouilles). Sa compilation demande la version PRO de Mplab IDE/XC8 pour optimiser la taille du code.

Le fichier Hex de programmation du PIC10LF322.
Le source C du logiciel de la balise.

Le chargeur:
Le chargeur permet de charger la pile de la balise et de configurer les champs UserID0 et UserID1 du PIC pour choisir les modes de fonctionnement :
- Activation/désactivation de la balise
- Nombre de tops émis chaque 2 secondes

Il comprend :
- Une prise microUSB pour l’alimentation (qqs 10 à 20mA sont suffisants en 5V et un régulateur interne série produit le 3.3V). Pas d’interrupteur, il suffit de brancher ou débrancher. Prendre garde de ne pas laisser la balise sur un chargeur débranché car elle peut alimenter celui-ci de manière parasite et vider sa pile.
- Une prise de connexion du flex de la balise
- 2 leds indiquant que la pile est chargée à 3.15V et l’activité/inactivité de la balise, ainsi que l’envoi du type de code de configuration
- Un bouton poussoir pour activer la balise et changer sa configuration
- Le tout est géré par un PIC12F1840 ou PIC12LF1840 à 16MHz

Note : Le connecteur de la balise est un Molex 3 points (pas de 1mm) au lieu de 6 points.
La résistance R4 de 470ohms a été remplacée dans la version finale par une diode schotky à faible tension forward de 0.2V, ce qui permet de limiter la tension de la pile à 3.1V, le logiciel limitant de toute façon la charge à 3.15V environ.

Les fichiers gerber pour JLCPCB.
Logiciel:
le fichier de programmation du PIC12LF1840.
le source du logiciel.

Procédure
:
- Brancher la balise : au branchement USB du chargeur (les leds clignotent 4 fois), si elle a besoin de charger, la LED2 va clignoter plus ou moins fort suivant le niveau de charge de la pile. La LED2 s’allumera fixe quand la tension balise de 3.15V est atteinte. Dans ce cas elle est isolée du chargeur, et reconnectée périodiquement pour vérifier son état et sa tension.
- La LED1 allumée indique que la balise est active en émission: on peut écouter la balise sur le récepteur (très sensible) même sans antenne ou avec une simple antenne télescopique de quelques centimètres branchée sur le connecteur SMA du récepteur.

Configuration d'une balise:
- L’appui du bouton moins de 2 secondes provoque l’envoi du code d’activation (0xAAAA).
- L’appui du bouton plus de 2 secondes fait défiler à chaque 2 seconde le mode de configuration courant, et envoie à la balise le code affiché quand on relâche le bouton. Le mode courant est indiqué par l’état des deux leds :
LED2
LED1
Etat balise
Code émis vers la balise
ON léger
ON léger
un seul top sera émis par la balise
0xCC00
OFF
ON plein
2 top sémis
0xCC01
ON plein
OFF
3 tops émis
0xCC02
ON plein
ON plein
4 tops émis
0xCC03
Clignote 10Hz
Clignote 10Hz
Désactivation de la balise
0xDDDD
OFF
OFF
Pas d'action (EXIT)
aucun
Clignote 2Hz
Clignote 2Hz
top Porteuse pure
0xEE00
OFF Clignote Top 1KHz 4ms
0xEE01
Clignote
OFF
Top 2KHz 4ms
0xEE02
ON plein
Clignote
Top 1KHz 8ms
0xEE03

En laissant appuyé le switch cette table est balayée chaque 2 secondes en rebouclant au début. Le mode EXIT permet de sortir si on a appuyé trop longtemps sans vouloir configurer.
Le dernier mode courant utilisé est sauvé en mémoire non volatile, ce qui permet de configurer rapidement plusieurs balises de manière identique.




Le récepteur:


Deux récepteurs prototypes ont été testés, l’un basé sur un MICRF220 et l’autre sur un MAX41470.

Le modèle MICRF220 a été intégré dans une première antenne « revolver », approche qui sera abandonnée car plus complexe à fabriquer. Avoir un boitier récepteur indépendant permet d'utiliser une autre antenne.

Les deux fonctionnent bien mais le MAX41470 est plus simple et plus sensible car il intègre directement un synthétiseur de fréquence permettant d’ajuster la fréquence dans les bandes 300, 450 et 800MHz avec le même quartz 16MHz uniquement en modifiant le logiciel. Son interface d’entrée est très simple avec seulement 100pF en série depuis l’entrée SMA.
Il est un peu plus complexe à programmer et à souder car seulement en boitier CMS QFN12. Il existe des modules de test chez RS où le circuit est déjà soudé



Il est géré par un PIC16F1709 20 broches DIP  (que j’avais sous la main) que l’on peut remplacer par un autre PIC 20 broches compatible car le logiciel n’utilise que ses fonctions numériques.

La base minimum est constituée du switch à led et le buzzer qui indique l’arrivée d’un top HF dont le RSSI est supérieur à un seuil réglable par le potar.

Il est alimenté par une pile 9V suivie d’un régulateur 3.3V que l’on peut remplacer par un stepdown pour optimiser la consommation (divisée par 3) et la durée de la pile.

On peut aussi envisager de l’alimenter par une prise usb comme le chargeur, dans ce cas le régulateur série fait l’affaire.

Avec un bout de fil dans la prise SMA on entend très bien la balise mais aussi les tops 433MHz modulés émis par les thermostats HF ou les clefs de voiture.

Un afficheur optionnel OLED (interface SPI) permet d’afficher la version du logiciel, le niveau RSSI du dernier top reçu et la fréquence courante, ainsi que le seuil de réglage du RSSI au-dessus duquel il y a un beep. En pratique il est peu visible en plein soleil sur le terrain, mais dans ce cas le son suffit. Si l'oled est absent, mettre à 0V la broche SPDAT optimise les  mesures du RSSI pour détecter le top.

Quand le switch est appuyé plus de 4 secondes, le potar passe en mode ajustage de fréquence, de 10MHz environ autour de la fréquence 433.92MHz. On sort de ce mode en appuyant à nouveau sur le switch.

L'afficheur est monté du même coté sur le PIC.

Les fichiers gerber pour JLCPCB.

Le fichier HEX de programmation du PIC16F1709.

Le récepteur est monté dans un boitier imprimé 3D: boitier.stl et son couvercle.stl ajouré pour l'afficheur oled 1.3". Le fichier bouchon.stl permet de passer la prise sma après montage de la carte dans le boitier. Le boitier est pratique à utiliser tenu en main, l'autre main tenant l'antenne grâce à sa crosse.


L'antenne:
Une antenne Yagi adaptée au 433MHz à 3 brins a été fabriquée spécialement (on peut aussi utiliser une antenne yagi du commerce avec plus de gain), reliée par un câble SMA au récepteur.


Les brins sont fixés par un support sur une poutre en pvc  (goulotte électrique 10x10mm) , elle-même fixée sur une crosse imprimée 3D. Il est facile de rajouter un brin pour améliorer le gain et la directivité.
crosse.stl
support_antenne.stl


Les essais:

Pendant l'été, des frelons ont été capturés (filet à papillon) et équipés d'un bout de carton de même taille lesté d'un plomb aplati  pour simuler la masse  (0.2g) de  la balise et la fixation de l'accu.
Le frelon est endormi en le mettant au congélateur pendant quelques minutes (il est très résistant).
La balise est collé à la cyano par l'accu sur le dos du frelon en mettant une petite goutte sur son dos et un peu d'activateur sur l'accu/plomb.

 

 

Le frelon vole très bien avec le bout de carton, par contre nous avons eu des problèmes avec le collage de la balise : la cyano a l'air de paralyser les ailes du frelon et l'empêcher de voler, à moins que la forme plate de la balise le gêne pour voler (un fil fin est peut-être la solution).
Ce problème est maîtrisé par Florent de INTUITE.
On envisageait d'utiliser un simple fil autour du frelon, mais la manipulation  du frelon est délicate.

L'ensemble balise/récepteur fonctionne bien:
-  portée de plusieurs kilomètres
-  durée de fonctionnement de la balise de 10heures
-  l'angle de discrimination  de l'antenne yagi 3 brins est de l'ordre de 30degrés (on doit avoir mieux avec une antenne du commerce et le récepteur intégré sur smartphone proposé par Florent)

Une anecdote à ce propos: en recherchant le frelon "balisé" en voiture sur plusieurs kilomètres, nous avions cru le trouver, mais c'était en fait l'amorçage d'une clôture électrique sur une herbe.  Les  thermomètres sans fil  ou les zappettes sont discriminées facilement car on entend  leur modulation.