<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 電源與新能源 > 設計應用 > 基于PIC單片機的可編程電源的設計與應用

          基于PIC單片機的可編程電源的設計與應用

          作者: 時間:2009-12-18 來源:網(wǎng)絡 收藏

            系統(tǒng)按模塊來分可以分成兩大模塊:

            模塊和控制模塊。模塊是以PWM芯片為核心的AC―DC變換器,PWM芯片采用安森美半導體的電流型PWM控制器NCP1200作為控制芯片。控制模塊采用美國微芯公司的16F874作為微控制器,主要實現(xiàn)電流電壓信號的采樣、顯示、按鍵輸入、串口通信以及為模塊提供電壓電流參考等功能。兩個模塊的關系可以用圖3來說明。

          圖3 工作原理

            圖3中,電網(wǎng)電壓經(jīng)整流濾波后供給高頻變換電路,由高頻變換電路產(chǎn)生輸出。輸出兩路PWM信號,給電源模塊提供輸出電壓的參考值和電流的限流值,電源模塊按照單片機提供的參考值輸出電壓和限定最大電流。雖然單片機采樣輸出電壓和電流進行顯示,但這里單片機并不參與系統(tǒng)的反饋,反饋通過電源模塊來實現(xiàn)(在后面的部分中會詳細講到)。

            3 硬件

            3.1 電源模塊電路

            NCP1200是安森美半導體公司(ON Semiconductor)推出的一款電流型PWM控制器。其電路只需要使用很少的外圍元件,使更加緊湊。另外,芯片內(nèi)集成輸出短路的保護電路,使成本可以進一步降低。

            圖4是以NCP1200為控制芯片的電源電路的結(jié)構(gòu)。從圖中可以看到,電源模塊中有兩種反饋類型。第一種是輸出電壓反饋,輸出電壓采樣值VSS和單片機提供的設定值進行比較,通過光耦來控制NCP1200芯片F(xiàn)B腳的電壓,調(diào)整DRV腳輸出PWM的脈寬來控制場效應管的導通和關斷時間,從而達到調(diào)整輸出電壓值的目的。另一路反饋是電流限流反饋,當采樣到的輸出電流值ISS超過單片機提供的最大限流值IPWM后,比較器輸出正電壓使得光耦最大導通,將FB腳電壓拉低,使得NCP1200輸出PWM脈寬減小,從而達到限流的目的。當輸出電流小于單片機提供的限流值時,限流反饋不起作用。

          圖4 電源模塊電路結(jié)構(gòu)

            圖中的輔助電源提供+12 V的電壓,另經(jīng)三端穩(wěn)壓器件KA7805(圖中未畫出)產(chǎn)生+5V的電壓,給比較器和單片機控制模塊提供電源。

          3.2 單片機控制電路

            16F874是美國微芯科技公司(Microchip Technology)的一款8位單片機,內(nèi)置4K×14位的Flash、128字節(jié)的RAM和64字節(jié)的EEPROM。另外,它具有豐富的外設資源,其內(nèi)置1個UART模塊可供串口通信用,2個CCP模塊可以產(chǎn)生2路獨立、10位分辨率的PWM信號,8路10位的A/D轉(zhuǎn)換通道。另外,系列單片機的每個I/O能提供25mA的驅(qū)動電流,對于LED的接口電路可以省掉外加晶體管的驅(qū)動電路。

            單片機控制模塊結(jié)構(gòu)框圖如圖5所示。

          圖5 單片機控制模塊結(jié)構(gòu)框圖

            單片機控制系統(tǒng)的主要接口電路:

            ① 按鍵接口電路。采用暫觸式開關輸入,使用電阻電容去抖。



          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();