李彩菊(中國船舶重工集團(tuán)公司第七一〇研究所,湖北宜昌 443003)
?
基于MSP430單片機(jī)的伺服電機(jī)控制系統(tǒng)的研究
李彩菊
(中國船舶重工集團(tuán)公司第七一〇研究所,湖北宜昌443003)
摘要:介紹了一種基于MSP430單片機(jī)控制交流伺服電機(jī)的方案設(shè)計(jì)。該設(shè)計(jì)以MSP430單片機(jī)作為核心控制器,包括硬件設(shè)計(jì)和軟件設(shè)計(jì),能夠?qū)崿F(xiàn)對交流伺服電機(jī)轉(zhuǎn)速的平穩(wěn)控制。該設(shè)計(jì)在深度模擬系統(tǒng)中取得了成功應(yīng)用,通過電機(jī)轉(zhuǎn)動(dòng)帶動(dòng)加壓機(jī)構(gòu)可在高壓釜內(nèi)模擬限定值內(nèi)的任意深度環(huán)境。
關(guān)鍵詞:MSP430單片機(jī);交流伺服電機(jī);轉(zhuǎn)速控制;深度模擬系統(tǒng)
交流伺服電機(jī)具有體積小、重量輕、精度高、大轉(zhuǎn)矩輸出、較強(qiáng)的過載能力[1]和良好的控制性等優(yōu)點(diǎn),已被廣泛應(yīng)用于自動(dòng)控制系統(tǒng)和自動(dòng)檢測系統(tǒng)中[2]。交流伺服電機(jī)的作用是把控制電壓轉(zhuǎn)變?yōu)殡妱?dòng)機(jī)軸上的角速度或角位移輸出,因此可采用單片機(jī)及其配套外圍模塊實(shí)現(xiàn)對伺服電機(jī)的模擬量控制。
本設(shè)計(jì)采用美國德克薩斯儀器公司的超低功耗16位單片機(jī)MSP430F1611作為控制核心,利用其豐富的片內(nèi)資源,實(shí)現(xiàn)了對交流伺服電機(jī)轉(zhuǎn)速的平穩(wěn)控制及人性化設(shè)計(jì),且成本較低。將該設(shè)計(jì)應(yīng)用于深度模擬系統(tǒng)中,通過單片機(jī)控制伺服電機(jī)驅(qū)動(dòng)器,電機(jī)帶動(dòng)加壓機(jī)構(gòu),實(shí)現(xiàn)了在高壓釜內(nèi)模擬限定值內(nèi)的任意深度環(huán)境。將被試品安裝于盛滿水的密閉高壓釜內(nèi),通過上位機(jī)發(fā)送加壓指令,單片機(jī)控制伺服電機(jī)驅(qū)動(dòng)器,使高壓釜內(nèi)達(dá)到設(shè)定壓力,這樣即將被試品周圍模擬成了一定深度(壓力)的水壓環(huán)境。
設(shè)計(jì)選用松下A5系列高慣量、小容量三相交流伺服電機(jī),及配套速度控制驅(qū)動(dòng)器,所選旋轉(zhuǎn)式編碼器為20位增量式編碼器,通過單片機(jī)控制器輸出模擬電壓控制驅(qū)動(dòng)器實(shí)現(xiàn)對伺服電機(jī)轉(zhuǎn)速的控制。
上位機(jī)用于給單片機(jī)發(fā)送控制指令并實(shí)時(shí)顯示單片機(jī)反饋信息。在深度模擬系統(tǒng)中,上位機(jī)給單片機(jī)發(fā)送加壓、泄壓、停止及參數(shù)設(shè)置等一系列控制指令,并實(shí)時(shí)顯示高壓釜內(nèi)壓力值。單片機(jī)控制器接收上位機(jī)控制指令和操作面板活塞復(fù)位指令,進(jìn)行分析結(jié)算,輸出模擬電壓值;伺服電機(jī)驅(qū)動(dòng)器根據(jù)電壓信號控制伺服電機(jī)運(yùn)轉(zhuǎn);驅(qū)動(dòng)器接收編碼器產(chǎn)生的反饋信號,根據(jù)反饋值與目標(biāo)值比較結(jié)果,調(diào)整電機(jī)轉(zhuǎn)動(dòng)的角速度,從而實(shí)現(xiàn)對交流伺服電機(jī)的閉環(huán)控制。操作面板的作用是對整個(gè)系統(tǒng)進(jìn)行電源控制,并控制電機(jī)使能、活塞復(fù)位和清除報(bào)警。保證系統(tǒng)能在緊急情況下迅速制動(dòng),確保了使用安全。交流伺服電機(jī)控制系統(tǒng)組成框圖如圖1所示。
圖1 控制系統(tǒng)組成框圖
圖1中,加入虛線框內(nèi)的加壓機(jī)構(gòu)、高壓釜和壓力傳感器即構(gòu)成深度模擬系統(tǒng)。壓力傳感器監(jiān)測壓力釜內(nèi)的壓力,MSP430單片機(jī)控制器定時(shí)讀取壓力傳感器,通過PID算法解算,輸出模擬電壓值,繼續(xù)控制伺服電機(jī)驅(qū)動(dòng)器,通過電機(jī)轉(zhuǎn)動(dòng)帶動(dòng)加壓機(jī)構(gòu)使高壓釜內(nèi)壓力變化;并將高壓釜內(nèi)的壓力轉(zhuǎn)換為深度實(shí)時(shí)傳送給上位機(jī)顯示;如此循環(huán)反饋,直到壓力釜內(nèi)的壓力達(dá)到上位機(jī)設(shè)定值,則完成加壓過程。加壓的時(shí)間可通過調(diào)節(jié)伺服電機(jī)驅(qū)動(dòng)器參數(shù)完成。泄壓過程與加壓過程類似,通過控制電機(jī)正反轉(zhuǎn)完成,從而實(shí)現(xiàn)了在高壓釜內(nèi)模擬限定值內(nèi)的任意深度環(huán)境。
2.1單片機(jī)控制器的硬件設(shè)計(jì)
單片機(jī)控制器是基于單片機(jī)MSP430F1611而設(shè)計(jì)的,是本系統(tǒng)的核心部分,其主要功能是:接收上位機(jī)發(fā)送的控制指令和操作面板指令,解析指令,對伺服電機(jī)的轉(zhuǎn)速進(jìn)行控制。在深度模擬系統(tǒng)中,單片機(jī)控制器的主要功能有三:一是與上位機(jī)進(jìn)行RS232串口通信,接收指令并反饋當(dāng)前壓力釜內(nèi)的壓力值;二是與壓力傳感器進(jìn)行RS485串口通信,讀取壓力傳感器壓力值;三是通過PID算法,計(jì)算控制電壓,并控制DA芯片將單片機(jī)計(jì)算的模擬電壓轉(zhuǎn)換為電機(jī)驅(qū)動(dòng)器所需模擬電壓。所用單片機(jī)功能有串口通信、定時(shí)中斷、輸入/輸出等。單片機(jī)控制器電路如圖2所示。
圖2 單片機(jī)控制器電路
本設(shè)計(jì)所選單片機(jī)MSP430F1611具有兩個(gè)串口通信模塊USART0和USART1,該模塊既可以作為UART使用,提供異步通信功能,也可以作為SPI使用,提供同步通信功能。在深度模擬系統(tǒng)中,單片機(jī)控制器利用兩個(gè)串口通信模塊的異步通信功能,一個(gè)通過芯片MAX3232與上位機(jī)進(jìn)行RS232串口通信;另一個(gè)通過芯片MAX3078與壓力傳感器進(jìn)行RS485串口通信,讀取壓力傳感器壓力值。操作面板復(fù)位指令為+24 V電平,通過電平轉(zhuǎn)換芯片TLP521轉(zhuǎn)換成單片機(jī)所需的+3.3 V電平,該電平轉(zhuǎn)換芯片TLP521為東芝光隔芯片,不僅可以進(jìn)行電平轉(zhuǎn)換,還對輸入、輸出信號具有隔離作用。
單片機(jī)MSP430F1611具有12位DA轉(zhuǎn)換模塊DAC12,為提高轉(zhuǎn)換精度,本設(shè)計(jì)選擇專用DA轉(zhuǎn)換芯片MAX5442,該芯片具有16位轉(zhuǎn)換精度,且轉(zhuǎn)換速度較快[3]。單片機(jī)通過I/O引腳P2.7、P3.1 和P3.3進(jìn)行控制,既可以通過配置串口通信模塊USART0進(jìn)行SPI同步通信,也可以通過模擬I/O的方式進(jìn)行控制。在深度模擬系統(tǒng)中,因兩個(gè)串口通信模塊都已經(jīng)被利用,因此采用模擬I/O的方式對芯片MAX5442進(jìn)行控制。單片機(jī)I/O口輸出0~3.3 V數(shù)字電壓信號,通過DA轉(zhuǎn)換電路和低通濾波器輸出-5 V~+5 V模擬電壓信號,提供給電機(jī)驅(qū)動(dòng)器。DA控制電路如圖3所示。
圖3 DA控制電路
圖3中,網(wǎng)絡(luò)標(biāo)號DACS、SPIUCLK0和SPISI?MO0為單片機(jī)提供的控制信號,VREF為2.5 V參考電壓。單片機(jī)I/O口輸出數(shù)字電壓經(jīng)DA芯片MAX5442,再經(jīng)運(yùn)算放大芯片輸出-2.5 V~+2.5 V模擬電壓信號,最后經(jīng)過增益為2的低通濾波器則可輸出-5 V~+5 V模擬電壓信號。
2.2伺服電機(jī)驅(qū)動(dòng)器接口設(shè)計(jì)
伺服電機(jī)驅(qū)動(dòng)器的接口設(shè)計(jì)主要包括連接器XA、XB、X6和X4的連接。其中XA為主電源和控制電源輸入接口;XB為電機(jī)接口,為電機(jī)輸出三相電源;X6為編碼器接口;X4為信號接口,其接線原理圖如圖4所示。
圖4 電機(jī)驅(qū)動(dòng)器X4連接器接線原理圖
圖4中,網(wǎng)絡(luò)標(biāo)號CTRLSignal為單片機(jī)控制器輸出的電機(jī)速度控制信號;VSignal為電機(jī)驅(qū)動(dòng)器反饋的速度信號,單片機(jī)控制器接收并采集,作為備用;On_Off_State為行程開關(guān)狀態(tài)信號,電路設(shè)計(jì)的該初始狀態(tài)為低電平,接電機(jī)驅(qū)動(dòng)器反向驅(qū)動(dòng)禁止輸入端CWL,電機(jī)驅(qū)動(dòng)器正向驅(qū)動(dòng)禁止輸入端CCWL也接低電平,則電機(jī)可正向轉(zhuǎn)動(dòng)也可以反向轉(zhuǎn)動(dòng)。在深度模擬系統(tǒng)中,電機(jī)反向轉(zhuǎn)動(dòng)帶動(dòng)加壓機(jī)構(gòu)減壓,如果碰到行程開關(guān),則行程開關(guān)狀態(tài)信號On_Off_State變?yōu)楦唠娖?,電機(jī)立刻停止反向轉(zhuǎn)動(dòng)。當(dāng)電機(jī)驅(qū)動(dòng)器報(bào)警時(shí),信號ALARM會(huì)傳到操作面板通過紅色指示燈形象顯示,同時(shí)傳給單片機(jī)控制器,單片機(jī)控制器反饋給上位機(jī),清除報(bào)警后,按操作面板的報(bào)警清除按鈕,電機(jī)驅(qū)動(dòng)器會(huì)停止報(bào)警。
伺服電機(jī)驅(qū)動(dòng)器有一系列的參數(shù),通過對這些參數(shù)的設(shè)置和調(diào)整,用戶可以改變伺服系統(tǒng)的功能和特性。為了確保系統(tǒng)按照既定的方式運(yùn)行,需要先對電機(jī)驅(qū)動(dòng)器恢復(fù)出廠設(shè)置,然后對其相關(guān)參數(shù)進(jìn)行設(shè)置。
2.3操作面板設(shè)計(jì)
操作面板的作用是保證系統(tǒng)能在緊急情況下迅速制動(dòng),確保使用安全,并對系統(tǒng)的運(yùn)行狀態(tài)進(jìn)行簡單指示。在深度模擬系統(tǒng)中,操作面板設(shè)計(jì)有電源控制、電機(jī)使能、活塞復(fù)位和清除報(bào)警按鈕,還有24 V電源和電機(jī)報(bào)警指示燈。其中,電源控制和電機(jī)使能為帶燈并具有自鎖功能的按鈕,活塞復(fù)位和報(bào)警清除為不帶燈并沒有自鎖功能的按鈕。在每次使用深度模擬系統(tǒng)前,需先進(jìn)行活塞復(fù)位,保證系統(tǒng)回到初始狀態(tài)。操作面板布局圖如圖5所示。
圖5 操作面板布局圖
系統(tǒng)軟件設(shè)計(jì)主要為單片機(jī)控制軟件設(shè)計(jì)。單片機(jī)控制軟件主要完成串口通信、定時(shí)、FLASH讀寫及PID算法等功能。
當(dāng)今控制理論和技術(shù)高速發(fā)展的時(shí)代,PID控制算法因結(jié)構(gòu)簡單、控制參數(shù)容易整定、魯棒性強(qiáng)及容易實(shí)現(xiàn)等優(yōu)點(diǎn),工業(yè)生產(chǎn)中95%以上的控制回路都采用PID控制算法。本系統(tǒng)采用改進(jìn)的PID算法,當(dāng)誤差大時(shí),加大誤差控制作用的權(quán)重,以快速消除誤差,提高系統(tǒng)響應(yīng)速度;當(dāng)誤差小時(shí),減小誤差控制作用的權(quán)重,以避免超調(diào),能使系統(tǒng)盡快進(jìn)入穩(wěn)定狀態(tài)[4]。
在深度模擬系統(tǒng)中,單片機(jī)控制軟件設(shè)計(jì)定時(shí)周期50 ms,每個(gè)定時(shí)周期接收上位機(jī)指令和操作面板指令,上位機(jī)指令包括參數(shù)設(shè)置、參數(shù)讀取、自動(dòng)加壓和壓力瀉零;操作面板指令為活塞復(fù)位;每個(gè)定時(shí)周期單片機(jī)控制軟件向上位機(jī)發(fā)送壓力釜內(nèi)的壓力。系統(tǒng)主要工作流程圖如圖6所示。
圖6中,主要列出了自動(dòng)加壓、壓力瀉零和活塞復(fù)位工作流程圖,為保證系統(tǒng)安全,每次自動(dòng)加壓前必須讀取壓力傳感器,若過壓則不執(zhí)行加壓指令;每次自動(dòng)加壓后也必須讀取壓力傳感器,若達(dá)到門限則停止加壓;單片機(jī)控制軟件接收到電機(jī)報(bào)警后立刻停止加壓。
圖6 系統(tǒng)主要工作流程圖
通過現(xiàn)場試驗(yàn)調(diào)試,基于MSP430單片機(jī)控制的伺服電機(jī)控制系統(tǒng)運(yùn)行良好,整個(gè)系統(tǒng)非常簡潔、模塊化設(shè)計(jì)易于調(diào)試、擴(kuò)展應(yīng)用性強(qiáng)而且低成本?;谠撛O(shè)計(jì)的深度模擬系統(tǒng),經(jīng)調(diào)試能正常穩(wěn)定地工作,且性能良好。后續(xù)可考慮將該系統(tǒng)應(yīng)用于其他工業(yè)設(shè)計(jì)中。
參考文獻(xiàn):
[1]黃燦燦.基于PLC的脈沖磁體繞線機(jī)伺服電機(jī)控制系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].武漢:華中科技大學(xué),2011.
[2]李紅偉,胡濤,徐熙平,等.基于單片機(jī)的伺服電機(jī)控制系統(tǒng)的研究[J].長春理工大學(xué)學(xué)報(bào):自然科學(xué)版,2012,35(1):116.
[3]胥開芳,蔡志濤.基于MSP430的智能測量表設(shè)計(jì)[J].機(jī)電工程技術(shù),2014(6):86-89.
[4]趙磊,王哈力,何緒鋒,等.基于單片機(jī)交流伺服電機(jī)轉(zhuǎn)速控制系統(tǒng)研究[J].現(xiàn)代電子技術(shù),2009(16):197.
(編輯:向飛)
Research on Servo-Motor Control System Based on SCM of MSP430
LI Cai-ju
(710 R&D Institute,CSIC,Yichang443003,China)
Abstract:The paper provides a scheme to control AC servo-motor based on single-chip Microcomputer of MSP430,which is the core controller of the system. The system design includes the hardware design and software design,which can realize the smooth control of the AC servo-motor speed. The scheme was used successfully in the depth simulation system. Motor rotation driving adding pressure equipment,can simulate any depth environment in the high pressure kettle.
Key words:SCM of MSP430;AC servo-motor;speed control;depth simulation system
作者簡介:李彩菊,女,1984年生,湖北長陽人,碩士,工程師。研究領(lǐng)域:信息與控制、信號處理。
收稿日期:2015-05-13
DOI:10. 3969 / j. issn. 1009-9492. 2015. 11. 021
中圖分類號:TP368.1
文獻(xiàn)標(biāo)識(shí)碼:A
文章編號:1009-9492 ( 2015 ) 11-0077-04