要用單片機測量交流220V的電壓,需要三個步驟:
一般通過電壓互感器將220V的電壓轉換為低壓交流信號,
電壓互感器的電路如下:
電壓互感器的規(guī)格為初級電流和次極電流的比值為1:1,上圖的電路中,初級的額定電流峰值為1.55mA,選擇電流比為1:1的是壓互感器,則次級電流=初級電流=1.55mA。
選擇250歐的采樣電阻,可以得到峰值為1.55V的電壓。
將低壓交流信號調理成可以輸入單片機進行A/D采樣的信號,
如果我們選擇目前最流行的Cortex-M0, Cortex-M3內核的處理器,比如STM32F051或者STM32F103處理器,其A/D轉換的輸入電壓范圍為0-3.3V。
而從電壓互感器得到的電壓為-1.55V~1.55V的交流信號。
可以選擇兩種計算方式,平均值和真有效值。
平均值通過計算電壓絕對值的平均值,換算出電壓的有效值。
而真有效值則是在一個周期內等間隔采樣N個點,根據(jù)真有效值的計算公式計算出電壓的真有效值。
通過計算平均值換算出有效值的方法僅適用于沒有高次諧波的正弦信號,而且精度和實時性都比較差。
計算平均值的電路比較簡單,最簡單的可以用一個橋式整波電路整成直流,再通過運放做放大以及阻抗變換,再輸入單片機的A/D輸入口。如下圖:
甚至有些簡易的電路,連運放都省了,通過橋式整流電路之后,簡單電阻分壓就輸入到A/D輸入口。
講究一點的可能用下圖的精密絕對值的電路,將交流信號處理成正向的電壓信號。
對于采用真有效值計算方法的電路,則不需要進行整流或者絕對值變化,只需要將信號放大之后,將其直流電平抬升到最高電壓(如3.3V)的一半即可,如下圖:
電壓互感器輸出的信號經(jīng)過U1A放大之后,再通過U1B與VR1進入疊加,將交流信號的直流偏置抬升到1.55V左右,使得交流信號的輸入范圍在0-3.3V之間,然后再輸入到A/D輸入口。
軟件算法:
對于平均值計算方法,軟件比較簡單,只需要在一定時間內,比如200ms時間內,采集若干個點,這若干個點再取算術平均,之后,再通過標定程序換算成有效值即可。
而對于真有值計算方法,則需要通過下述步驟:
配置一個定時器用于觸發(fā)A/D轉換,使得在市電的一個周期內等間隔采樣若干個點。比如20ms內采樣128個點,則將定時器的周期設置為156.25us,通過溢出中斷去觸發(fā)啟動A/D轉換。
當采集完一個數(shù)據(jù)之后,進行A/D轉換中斷,在中斷程序中計算,AD*AD的累加和,以及AD的累加和。
采集完一個市電周期(比如20ms)之后,將AD的平方和,即AD*AD的累加與和的平方做運算,算出AD的真有效值,再通過標定程序算出電壓的真有效值。
一個市電周期計算完成后,將平方的累加和的變量、AD的累加和的變量清零,進行下一個周期的計算。
-
單片機
+關注
關注
6035文章
44554瀏覽量
634624 -
整流電路
+關注
關注
48文章
695瀏覽量
64084 -
互感器
+關注
關注
12文章
769瀏覽量
38651
發(fā)布評論請先 登錄
相關推薦
評論