06-22-2021 03:09 AM
Hello Everyone,
As part of my project in BMS, i need to cool the Battery stack when it gets hot during charging or discharging. I am using PLC´s from VIPA Systems. So i have aquestion regarding the PID Controller. I measure the temperature of the Battery using Pt1000 sensor and i want to controll the fan speed based on this temperature. So basically i create a PWM Signal and along with the measure temperature i input this into the PID Controller, i also have an mosfet connected to the Fan to amplify the signal. Is this the right way to do this? Or am i getting it wrong. Any help would be hugely appreciated.
Thanking you
Gokul Gopakumar
06-22-2021 03:13 AM - edited 06-22-2021 03:14 AM
Hi Gokul,
@Speedyindian wrote:
I am using PLC´s from VIPA Systems. So i have aquestion regarding the PID Controller. I measure the temperature of the Battery using Pt1000 sensor and i want to controll the fan speed based on this temperature. So basically i create a PWM Signal and along with the measure temperature i input this into the PID Controller, i also have an mosfet connected to the Fan to amplify the signal.
The input to your PID function is the current temperature (from your Pt1000 sensor) and the setpoint temperature. The PID then calculates a PWM value, which is used to drive the fan…
What have you tried so far? Where are you stuck?
Did you examine the example VIs coming with LabVIEW? There are example VIs explaining PID functions…
06-22-2021 03:23 AM
Hey Gerd,
Thanks for the reply. Yeah, i dont have experience with PID Controllerand so i was getting stuck at what the inputs should be. I thought that the PWM Signal which i create should also be inputed to the controller.
Regards
Gokul Gopakumar
06-22-2021 03:33 AM
Hi Gokul,
@Speedyindian wrote:
I thought that the PWM Signal which i create should also be inputed to the controller.
The PWM is the output signal to drive the fan: why should that be an input to the PID controller?
@Speedyindian wrote:
Yeah, i dont have experience with PID Controllerand so i was getting stuck at what the inputs should be.
Well, in this case I suggest to read a book on control loops - or atleast Wikipedia entries on PID controls…
06-22-2021 04:51 AM
Having a PID to control cooling seems like an overkill, why not just do some linear math?
06-22-2021 04:58 AM
Hi AeroSoul,
@AeroSoul wrote:
why not just do some linear math?
Because cooling power of fans does not follow a linear equation?
Because supply power for the fan also does not follow a linear equation?
Because you most often want to optimize not just the desired setpoint temperature, but also needed supply power and temperature stability in a battery stack?
06-22-2021 06:35 AM
Having a closed loop with PID is a good idea here as it gives an opportunity to accelerate the fan speed and decrease the cooling time at higher temperature point. The Temperature is a slow varying and it overshoots bit before changing the increasing to decreasing direction, so having an extra frced cooling at this point gives better control on the overshoots.
Also, it’s a good idea to have 2nd temperature sensor, it is a redundancy from the over-temperature damage due to the temp sensor failure.
Just a thought.
Thank you
Adarsha Pakala
CLA from 2014
06-22-2021 07:28 AM - edited 06-22-2021 07:29 AM
@GerdW wrote:
Hi AeroSoul,
@AeroSoul wrote:
why not just do some linear math?
Because cooling power of fans does not follow a linear equation?
Because supply power for the fan also does not follow a linear equation?
Because you most often want to optimize not just the desired setpoint temperature, but also needed supply power and temperature stability in a battery stack?
Fair point...
I usually work with industrial machinery that is hard to overheat so linear implementation is easier and faster and works well enough.
06-22-2021 12:49 PM
@GerdW wrote:
Hi AeroSoul,
@AeroSoul wrote:
why not just do some linear math?
Because cooling power of fans does not follow a linear equation?
Because supply power for the fan also does not follow a linear equation?
Because you most often want to optimize not just the desired setpoint temperature, but also needed supply power and temperature stability in a battery stack?
Also, maybe it is specified in the project?