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

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于MSP430F149的變頻伺服系統(tǒng)的設(shè)計

          基于MSP430F149的變頻伺服系統(tǒng)的設(shè)計

          作者: 時間:2013-05-27 來源:網(wǎng)絡(luò) 收藏
          近年來,伺服系統(tǒng)的發(fā)展始終以穩(wěn)定性、響應(yīng)性與精度為發(fā)展主軸,這也是用戶在使用過程中最為看重的幾大因素。在機(jī)床伺服系統(tǒng)、機(jī)器人控制系統(tǒng)、雷達(dá)天線控制系統(tǒng)等場合大都由直流伺服電機(jī)和直流伺服控制器來完成控制。在這些控制領(lǐng)域中,主要以負(fù)載的位置或角度等為控制對象的伺服控制系統(tǒng)[1]。隨著變頻器技術(shù)的高速發(fā)展,在伺服系統(tǒng)中交流變頻傳動因其功率因數(shù)高、反應(yīng)速度快、精度高、適合在惡劣環(huán)境中使用等優(yōu)點得到了越來越廣泛的應(yīng)用。本文提出一種基于高性能單片機(jī)、變頻器、變頻電機(jī)組成的數(shù)字式系統(tǒng),并將數(shù)字PID算法引入到此系統(tǒng)中,使系統(tǒng)獲得了良好的系統(tǒng)靜、動態(tài)性能。

            1系統(tǒng)的功能

            為達(dá)到系統(tǒng)的運行可靠、良好的靜態(tài)以及動態(tài)的性能要求,其功能如下:

            1)精確的伺服控制功能

            高精度、高速度、大功率是伺服系統(tǒng)的發(fā)展趨勢,系統(tǒng)采用高速單片機(jī)作為核心控制器,對變頻器進(jìn)行控制,使伺服系統(tǒng)的控制達(dá)到更高的精度。

            2)通信功能

            單片機(jī)與上位機(jī)之間必須確保通信的正常與正確,單片機(jī)將接收到來自上位機(jī)的控制命令與采樣到的反饋信號相比較得到偏移控制量,只有得到相應(yīng)的偏移量,單片機(jī)才對變頻器輸出相應(yīng)控制信號。

            3)反饋量精確采集功能

            反饋量采集的精確度直接關(guān)系到控制精度,系統(tǒng)采用變M/T方法對伺服電機(jī)進(jìn)行轉(zhuǎn)速采樣,采樣精度較M法、T法更加精確,從而確保了更加精確的控制。

            2系統(tǒng)硬件設(shè)計

            系統(tǒng)以單片機(jī)為核心控制器[2],集成變頻器、變頻電機(jī)、采樣編碼器以及PC上位機(jī)組成。其系統(tǒng)原理框圖如圖1所示。

            圖1系統(tǒng)框圖

            圖1系統(tǒng)框圖

            其控制過程為:單片機(jī)控制協(xié)調(diào)系統(tǒng)各功能模塊工作;PC上位機(jī)通過串口UART0將控制信號傳輸給MSP430F149,單片機(jī)通過對反饋信號采樣后進(jìn)行處理,將處理后的數(shù)據(jù)與來自上位機(jī)的控制信號相互比較,得到誤差量,再將誤差量經(jīng)過相應(yīng)的運算得到伺服系統(tǒng)控制量;MSP430F149將得到控制量通過串口UART1直接轉(zhuǎn)換成RS485信號輸出至變頻器,變頻器根據(jù)接收到的控制信號產(chǎn)生變頻變壓的電源信號以驅(qū)動電機(jī)完成期望動作;同時上位機(jī)通過MSP430F149的串口UART0獲取變頻電機(jī)的速度、系統(tǒng)參數(shù)等形成打印報表,為操作人員良好人機(jī)操作界面。

            2.1單片機(jī)單元

            MSP430F149是變頻交流伺服系統(tǒng)的核心控制器,完成系統(tǒng)控制信號與測量信號的傳遞及復(fù)雜的控制決策,協(xié)調(diào)各模塊進(jìn)行工作,操作控制指令的接收與識別。此單片機(jī)是一種超低功耗微控器,采用16位的體系結(jié)構(gòu),16位的CPU集成寄存器和常數(shù)發(fā)生器,實現(xiàn)了最大化的代碼效率。包括2個內(nèi)置16位的定時器、一個快速12位A/D轉(zhuǎn)換器,兩個通用串行同步異步通訊接口和48個I/O端口,片內(nèi)包含60KFLASHROM和2KBRAM。本設(shè)計是實時控制系統(tǒng),需對數(shù)據(jù)進(jìn)行實時采集和傳輸。MSP430F149中60KFLASH存儲器可滿足系統(tǒng)程序?qū)洿鎯臻g的需要,內(nèi)部數(shù)據(jù)RAM(2K)保證了數(shù)據(jù)實時采集、處理和傳輸,48個數(shù)字外設(shè)端口方便地實現(xiàn)了與外圍器件的數(shù)據(jù)傳輸與控制,16位的體系結(jié)構(gòu)保證了系統(tǒng)能夠完成復(fù)雜的控制決策,而雙串口UART則滿足了控制器與上位機(jī)及變頻器的實時通信需要。

            2.2光電編碼器及變M/T測速MSP430F149內(nèi)部實現(xiàn)

            伺服系統(tǒng)的精度控制主要取決于電機(jī)轉(zhuǎn)速信號的測量精度,本系統(tǒng)采用增量式光電編碼器作為電機(jī)轉(zhuǎn)速為檢測元件。比較常見的電編碼器測速方法有M法、T法和M/T法。M法是在規(guī)定時間間隔內(nèi),測量光電編碼器輸出的脈沖數(shù)量來獲得被測電機(jī)轉(zhuǎn)速的速度值,適合高速測量場合。T法測量是測量相鄰兩個脈沖間隔時間來確定被測電機(jī)的轉(zhuǎn)速速度的方法,此方法在高速場合測量時精確度性較差,因此一般只適用于低速測量的場合。M/T法是通過同時測量檢測時間和在此檢測時間內(nèi)所發(fā)生的脈沖數(shù)來確定轉(zhuǎn)速。在整個速度范圍內(nèi)有著較好的測速精度,但在低速時隨著頻率的降低,需要較長的測量時間,無法滿足伺服系統(tǒng)的快速動態(tài)響應(yīng)性能指標(biāo)[2]。近年來變M/T測速方法逐漸被使用,是指在測速過程中,不僅檢測光電編碼器脈沖M1和高頻時鐘脈沖M2隨電機(jī)轉(zhuǎn)速不同而變化,而且檢測時間Tg也在變化,它始終等于光電編碼器M1個脈沖周期之和(測速原理如圖2所示)。Tg的大小由高頻時鐘脈沖M2計取,則電機(jī)速度計可由以下公式確定[3]。

            基于MSP430F149的變頻伺服系統(tǒng)的設(shè)計

            式中:M1為預(yù)置脈沖數(shù);M2為高頻時鐘脈沖數(shù);fc為高頻時鐘頻率;λ為光電編碼器倍頻系數(shù);P為光電編碼器線數(shù)。

            變M/T法測速原理

            圖2變M/T法測速原理

            在電機(jī)低速運行時變M/T法的檢測時間Tg明顯比M/T法檢測時間要短,由此可見用變M/T法轉(zhuǎn)速測量能夠滿足控制系統(tǒng)對轉(zhuǎn)速測量的精度及實時性的要求。

            利用MSP430F149內(nèi)部定時器A和B可以完成對電機(jī)轉(zhuǎn)速的變M/T法的測量,可以簡化外圍電路的設(shè)計,減小了系統(tǒng)功耗。定時器A對外部光電編碼器脈沖進(jìn)行計數(shù),定時器B對系統(tǒng)內(nèi)部高頻時鐘進(jìn)行計數(shù);定時器A工作于16位計數(shù)方式,將測量值M1裝入定時器A的寄存器內(nèi),在定時器A計數(shù)達(dá)到M1個脈沖時,定時器產(chǎn)生中斷,程序讀取定時器B的計數(shù)值M2,由于M1已知依據(jù)式(1)可快速而準(zhǔn)確計算出電機(jī)轉(zhuǎn)速。

            2.3變頻器

            變頻器是整個伺服系統(tǒng)的主要執(zhí)行元件。其工作原理是:在主電路中采用交直交變換方式將220V、50Hz的交流電通過整流器變成平滑直流,然后通過半導(dǎo)體IGBT組成的三相逆變器,將直流電變成可變電壓、可變頻率的交流電。其變頻控制方式主要有V/F控制、空間矢量控制(VC)及直接轉(zhuǎn)矩控制(DTC)方式。V/F變頻控制方式在低速時因定子電阻和逆變器死區(qū)效應(yīng)以及變頻器低壓導(dǎo)致的轉(zhuǎn)矩受定子電阻壓降影響較大等原因而使系統(tǒng)性能下降、穩(wěn)定性變差,從而只適用于轉(zhuǎn)速變化范圍小機(jī)械特性要求不高的場合??臻g矢量控制(VC)方式由于在實際應(yīng)用中轉(zhuǎn)子磁鏈難以準(zhǔn)確觀測,系統(tǒng)特性受電動機(jī)參數(shù)的影響較大導(dǎo)致實際的控制效果難以達(dá)到理想水平。而直接轉(zhuǎn)矩控制(DTC)則摒棄了矢量控制中復(fù)雜的解耦運算,直接在定子坐標(biāo)系下分析交流電動機(jī)的數(shù)學(xué)模型來控制電動機(jī)的磁鏈和轉(zhuǎn)矩,簡化了主電路、提高了系統(tǒng)的可靠性,從而適用于轉(zhuǎn)速和負(fù)載變化范圍較大的場合[4-5]。

            綜上,本伺服系統(tǒng)采用臺達(dá)VFD-V型高頻變頻器。其內(nèi)含PID反饋控制及V/F、向量控制和轉(zhuǎn)矩控制等多種控制方式(系統(tǒng)采用轉(zhuǎn)矩控制方式),并且零速轉(zhuǎn)矩可達(dá)150%以上,保證了系統(tǒng)具有良好的靜態(tài)性能。
          3系統(tǒng)軟件設(shè)計

            為方便系統(tǒng)維護(hù)與升級,系統(tǒng)軟件設(shè)計采用模塊化程序結(jié)構(gòu),主要有主程序、電機(jī)伺服中斷服務(wù)程序、測速服務(wù)子程序等組成。

            3.1主程序

            主程序在完成系統(tǒng)初始化后,進(jìn)入上位機(jī)通信查詢及顯示子程序循環(huán),等待中斷的發(fā)生,電機(jī)速度采集采用定時中斷方式來實現(xiàn)。主程序流程圖如圖3a所示。

            3.2電動機(jī)伺服中斷程序

            變頻電機(jī)伺服中斷程序由MSP430F149內(nèi)部定時器A完成中斷并且執(zhí)行,電機(jī)控制中斷程序流程圖如圖3b所示。

            圖3程序流程圖

            圖3程序流程圖

            3.3數(shù)字PID調(diào)節(jié)器設(shè)計

            在數(shù)字PID調(diào)節(jié)控制系統(tǒng)中,加入積分校正后,系統(tǒng)會產(chǎn)生過大超調(diào),這是伺服系統(tǒng)所不允許的[6-7]。為減少超調(diào)對控制系統(tǒng)動態(tài)性能的影響,需要在電機(jī)伺服過程中的啟動、停車或大幅度偏離給定時采用積分分離PID控制算法,只加比例、微分運算取消積分校正。而當(dāng)被控制量接近給定值時,才使用積分校正以消除靜態(tài)誤差。為減少超調(diào)量,提高系統(tǒng)的穩(wěn)態(tài)控制精度,使系統(tǒng)擁有較高的控制品質(zhì)本伺服系統(tǒng)引進(jìn)積分分離PID控制算法。具體算法實現(xiàn)如下:

            (1)根據(jù)實際情況,設(shè)定閥值ε》0。

            (2)當(dāng)基于MSP430F149的變頻伺服系統(tǒng)的設(shè)計時,采PD控制,避免

          pid控制相關(guān)文章:pid控制原理


          伺服電機(jī)相關(guān)文章:伺服電機(jī)工作原理


          pid控制器相關(guān)文章:pid控制器原理


          矢量控制相關(guān)文章:矢量控制原理
          三相異步電動機(jī)相關(guān)文章:三相異步電動機(jī)原理

          上一頁 1 2 下一頁

          關(guān)鍵詞: MSP430F149 變頻伺服

          評論


          相關(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); })();