Un programme de soutirage Samovar est un ensemble textuel de commandes qui décrit le comportement du contrôleur dans le temps. Chaque ligne indique une condition (température d’un capteur, temps, volume), une action (allumer/éteindre la pompe, changer la vitesse, arrêter le processus) et des paramètres. Syntaxe : T(sensor) (operator) (value) → (action) (parameters). Exemple : T2 > 78.5 → PUMP ON 30% signifie « quand la température du capteur 2 dépasse 78,5°C, allumer la pompe à 30 % de puissance ». Le programme s’exécute séquentiellement, avec des points de contrôle — le contrôleur ne passe pas à la ligne suivante tant que la condition n’est pas remplie. Cela permet de séparer précisément les fractions : têtes (jusqu’à 78°C), cœur (78–92°C), queues (au-dessus de 92°C). Le programme est stocké dans la mémoire non volatile de l’ESP32 et survit à un redémarrage. Il peut être modifié via l’interface web ou un script Lua.
Ce qu’est un programme de soutirage pour Samovar
Un programme de soutirage, ce sont quelques lignes. Chaque ligne décrit ce que Samovar doit faire à un moment donné. La durée d’exécution d’une ligne est déterminée soit par le volume de liquide que la pompe doit débiter à la vitesse réglée, soit par le temps.

Le programme de soutirage le plus simple peut ressembler à ceci :
H;250;0.10;1;0.00;120
B;2500;1.00;2;0.00;150
T;250;0.10;3;0.00;160
Que signifient ces lignes ? Examinons la première plus en détail.
Il faut dire à Samovar ce qu’il soutire exactement dans cette ligne — les têtes, le cœur ou les queues. Le type de soutirage est défini par la première lettre (latine) : H — têtes (Heads), B — cœur (Body), T — queues (Tail), et il existe un type supplémentaire, P — pause (Pause). Dans la première ligne, nous soutirons les têtes.
Le deuxième paramètre, séparé du type de soutirage par un point-virgule, définit le volume de liquide à soutirer avant de passer à la ligne suivante. Dans notre cas, c’est 250 millilitres.
Le troisième paramètre, après le point-virgule, est la vitesse à laquelle Samovar doit soutirer le volume donné, ce qui pour la première ligne de l’exemple fait 100 millilitres par heure, soit 0,1 litre par heure.
Le quatrième paramètre définit le récipient dans lequel le liquide sera collecté — dans l’exemple, 1.
Le cinquième paramètre est la température de soutirage ; elle n’est pas utilisée pour le moment et sa valeur n’a pas d’importance — mettez 0 par défaut pour ne pas vous tromper.
Et le sixième et dernier paramètre définit la tension que Samovar doit appliquer au régulateur pendant l’exécution de cette ligne précise, 120 volts.
Si vous ouvrez l’onglet du programme sur l’écran principal, vous verrez un champ de texte pour saisir le programme, ainsi qu’un court aide-mémoire décrivant ce que signifie chaque paramètre.
Le type de programme Pause mérite une mention à part. Lors de l’exécution d’une ligne de type P, Samovar arrête la pompe et attend le temps indiqué dans cette ligne. Tous les autres paramètres sont ignorés, sauf le sixième — la tension. Une pause peut servir, par exemple, s’il faut augmenter (ou diminuer) fortement la tension du régulateur. Comme le bouilleur et la colonne ont pas mal d’inertie, cela prend du temps. Combien de temps attendre, vous devez le décider vous-même, selon votre expérience. Si vous avez réglé la pause plus longue que nécessaire, vous pouvez simplement appuyer sur le bouton “Start take-off” (Démarrer le soutirage) et Samovar passera à la ligne suivante. Si le temps n’a pas suffi, vous pouvez appuyer sur le bouton “Pause” et Samovar mettra la pompe en pause. Pour poursuivre le soutirage, il faudra appuyer sur le bouton “Continue take-off” (Reprendre le soutirage). Voici à quoi peut ressembler une ligne de programme de soutirage — attendre 120 secondes, régler la tension du régulateur à 140 volts :
P;120;0;0;0;140
Comme vous le voyez, piloter Samovar par un programme n’est pas difficile du tout. Ce qui est difficile, c’est de déterminer quel volume, à quelle vitesse et dans quelle proportion soutirer pour vos conditions précises. Vous pouvez bien sûr tout calculer vous-même. Mais il y a plus simple.

Sur l’onglet “Program” (Programme) se trouve un bouton “Calculate program” (Calculer le programme) ; en appuyant dessus, vous accédez à une page avec un calculateur de programme, qui contient un exemple de calcul d’un programme à partir du volume de brouillis et de son degré. Pour un calcul précis, il faut régler le degré attendu en sortie de colonne. Vous pouvez aussi définir le rapport en pourcentage des têtes et des queues pour votre brouillis (il dépend du type de matière première utilisée).

Lorsque vous avez téléchargé depuis GitHub le dossier avec le sketch et les bibliothèques nécessaires au fonctionnement de Samovar, vous avez aussi téléchargé le dossier tools. Ce dossier contient trois fichiers — program_shugar.txt, program_grain.txt, program_fruit.txt — qui contiennent des modèles de calcul de programmes de soutirage pour le sucre, les fruits et les céréales. Ces calculs peuvent être utilisés tels quels en les chargeant avec le bouton “Load program” (Charger le programme), ou vous pouvez les ajuster à votre guise et les enregistrer dans un autre dossier pour que les modifications ne soient pas écrasées lors de la mise à jour de Samovar (bouton “Save program” (Enregistrer le programme)).
Et si vous ne voulez pas de programme de soutirage et préférez piloter Samovar vous-même ?
C’est possible aussi. Pour cela, vous pouvez définir une seule ligne de programme et la lancer. Par exemple, celle-ci :
H;99999;0.10;1;0.00;120
Dans ce cas, Samovar exécutera ce programme jusqu’à avoir soutiré 100 litres, et pendant ce temps, vous pouvez piloter les paramètres de soutirage. Vous pouvez modifier la vitesse de soutirage et la tension du régulateur. Le groupe de sécurité fonctionnera lui aussi.
