用單片機的數(shù)字I/O直接產(chǎn)生PWM輸出不行嗎?用直令將I/O口拉高拉低應(yīng)該就可以模擬PWM信號了(拉高拉低由計數(shù)器中斷進行控制),再由有源驅(qū)動電路驅(qū)動MOSFET應(yīng)該就可以實現(xiàn)直流輸出了.為什么好象沒有人這么作呢?
按照我這個想法,要保證1%的輸出電壓精度,只要保證單片機時鐘頻率和PWM信號頻率有100倍關(guān)系(比如100K的PWM信號對應(yīng)使用10M時鐘的單片機)就能滿足輸出精度要求了(假設(shè)對應(yīng)指令是單周期的).只不過不能實現(xiàn)在每個周期都對輸出電壓進行監(jiān)控和調(diào)整,動態(tài)響應(yīng)有點慢.
這個想法有什么問題嗎?
才開始學(xué)電源,作模塊電源方面,問題比較弱,請各位前輩不吝賜教.謝謝大家先~
請問關(guān)于單片機直接控制的PWM電源
全部回復(fù)(17)
正序查看
倒序查看
請試試新華龍的SI8250單片機!
500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/38/1140413326.jpg');}" onmousewheel="return imgzoom(this);">

0
回復(fù)
@gzzrj
請試試新華龍的SI8250單片機![圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點擊可放大。\n按住CTRL,滾動鼠標(biāo)滾輪可自由縮放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/38/1140413326.jpg');}"onmousewheel="returnimgzoom(this);">
我硬件比較熟悉,單片機也搞了一段時間了,從Z80單板機開始,到89C51 ,現(xiàn)在用AVR ,匯編和C都用過,現(xiàn)在主要用C,用單片機做過一些技改項目,比如 MP3收音模塊的控制等.自己做了C51的編程器,上位機程序是用VB編的.我們公司現(xiàn)在大量做各種開關(guān)電源,所以現(xiàn)在對控制電源很感興趣.能否提供si8250樣品給我. 風(fēng)華高科端華分公司bd9ah@126.com
0
回復(fù)
@
理論上I/O口當(dāng)然可以用于PWM控制,但是這種工作方式占用很大的cpu資源.所以一般的數(shù)控芯片都用專用的PWM端口,由計數(shù)器進行控制,不占用cpu資源.cpu的頻率是PWM信號頻率的100倍是遠遠不夠的.輸出電壓的精度主要由輸出電壓的A/D采樣精度有關(guān),當(dāng)然跟PWM的分辨率也有關(guān)系.電源是不可能每個周期對輸出電壓進行調(diào)整的,當(dāng)然電流控制性的可以每個周期對峰值電流進行控制.
"cpu的頻率是PWM信號頻率的100倍是遠遠不夠的"是為什么,前輩能詳細(xì)解釋一下嗎?對于單指令周期(一個機器周期等于一個時鐘周期)的單片機也不行嗎?
0
回復(fù)
@bilijohn
請問你是做什么產(chǎn)品,要達到500K?你的恒流是多大的?我做1A產(chǎn)品只用到40多K,2~4A的494IC輸出200K以內(nèi)也已經(jīng)足夠,PCA模擬PWM的實際是什么,請教mofesli
做的是模塊電源.電流4~10A,輸出電壓1~2.5V.PCA模擬PWM個人理解基本等于用定時器模擬PWM,輸出頻率受到系統(tǒng)時鐘限制,使用中需要計算中斷響應(yīng)時間帶來的誤差,比較麻煩.由于不是硬件流水方式,需要軟件參與,所以要占用一定的CPU時間,對CPU完成檢測、判斷等任務(wù)有一定影響~
個人理解,有部隊的地方還請大家批評指正.
SI8250由于等級原因,目前頭兒們還在考慮能不能用~
個人理解,有部隊的地方還請大家批評指正.
SI8250由于等級原因,目前頭兒們還在考慮能不能用~
0
回復(fù)