Étape 4: programme
Code est attaché, mais je voulais partager mon approche pour contrôler la température.
Je voulais quelque chose entre :
- « ON si la température réelle est inférieure à température programmée », et
- toute commande de PID
Régulation PID est façon exagéré pour ce type d’application, mais l’autre option est très lente à réagir, en donnant une température réelle rebondir sensiblement autour de la cible, prenant beaucoup de temps à s’installer.
J’ai décidé d’utiliser l’option très simple, mais rend juste un peu plus intelligent. Je me suis séparé le programme en 3 phases :
- Préchauffer le mode : relais est dessus jusqu'à ce que la température réelle = (température - offset)
- Mode de mise à niveau : Simple tourne le relais OFF, puis constate à quel point les pics de température
- Mode de conservation : il s’agit du très basique mode "marche si dessous, OFF si au-dessus"
Ma façon de penser si que si j’avais utilisé le décalage exact, je pourrais être très proche de la cible à la fin de la phase 2 et cela réduirait l’effet rebondissant. Il semble fonctionner convenablement bien. J’ai fait quelques essais autour de 134F, qui est recommandée sous vide à température pour une cuisson saignante pour beaucoup de viandes (bœuf, veau, agneau, porc, volaille) et donc ce que je serais probablement utiliser le plus souvent. J’ai trouvé que pour ma mijoteuse, après chauffage à l’eau claire à pleine puissance de ~ 60F pour 130 f, l’eau a continué à la chaleur à propos 133F après que la chaleur a été éteint. Par conséquent, mon décalage magique est 3 !
Encore une fois, mon code Arduino est attaché. Je serais très heureux d’expliquer les détails.