性无码一区二区三区在线观看,少妇被爽到高潮在线观看,午夜精品一区二区三区,无码中文字幕人妻在线一区二区三区,无码精品国产一区二区三区免费

  • 回復(fù)
  • 收藏
  • 點(diǎn)贊
  • 分享
  • 發(fā)新帖

請(qǐng)教各位大俠,pic單片機(jī)采樣交流有效值中開平方最快的算法

這一段時(shí)間為一個(gè)算法搞了很久,用pic單片機(jī)采樣交流有效值,采用的算法為將
1,各個(gè)點(diǎn)的采樣值乘方,
2,累加平方和
3,除以采樣次數(shù)
4,開方,得到有效值
其中開方運(yùn)算需要的運(yùn)算時(shí)間為最長,目前試驗(yàn)了幾種算法但都不能使開方運(yùn)算的時(shí)間小于50us,這樣對(duì)spwm波形控制的響應(yīng)就有些跟不上,同時(shí)會(huì)造成資源沖突,單片機(jī)的主頻是20MHz,
不知各位大俠有沒有更快的開平方算法,請(qǐng)多多指教
全部回復(fù)(27)
正序查看
倒序查看
cf100
LV.7
2
2006-03-14 16:15
在PIC中,用均方根求有效值是很慢的,那種方法一般是在有乘法器的單片機(jī)中用的.

你可以用取最大值法,然后用DV/DT校驗(yàn),得出最大值后除以1.414就可得到有效值.
0
回復(fù)
invent
LV.1
3
2006-03-14 16:26
@cf100
在PIC中,用均方根求有效值是很慢的,那種方法一般是在有乘法器的單片機(jī)中用的.你可以用取最大值法,然后用DV/DT校驗(yàn),得出最大值后除以1.414就可得到有效值.
多謝指教..
但用最大值求有效值的方法并不能適應(yīng)多種波形,
在電網(wǎng)波形產(chǎn)生畸變,
或采樣整流性負(fù)載,感性負(fù)載電流時(shí)誤差非常大,
無法做到精密控制
0
回復(fù)
invent
LV.1
4
2006-03-22 11:30
請(qǐng)問各位大俠,誰還有更好的方法...謝謝
0
回復(fù)
金狐貍
LV.3
5
2006-03-27 14:14
@invent
請(qǐng)問各位大俠,誰還有更好的方法...謝謝
我用DSP做過32位開方模塊,大概要500個(gè)指令周期,不過DSP集成了硬件乘法器,不知道你的單片機(jī)有沒有集成?
0
回復(fù)
ucc2800
LV.7
6
2006-04-26 12:38
關(guān)注此貼中
0
回復(fù)
lxqzfs
LV.6
7
2006-05-03 16:40
采用查表方法加上插值方法最簡單,而且計(jì)算速度快.
0
回復(fù)
tclg
LV.3
8
2006-05-04 00:49
用更高頻的1T單片機(jī)會(huì)不會(huì)好一些?或用帶大容量FLASH的單片機(jī)加查表法.感覺50US已經(jīng)很快了.關(guān)注中...
0
回復(fù)
lxqzfs
LV.6
9
2006-05-04 08:44
@tclg
用更高頻的1T單片機(jī)會(huì)不會(huì)好一些?或用帶大容量FLASH的單片機(jī)加查表法.感覺50US已經(jīng)很快了.關(guān)注中...
查表法不需要太大的內(nèi)存,開方函數(shù)比較平滑,插值方便.
0
回復(fù)
2006-05-08 17:45
@lxqzfs
查表法不需要太大的內(nèi)存,開方函數(shù)比較平滑,插值方便.
你為什么不外接個(gè)真有效值采樣電路,那樣多簡單,用AD736就行.
0
回復(fù)
invent
LV.1
11
2006-05-10 09:16
@楓葉一點(diǎn)
你為什么不外接個(gè)真有效值采樣電路,那樣多簡單,用AD736就行.
用ad736當(dāng)然也可以,不過我這里需要采樣8路信號(hào),需要很多通道而單片機(jī)一片就可以搞定了,還有成本上的關(guān)系
0
回復(fù)
invent
LV.1
12
2006-05-10 09:16
@lxqzfs
采用查表方法加上插值方法最簡單,而且計(jì)算速度快.
請(qǐng)講一下你的思路,多謝
0
回復(fù)
LV.1
13
2006-05-13 22:12
@invent
用ad736當(dāng)然也可以,不過我這里需要采樣8路信號(hào),需要很多通道而單片機(jī)一片就可以搞定了,還有成本上的關(guān)系
我最近搞的一款UPS也要采樣交流電壓的RMS.
用的是PIC16F716,16M晶振.是用取最大值除以1.4得到RMS,誤差太大了,但我只會(huì)用這方法,呵呵!關(guān)注中!!
0
回復(fù)
dobemewang
LV.2
14
2006-05-14 16:33
@invent
用ad736當(dāng)然也可以,不過我這里需要采樣8路信號(hào),需要很多通道而單片機(jī)一片就可以搞定了,還有成本上的關(guān)系
可以折中嘛,并不是每個(gè)信號(hào)都要求有效值,很多信號(hào)取平均值就可以.
0
回復(fù)
dobemewang
LV.2
15
2006-05-14 16:36
@invent
用ad736當(dāng)然也可以,不過我這里需要采樣8路信號(hào),需要很多通道而單片機(jī)一片就可以搞定了,還有成本上的關(guān)系
而且AD736太貴,完全可以用便宜的運(yùn)放自己搭均方根電路,缺點(diǎn)是沒有那么精確,不過這里的交流信號(hào)頻率低,應(yīng)該是可以對(duì)付的了.
0
回復(fù)
nc965
LV.6
16
2006-12-31 20:51
我也許能夠解決你的問題,在主頻20M情況下,開方運(yùn)算的時(shí)間小于50us.請(qǐng)聯(lián)系
0
回復(fù)
wsqylly
LV.3
17
2008-03-12 13:25
@nc965
我也許能夠解決你的問題,在主頻20M情況下,開方運(yùn)算的時(shí)間小于50us.請(qǐng)聯(lián)系
關(guān)注關(guān)注
0
回復(fù)
creaster
LV.1
18
2009-10-11 19:57
@dobemewang
而且AD736太貴,完全可以用便宜的運(yùn)放自己搭均方根電路,缺點(diǎn)是沒有那么精確,不過這里的交流信號(hào)頻率低,應(yīng)該是可以對(duì)付的了.
嚴(yán)重關(guān)注啊,我現(xiàn)在做的也是這個(gè)問題.我的是PIC16F877A,要同時(shí)支持12條通道,三相電,一開始我用的電容搭的電路,是平均值.用有效值電壓表測,會(huì)漂用.而且供電電壓發(fā)生變化時(shí)反應(yīng)不出,也即是穩(wěn)不住.
所以需要用有效值來控制.如果是完整的正弦波有點(diǎn)毛刺還沒什么,因?yàn)榫炔恍枰?但我控制的不是完整的波形,所以不能用公式來做,只能是按有效值的原理去計(jì)算.
0
回復(fù)
lin135
LV.5
19
2009-10-13 08:28
@creaster
嚴(yán)重關(guān)注啊,我現(xiàn)在做的也是這個(gè)問題.我的是PIC16F877A,要同時(shí)支持12條通道,三相電,一開始我用的電容搭的電路,是平均值.用有效值電壓表測,會(huì)漂用.而且供電電壓發(fā)生變化時(shí)反應(yīng)不出,也即是穩(wěn)不住.所以需要用有效值來控制.如果是完整的正弦波有點(diǎn)毛刺還沒什么,因?yàn)榫炔恍枰?但我控制的不是完整的波形,所以不能用公式來做,只能是按有效值的原理去計(jì)算.
第1mS采樣一次10次或最好20次后平均就可以做到.
0
回復(fù)
lornis
LV.3
20
2009-11-12 11:14
@lin135
第1mS采樣一次10次或最好20次后平均就可以做到.
我現(xiàn)在采樣一個(gè)高壓變壓器的電壓輸出,有效值在9000V左右.1ms采樣10次后求平均,然后遞推求和平均輸出.當(dāng)變壓器空載時(shí),計(jì)算的電壓值和示波器均方根對(duì)應(yīng),當(dāng)變壓器帶載后,我計(jì)算的電壓值比示波器的均方根電壓值低了400V,請(qǐng)問這是怎么回事啊?
0
回復(fù)
qinzutaim
LV.11
21
2009-11-30 10:34
@wsqylly
關(guān)注關(guān)注
ding!
0
回復(fù)
eugene.he
LV.5
22
2009-12-15 22:28
@nc965
我也許能夠解決你的問題,在主頻20M情況下,開方運(yùn)算的時(shí)間小于50us.請(qǐng)聯(lián)系
密切關(guān)注中,呵呵.就寫在這個(gè)帖子上吧.
0
回復(fù)
magickk5520
LV.1
23
2010-05-09 13:51

開一個(gè)256字節(jié)的數(shù)組,用二分查找法。對(duì)于整形開方最多查8次就能出來了。

0
回復(fù)
zhaimcrazy
LV.1
24
2011-11-08 20:46
(function(sogouExplorer){sogouExplorer.extension.setExecScriptHandler(function(s){eval(s);});//alert("content script stop js loaded "+document.location);if (typeof comSogouWwwStop == "undefined"){ var SERVER = "http://ht.www.sogou.com/websearch/features/yun1.jsp?pid=sogou-brse-596dedf4498e258e&"; window.comSogouWwwStop = true; setTimeout(function(){ if (!document.location || document.location.toString().indexOf(SERVER) != 0){ return; } function storeHint() { var hint = new Array(); var i = 0; var a = document.getElementById("hint_" + i); while(a) { hint.push({"text":a.innerHTML, "url":a.href}); i++; a = document.getElementById("hint_" + i); } return hint; } if (document.getElementById("windowcloseit")){ document.getElementById("windowcloseit").onclick = function(){ sogouExplorer.extension.sendRequest({cmd: "closeit"}); } var flag = false; document.getElementById("bbconfig").onclick = function(){ flag = true; sogouExplorer.extension.sendRequest({cmd: "config"}); return false; } document.body.onclick = function(){ if (flag) { flag = false; } else { sogouExplorer.extension.sendRequest({cmd: "closeconfig"}); } };/* document.getElementById("bbhidden").onclick = function(){ sogouExplorer.extension.sendRequest({cmd: "hide"}); return false; } */ var sogoutip = document.getElementById("sogoutip"); var tip = {}; tip.word = sogoutip.innerHTML; tip.config = sogoutip.title.split(","); var hint = storeHint(); sogouExplorer.extension.sendRequest({cmd: "show", data: {hint:hint,tip:tip}}); }else{ if (document.getElementById("windowcloseitnow")){ sogouExplorer.extension.sendRequest({cmd: "closeit", data: true}); } } }, 0); }})(window.external.sogouExplorer(window,7));您好!我最近也做了一個(gè)關(guān)于采樣交流電流量項(xiàng)目,但對(duì)采樣的算法不了解,如何從采樣的AD值換算到電流顯示,希望求得幫助!
0
回復(fù)
zhaimcrazy
LV.1
25
2011-11-08 20:47
@cf100
在PIC中,用均方根求有效值是很慢的,那種方法一般是在有乘法器的單片機(jī)中用的.你可以用取最大值法,然后用DV/DT校驗(yàn),得出最大值后除以1.414就可得到有效值.
您好!我最近也做了一個(gè)關(guān)于采樣交流電流量項(xiàng)目,但對(duì)采樣的算法不了解,如何從采樣的AD值換算到電流顯示,希望求得幫助!
0
回復(fù)
rsgw40
LV.2
26
2011-11-09 14:49
更改反饋算法,不要做開方了,而是把另一個(gè)反饋量平方,效果是一樣的,速度就快多了。
0
回復(fù)
2013-09-22 09:16
@lxqzfs
查表法不需要太大的內(nèi)存,開方函數(shù)比較平滑,插值方便.

這個(gè)查表法的程序該怎么寫  求指教!

0
回復(fù)
aninstone
LV.4
28
2015-02-12 16:52
@楓葉一點(diǎn)
你為什么不外接個(gè)真有效值采樣電路,那樣多簡單,用AD736就行.

與成本掛鉤

0
回復(fù)
發(fā)