春风电源第二版程序问题
void SetRL(float x){
RL2V_OFF();
RL4V_OFF();
RL8V_OFF();
RL16V_OFF();
x = (x / 1.2 ) + 2.2 + 4;
if(x >= 16)
{
x = x - 16;
RL16V_ON();
}
if(x >= 8)
{
x = x - 8;
RL8V_ON();
}
if(x >= 4)
{
x = x - 4;
RL4V_ON();
}
if(x >= 2)
{
x = x - 2;
RL2V_ON();
}
}
这是继电器的切换程序 我想知道1.2 2.2 4都代表什么 为什么X都要减去相应的数(如x=x-8) 比如:如果设定输出电压是30V, 那就是选加16V,然后看剩下电压是多少这里是30-16=14V, 那就再加上8V 剩下14-8=6V 那就再加上4V 剩2V,那就再加上2V。这样所有继电器打开刚好30V。 当然30V的交流经滤波整流后是30*1.14=34.2,或许还高了(或许还不够,要看变压器绕的情况进行修正,电流大了变压器输出会降一点的,最好要测试过)。
x = (x / 1.2 ) + 2.2 + 4; 我想这里是经过设计的,目的有两个,一是根据自己的变压器情况调整的,二是为了避开整数点附近切换继电器吧, 哦,这个是计算切换继电器的,
页:
[1]