Browse Source

update

master
zhaohe 3 years ago
parent
commit
224303e218
  1. 2
      APP/main.c
  2. 10
      APP/service/ozone_control_service.c
  3. 9
      APP/service/thisdevice.h

2
APP/main.c

@ -390,7 +390,7 @@ void exception_monitor_schedule() {
* @brief
* ,,
*/
if (ozone_control_get_ozone_power() > (ozone_control_get_expect_power() + const_expect_power_windonws) && //
if (ozone_control_get_ozone_power() > (ozone_control_get_expect_power() + EXPECT_POWER_WINDONWS) && //
ozone_control_get_working_state()->nowfreq == ozone_control_get_working_state()->resonant_frequency) {
trigger_exception(kPowerOutOfControl);
return;

10
APP/service/ozone_control_service.c

@ -91,9 +91,9 @@ static float mf_get_ozone_power() { return kalmanFilter(&KFPConfig, __mf_get_ozo
float get_expect_power() {
float expectpower = 0;
if (thisDevice.level == klevel1) {
expectpower = const_level1_expect_power;
expectpower = LEVEL1_EXPECT_POWER;
} else if (thisDevice.level == klevel2) {
expectpower = const_level2_expect_power;
expectpower = LEVEL2_EXPECT_POWER;
}
return expectpower;
}
@ -167,8 +167,8 @@ static state_machine_state_t* processWorkingState(state_machine_t* machine, stat
/**
* ([expertpower+window,expertpower-window])
*/
if (nowpower < (get_expect_power() - const_expect_power_windonws) || //
nowpower > (get_expect_power() + const_expect_power_windonws)) {
if (nowpower < (get_expect_power() - EXPECT_POWER_WINDONWS) || //
nowpower > (get_expect_power() + EXPECT_POWER_WINDONWS)) {
s_workingstate.adjustedToTheProperPower = false;
printf("change freq [ no ],freq %d, ozonePower %f-->%f fanPower:%f\n", s_workingstate.nowfreq, nowpower, get_expect_power(), fanpower);
if (nowpower < get_expect_power()) {
@ -184,7 +184,7 @@ static state_machine_state_t* processWorkingState(state_machine_t* machine, stat
if (s_workingstate.changefreqdirection) {
if (nowpower < get_expect_power()) {
s_workingstate.nowfreq += 25;
if (s_workingstate.nowfreq > const_max_freq) s_workingstate.nowfreq = const_max_freq;
if (s_workingstate.nowfreq > MAX_FREQ) s_workingstate.nowfreq = MAX_FREQ;
printf("change freq [ up ],freq %d, ozonePower %f-->%f fanPower:%f\n", s_workingstate.nowfreq, nowpower, get_expect_power(), fanpower);
port_ozone_pwm_set_duty(s_workingstate.nowfreq, kconst_pwm_work_dutyns);
} else {

9
APP/service/thisdevice.h

@ -55,11 +55,12 @@ typedef struct {
#define EXCEPTION_CHECK_PERIOD 50 //
#define kconst_pwm_work_dutyns 5000 //臭氧模块工作时候高电平时间
#define const_expect_power_windonws ((float)(0.3)) //允许设备工作在 [level1_expect_power-windows,level1_expect_power+windows]之间
#define const_level1_expect_power ((float)(3.0)) //
#define const_level2_expect_power ((float)(5.0)) //
#define const_max_freq ((float)(38000)) //设备可提供调整频率的最大频率
#define EXPECT_POWER_WINDONWS ((float)(0.3)) //允许设备工作在 [level1_expect_power-windows,level1_expect_power+windows]之间
#define LEVEL1_EXPECT_POWER ((float)(3.0)) //
#define LEVEL2_EXPECT_POWER ((float)(5.0)) //
#define MAX_FREQ ((float)(38000)) //设备可提供调整频率的最大频率
//
#define KALMAN_FILTER_PARA \
{ 0.02, 0, 0, 0, 0.05, 0.543 }
Loading…
Cancel
Save