|
楼主 |
发表于 2021-3-16 11:49:35
|
显示全部楼层
简单的控制方式是:
关机时一个开度,化霜时一个开度,制热时,开度于环境温度按某直线斜率控制,您水源热泵的话,则和您水源温度相关。 斜率的大小需要按照您机器实际工况来测定。
给您贴个简单的膨胀阀代码:
void EXV_Op_Polling(void){
static uint8 prePwr=PWR_OFF;
static uint16 minct=0;
if(BitTst(EXV_Flags,EXV_RST)){
SM_DstAngle=0;
if(SM_NowAngle==0){
BitClr(EXV_Flags,EXV_RST);
}
return;
}
SM_Speed=5;
if(SysPwr==PWR_OFF){
SM_DstAngle=EXV_STEPS_PWROFF;
minct=0;
}
else{
if(flg_Defrosting){
SM_DstAngle=EXV_STEPS_DEFROST;
minct=0;
}
else{
//开机非化霜.
if(St_EEV==ST_EEV_MODE_AUTO){
if(minct==0){
minct=1;
if(TAmbient<=0){
SM_DstAngle=150;
}
else if(TAmbient<=40){
SM_DstAngle=150+TAmbient*6;
if(SM_DstAngle>360) SM_DstAngle=360;
}
else{
SM_DstAngle=360;
}
}
//if(oComp){
minct++;
if(minct>=TIME_MIN){
minct=0;
}
//}
}
else{
SM_DstAngle=St_EEV_ManStep;
}
}
}
prePwr=SysPwr;
} |
|