:::


Browsing this Thread:   1 Anonymous Users






交流電流偵測-換算均方根
#1
中級會員
中級會員


查看用戶資訊
各位前輩好:
我想用ACS712量測交流負載的電流。
輸出波型是以2.5V為基準值的交流弦波,
如何在MCU裡將其換算成均方根值呢?

1.需不需要在AC電壓源做個零交越訊號呢?
2.ADC取樣頻率目前是1kHZ,但是做旗標後丟在主程式跑的,感覺沒法很準確的定位。
3.要用什麼方式計算均方根值呢?
目前想到的是比大小的方式紀錄最大的,在交越點刷新後,以最大值除以基數算出均方根值,但會不會抓到雜訊的突波呢。
或者要多抓取幾點做平均呢?

使用的MCU是8bit的pic16f1933
原本是打算用硬體做, 一個1n4148搭配貼片電容穩壓,在加個電壓隨藕器。
但是失敗了,電壓會從OPA累積到電容上,使電壓越來越高,也不能加接地電阻
,電容會放電。

發表於: 1/2 11:49
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 交流電流偵測-換算均方根
#2
版主
版主


查看用戶資訊
ACS712 是霍爾式電流偵測器,若以交流電的應用感應,則會輸出正負的感應電壓。所以你的 2.5V 為基準值的交流弦波零電流的的電壓是多少?

弦波的均方根值是可以用 Vpp x 0.707 來得到 RMS 的均方根值的。當然你可以用 ADC 來轉換並將其最高電壓的 ADC 數值做一個 8 層的移動平均值方式濾波來取得 Vpp 的峰值後再用整數的方式去乘 707 後再除以 1000 就可以得到均方根植。

比如所量到經濾波後的電壓為: 3.906v = ADC 的轉換值為 800 (@5V, 10-bit ADC)

int 800 x int 707 = long 565600 (根號 2 = 0.707,放大 1000 倍,避免使用浮點運算)

long 565600 / 1000 = int 565 (還原為 rms 的數值)

int 565 x 488 (5v/1024= 0.00488V) = 275720 (換算成電壓值rms)

275720/10000= 2.76Vrms (除以 10000 還原到徵證的電壓值)

發表於: 1/2 12:26
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]