liquid-pid

1.0.0 • Public • Published

liquid-pid

Build Status

PID Controller in NodeJS for liquids (water, beer, etc.). Simulator, Plots and Tests are included.

Let's go and brew something!

https://npmjs.org/package/liquid-pid

Installation

$ npm install liquid-pid

Example

var
  liquidPID = require('liquid-pid'),
  actualP = 0,
  pidController;

pidController = new liquidPID({
  temp: {
    ref: 67         // Point temperature                                       
  },
  Pmax: 1000,       // Max power (output),
  
  // Tune the PID Controller
  Kp: 25,           // PID: Kp
  Ki: 1000,         // PID: Ki
  Kd: 9             // PID: Kd
});

actualP = pidController.calculate(66.7);	// call with the actual temp
console.log(actualP);

actualP = pidController.calculate(67.0);    // call with the actual temp
console.log(actualP);

actualP = pidController.calculate(69.0);    // call with the actual temp
console.log(actualP);

For more complex example please check the simulation/ dir.

Methods

.tune(Kp, Ki, Kd)

Configure the PID controller For the details please check http://en.wikipedia.org/wiki/PID_controller

.getRefTemperature()

return Number, with the actual ref temperature (what we want to reach/hold)

.setPoint(temp)

Set new point temperature.

.calculate(actualTemperature)

Call it continuesly to calculate the required power/output for your heater during the time.

Simulation

Sample 1

Reach and hold 40 °C alt tag

Browser simulation

http://hekike.github.io/liquid-pid/plot/app/

Test

Tests are included.

Other

The "liquid-pid" is used in our BIAB homebrew installation.

For more info: @slashdotpeter


Readme

Keywords

none

Package Sidebar

Install

npm i liquid-pid

Weekly Downloads

0

Version

1.0.0

License

none

Last publish

Collaborators

  • hekike