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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于MSP430的變頻伺服系統(tǒng)設(shè)計

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

          作者: 時間:2014-12-23 來源:網(wǎng)絡(luò) 收藏

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

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

            1變頻伺服系統(tǒng)的功能

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

            1)精確的伺服控制功能

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

            2)通信功能

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

            3)反饋量精確采集功能

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

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

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

            

           

            圖1系統(tǒng)框圖

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

            2.1單片機單元

            MSP430F149是變頻交流伺服系統(tǒng)的核心控制器,完成系統(tǒng)控制信號與測量信號的傳遞及復(fù)雜的控制決策,協(xié)調(diào)各模塊進行工作,操作控制指令的接收與識別。此單片機是一種超低功耗微控器,采用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ù)進行實時采集和傳輸。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則滿足了控制器與上位機及變頻器的實時通信需要。

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

            伺服系統(tǒng)的精度控制主要取決于電機轉(zhuǎn)速信號的測量精度,本系統(tǒng)采用增量式光電編碼器作為電機轉(zhuǎn)速為檢測元件。比較常見的電編碼器測速方法有M法、T法和M/T法。M法是在規(guī)定時間間隔內(nèi),測量光電編碼器輸出的脈沖數(shù)量來獲得被測電機轉(zhuǎn)速的速度值,適合高速測量場合。T法測量是測量相鄰兩個脈沖間隔時間來確定被測電機的轉(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隨電機轉(zhuǎn)速不同而變化,而且檢測時間Tg也在變化,它始終等于光電編碼器M1個脈沖周期之和(測速原理如圖2所示)。Tg的大小由高頻時鐘脈沖M2計取,則電機速度計可由以下公式確定[3]。

            

           

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

            

           

            圖2變M/T法測速原理

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

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

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


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


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


          脈沖點火器相關(guān)文章:脈沖點火器原理

          上一頁 1 2 下一頁

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

          評論


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