Groov RIO PID configuration dashboard - Example flow

@grant1
I really think that a PID loop is the wrong approach to take for your application.
They are much better at modulating an analog output to maintain a setpoint.
In your application a switch solution would be better… a simple ‘if cold, turn on, if hot, turn off’.

Here is the example flow we use to do that in the RIO Demo Center.

It does exactly what you describe, measures the temperature, if its below the setpoint, turn on the RIO relay (where you have your 120v solenoid wired to), if its above, turn it off.
The only tweak you would need to make is if you wanted your setpoint user adjustable.

Here is the flow.

[{"id":"be365f0.a7023a","type":"groov-io-input","z":"bbdafada.0b108","device":"86920c38.358db","dataType":"channel-analog","moduleIndex":"0","channelIndex":"3","mmpAddress":"0xF0D81000","mmpType":"int32","mmpLength":"1","mmpEncoding":"ascii","sendInitialValue":true,"deadband":"1","scanTimeSec":"1.0","name":"Read temperature","x":150,"y":200,"wires":[["57a44b1a.662a3c"]]},{"id":"57a44b1a.662a3c","type":"switch","z":"bbdafada.0b108","name":"Control relay","property":"payload","propertyType":"msg","rules":[{"t":"gte","v":"80","vt":"num"},{"t":"else"}],"checkall":"true","repair":false,"outputs":2,"x":370,"y":200,"wires":[["d63ed284.3bb9f8"],["5eb2e932.c489d8"]]},{"id":"5708c3ac.8f4144","type":"comment","z":"bbdafada.0b108","name":"Temperature Sensing: Toggle a fan based on temperature reading","info":"","x":290,"y":80,"wires":[]},{"id":"d63ed284.3bb9f8","type":"groov-io-write","z":"bbdafada.0b108","device":"86920c38.358db","dataType":"channel-digital","moduleIndex":"0","channelIndex":"9","mmpAddress":"0xF0D81000","mmpType":"int32","mmpLength":"1","mmpEncoding":"ascii","value":"true","valueType":"value","name":"Turn on relay","x":630,"y":160,"wires":[[]]},{"id":"5eb2e932.c489d8","type":"groov-io-write","z":"bbdafada.0b108","device":"86920c38.358db","dataType":"channel-digital","moduleIndex":"0","channelIndex":"9","mmpAddress":"0xF0D81000","mmpType":"int32","mmpLength":"1","mmpEncoding":"ascii","value":"false","valueType":"value","name":"Turn off relay","x":630,"y":240,"wires":[[]]},{"id":"86920c38.358db","type":"groov-io-device","z":"","address":"localhost","msgQueueFullBehavior":"DROP_OLD"}]
1 Like