新聞中心

        EEPW首頁 > EDA/PCB > 單片機控制的開關電源

        單片機控制的開關電源

        ——
        作者: 時間:2007-04-09 來源: 收藏

        控制開關,單從對輸出的控制來說,可以有幾種控制方式。


        其一是輸出一個電壓(經DA芯片或PWM方式),用作的基準電壓。這種方式僅僅是用代替了原來的基準電壓,可以用按鍵輸入電源的輸出電壓值,單片機并沒有加入電源的反饋環,電源電路并沒有什么改動。這種方式最簡單。


        其二是單片機擴展AD,不斷檢測電源的輸出電壓,根據電源輸出電壓與設定值之差,調整DA的輸出,控制PWM芯片,間接控制電源的工作。這種方式單片機已加入到電源的反饋環中,代替原來的比較放大環節,單片機的程序要采用比較復雜的PID算法。


        其三是單片機擴展AD,不斷檢測電源的輸出電壓,根據電源輸出電壓與設定值之差,輸出PWM波,直接控制電源的工作。這種方式單片機介入電源工作最多。

         
        第三種方式是最徹底的單片機控制開關電源,但對單片機的要求也最高。要求單片機運算速度快,而且能夠輸出足夠高頻率的PWM波。這樣的單片機顯然價格也高。


        DSP類單片機速度夠高,但目前價格也很高,從成本考慮,占電源成本的比例太大,不宜采用。
        廉價單片機中,AVR系列最快,具有PWM輸出,可以考慮采用。但AVR單片機的工作頻率仍不夠高,只能是勉強使用。下面我們具體計算一下AVR單片機直接控制開關電源工作可以達到什么水平。
        AVR單片機中,時鐘頻率最高為16MHz。如果PWM分辨率為10位,那么PWM波的頻率也就是開關電源的工作頻率為16000000/1024=15625(Hz),開關電源工作在這個頻率下顯然不夠(在音頻范圍內)。那么取PWM分辨率為9位,這次開關電源的工作頻率為16000000/512=32768(Hz),在音頻范圍外,可以用,但距離現代開關電源的工作頻率還有一定距離。


        不過必須注意,9位分辨率是說功率管導通-關斷這個周期中,可以分成512份,單就導通而言,假定占空比為0.5,則只能分成256份。考慮到脈沖寬度與電源的輸出并非線性關系,需要至少再打個對折,也就是說,電源輸出最多只能控制到1/128,無論負載變化還是網電源電壓變化,控制的程度只能到此為止。


        還要注意,上面所述只有一個PWM波,是單端工作。如果要推挽工作(包括半橋),那就需要兩個PWM波,上述控制精度還要減半,只能控制到約1/64。對要求不高的電源例如電池充電,可以滿足使用要求,但對要求輸出精度較高的電源,這就不夠了。


        綜上所述,AVR單片機只能很勉強地使用在直接控制PWM的方式中。

         
        但是上列第二種控制方式,即單片機調整DA的輸出,控制PWM芯片,間接控制電源的工作,卻對單片機沒有那么高的要求,51系列單片機已可勝任。而51系列單片機的價格比AVR還是低一些。

         
        網友coocle曾發表他的看法:“單片機控制開關電源的缺點在于動態響應不夠,優點是設計的彈性好,如保護和通訊,我的想法是單片機和pwm芯片相結合,現在的一般單片機的pwm輸出的頻率普遍還不是太高,頻率太高,想要實現單周期控制也很難。所以我覺得單片機可是完成一些彈性的模擬給定,后面還有pwm芯片完成一些工作?!?


        無獨有偶,在電子電源綜合區中有篇原創文章《DPWM電路的研究》,也是用數字電路輸出PWM波直接控制開關電源工作。他是用CPLD再加單片機進行控制。眾所周知CPLD的價格以及開發難度絕非單片機可比,那么他為什么要這樣做?原因如作者所說,由于單片機的PWM寬度小,導致精度低,不能滿足系統的要求。作者又說,在這些情況下,應用片外PWM電路無疑是一種理想的選擇。他選擇CPLD芯片來實現PWM。我則建議:還是用開關電源原來的控制芯片來實現。不但價格低,而且容易實現單周期電流檢測等保護功能。我們大可不必為數字控制而數字控制。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 尼木县| 和林格尔县| 沙湾县| 保靖县| 宣恩县| 黎平县| 凯里市| 奉贤区| 重庆市| 常熟市| 锦屏县| 新巴尔虎左旗| 科技| 定州市| 泌阳县| 三亚市| 沅陵县| 宜阳县| 莱芜市| 河池市| 重庆市| 达州市| 邻水| 石屏县| 建始县| 云浮市| 昆山市| 玉龙| 陆川县| 辽阳市| 简阳市| 乌兰察布市| 榆社县| 万源市| 凉山| 金坛市| 韶山市| 林芝县| 广灵县| 乌兰浩特市| 诸城市|