標定是通過測量標準器的偏差來補償儀器系統誤差,從而改善儀器或系統準確度、精度的操作。為了提高電壓電流表在測量時的測量精度和準確度,需要對電壓電流進行標定校準。
常見的標定原理如下:假設一個采樣系統,AD部分可以得到數字量,對應的物理量為電壓(或電流);① 若在“零點”標定一個AD值點Xmin,在“最大處”標定一個AD值點Xmax,根據“兩點成一條直線”的原理,可以得到一條由零點和最大點連起來的一條直線,這條直線的斜率k很容易求得,然后套如直線方程求解每一個點X(AD采樣值),可以得到該AD值對應的物理量(電壓值):
上圖中的斜率k:k =(Ymax-Ymin)/(Xmax-Xmin)(因為第一點為“零點”,故上面的Ymin = 0) 所以,上圖中任一點的AD值對應的物理量:y = k×(Xad- Xmin)+0② 上面的算法只是在“零點”和“最大點”之間做了標定,如果使用中間的AD采樣值會帶來很大的對應物理量的誤差,解決的辦法是多插入一些標定點。如下圖,分別插入了標定點(x1,y1)、(x2,y2)、(x3,y3)、(x4,y4) 四個點:
這樣將獲得不再是一條直線,而是一條“折現”(相當于分段處理),若欲求解落在x1和x2之間一點Xad值對應的電壓值:y = k×(Xad– X1)+ y1 由上看出,中間插入的“標定點”越多,得到物理值“精度”越高。在電壓電流表測量可以使用“電壓電流標定板”“萬用表”等配合適合,對采集的電壓電流進行標定處理。標定點越多,測量越精確。參考例程中,使用了3點標定。其中,電壓標定點為0V、5V、15V。電流標定點為0A、0.5A、1.5A。標定代碼如下:
void Volt_Cal(void)
{
float t,KT1;
V_Buffer = Mean_Value_Filter(Volt_Buffer,ADC_SAMPLE_SIZE);//使用均值濾波
I_Buffer = Mean_Value_Filter(Curr_Buffer,ADC_SAMPLE_SIZE); //使用均值濾波
if(V_Buffer >=X05) //
{
t=V_Buffer-X05;
V_Buffer=(K*t+Y05)*1000;}
else
{
KT1=5000;
KT1=KT1/X05;
V_Buffer=KT1*V_Buffer;
}
// 四舍五入
if(V_Buffer % 10 >= 5)
{
V_Buffer = V_Buffer / 10 + 1;
}
else
{
V_Buffer = V_Buffer / 10;
}
if(I_Buffer >=IX05)
{
t=I_Buffer-IX05;
I_Buffer=(KI*t+IY05)*10;
}
else
{
KT1=500;
KT1=KT1/IX05;
I_Buffer=KT1*I_Buffer;
}
if(I_Buffer % 10 >= 5)
{
I_Buffer = I_Buffer / 10 + 1;
}
else
{
I_Buffer = I_Buffer / 10;
}
// I_Buffer=I_Buffer * ADC_REF_VALUE > > 12;
/**
mv =I_Buffer * ADC_REF_VALUE > > 12,
R = 100mr,
10ma = mv/R/10=mv/0.1/10 = mv
*/
}
該例程使用按鍵操作來標定。具體操作方法如下:定義5個工作模式,點按按鍵切換工作模式,長按3S設置對應模式下的參數值,并保存到FLASH:模式0:顯示正常的電壓電流值*(上一排數碼管顯示電壓值*.** V或**.* V自動切換,下一排顯示電流值,*.** A)
模式1:電壓5V標定值設置。上一排數碼管顯示S.05. 。下一排顯示當前電壓值 . * V或**.*V。當長按3S 按鍵時,將當前值標定為5V電壓值。
審核編輯 黃宇
-
電壓電流表
+關注
關注
0文章
25瀏覽量
2155 -
CW32
+關注
關注
1文章
232瀏覽量
1036
發布評論請先 登錄
相關推薦
INA219電壓電流表的資料分享
求:推薦微型寬溫數字電壓電流表頭
CW32數字電壓電流表軟件教程-實驗四:數碼管動態顯示

評論