diff --git a/HARDWARE/PID.c b/HARDWARE/PID.c index 1d54584..97b1770 100644 --- a/HARDWARE/PID.c +++ b/HARDWARE/PID.c @@ -63,7 +63,7 @@ void PID_Init() pid.h_base_h = 0; pid.hp_l = 9; - pid.hi_l = 0.025; + pid.hi_l = 0.015; pid.hd_l = 0; pid.h_base_l = 30; @@ -201,12 +201,15 @@ void PID_Calc() // pid calc pid.h_base = pid.h_base_h; // if now temp is close to set temp, the heater will be less power + // TODO::在外界温度温差比较大(45-22=23度)时,加热功率也可能不够 if (pid.set_tem - pid.now_tem < 3) { pid.hp = pid.hp_h * 0.6; } + // TODO::在外界温度温差比较大(45-22=23度)时,加热功率不够 if (pid.set_tem - pid.now_tem < 1) { pid.hp = pid.hp_h * 0.3; } + // TODO::要改成根据外界温度调节参数 } // l mode @@ -315,8 +318,8 @@ void PID_Calc() // pid calc } else { // if outer temp is got, we calc pid by outer temp if (abs(pid.out_tem) > 1e-5) { - // pid.cp = (pid.out_tem - pid.set_tem) * 0.28; - pid.cp = (pid.out_tem - pid.set_tem) * 0.2; + pid.cp = (pid.out_tem - pid.set_tem) * 0.28; + // pid.cp = (pid.out_tem - pid.set_tem) * 0.2; } // use nagetive error and error diff when calc compressor power int p_c = calc_cp(delta_t, - Error_calc, - DelEk, pid.c_base, pid.cp, pid.ci, pid.cd);