Browse Source

制冷模块输出PID计算结果

master
zhaohe 4 months ago
parent
commit
220ae44f2c
  1. 2
      sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp
  2. 6
      sdk/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.cpp
  3. 18
      sdk/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.hpp
  4. 2
      usrc/project_configs.h

2
sdk/components/step_motor_ctrl_module/step_motor_ctrl_module.cpp

@ -696,7 +696,7 @@ void StepMotorCtrlModule::checkdpos(int32_t expect_dpos) {
ZLOGE(TAG, "check pos devi tolerance fail.... dpos%d,expectation_dpos:%d", dpos, expect_dpos);
setErrorFlag(err::kstep_motor_lost_step);
} else {
ZLOGE(TAG, "dpos%d,expect_dpos:%d", dpos, expect_dpos);
ZLOGI(TAG, "dpos%d,expect_dpos:%d", dpos, expect_dpos);
}
}

6
sdk/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.cpp

@ -71,8 +71,8 @@ int32_t WaterCoolingTemperatureControlModule::pri_module_xxx_reg(int32_t param_i
PROCESS_REG(kreg_water_cooling_tmp_controler_pid_compute_interval, REG_GET(m_cfg.pidcompute_periodms), REG_SET(m_cfg.pidcompute_periodms));
PROCESS_REG(kreg_water_cooling_tmp_controler_pid_target, REG_GET_FLOAT(m_target_temperature, 0.1), REG_SET_FLOAT(m_target_temperature, 0.1));
PROCESS_REG(kreg_water_cooling_tmp_controler_pid_nowoutput, REG_GET(m_pidmodule.get_output()), ACTION_NONE);
PROCESS_REG(kreg_water_cooling_tmp_controler_pid_feedbackval, REG_GET(read_pid_temperature_from_upper()* 10 + 0.5), ACTION_NONE);
PROCESS_REG(kreg_water_cooling_tmp_controler_pid_nowoutput, REG_GET(m_output), ACTION_NONE);
PROCESS_REG(kreg_water_cooling_tmp_controler_pid_feedbackval, REG_GET(read_pid_temperature_from_upper() * 10 + 0.5), ACTION_NONE);
PROCESS_REG(kreg_water_cooling_tmp_controler_temp0, REG_GET(getTemperatureSensorVal(0) * 10 + 0.5), ACTION_NONE);
PROCESS_REG(kreg_water_cooling_tmp_controler_temp1, REG_GET(getTemperatureSensorVal(1) * 10 + 0.5), ACTION_NONE);
@ -176,7 +176,7 @@ void WaterCoolingTemperatureControlModule::workloop() {
// if (m_enable_log) {
ZLOGI(TAG, "temperature: %.2f %.2f integral_err:%.2f out:%d", m_target_temperature, val, m_pidmodule.get_integral_err(), (int32_t)out);
// }
m_output = out;
peltier_set_power_level(out);
i++;
if (i % 10 == 0) {

18
sdk/components/water_cooling_temperature_control_module/water_cooling_temperature_control_module.hpp

@ -22,11 +22,10 @@
#include "sdk\components\api\zi_pwm_fan_ctrl_module.hpp"
#include "sdk\components\api\zi_pwm_pump_ctrl_module.hpp"
//
#include "sdk\components\api\zi_module.hpp"
#include "pid_module.hpp"
#include "sdk\components\api\zi_module.hpp"
#include "sdk\components\api\zi_temperature_sensor.hpp"
#include "sdk\components\ti\drv8710.hpp"
#include "sdk\components\api\zi_module.hpp"
namespace iflytop {
/**
@ -34,7 +33,7 @@ namespace iflytop {
*
*/
class WaterCoolingTemperatureControlModule : public ZIModule{
class WaterCoolingTemperatureControlModule : public ZIModule {
ENABLE_MODULE(WaterCoolingTemperatureControlModule, ktemperature_ctrl_module, PC_VERSION);
public:
@ -72,6 +71,7 @@ class WaterCoolingTemperatureControlModule : public ZIModule{
int32_t m_enable_log = 0;
float m_target_temperature = 0;
float m_feedbak_temperature = 0;
int32_t m_output = 0;
zmutex m_temperature_sensor_mutex;
@ -87,13 +87,13 @@ class WaterCoolingTemperatureControlModule : public ZIModule{
virtual int32_t module_active_cfg() override;
virtual int32_t module_stop() override;
virtual int32_t temp_controler_start_hearting(int32_t targetTemperature) ;
virtual int32_t temp_controler_stop_hearting() ;
virtual int32_t temp_controler_start_hearting(int32_t targetTemperature);
virtual int32_t temp_controler_stop_hearting();
virtual int32_t temp_controler_set_peltier_power_level(int32_t level) ;
virtual int32_t temp_controler_set_pump_level(int32_t level) ;
virtual int32_t temp_controler_set_fan_level(int32_t level) ;
virtual int32_t temp_controler_enable_log(int32_t enablelog) ;
virtual int32_t temp_controler_set_peltier_power_level(int32_t level);
virtual int32_t temp_controler_set_pump_level(int32_t level);
virtual int32_t temp_controler_set_fan_level(int32_t level);
virtual int32_t temp_controler_enable_log(int32_t enablelog);
private:
void workloop();

2
usrc/project_configs.h

@ -1,5 +1,5 @@
#pragma once
#define PC_VERSION 1001
#define PC_VERSION 1002
#define PC_MANUFACTURER "http://www.iflytop.com/"
#define PC_PROJECT_NAME "a8000_subboard"
#define PC_IFLYTOP_ENABLE_OS 1

Loading…
Cancel
Save