用單片機(jī)的數(shù)字I/O直接產(chǎn)生PWM輸出不行嗎?用直令將I/O口拉高拉低應(yīng)該就可以模擬PWM信號了(拉高拉低由計(jì)數(shù)器中斷進(jìn)行控制),再由有源驅(qū)動(dòng)電路驅(qū)動(dòng)MOSFET應(yīng)該就可以實(shí)現(xiàn)直流輸出了.為什么好象沒有人這么作呢?
按照我這個(gè)想法,要保證1%的輸出電壓精度,只要保證單片機(jī)時(shí)鐘頻率和PWM信號頻率有100倍關(guān)系(比如100K的PWM信號對應(yīng)使用10M時(shí)鐘的單片機(jī))就能滿足輸出精度要求了(假設(shè)對應(yīng)指令是單周期的).只不過不能實(shí)現(xiàn)在每個(gè)周期都對輸出電壓進(jìn)行監(jiān)控和調(diào)整,動(dòng)態(tài)響應(yīng)有點(diǎn)慢.
這個(gè)想法有什么問題嗎?
才開始學(xué)電源,作模塊電源方面,問題比較弱,請各位前輩不吝賜教.謝謝大家先~
請問關(guān)于單片機(jī)直接控制的PWM電源
全部回復(fù)(17)
正序查看
倒序查看
請?jiān)囋囆氯A龍的SI8250單片機(jī)!
500) {this.resized=true; this.width=500; this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(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
請?jiān)囋囆氯A龍的SI8250單片機(jī)![圖片]500){this.resized=true;this.width=500;this.alt='這是一張縮略圖,點(diǎn)擊可放大。\n按住CTRL,滾動(dòng)鼠標(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);">
我硬件比較熟悉,單片機(jī)也搞了一段時(shí)間了,從Z80單板機(jī)開始,到89C51 ,現(xiàn)在用AVR ,匯編和C都用過,現(xiàn)在主要用C,用單片機(jī)做過一些技改項(xiàng)目,比如 MP3收音模塊的控制等.自己做了C51的編程器,上位機(jī)程序是用VB編的.我們公司現(xiàn)在大量做各種開關(guān)電源,所以現(xiàn)在對控制電源很感興趣.能否提供si8250樣品給我. 風(fēng)華高科端華分公司bd9ah@126.com
0
回復(fù)
理論上I/O口當(dāng)然可以用于PWM控制,但是這種工作方式占用很大的cpu資源.所以一般的數(shù)控芯片都用專用的PWM端口,由計(jì)數(shù)器進(jìn)行控制,不占用cpu資源.
cpu的頻率是PWM信號頻率的100倍是遠(yuǎn)遠(yuǎn)不夠的.輸出電壓的精度主要由輸出電壓的A/D采樣精度有關(guān),當(dāng)然跟PWM的分辨率也有關(guān)系.
電源是不可能每個(gè)周期對輸出電壓進(jìn)行調(diào)整的,當(dāng)然電流控制性的可以每個(gè)周期對峰值電流進(jìn)行控制.
cpu的頻率是PWM信號頻率的100倍是遠(yuǎn)遠(yuǎn)不夠的.輸出電壓的精度主要由輸出電壓的A/D采樣精度有關(guān),當(dāng)然跟PWM的分辨率也有關(guān)系.
電源是不可能每個(gè)周期對輸出電壓進(jìn)行調(diào)整的,當(dāng)然電流控制性的可以每個(gè)周期對峰值電流進(jìn)行控制.
0
回復(fù)
@
理論上I/O口當(dāng)然可以用于PWM控制,但是這種工作方式占用很大的cpu資源.所以一般的數(shù)控芯片都用專用的PWM端口,由計(jì)數(shù)器進(jìn)行控制,不占用cpu資源.cpu的頻率是PWM信號頻率的100倍是遠(yuǎn)遠(yuǎn)不夠的.輸出電壓的精度主要由輸出電壓的A/D采樣精度有關(guān),當(dāng)然跟PWM的分辨率也有關(guān)系.電源是不可能每個(gè)周期對輸出電壓進(jìn)行調(diào)整的,當(dāng)然電流控制性的可以每個(gè)周期對峰值電流進(jìn)行控制.
"cpu的頻率是PWM信號頻率的100倍是遠(yuǎn)遠(yuǎn)不夠的"是為什么,前輩能詳細(xì)解釋一下嗎?對于單指令周期(一個(gè)機(jī)器周期等于一個(gè)時(shí)鐘周期)的單片機(jī)也不行嗎?
0
回復(fù)
@mofesli
"cpu的頻率是PWM信號頻率的100倍是遠(yuǎn)遠(yuǎn)不夠的"是為什么,前輩能詳細(xì)解釋一下嗎?對于單指令周期(一個(gè)機(jī)器周期等于一個(gè)時(shí)鐘周期)的單片機(jī)也不行嗎?
就算理論上用I/O能夠產(chǎn)生需要的PWM 數(shù)據(jù),占用了絕大部分的CPU時(shí)間,單片機(jī)除了輸出PWM波形外還能做多余的檢測、判斷嗎?實(shí)際的PWM單片機(jī)系統(tǒng),單片機(jī)除了輸出PWM外是還要做很多的檢測,判斷的.
所以基本上做產(chǎn)品的話只能用專用的PWM 帶A/D單片機(jī),做來自己玩那就另當(dāng)別論
所以基本上做產(chǎn)品的話只能用專用的PWM 帶A/D單片機(jī),做來自己玩那就另當(dāng)別論
0
回復(fù)
@bilijohn
請問你是做什么產(chǎn)品,要達(dá)到500K?你的恒流是多大的?我做1A產(chǎn)品只用到40多K,2~4A的494IC輸出200K以內(nèi)也已經(jīng)足夠,PCA模擬PWM的實(shí)際是什么,請教mofesli
做的是模塊電源.電流4~10A,輸出電壓1~2.5V.PCA模擬PWM個(gè)人理解基本等于用定時(shí)器模擬PWM,輸出頻率受到系統(tǒng)時(shí)鐘限制,使用中需要計(jì)算中斷響應(yīng)時(shí)間帶來的誤差,比較麻煩.由于不是硬件流水方式,需要軟件參與,所以要占用一定的CPU時(shí)間,對CPU完成檢測、判斷等任務(wù)有一定影響~
個(gè)人理解,有部隊(duì)的地方還請大家批評指正.
SI8250由于等級原因,目前頭兒們還在考慮能不能用~
個(gè)人理解,有部隊(duì)的地方還請大家批評指正.
SI8250由于等級原因,目前頭兒們還在考慮能不能用~
0
回復(fù)
@mofesli
做的是模塊電源.電流4~10A,輸出電壓1~2.5V.PCA模擬PWM個(gè)人理解基本等于用定時(shí)器模擬PWM,輸出頻率受到系統(tǒng)時(shí)鐘限制,使用中需要計(jì)算中斷響應(yīng)時(shí)間帶來的誤差,比較麻煩.由于不是硬件流水方式,需要軟件參與,所以要占用一定的CPU時(shí)間,對CPU完成檢測、判斷等任務(wù)有一定影響~個(gè)人理解,有部隊(duì)的地方還請大家批評指正.SI8250由于等級原因,目前頭兒們還在考慮能不能用~
謝了,想問:那么三星,合泰等PWM型單片機(jī)的PWM輸出應(yīng)該不屬于PCA的范疇把?
0
回復(fù)