Recirculation infusion mash system library for Arduino

Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum

Help Support Homebrew Talk - Beer, Wine, Mead, & Cider Brewing Discussion Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
in rims.cpp around line 800 is the function getTempPV(), I would try just replacing that with calls to read a ds18b20. Something like sensor.getTempF(deviceaddress)

Should be pretty simple.
 
I found this library today, it's great!!! I was planning to do something like that on my own (even if a beginner in using arduino) and that's solving a the major part of my problems...
Since that I already have two Dallas ds18b20 waterproof probes, would it be difficult to edit the code in order to use my probes? (I had no time to read the library)
Can I ask somebody to post a scheme or picture of the pcb please?

My thermistor died last year so I've updgraded my kit for more standard and reliable stuff which is resistance temperature detector (RTD). One major drawback is that it needs some electronic (instrument amplifier) to interface with the Arduino. Having said that, the circuit is quite simple I give mine for the PT-100 RTD in the documentation.

I've upgraded the library for RTD support which is much more interesting than thermistor since they are already bundled into a SS casing (like this platine PT-100 RTD with 3 wires). In short :

  • Wheatstone bridge with precision resistor
  • Instrument amplifier
  • 2.5V voltage reference
  • Arduino ADC reading
  • RTD resistance calculation
  • Cubic fitting (empirical calibration) for temp VS RTD resistance

for more info see doc

Since Google Code is dead, my new hoster is SourceForge. I've finished studies i have more time so stay tuned !

A PID autotuner is still in my TODO list. Like this post if interested.
 
Version v2.1 now available :

Changelog :
  • Support for RTD reading with an instrument amplifier and cubic fitting
  • Temperature pre-filtering before PID
  • Critical flow simplification
  • Unconnected sensors (temperature or unused flow) is now NaN
  • Flow measurement is hide from the UI if sensor is not configured
  • Debug

download here : SourceForge Files

doc here
 
Version v2.2 now available :

Changelog :

  • PID output (ssrControl) is now in duty-cycle (0-100%) instead of 0-SSRWINDOWSIZE which is way more standard. PID coefficients will have "normal size" with this change.

If you want to keep your current PID calibration you need to multiply all your PID gains by : 100/SSRWINDOWSIZE = 0.02

download here : SourceForge Files
 
Version v2.3 now available :

Changelog :

  • lot of doc correction
  • flash mem methods definition seperate cpp file
  • data loggers code simplification
  • new method to init all Rims attributes and IO
  • code clean-up for auto-tuner
  • RimsIdent tested bumps are smarter (30%long-55%long-5%avrg-55%short).

download here : SourceForge Files
 
Version v2.4 now available :

Changelog :

  • debug : warning message at compiling undefined behavior on array
  • default heater action led is LED_BUILTIN
  • RimsIdent code simplifcation
  • UIRimsIdent reomved and merge with UIRims
  • Countdown is never stopped when SP is NAN
  • Manual model identification bump tests enhanced with static gain test and fast bump
  • RTD amp Res1 is replaced by 124.5 ohm (249 // 249, standard values)
  • MAXTEMPVAR is reduced to 1 deg C (with the new ADC pre-filter)
  • setInterruptFlow rename to setFlowSensor with pin number (no more needs to externally enable pull-up on selected pin)
  • debug : flow sensor uncommon weird value (0 L/min) caused by non-rentrency function micros (solved using noInterrupt shortly)
  • added : hall effect flow sensor basic example
  • doc

The next update should be the PID auto-tuner !

download here : SourceForge Files
 
Since i did a LOT of testing while coding the auto-tuner, i found some hidden bugs. I felt like i had to release a new update before releasing the auto-tuner

Version v2.5 now available :

Changelog :
  • mistakes in flash mem doc
  • doc additions
  • temp probe unconnected boolean attribute removed since useless with NaN
  • slower steps in RimsIdent (more precise but bump test is now 90 min)
  • added : endSession method (code reuse for other classes)
  • debug : stuck PID outputing NaN values
  • debug : flow measurement on pump warning in RimsIdent was stuck at 0 L/min



The next update WILL be the PID auto-tuner (in the next days) !

download here : SourceForge Files
 
Here's a brand new version with the PID auto-tuner RimsTuner, quite usefull for non-experts in process control

With this new autotuner feature, a commercial PID (most of them are based on the same theory for the autotuning algorithm btw) no longer has relevant extra features relative to arduino-rims-library.

The autotuner should be quite robust to noise since it's based on Fourier Analysis to evaluate temperature amplitude (versus Arduino-PID-AutoTune-Library which is based on simple peak detections). Having said that, in most situations, a manually calibrated PID (with RimsIdent) is more reliable than an auto-tuned one.

Version v3.0 now available

Changelog :

  • added : RimsTuner, a robust PID auto-tuner for Rims based on Fourier analysis (more info in doc)
  • added : RimsTuner basic example
  • modified : library used SRAM shrinked by inserting strings letterals in
    Arduino program memory (with F("") macro)
  • examples is included in documentation
  • massive documentation clean-up and corrections

More info in doc (delete your browser cache if it's still v2.5 doc)

download here : SourceForge Files

Report bugs here on SourceForge Tickets

I'm going to post a quick video of all the rims-arduino-library features soon.

If you want to support my work : DONATE
 
I found this library today, it's great!!! I was planning to do something like that on my own (even if a beginner in using arduino) and that's solving a the major part of my problems...
Since that I already have two Dallas ds18b20 waterproof probes, would it be difficult to edit the code in order to use my probes? (I had no time to read the library)
Can I ask somebody to post a scheme or picture of the pcb please?

It's long time ago (sorry i was busy) but, still... I add the possibility to use any custom temperature probe by inserting code in specific place marked in the library (more info in doc)

Version v3.1 now available

Changelog :

  • doc details
  • possibility to insert code for a custom temperature probe
  • examples change with the new setTempProbe arguments sturcture

More info in doc (delete your browser cache if it's still v3.0 doc)

download here : SourceForge Files



Report bugs here on SourceForge Tickets

If you want to support my work : DONATE
 
Last edited by a moderator:
Back
Top