91视频免费?看_蜜芽MY188精品TV在线观看_国产免费无遮挡在线观看视频_深夜国产_亚洲精品欧洲精品_欧美黑人粗暴多交

  • 回復
  • 收藏
  • 點贊
  • 分享
  • 發新帖

請教各位大俠,pic單片機采樣交流有效值中開平方最快的算法

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

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

開一個256字節的數組,用二分查找法。對于整形開方最多查8次就能出來了。

0
回復
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));您好!我最近也做了一個關于采樣交流電流量項目,但對采樣的算法不了解,如何從采樣的AD值換算到電流顯示,希望求得幫助!
0
回復
zhaimcrazy
LV.1
25
2011-11-08 20:47
@cf100
在PIC中,用均方根求有效值是很慢的,那種方法一般是在有乘法器的單片機中用的.你可以用取最大值法,然后用DV/DT校驗,得出最大值后除以1.414就可得到有效值.
您好!我最近也做了一個關于采樣交流電流量項目,但對采樣的算法不了解,如何從采樣的AD值換算到電流顯示,希望求得幫助!
0
回復
rsgw40
LV.2
26
2011-11-09 14:49
更改反饋算法,不要做開方了,而是把另一個反饋量平方,效果是一樣的,速度就快多了。
0
回復
2013-09-22 09:16
@lxqzfs
查表法不需要太大的內存,開方函數比較平滑,插值方便.

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

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

與成本掛鉤

0
回復
主站蜘蛛池模板: 城口县| 萨迦县| 肃宁县| 正宁县| 东明县| 大城县| 平罗县| 改则县| 大名县| 皮山县| 禹城市| 香港 | 乐陵市| 永新县| 清丰县| 营口市| 浑源县| 烟台市| 镇康县| 建湖县| 高淳县| 雷州市| 汕头市| 旅游| 城口县| 甘肃省| 会昌县| 托里县| 北海市| 宁波市| 墨玉县| 翁源县| 柘荣县| 阿瓦提县| 聂拉木县| 鹤壁市| 湘潭县| 方山县| 贵港市| 昌黎县| 巫溪县|