產(chǎn)品的系統(tǒng)架構(gòu)和控制算法在此就不再做介紹了,可以參考第一篇文章。今天繼續(xù)和大家分享調(diào)試過(guò)程中的踩坑。
踩坑9、交流輸入電壓、電流有效值計(jì)算
交流電壓和交流電流的有效值,在我軟件里面主要是做交流軟件輸入過(guò)流保護(hù)、輸入電壓欠壓保護(hù)、過(guò)壓保護(hù)、交流掉電保護(hù)、輸入限流32A工作等功能??偟膩?lái)說(shuō)交流電壓和電流的有效值還是有很多地方需要用到的。
1)其實(shí)有效值的計(jì)算說(shuō)起來(lái)很簡(jiǎn)單,就是多次采樣求平均值,此處為什么會(huì)踩坑呢?我們先看看有效值計(jì)算的公式機(jī):

U---有效值電壓
T---積分時(shí)間
u(t)---瞬時(shí)電壓
有效值就等于單位時(shí)間的電壓平方的積分開根號(hào)。
踩坑的地方就是:計(jì)算的有效值時(shí)間太長(zhǎng),為了減小有效值的波動(dòng),不得不拉長(zhǎng)采樣周期,計(jì)算很多個(gè)交流周期,才能減小計(jì)算所得的數(shù)據(jù)的波動(dòng)。如果計(jì)算周期太長(zhǎng),比如輸入限流32A就會(huì)出現(xiàn)好幾個(gè)周期,甚至是10個(gè)周期以上才調(diào)整過(guò)來(lái),這個(gè)時(shí)候用戶用的32A的漏電保護(hù)器早就跳閘了!??!
2)下面我就介紹下我采用的單周期計(jì)算算法,其實(shí)也很簡(jiǎn)單,就是在交流電過(guò)零點(diǎn)的時(shí)候計(jì)算,沒次計(jì)算半個(gè)周期,這半個(gè)周期的有效值就是交流輸入電壓或者電流的有效值。這樣就做到了每個(gè)周期單獨(dú)計(jì)算有效值,對(duì)前面提到的輸入32A限流這些需要?jiǎng)討B(tài)響應(yīng)高的地方就很友好了

那就說(shuō)說(shuō)具體算法吧,直接上源代碼
/**
* 函數(shù)名:Effective_Vac
* 描 述:交流電壓有效值計(jì)算
* 輸 入:無(wú)
* 返 回:無(wú)
*/
void Effective_Vac(void)
{
AC_volt= ACL_volt -ACN_volt ;
if(AC_volt> 0)
{
AC_volt= AC_volt;
Positive_num++;
Vin_squar = (AC_volt * AC_volt ) >> 11;
if((Positive_num == 10)&&(Negative_num >= 60)) //1ms and 6ms
{
Vin_squar_aver = Negative_squar_sum / Negative_counter;
Negative_num = 0;
Negative_squar_sum = 0;
}
else if(Positive_num > 10)
{
Negative_num = 0;
Negative_squar_sum = 0;
if(Positive_num >= 100)
{
Vin_squar_aver = Positive_squar_sum / Pegative_num;
Positive_num = 0;
Positive_squar_sum = 0;
}
}
Positive_squar_sum = Vin_squar + Positive_squar_sum;
}
else
{
AC_volt= (-AC_vol)t;
Negative_num++;
Vin_squar = (AC_volt * AC_volt ) >> 11;
if((Negative_num == 10)&&(Positive_num >= 60)) //1ms and 6ms
{
Vin_squar_aver = Positive_squar_sum / Positive_counter;
Positive_num = 0;
Positive_squar_sum = 0;
}
else if(Negative_num > 10)
{
Positive_num = 0;
Positive_squar_sum = 0;
if(Negative_num >= 100)
{
Vin_squar_aver = Negative_squar_sum / Negative_num;
Negative_num = 0;
Negative_squar_sum = 0;
}
}
}
}
聲明:本內(nèi)容為作者獨(dú)立觀點(diǎn),不代表電子星球立場(chǎng)。未經(jīng)允許不得轉(zhuǎn)載。授權(quán)事宜與稿件投訴,請(qǐng)聯(lián)系:editor@netbroad.com
下一篇:國(guó)產(chǎn)MCU設(shè)計(jì)6.6kW充電樁,交錯(cuò)PFC+LLC,踩坑續(xù)(8)