王 偉,馬瑞卿,張慶超,張 震
(西北工業(yè)大學 自動化學院,陜西 西安 710129)
無刷直流電機(BLDCM)利用電子換相代替機械換相,既有直流電動機的調(diào)速性能,又有交流電機結(jié)構(gòu)簡單、運行可靠、維護方便等優(yōu)點,而且體積小、重量輕、效率高[1-2]。因此其在國民經(jīng)濟各個領域的應用日益普及,特別是在高性能交流伺服驅(qū)動領域具有廣闊的應用前景[3]。適于實時控制系統(tǒng)的工業(yè)單片機和高速數(shù)字信號處理器(DSP)的出現(xiàn)使得全數(shù)字伺服控制技術不但可以簡化系統(tǒng)結(jié)構(gòu),提高系統(tǒng)性能,還可為進一步采用神經(jīng)網(wǎng)絡等智能控制策略及高速網(wǎng)絡通訊接口,實現(xiàn)開放式運動控制打下基礎[4-5]。隨著監(jiān)控計算機被大量應用到工業(yè)現(xiàn)場,RS-485串行通信方式以其結(jié)構(gòu)簡單、傳輸距離遠、抗干擾能力強、支持多主機通信、對系統(tǒng)硬件要求低等諸多優(yōu)點,已成為廣泛應用于下位控制器與上位監(jiān)控計算機間的通訊方式[6]。
本文以無刷直流電動機伺服系統(tǒng)為對象,設計了一套基于DSP和CPLD的全數(shù)字、高精度控制器及其配套的上位機軟件,控制器與上位機軟件之間通過RS-485方式通信。被控對象按照上位機給定位置作動,具有良好伺服性,同時系統(tǒng)運行參數(shù)可上報上位機,以便實時監(jiān)控和分析。
上位機(PC機)軟件采用LabVIEW編寫,其通信接口采用USB2.0接口,下位機(控制器)通信接口采用RS-485總線接口,兩者之間通過USB/RS-485轉(zhuǎn)換器進行電平轉(zhuǎn)換。RS-485數(shù)據(jù)信號采用差分傳輸方式,也稱平衡傳輸,傳輸介質(zhì)為一對雙絞線。
串口通信數(shù)據(jù)內(nèi)容以字符串格式進行傳輸,為保證數(shù)據(jù)傳輸?shù)恼_性,一幀數(shù)據(jù)由幀頭、幀內(nèi)容、幀校驗、幀尾組成。幀頭、幀尾是一幀數(shù)據(jù)開始和結(jié)束的標識,在自然狀態(tài)下EB和90、55和AA連續(xù)出現(xiàn)的概率幾乎為0,故一般采用EB90或55AA作為幀頭或幀尾;幀校驗是指對傳輸數(shù)據(jù)按規(guī)定算法在上下位機各進行一次校驗運算,若兩者運算結(jié)果一致即可保證數(shù)據(jù)傳輸正確;幀內(nèi)容代表被傳輸信號的值,通信協(xié)議需對實際信號的分辨率進行定義,如不能滿足分辨率要求時需擴展該信號所占字長,在上下位機接收到幀內(nèi)容后,可能還需根據(jù)實際信號對幀內(nèi)容所代表的數(shù)值進行適當縮放。
2.1.1 系統(tǒng)供電設計
控制器的輸入電源電壓是270 V,需要通過DC/DC變換器將其變換為28 V電源后再變換產(chǎn)生±15 V、5 V、15 V等控制電。其中,±15 V用于給運算放大器、電壓/電流傳感器等供電,15 V用于給電機的霍爾位置傳感器及驅(qū)動電路等供電;對于主控芯片所需的3.3 V、1.9 V可通過5 V變換得到,同時還設計了DSP要求的先上1.9 V再上3.3 V的上電順序電路。
2.1.2 數(shù)字信號處理電路
數(shù)字信號處理電路由DSP和CPLD組成。DSP選用TI公司的浮點型數(shù)字信號處理器TMS320F28335,該器件精度高、成本低、功耗小、外設集成度高、數(shù)據(jù)以及程序存儲量大、A/D轉(zhuǎn)換更精確快速、處理速度快。用于實現(xiàn)閉環(huán)控制算法,發(fā)揮了DSP計算能力強的優(yōu)點。CPLD采用MAX II系列新一代CPLD芯片EPM1270,該芯片集成度高、功耗小、成本低、可以同時處理多路邏輯綜合和時序組合、采用硬件描述語言VHDL實現(xiàn)靈活設計、可靠性高。CPLD用于采集ADC輸出的各參量的數(shù)據(jù),通過數(shù)據(jù)、地址總線、內(nèi)部寄存器與DSP實現(xiàn)高速數(shù)據(jù)傳輸,減輕DSP中斷開銷。
BLDCM功率驅(qū)動電路是工作在兩相導通120?三相六狀態(tài)模式的橋式逆變器,拓撲結(jié)構(gòu)如圖1所示。T1-T6為構(gòu)成三相全橋逆變器的6個功率管,用于實現(xiàn)無刷直流電機的換相控制,每個橋臂控制一相繞組。D1-D6為功率管的續(xù)流二極管,用于給繞組續(xù)流提供續(xù)流回路。T7是剎車開關管,R是剎車電阻、D7是剎車續(xù)流二極管,當母線電壓升高時,開關管T7導通,多余能量經(jīng)R釋放,母線電壓降低。為避免充電電流過大,上電時電流先經(jīng)過R1給電容充電,電容充電后讓T8導通從而旁路R1,減小回路壓降。為減少系統(tǒng)的體積,增強系統(tǒng)的可靠性,方案擬采用智能功率模塊IPM作為BLDCM的驅(qū)動電路,型號為PM150RL1A060。IPM兼有GTR高電流、低飽和電壓和高耐壓的優(yōu)點,以及MOSFET(場效應晶體管)高輸入阻抗、高開關頻率和低驅(qū)動功率的優(yōu)點,且內(nèi)部集成了邏輯、控制、檢測和保護電路等功能。
圖1 功率電路拓撲結(jié)構(gòu)圖Fig.1 The power circuit topology
保護電路主要包括母線過、欠壓保護、過流保護、過溫保護、霍爾信號紊亂保護。當母線電壓超過壓保護閾值時,過壓信號變?yōu)橛行?,剎車功率管開通,泄放多余能量,降低母線電壓,過壓信號無效時,剎車功率管關斷,不影響母線電壓;當母線電壓低于欠壓保護閾值時,欠壓信號變?yōu)橛行?,系統(tǒng)停機保護;對母線電流和電機三相電流進行監(jiān)控,當母線電流和任一相電流幅值超過保護閾值時,進行過流保護,系統(tǒng)停機;監(jiān)測控制器和電機溫度,當溫度超過溫度保護閾值時停機保護時監(jiān)控電機的三路霍爾位置信號,當霍爾信號出現(xiàn)“全0”或“全1”故障時,實施停機保護。故障發(fā)生后系統(tǒng)及時保護并設置故障信號指示燈報警。
通訊用收發(fā)器選擇MAXIUM公司的RS-485通信低功耗收發(fā)器MAX483模塊。該芯片的電磁輻射EMI極低,減小了因電纜不良匹配所造成的反射,在高達250kbps的數(shù)據(jù)速率下可進行無差錯數(shù)據(jù)傳輸。DSP與MAX483的接口采用串行通信接口SCI,其外部引腳有三個,發(fā)送引腳SCITXD、接收引腳SCIRXD、控制端GPIO口,分別對應RS-485收發(fā)器的發(fā)送輸入端DI、接收輸出端RO和發(fā)送使能端DE。SCI的接收和發(fā)送均為雙緩沖,且有獨立的使能中斷位,數(shù)據(jù)的發(fā)送和接收過程通過中斷方式或查詢方式實現(xiàn)。
3.1.1 DSP程序設計
DSP控制程序采用C語言編寫,開發(fā)環(huán)境采用TI公司DSP系列芯片專用集成開發(fā)環(huán)境CCS3.3。DSP控制程序由主程序及中斷服務子程序組成,中斷程序包括主中斷程序和串口中斷程序。主程序執(zhí)行DSP初始化程序和系統(tǒng)自檢,并等待接收上位機的給定指令。主中斷程序主要用于完成雙閉環(huán)控制算法,速度環(huán)采用PI算法、電流環(huán)采用P算法。串口中斷程序的主要作用是接收上位機的給定指令,下位機控制電機按照給定指令作動并向上位機以5ms的定時反饋系統(tǒng)運行參數(shù)。
圖2 接收和發(fā)送一幀數(shù)據(jù)流程圖Fig.2 Flow diagram of receiving and sending a frame
下位機串口通信由主控芯片TMS320F28335的SCI模塊實現(xiàn),該模塊具有以下特點:1~8位數(shù)據(jù)全雙工方式;偶數(shù)、奇數(shù)或無奇偶校驗選擇;一或兩個停止位;16字深先進先出FIFO (First-In-First-Out) 發(fā)送數(shù)據(jù)緩沖器和接收數(shù)據(jù)緩沖器;獨立的發(fā)送和接收中斷。圖2所示為接收和發(fā)送一幀數(shù)據(jù)的流程圖。判斷數(shù)據(jù)接收程序數(shù)據(jù)幀錯誤須符合以下原則:數(shù)據(jù)幀格式不正確;有一個字節(jié)奇偶校驗錯誤;數(shù)據(jù)幀校驗碼不正確。
3.1.2 CPLD程序設計
CPLD的開發(fā)設計采用硬件描述語言VHDL,開發(fā)環(huán)境采用Altera公司的Quartus II 9.2。CPLD將PWM信號、電機霍爾位置傳感器信號、正/反轉(zhuǎn)信號、故障狀態(tài)信號通過組合邏輯產(chǎn)生驅(qū)動逆變功率管開通關斷的6路斬波換相信號;通過I/O讀取保護電路輸出,進行故障保護,故障保護信號都經(jīng)過延時、濾波,濾除高頻毛刺干擾,確保識別真實的故障保護信號,消除誤動作;CPLD與DSP之間設計并行通信接口,CPLD通過地址線和數(shù)據(jù)線作為DSP的外設被訪問,用以快速提取讀入CPLD的位移、電流等反饋信號數(shù)據(jù)。
上位機軟件在 LabVIEW (Laboratory Virtual instrument Engineering Workbench)2010開發(fā)環(huán)境進行設計,LabVIEW是一種圖形化的編程語言,它集成了滿足GPIB、VXI、RS-232和RS-485協(xié)議的硬件及數(shù)據(jù)采集卡通訊的全部功能,被視為一個標準的數(shù)據(jù)采集和儀器控制軟件。
3.2.1 串口配置程序
利用LabVIEW自帶的VISA函數(shù)模塊,實現(xiàn)串口通訊硬件接口與軟件的連接,這就要求VISA的配置必須與下位機SCI的配置完全一致,主要包括串口選擇、數(shù)據(jù)長度、奇偶檢驗選擇、停止位長度、波特率等。
3.2.2 數(shù)據(jù)打包和發(fā)送程序
數(shù)據(jù)發(fā)送程序比較簡單,只需采用VISA寫函數(shù)輸入要發(fā)送的ASCII字符串即可。因此,對于給定指令為位移等數(shù)字量時需要對其按照通信協(xié)議進行數(shù)據(jù)打包轉(zhuǎn)換為字符串數(shù)據(jù)包。
圖3 給定位移數(shù)據(jù)打包程序Fig.3 Data package program of given displacement
如圖3所示的是按照通信協(xié)議對給定位移數(shù)據(jù)打包程序,對給定位移處理為字符串后增加幀頭、幀尾、檢驗和后形成一個字符串數(shù)據(jù)幀。
3.2.3 數(shù)據(jù)接收和解包程序
上位機通過VISA讀函數(shù)接收反饋數(shù)據(jù)。為獲得傳輸信號的值,需對接收的字符串數(shù)據(jù)幀進行解包,如圖4所示的反饋數(shù)據(jù)的解包程序。
圖4 反饋數(shù)據(jù)解包程序Fig.4 Feedback data deconstructed program
由圖可知,只有接收的數(shù)據(jù)幀的數(shù)據(jù)長度、幀頭、幀尾、檢驗和與協(xié)議中定義的完全相同時才表示正確接收到一幀數(shù)據(jù),再對該幀數(shù)據(jù)按照協(xié)議依次解碼為位移、電流、故障信號等內(nèi)容從而實時顯示和監(jiān)控系統(tǒng)運行參數(shù)。
3.2.4 數(shù)據(jù)存儲和制表程序
為方便分析和查看測試數(shù)據(jù),上位機具有存儲實驗數(shù)據(jù)并將其制成XLS文件的功能。本軟件選擇了高速數(shù)據(jù)流文件TDMS來存儲數(shù)據(jù),其讀寫文件速度快、接口屬性定義簡單,只需要對數(shù)據(jù)名稱、存儲路徑等屬性進行設置。
數(shù)據(jù)制表功能即將本測試周期的給定指令和反饋數(shù)據(jù)保存至Excel文件,并將其置于指定存儲路徑下,制表結(jié)束后有指示燈提示制表完成,可將TDMS文件中存儲的數(shù)據(jù)按照編輯好的Excel模板依次放置以形成實驗報表。
打開上位機軟件,輸入正確的用戶名和密碼后使能軟件,選擇串口和數(shù)據(jù)存儲路徑后,按下“系統(tǒng)自檢”按鈕,對系統(tǒng)進行自檢測。設置并確定給定階梯波位移指令后按下“電機調(diào)零”和“設定初始位置”按鈕,以校正電機初始位置。按下“發(fā)送給定位移”按鈕并開始伺服系統(tǒng)實驗。上位機通過串口將給定位移及其對應時刻的指令打包后發(fā)送至下位機,下位機通過閉環(huán)控制程序控制電機作動到給定位移處,在作動過程中一旦控制系統(tǒng)發(fā)生故障,控制電路進行硬件保護,并將故障信號反饋至上位機報警并調(diào)用報警聲音,從而達到實時監(jiān)控系統(tǒng)的目的。
下位機控制器將采集到的位移、母線電流和三相電流、母線電壓等運行參數(shù)反饋至上位機實現(xiàn)監(jiān)控、分析伺服性能和其他運行性能。圖5所示的是上位機反饋參數(shù)顯示界面,圖中較平滑的曲線為給定位移指令曲線,另一條為BLDCM的實際位移曲線,圖6所示的是控制系統(tǒng)運行后示波器觀測所得的部分位移曲線。
圖6 觀測的部分位移曲線Fig.6 Part of displacement curve
經(jīng)實驗驗證,電機的實際作動位置按照上位機的給定位移變化,系統(tǒng)實現(xiàn)了對上位機給定指令良好的跟隨性;同時,電機在作動過程中位移具有較小的超調(diào)量,如圖7所示的是電機的正向作動和反向作動的位移曲線,這是由于控制器進行了較好的PID參數(shù)整定并嚴格的進行了電流限幅保證了電機的平滑作動。
實驗結(jié)束后將實驗數(shù)據(jù)進行制表并形成的測試報告,如圖8所示。由結(jié)果可以看出該方法可準確的對電機作動位置進行遠程控制,并可對電機溫度、實際位移等系統(tǒng)參數(shù)進行了采集和顯示,同時對系統(tǒng)實時監(jiān)控,一旦發(fā)生故障及時保護并報警,保證系統(tǒng)安全可靠的運行。
圖7 電機正向作動和反向作動位移曲線Fig.7 Displacement curve of forward and reverse actuation
圖8 數(shù)據(jù)制表后形成的報告Fig.8 Report after data tabulate
文中設計和實現(xiàn)了一套BLDCM全數(shù)字伺服控制器及其上位機控制軟件,并采用RS-485串口通信方式實現(xiàn)了總線控制與監(jiān)控。系統(tǒng)的響應速度快、控制精度高、保護功能全,伺服性能好,并具有較好的實時可監(jiān)控性。系統(tǒng)已成功運用于某型電力作動系統(tǒng)中,經(jīng)實驗驗證可以穩(wěn)定、可靠的運行,應用效果良好。
[1]湯蘊璮,史乃.電機學[M].2版.北京:機械工業(yè)出版社,2005:344-353.
[2]李鐘明,劉衛(wèi)國.稀土永磁電機[M].北京:國防工業(yè)出版社,1999:40-48.
[3]李凡.基于FPGA的全數(shù)字無刷直流電機控制系統(tǒng)研究[D].重慶:重慶大學,2010.
[4]郭鵬.基于DSP的全數(shù)字無刷直流電機控制器的設計與研究[D].西安:西北工業(yè)大學,2004.
[5]張東亮,常宏敏,田新誠,等.無刷直流伺服電機的DSP全數(shù)字控制系統(tǒng)研究[J].山東大學學報:工學版,2002,32(5):485-489.ZHANG Dong-liang,CHANG Hong-min,TIAN Xin-cheng,et al.Research on vrushless DC motor digital control system based on DSP[D].Journal of Shandong University:Engineering and Technology Edition,2002,32(10):485-489.
[6]朱耀春,白焰.RS485總線通信雙機監(jiān)控程序的設計及應用[J].工業(yè)控制計算機,2006,19(8):14-16.ZHU Yao-chun,BAI Yan.Design and Application of RS485 bus communication and monitor program between machines[J].The Industrial Control Computer,2006,19(8):14-1.