RIMS Arduino Library
Re-circulation infusion mash system library for Arduino.
Things used in this project
Software apps and online services
This library implement RIMS controls for home brewers. For definition of a RIMS, see What is a RIMS?
For me, an Arduino micro controller + a LCD Keypad shield was cheaper and a lot more customizable than a commercial PID controller. So, with this library, a commercial PID controller is unnecessary. Automatic PID tuning toolkit is also included. Temperature can be read with a thermistor, a resistance temperature detector (RTD) or any custom temperature probe. Heater is controlled with pulse-width modulation (PWM) of a solid-state relay (SSR).
User interface made with DFRobot LCD Keypad Shield for Arduino or similar (can be customized) Heater action : solid-state relay (SSR) time proportioning control (or pulse width modulation, PWM), LED duty-cycle indicator Temperature sensor : RTD reading with an instrument amplifier and cubic fitting, thermistor reading with voltage divider, custom temperature probe support, measurement pre-filtering before PID PID temperature regulation enhanced : derivative filter, smart integration clamping anti-windup, multiple controller (up to 4, optional) for different mash water quantities Automatic PID tuning : Autotuner based on relay identification, Fourier analysis and Ziegler-Nichols methodsManual PID tuning : Process model identification tools Tripped breaker detection on heater : any 5V DC power-supply Countdown timer that is activated only when temperature setpoint is reached Data logger : simple serial communication (usb port), SPI flash memory (Winbond 1 Mbytes), USB Menu to access brew data on SPI flash memory (by holding <OK> at startup) Hall effect flow sensor : turn off heater if flow is critically low, Alarm with external speaker : bad flow\disconnected temperature probe errors, timer is elapsed, no voltage on heater, different frequencies for each alarms (alarm distinction)