-
Notifications
You must be signed in to change notification settings - Fork 59
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add support for cascading PID #203
base: master
Are you sure you want to change the base?
Conversation
Hey, will you be able to review this PR? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't get the point to cascade two PIDs in the code. It doubles the PID loops and all the corresponding parameters.
Cascading PIDs is relevant for systems on which you need very accurate regulation while variation on one of the input can create large output changes.
Room temperature regulation criticity level is not so high, I think, and don't require cascaded PID.
Could you please explain how you are using this ?
There is a large delay between the in-floor temperature and the room temperature. If I turn on the heating, the floor temperature can get up to 40°C before the room warms up. The cascading PID helps by allowing capping the max floor temperature, as well as have better regulation, with parameters that properly address the heating delay. Considering that in practice the heating is layered (heating body -> floor, floor -> room), it makes sense for the regulation to be layered as well. |
OK, 40°C is the absolute maximum water temperature limit for underfloor heating, that's strange that your system reaches such high temperature. That's what I'm using at home, using the heating curve on my boiler with it's external temperature sensor ; and a Netatmo thermostat that uses a PID. During cold rainy days, the maximum temperature overshoot is 0.2°C. |
It's an electric system, not water based, so it's just an on/off system. |
Wouldn't it be simpler to set two thermostat: one to control the floor temperature when heating, with it's setpoint depending on outside temperature to emulate the heating curve, and the second thermostat (the main one) that will control the first, requesting heating by turning it on and off. |
I'm not sure how that would be easier. I don't really care for the floor temperature itself, besides preventing over-heating, so exposing another thermostat doesn't help. |
No description provided.