cbpi4-PID-AutoTune

CraftBeerPi4 Kettle Logic for PID Auto Tune


License
GPL-3.0
Install
pip install cbpi4-PID-AutoTune==0.0.9

Documentation

CraftBeerPi4 Kettle Logic for PID Auto Tune

  • Initial Version which is based on the CraftbeerPi3 Plugin from IndyJoeA (https://github.com/IndyJoeA/cbpi_PIDAutoTune)

  • Installation: You can install it directly via pypi.org:

    • sudo pip3 install cbpi4-PID-AutoTune

    Alternativeley you can install (or clone) it from the GIT Repo. In case of updates, you will find them here first:

  • Parameters:

    • Output Step: Defines the output power in % used for steps to ramp up to a temperature. Default is 100%.
    • Max Outpuz: Defines the maximum outpout power in % you are using with your system. Default is 100%.
    • Lockback Seconds: Defines the time in seconds how far the routine is locking back to identify temperature peaks. 30 seconds is typical. If you experience issues, increase the time (e.g. 60 seconds)
  • Hardware Setup:

    • After installation go to hardware settings
    • Select PIDAutoTune as Kettle logic.
    • Select the Heater, Agitator and Sensor for your Kettle
    • Enter the parameters with the default values or change them to your needs as shown in the image below.

PIDAutoTune Settings

  • Usage:
    • Go tou your cbpi4 dashboard and add a Kettle and KettleLogic.
    • You should run the Autotune as realistic as possible.
      • Therefore you should at least use the typical amount of water you are using also for a mash
      • Set a Kettle temperature via the Kettle Logic. I selected for instance 67C which is somehow between the typical mash temps of 62C and 73C
      • In my case I added even malt which is easy with the braumeister malt pipe as I just added the pipe back into the kettle after a full brewing step and was using the same amount of water
    • Start the automatic Kettle Logic (Click on the car symbol) and have a beer as it'll take sme thime. The system will heat up to the setpoint and overshoots intentionally.
    • If you are having a pump in your system or other agitators that may impact the heating cycle, you should run them also during the Autotune process
    • It is waiting until the temp is going down 0.5C below the target value.
    • Then it is repeating this procedure several times.
    • While running, it is writing a log file into the logs directory -> autotune.log
    • If successfull, the P, I and D values are listed in the log file and a message is displayed in the dashboard.
    • You can copy this message and enter the values then afterwards into your real Kettle Logic you are using for the mashing.

PIDAutoTune Results

Changelog:

  • 11.05.22: (0.0.10) Updated README (removed cbpi add)
  • 10.05.22: (0.0.9) Removed cbpi dependency
  • 10.02.22: (0.0.8): Fix to display correct power in actor button and mqtt when process is starting
  • 09.02.22: (0.0.7): Added default target temp in case user did not choose target tamp and alarm if target temp is below current temp
  • 20.11.21: (0.0.6): Switch heater off at end of autotune. Usage of power settings (cbpi >= 4.0.0.45 required)
  • 15.11.21: (0.0.5): Updated README
  • 02.04.21: (0.0.4): Bug fixing
  • 15.03.21: Support for cbpi >= 4.0.0.33