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

          關(guān) 閉

          新聞中心

          EEPW首頁 > 工控自動化 > 設(shè)計應(yīng)用 > 變頻空調(diào)電控系統(tǒng)的設(shè)計

          變頻空調(diào)電控系統(tǒng)的設(shè)計

          作者: 時間:2011-02-27 來源:網(wǎng)絡(luò) 收藏

          摘要:介紹空調(diào)變頻器的SPWM原理,并以西門子專用單片機C504構(gòu)成的電控系統(tǒng)為例,說明變頻空調(diào)器電控系統(tǒng)的基本結(jié)構(gòu)、實現(xiàn)方法及關(guān)鍵技術(shù)。

          本文引用地址:http://www.ex-cimer.com/article/162372.htm

          Abstract: This paper introduces the principle of air- conditioner transducer′ s SPWM and explains its electronic- controlled system′ s basic structure, implementing method and pivotal technique by a electronic- controlled system being made of single- chip C504, produced by SIEMENS .

          關(guān)鍵詞:專用單片機SPWM變頻

          Keywords: Special single- chip, SPWM, Frequency conversion

          1引言

            空調(diào)系統(tǒng)目前已經(jīng)廣泛地應(yīng)用于生產(chǎn)、生活中。隨著能源的日趨減少,大氣污染愈加嚴重,節(jié)能已是1個不容忽視的問題。眾所周知,變頻空調(diào)是1種集節(jié)能、舒適、靜噪于一體的新型產(chǎn)品,它剛一問世,就顯示出強大的生命力,可以預(yù)料,下世紀(jì)的空調(diào)將會以更快的步伐實現(xiàn)變頻化。變頻空調(diào)結(jié)構(gòu)如圖1所示。

          Jy1.gif (15659 字節(jié))

          圖1變頻空調(diào)電控系統(tǒng)示意

          Jy2.gif (5861 字節(jié))

          圖2C504內(nèi)部結(jié)構(gòu)圖

            其中室內(nèi)部分接收遙控器送來的控制信息,并根據(jù)室內(nèi)空氣溫度、熱交換器溫度以及室外機送來的狀態(tài)信息,經(jīng)過模糊推理,向室外機送出控制信息,包括:變頻壓縮機運行頻率、四通閥狀態(tài)等。室外機根據(jù)室內(nèi)機送來的控制信息,產(chǎn)生SPWM波形,驅(qū)動壓縮機在相應(yīng)的頻率上運轉(zhuǎn)。在運轉(zhuǎn)控制過程中,隨著室外溫度的不同、壓縮機排氣溫度的變化以及發(fā)熱器件溫度的變化自動調(diào)整運行頻率,使壓縮機始終處于最佳運行狀態(tài)。同時室外機還不斷檢測電流、電壓的變化,檢測短路、過電壓、欠壓等故障的發(fā)生,及時采取保護措施,以保障控制系統(tǒng)的良好運行。

            研制的新型變頻空調(diào)電控系統(tǒng)中,室內(nèi)機、室外機的各種控制功能都是由SIEMENS公司生產(chǎn)的專用單片機C504完成的。該類單片機除了一般單片機的通用功能外,還有1個專門用來驅(qū)動三相交流變頻壓縮機和無刷無傳感器的直流壓縮機的CCU單元,功能強大,性能好,編程方便。

          2C504中CCU工作原理

            一般變頻空調(diào)壓縮機分三相交流變頻和直流變頻兩種。C504單片機對這兩種類型的壓縮機都可以驅(qū)動,僅僅是編程方法不同而已。

            圖2為C504內(nèi)部結(jié)構(gòu)框圖。圖中可看出C504由CPU,CCU及異步通信等3部分組成,其中CPU部分和8051完全兼容。CCU部分是其最有特色的獨立單元,它包括有獨立的定時器、比較器、分頻器和寄存器等,可脫離CPU獨立工作,其目的是產(chǎn)生頻率可變的三相正弦交流電。

          2.1周期和偏置量的計算

          假設(shè)脈寬調(diào)制頻率為20kHz,即fPWM=20kHz,這就意味著fPWM的比較定時器1每隔50μs產(chǎn)生一次中斷,在其中斷服務(wù)程序中形成新的脈沖寬度值,存入比較寄存器之中。由于依時間而變的脈沖序列的脈寬要符合正弦波形的要求,因此實時計算脈寬是不可能的。最通用的方法是在內(nèi)存建立一個正弦表,在中斷服務(wù)程序執(zhí)行過程中周期地讀出,送到比較寄存器中,以便形成SPWM波形。在設(shè)計中,我們把確定PWM周期的比較定時器1設(shè)置成模式1狀態(tài),即所

          Jy3.gif (7533 字節(jié))

          圖3一組PWM波形(帶死區(qū))形成原理

          謂雙邊調(diào)制狀態(tài)。這時定時器1正向計數(shù)滿后,立即反向計數(shù),下溢出后提出中斷請求。因之置入定時器1的值N可按下式計算(假設(shè)fOSC=40MHz,fPWM=20kHz);

          N=fOSC/(預(yù)分頻數(shù)×fPWM×2)

          =40MHz/(4×20kHz×2)=250

          式中預(yù)分頻數(shù)是為滿足不同頻率而設(shè)置的。計算得到的N值送入周期寄存器,就可以達到fPWM=20kHz的目的。

            死區(qū)時間計算的方法如下:由于fOSC/預(yù)分頻數(shù)=0.1μs,假設(shè)需要1μs死區(qū)時間時,則需偏移量為:

          偏移量=(死區(qū)時間×fOSC)/預(yù)分頻數(shù)

          =(1μs×40MHz)/4=10

          2.2正弦波形成原理

          CCU的PWM有單邊調(diào)制和雙邊調(diào)制兩種,通過初始化設(shè)置,可以任意選擇。本文只討論諧波量比較小的雙邊調(diào)制。三相SPWM波形的產(chǎn)生,是由軟件配合CCU內(nèi)部復(fù)雜的硬件結(jié)構(gòu)確定的。脈沖寬度取決于SPWM比較寄存器所存儲數(shù)據(jù)值的大小,這6個寄存器(均為16位)共分3組,分別定義為CCL0,CCH0,CCL1,CCH1,CCL2,CCH2,而且3組相互獨立。在每個SPWM周期之前,都由CPU經(jīng)過正弦表查得,并存入這些寄存器中。若內(nèi)部定時器1的計數(shù)值超過寄存器的值,則對應(yīng)的輸出端口被觸發(fā),從而輸出1組極性相反的PWM矩形波(其占空比取決于比較器中的值),見圖3。每次內(nèi)部定時器反向計數(shù)結(jié)束時,產(chǎn)生下溢中斷請求,開始新1個PWM周期,并在中斷服務(wù)程序中產(chǎn)生相應(yīng)參數(shù)。上下橋臂之間的死區(qū)的大小,由信號的偏移量決定,該值存于偏置量寄存器中,定義為CT10FX,1個橋臂的驅(qū)動波形形成過程如圖3所示,一旦周期值(輸入到比較定時器1中)、偏移量、3個比較器的值已經(jīng)輸入,當(dāng)專門用于對比較器定時的內(nèi)部定時器1被激活后,CCU在沒有CPU干預(yù)的情況下,獨立運行,產(chǎn)生3組獨立的PWM脈沖,脈沖寬度值依據(jù)置入比較器的值而定。

          Jy4.gif (5994 字節(jié))

          圖4正弦波電流的形成


          上一頁 1 2 下一頁

          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁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); })();