新聞中心

        EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > PWM調(diào)速在恒溫控制中的應(yīng)用

        PWM調(diào)速在恒溫控制中的應(yīng)用

        作者: 時間:2011-11-03 來源:網(wǎng)絡(luò) 收藏
        2.3 PC 機(jī)通訊接口

        本文引用地址:http://www.104case.com/article/178446.htm

          8051 系統(tǒng)與PC 機(jī)通訊,采用“RS-485+USB”接口信息傳輸方案,如圖1 所示。這里,用8051 串口線TxD、RxD 通過“TTL/RS-485 → RS-485/TTL → USB 接口”等環(huán)節(jié),實(shí)現(xiàn)了8051 系統(tǒng)與PC 之間的遠(yuǎn)程通訊需求,從而擴(kuò)大了范圍。

          在進(jìn)行電路設(shè)計(jì)時,“T T L/ RS - 4 8 5 → RS - 4 8 5 /TTL”變換可以采用兩片MAX488,并將其連接成全雙工模式,限于篇幅這里不再畫出;USB 接口選用PL2303,如圖3 所示,直接將來自“RS-485/TTL”電路的TTL電平(TxD、RxD)變?yōu)閁SB 信號,優(yōu)點(diǎn)是占用8051 資源少、編程簡單。

         USB 通訊接口電路原理圖


        圖3 USB 通訊接口電路原理圖

          3 程序設(shè)計(jì)

          程序包括8051 對目標(biāo)系統(tǒng)(電機(jī)與溫度檢測)的監(jiān)控程序和8051 與微機(jī)的通訊,現(xiàn)分別說明如下:

          3.1 監(jiān)控程序

          該部分程序是軟件的核心部分,包括一個主程序和兩個中斷處理程序。為了使整個程序結(jié)構(gòu)清晰和易于功能擴(kuò)展, 采用“存儲管理”的編程思想, 對于程序中使用最頻繁、實(shí)時性要求最高的變量定義在8051內(nèi)部RAM,對于需要占用大量存貯空間或訪問頻度較低的變量, 盡可能放在外擴(kuò)的數(shù)據(jù)存貯器上( 圖1 未畫出),對于信息處理過程所使用的臨時變量,盡可能使用通用寄存。

          監(jiān)控程序必須具有溫度設(shè)置、基于溫度的 和溫度顯示等基本功能,這實(shí)際上涉及的是人機(jī)交互處理和基于溫度的 信號處理。根據(jù)圖1 所示電路結(jié)構(gòu)和基本功能要求,可以認(rèn)為,它是一個基于8051 中斷源INT0 和T0 的中斷處理系統(tǒng), 即,需要設(shè)計(jì)兩個中斷處理程序INT0 和T0,其中,INT0 中斷處理任務(wù)是按鍵識別與處理,完成溫度設(shè)置、系統(tǒng)啟停、顯示切換等工作;T0 中斷處理主要任務(wù)是調(diào)節(jié)直流電機(jī)轉(zhuǎn)速, 它是根據(jù)傳感器所測得溫度與給定溫度的比較情況,通過調(diào)整有關(guān)參數(shù),使輸出 波形占空比發(fā)生變化達(dá)到目的,具體方法詳見后述。主程序主要完成系統(tǒng)初始化和顯示等任務(wù), 包括以下幾個方面:

          (1) 監(jiān)控程序使用的所有變量的定義及初始化;(2) 8279 和8255 初始化;(3) 8051 中斷系統(tǒng)初始化;(4) DS18B20 初始化、溫度讀取、溫度顯示;(5) 變量的判斷及處理。

          這里, ( 4 ) - ( 5 ) 應(yīng)該被設(shè)計(jì)成一個循環(huán)執(zhí)行的程序結(jié)構(gòu)。

          3.2 通訊程序

          通訊程序主要功能是實(shí)現(xiàn)8051 與PC 的數(shù)據(jù)交換。

          8051 利用其串口線RxD 和TxD 實(shí)現(xiàn)與PC 的數(shù)據(jù)收發(fā)工作, 這些交換數(shù)據(jù)包括:

          (1) 8051 向PC 發(fā)送的溫度信息;(2) 8051 接收來自PC 的控制指令,這些控制指令通過8051 串口中斷處理程序處理。

          在PC 方面,需要編寫基于PL2303 的USB 驅(qū)動程序和面向8051 的人機(jī)界面,限于篇幅在此不作細(xì)述。

          4 PWM 導(dǎo)通率調(diào)整及溫控軟件算法

          根據(jù)上面所述可以知道,調(diào)節(jié)8051 輸出PWM 波占空比大小是實(shí)現(xiàn)直流的前提,而直流調(diào)速主電路使得受控于PWM 波的功率開關(guān)導(dǎo)通率發(fā)生變化,從而實(shí)現(xiàn)了直流電機(jī)的PWM 調(diào)速。現(xiàn)在假設(shè)功率開關(guān)一個通斷周期時間為T _ timer , 在一個周期內(nèi)的導(dǎo)通時間為t _ on ,則導(dǎo)通率,因此, PWM 調(diào)速實(shí)際上就是用軟件方法對變量t _ on 或T _ timer進(jìn)行調(diào)節(jié),而調(diào)節(jié)依據(jù)則是被測點(diǎn)的實(shí)際溫度與設(shè)定溫度的比較情況。

          下面首先介紹基于8051 定時中斷的導(dǎo)通率調(diào)節(jié)方法,然后進(jìn)一步介紹如何根據(jù)溫度比較情況調(diào)節(jié)導(dǎo)通率。

          在導(dǎo)通率公式中, T _ timer 所允許的最小值取決于功率開關(guān)元件的最高工作頻率、直流電機(jī)調(diào)速范圍和執(zhí)行定時中斷處理程序所需時間等因素,而T _ timer所允許的最大值則取決于直流電機(jī)電樞電流連續(xù)性和轉(zhuǎn)速脈動量。

          導(dǎo)通時間t _ on 由程序控制, 其值在0 ~ T _ timer之間變化。在進(jìn)行導(dǎo)通率δ 調(diào)節(jié)的算法設(shè)計(jì)時, 既可以使T _ timer為常量, t _ on 為變量,也可以使T _ timer為變量, t _ on 為常量,或者使T _ timer 和t _ on 均為變量。實(shí)際上,由于T _ timer所允許的最小值和最大值分別受上述因素限制, 設(shè)計(jì)時在綜合考慮上述因素后取常量,此時t _ on 則成為導(dǎo)通率d 調(diào)節(jié)的唯一手段了。

          下面以工作于6MHz 的8051 為例,說明導(dǎo)通率δ調(diào)節(jié)及計(jì)算方法。

          根據(jù)8051 定時計(jì)算公式,當(dāng)定時器/ 計(jì)數(shù)器工作于“定時、方式1”時, 我們不難推導(dǎo)出定時中斷周期為:


          其中, c T 為8051 定時器/ 計(jì)數(shù)器在編程時的定時常數(shù),如果功率開關(guān)元件的開關(guān)頻率f Hz vt = 4000 ,則定時中斷周期T _timer = 250ms ,此時= *11 c T 。

          t _ on 的確定,可以采用軟件延時方法實(shí)現(xiàn),假設(shè)控制功率開關(guān)元件通斷的驅(qū)動電路采用負(fù)邏輯驅(qū)動,cyc _ times為延時程序控制循環(huán)次數(shù)的一個參數(shù),則定時中斷處理程序進(jìn)行一次通斷操作的流程如圖4(a )所示,此時t _ n = 4 * cyc _ times 。


        圖4 程序流程圖

          據(jù)此,可以推導(dǎo)出在開關(guān)頻率f Hz vt = 4000 條件下,導(dǎo)通率

        ,其中cyc _ times = 1 ~ 62整數(shù)。

          下面進(jìn)一步討論如何根據(jù)溫度比較情況調(diào)節(jié)導(dǎo)通率的問題。眾所周知,在控制論中一種所謂的“PID”調(diào)節(jié)算法被人們廣泛使用,這種方法是建立在輸出量的高精度檢測和精確比較基礎(chǔ)上的差值控制理論,由于算法繁雜往往計(jì)算工作量大, 對于低速CPU 往往應(yīng)用受限。本文介紹的溫度調(diào)節(jié)不采用PID 算法,它采用的是一種所謂的“直接比較”控制方法(稱之為“DC”法),它是以一定的周期比較兩個變量的大小關(guān)系(而非實(shí)際差值),來決定輸出量調(diào)整方向(增加或減小或保持),而且當(dāng)比較結(jié)果不等于零時, 對輸出量的調(diào)整不是一次到位,而是逐次增加或減小(如固定“加1”或“減1”),從而極大地簡化了控制算法。采用“DC”算法的溫控處理程序流程圖(一個基于8051T0 中斷處理程序)如圖4(b)所示,在該流程圖中, T 和g T 分別為實(shí)際溫度和給定溫度,我們只要將T 和g T 進(jìn)行簡單的比較,就能夠?qū)崿F(xiàn)直流電機(jī)PWM 調(diào)速導(dǎo)通率δ的調(diào)整,算法如下:

          當(dāng)Tg - T > 0 g 時,將變量“cyc _ times ”加1(在還沒有達(dá)到最大值時);當(dāng)Tg - T 0 g 時,將變量“cyc _ times ”減(在還沒有達(dá)到最小值時);當(dāng)T g- T = 0 g 時,保持變量“cyc _ times ”值不變顯然, 根據(jù)上述導(dǎo)通率公式

        :,只要變量cyc _ times 發(fā)生了變化,導(dǎo)通率d 必定也隨之發(fā)生改變, 從而達(dá)到調(diào)速目的。

          顯而易見,上述調(diào)整方法并不是根據(jù)Tg - T 的實(shí)際差值(偏差)來計(jì)算應(yīng)有的cyc _ times 調(diào)整量,而是僅僅比較兩者的大小關(guān)系來決定cyc _ times 調(diào)整方向,而且每個T _ timer周期cyc _ times 調(diào)整量僅為1。由此可見,只要T T g - 有偏差, 特別是, 當(dāng)偏差較大時, 往往需要經(jīng)過多個T _ timer 周期之后才能消除這種偏差。


        上一頁 1 2 下一頁

        評論


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

        關(guān)閉
        主站蜘蛛池模板: 调兵山市| 岳西县| 东城区| 阿勒泰市| 平顶山市| 建水县| 通江县| 巢湖市| 大余县| 泸州市| 仪征市| 苗栗县| 江安县| 娄底市| 长春市| 大理市| 陈巴尔虎旗| 利川市| 怀来县| 黄石市| 邮箱| 宝应县| 呈贡县| 闸北区| 龙川县| 台湾省| 朝阳县| 闽清县| 桐庐县| 铅山县| 岳阳市| 娄底市| 汕头市| 驻马店市| 海阳市| 通州市| 云林县| 隆昌县| 明光市| 屏东县| 孟州市|