# Agitateur POXC

## Résumé

Afin de mesurer le pool labile de carbone organique du sol, le set Biofunctool utilise une méthode d’oxydation au Permanganate de potassium (KMnO4) : abrégé protocole POXC nécessitant une agitation chronométrée et régulière avant lecture du résultat au spectromètre.

Cet agitateur de laboratoire, déployable sur le terrain, permet de traiter indépendamment 4 échantillons, chacun contrôlé par un simple bouton de déclenchement de la procédure. Il est également adaptable à d’autre programmes et contenants. Par exemple il peut être utilisé pour le protocole de mesure de l’azote minéral (Nmin).

{% embed url="<https://youtu.be/YaiPCrBrIhY?si=VNQDAH-Sj_F5kNaD>" %}

#### Note de versions:

<mark style="color:red;">AGIT V0</mark> (2023) prototype opérationnel qui méritait quelques optimisations

<mark style="color:red;">AGIT V1</mark> (2024) avec les modifications suivantes:

* 2 programmes (Poxc et de Nmin) choix par sélecteur mécanique
* couvercle fait d'une seule pièce
* option de code pour n'effectuer que des agitations de 2 minutes

<mark style="color:red;">AGIT V2</mark> (2025)&#x20;

* changement de buzzer
* correction du PCB
* optimisation de la fixation des servomoteurs
* modification de la fixation du sélecteur
* optimisation du design du boitier

<mark style="color:red;">AGIT V3</mark> (2025) <mark style="color:red;">**non présenté ici**</mark>

* ajout d'un second PCB pour fixer Led, switch et commandes sur la partie supérieure du boitier
* commande des servomoteur par interrupteur capacitif
* modification du design du boitier

## Description

Le protocole POXC peut être résumé par les étapes suivantes :  une petite quantité de sol (2,5g) extraite dans 18ml d’eau réagit pendant 2 minutes précisément au contact d’une solution de KMnO4 (2ml) par une agitation homogène de l’échantillon, puis repose 10 minutes avant lecture du résultat au spectrophotomètre.

Cette procédure était jusqu’à présent réalisée manuellement. Les agitateurs du commerce ne permettent pas de traiter les échantillons indépendamment les uns des autres et donc de respecter les 2 minutes par tube. Cependant cette phase de réaction, temps précis et mouvement homogène, est un paramètre critique sur la précision et la fiabilité du résultat. De plus, l’agitation manuelle est chronophage et d’une pénibilité certaine pour l’utilisateur. Les agitateurs commerciaux, non adapté à ce protocole, ne sont également pas destinés à un usage sur le terrain et sont onéreux.

Malgré l’engouement pour l’indicateur POXC en santé des sols, nous ne connaissons aucun instrument permettant d’automatiser la manipulation référencée à ce jour.  Nous proposons ainsi un instrument capable de résoudre ces différents blocages techniques :

* Traitement individualisé des échantillons
* Chronométrage précis de l’agitation et du repos
* Déployable sur le terrain
* Cout modéré

Cet agitateur (figure 1) permet de traiter 4 tubes de type Falcon 50ml ou pilulier en verre 30ml. Chaque échantillon est fixé orthogonalement à l’axe d’un servomoteur (DFRobot SER0053) au moyen d’un clip imprimé en PETG (fichier 3D disponible). Ce clip se compose d’une base pentagonale (partie mâle) vissée à l’arbre du servomoteur et du clip lui-même (partie femelle) venant s’insérer sur la base et se verrouiller au moyen d’une goupille (demi trombone à papier). Voir figure 2, ci-dessous. Ce système permet de changer facilement de clip : différents diamètres en fonction des tubes, casse d’un clip, rangement…&#x20;

A chacun des 4 servomoteurs dépend un bouton poussoir pour déclencher l’agitation et une LED RGB pour indiquer l’état de la procédure :

* Éteinte et servomoteur en marche : agitation en cours (2min)
* Rouge : agitation terminée ; période de sédimentation avant analyse (9min 30s)
* Vert clignotant : échantillon bientôt prêt à être analysé (30s)
* Vert continu : échantillon prêt à être analysé ; procédure terminée.
* Un indicateur sonore (buzzer) unique, complémente l’état de la procédure afin de permettre à l’utilisateur de s’éloigner de l’instrument pendant la phase d’attente.
* Deux bip long (0,5s ON ; 1s OFF) : 3min avant la fin de la procédure pour le premier échantillon lancé uniquement.
* Trois bip court (0,2s ON ; 0,2s OFF) lorsqu’un échantillon est prêt à être analysé
* Un sélecteur (commutateur à glissière) situé sur le dessus de l’agitateur permet de sélectionner l’un des deux programmes préenregistrés&#x20;
* POXC : 2min d’agitation ; 10min de repos
* Nmin : 5min d’agitation ;  1min de repos.

Cette sélection se fait lors de la mise sous tension de l’instrument (boucle setup() du programme du microcontrôleur). Ensuite, pendant le fonctionnement, le sélecteur est désactivé afin d’éviter une erreur de manipulation. D’autre programmes sont possibles en modifiant les variables « timer » dans le code.

Le système de contrôle est un microcontrôleur de type Arduino Nano. La position angulaire de chaque servomoteur est recalculée à une fréquence de 20ms pour respecter une agitation relativement lente (cycle de 2s).

Un circuit imprimé (figure 3) simplifie les connections et le montage de l’agitateur. Il permet également de gérer l’alimentation électrique, du microcontrôleur (5V) et des servomoteurs (6V). Il accepte des tensions d’entrée entre 12V et 35V DC, via une fiche Jack 5.5/2.1mm.

La structure de l’agitateur, imprimé en PLA, est composée de 5 parties (figure 4) :

•              L’extérieur, ou vienne se visser les servomoteurs.

•              L’intérieur, décomposé en 3 afin de simplifier l’impression (sans supports) et le montage

o   Le boitier avec le circuit imprimé

o   Le dessus du boitier pour amener les fils vers le dessus.

o   Un couvercle en dessous pour fermer

•              Un « chapeau » sur le haut, sur lequel sont fixés les LED, boutons et le commutateur.

<div><figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2FdZGCB93iczli4iQXcfEf%2Fimage.png?alt=media&#x26;token=93e3484f-9998-4b42-814d-ee712b17a54d" alt=""><figcaption><p>fig. 1 l'agitateur</p></figcaption></figure> <figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2FvKpKBZ89EmX0JtJSP12o%2Fimage.png?alt=media&#x26;token=ef575805-63cd-4318-b1bf-59e55d116787" alt=""><figcaption><p>fig. 2 un clip interchangeable</p></figcaption></figure></div>

<figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2FgveqQ6NOXtWy2IU085Wf%2FPOXC_shaker_2025-01-16.png?alt=media&#x26;token=325ae2c4-6081-49bd-970f-5095a03a5199" alt=""><figcaption><p>fig. 3 le circuit imprimé</p></figcaption></figure>

<figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2F5kslX24JSG0Snlyc9rLB%2Fimage.png?alt=media&#x26;token=6487ef57-3e45-4b05-81b9-7e402d1cceb4" alt=""><figcaption><p>fig. 4 l'ensemble des composants</p></figcaption></figure>

## Matériel et ressources

{% tabs %}
{% tab title="Fournitures" %}

* 1 Nano V3.0 Mini Carte USB ATmega328
* 4 Mini interrupteurs à bouton-poussoir 1A normalement ouverts (NO) - 6mm [exemple](https://www.amazon.fr/eROOSI-Interrupteur-bouton-poussoir-interrupteurs-normalement/dp/B098TDHK3D/ref=sr_1_25?crid=U5GNJNJCSS8J\&keywords=mini+interrupteur+poussoir\&sprefix=mini+interupteur%2Caps%2C131\&sr=8-25)
* 1 Dissipateur Chaleur 22mm x 15mm x 10mm TO-220 [exemple](https://www.amazon.fr/sourcing-map-Dissipateur-refroidissant-Transistor/dp/B099ZVNW55/ref=sr_1_10?__mk_fr_FR=%C3%85M%C3%85%C5%BD%C3%95%C3%91\&crid=1F1IGUDG1ZVXS\&keywords=dissipateur+de+chaleur+to+220\&sprefix=dissipateur+de+chaleur+to220%2Caps%2C180\&sr=8-10)
* 1 [Buzzer ](https://www.az-delivery.de/fr/products/buzzer-modul-aktiv)KY-012 Active Piezo Buzzer Alarm Sensor 85 dB
* 4 servomoteur  SER0053 [Gotronic](https://www.gotronic.fr/art-servomoteur-300-ser0053-32637.htm)
* 1 Embase alim CI415 (5.5/2.1) [Gotronic](https://www.gotronic.fr/art-embase-alim-ci415-14974.htm)&#x20;
* 4 Led RGB 5 mm anode commune LL509RGBAC
* 1 Inverseur unipolaire B144 à glissière ON-ON [Gotronic](https://www.gotronic.fr/art-inverseur-unipolaire-b144-296.htm)
* 1 régulateur LM7805 : 5V 1,5A  [Gotronic](https://www.gotronic.fr/art-l7805cv-1578.htm)
* 1 régulateur LM7806 : 6V 1,5A [Gotronic](https://www.gotronic.fr/art-l7806cv-309.htm)
* 1 Condensateur radial 470µF/25V [Gotronic](https://www.gotronic.fr/art-condensateur-radial-470uf-25v-11352.htm)&#x20;
* 2 condensateur-multicouches-330-nf [Gotronic](https://www.gotronic.fr/art-condensateur-multicouches-330-nf-12.htm)
* 4 résistances 1/4W 180Ω
* 2 Condensateur céramique 100 nF [Gotronic](https://www.gotronic.fr/art-condensateur-ceramique-100-nf-3215.htm)&#x20;
* 8 boulons M2X10 INOX A2 EF DIN 912 [exemple](https://www.visseriefixations.fr/vis-a-six-pans-creux/tete-cylindrique-hexagonale-creuse/inox-a2/tchc-inox-a2-filetage-total-din-912/tchc-m2x14-inox-a2-ef-din-912.html)&#x20;
* 4 boulons M2x8 INOX A2 EF DIN 912&#x20;
* 2 boulons M2x6 INOX A2 EF DIN 912 et leurs écrous
* 4 rondelles diam ext 5 mm&#x20;
* 8 écrous HU M2 Z.BLANC DIN 934 [exemple](https://www.visseriefixations.fr/ecrous/ecrous-hexagonaux/ecrou-hexagonal-hu/ecrou-hu-acier-zingue-blanc-din-934/ecrou-hu-acier-zingue-blanc-classe-6-din-934/ecrou-hu-m2-z-blanc-din-934.html)&#x20;
* 10 vis POZI 2.2X12 Z.BLANC DIN 934 [exemple](https://www.visseriefixations.fr/vis-autotaraudeuses/vis-pour-thermoplastiques/tete-fraisee-pozidrive/eco-syn-pour-thermoplastiques-tfz-acier-zingue-blanc/eco-syn-pour-thermoplastiques-tf-pozi-2-2x12-z-blanc.html)
* Alimentation 12 à 35 V fiche 5.5/2.1
* Divers: fil électrique 26/28 AWG, gaine thermorétractable, colle à chaud, cyanolite
  {% endtab %}

{% tab title="3D" %}
{% file src="<https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2FSivUqcREt1XoKNOeeta0%2FagitateurPOXC.zip?alt=media&token=9cdc6a81-ccfa-49b8-80fe-4ebb1f7fc379>" %}

filament PLA (env. 50 m) et PETG (env. 5 m) pour les clips
{% endtab %}

{% tab title="PCB" %}
{% file src="<https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2F2Em2gpWUsrEvQ2fcTN7D%2FPCB_agitateur.pdf?alt=media&token=b3b6a9a2-eee7-4523-b06a-b49e0cf438ef>" %}
{% endtab %}

{% tab title="IDE" %}
{% file src="<https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2FGwfNCfjaK3tDBgp9kB11%2Fcode_agitateurPOXC_Nmin.ino.zip?alt=media&token=a0f874f1-9c54-4d13-a853-79c6c030fdb5>" %}

Bibliothèques: Servo 1.1.8 ; ezOutut 1.2.0
{% endtab %}
{% endtabs %}

## Montage

<figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2FdVGaKv0GGdxeqVbWtzvS%2Fcablage_agitateur.png?alt=media&#x26;token=2fd78666-bb9e-45b1-b134-9efe552d29f5" alt=""><figcaption><p>fig. 5 plan de câblage ATTENTION capacitor très différents du PCB </p></figcaption></figure>

Présentation de la démarche de montage, pas à pas, avec un PCB. Sinon, il faudra également souder les pistes, selon le plan de câblage sur une plaque 11x4cm.

Rassembler les fournitures nécessaires. Imprimer les pièces  selon des paramètres standard (épaisseur de couche 0.2mm) en PLA à l’exception des clips en PETG, pour plus de souplesse.

<figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2F4qhNFVg5kSSGiOiq6L6n%2Fimage.png?alt=media&#x26;token=2dd30040-fb84-4c88-b39b-e272b7e3f8ea" alt=""><figcaption><p>fig. 6 Composants câblés</p></figcaption></figure>

* Relier les masses des servomoteurs entre elles et les alimentations. Utiliser éventuellement un fil de plus gros diamètre (ex : AWG 22)
* Câbler les LED et les boutons poussoirs (fils env. 20cm). Relier les masses des boutons entre elles
* Protéger les soudures avec de la gaine thermorétractable.
* Souder l'ensemble des composants sur le PCB (les petits condensateurs sont accessoires).
* Installer le dissipateur thermique sur le régulateur 6V (L7806) avec une vis M3x4
* Nettoyer le circuit à l'alcool et le sécher.
* Téléverser le programme dans l'arduino Nano.

## Assemblage

<div><figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2F5hoaiW7FakZgywHGFwKn%2Fimage.png?alt=media&#x26;token=6dcd1b9d-0e72-4990-99e4-ceac39e90bdf" alt="" width="375"><figcaption><p>fig. 7</p></figcaption></figure> <figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2F2sKLi6WlkQGecbDaGCMI%2Fimage.png?alt=media&#x26;token=fe534cc1-4f79-49c9-b83e-31e5ccecc448" alt="" width="368"><figcaption><p>fig. 8</p></figcaption></figure></div>

* Commencer par fixer les servomoteurs au support avec les vis M2x12. (fig. 7)
* Coller les LED avec de la colle à chaud (démontage possible) ou de la cyanolite (démontage impossible) et mettre en place les boutons ainsi que l'inverseur à glissière.
* Vérifier que les numéros sur le boitier, et sur les fils des LED, servo, boutons correspondent. (Étiqueter les câbles)
* Passer l'ensemble des câbles dans la partie haute et basse du boitier. La partie haute vient en buttée sur de petits débords intérieurs. Bien positionner la partie basse pour que les trous de vis coïncident avec la structure. Il n'est pas nécessaire de coller (fig.8)
* Souder les fils au PCB et prêtant attention à la numérotation.
* Toutes les informations de soudure : composant, valeurs, numérotation... sont écrites sur le PCB. L'inverseur à glissière vient sur la broche EXRA 1 (pin 19 \[A5], voir schéma de câblage)
* L'inverseur à glissière est soudé lorsque les fils sont placés à travers la lumière où il se positionnera si on préfère le fixer avec 2 boulons.
* Visser le chapeau, le boitier au support et le couvercle du boitier (en dessous) avec les vis POZI 2.2 12mm

#### Installation des clips :

{% hint style="danger" %}
Il est impératif de commencer par mettre l'agitateur sous tension afin que les servomoteurs se mettent en position 0° ! *Sinon, la position initiale/finale des échantillons ne sera pas verticale. Bien penser à ce que le code soit téléverser dans l'arduino.*
{% endhint %}

<figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2Fps4hjumIgqgcqAS5Uf1Z%2Fimage.png?alt=media&#x26;token=ff9689a1-e32b-489f-b141-bbfd790e87f1" alt=""><figcaption><p>fig. 9</p></figcaption></figure>

* Assembler les clips (base + clip + 1/2 trombone).
* S'assurer que les servomoteurs sont en position 0 (reset arduino) et mettre en place les clips sur l'arbre de chaque servo. L'ajustement est volontairement très serré, il est nécessaire de préchauffer légèrement la base sur clip pour l’insérer, ce qui gravera les crans sur celle-ci.
* Retirer le clip, ajouter un point de colle cyanolite, et le remettre en place. Verrouiller le tout avec la vis M2x6.

L'agitateur est prêt à être utilisé ! Il accepte des sources d'alimentation entre 12 et 35V. La plupart des petits transformateurs 220V pour appareils électroniques avec une fiche jack 5.5/2.1 feront l'affaire.

<figure><img src="https://2240186823-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MDxplQ11A6hquMJRZDf%2Fuploads%2FEPAuubOhIiyJqzMMeXou%2Fimage.png?alt=media&#x26;token=89262682-2acd-4541-af1c-07bce7c33d46" alt="" width="326"><figcaption><p>fig. 10</p></figcaption></figure>
