楊建華+袁彪+胡曉嬌+馮蕾
摘要:針對目前教學儀器昂貴,實驗儀器設備緊張的情況,本文設計并制作了基于LabVIEW的半實物虛擬仿真實驗平臺。硬件系統(tǒng)以MSP430單片機為主控單元,設計了無刷直流電機信號采集模塊、輸出驅(qū)動模塊和溫度監(jiān)測模塊。軟件系統(tǒng)包含MSP430單片機測控程序和基于LabVIEW的虛擬儀器應用程序。系統(tǒng)能夠完成無刷直流電機相關的測試、測量和控制。實驗結(jié)果表明:系統(tǒng)工作穩(wěn)定,誤差在設計允許范圍內(nèi)。
關鍵詞:IabVIEW虛擬儀器:MSP430單片機:無刷直流電機
DOI: 10.3969/j.issn.1005-5517.2017.9.009
引言
傳統(tǒng)儀器主要由信號采集與控制模塊、分析與處理模塊以及測量結(jié)果的表達與輸出模塊這三大功能模塊組成。傳統(tǒng)儀器的這些功能都是以硬件(或固化的軟件)形式存在的。而虛擬儀器則是將這些功能移植到計算機上完成。運用計算機,使用數(shù)據(jù)采集卡,利用軟件在計算機中生成儀器面板,并利用軟件進行信號的分析與處理。相對于傳統(tǒng)儀器,虛擬儀器具有性能高、擴展性強、開發(fā)時間短、集成功能優(yōu)秀等特點。
隨著經(jīng)濟持續(xù)快速發(fā)展,各個高校對實驗室的要求也不斷提高,然而,現(xiàn)在各種精密儀器的昂貴價格增加了學校的壓力,也使一些學生得不到良好的實驗條件。基于以上背景,本文設計了基于LabVIEW的半實物虛擬仿真平臺,它采用虛擬儀器和實物相結(jié)合,將一些實物平臺用虛擬儀器末代替,既節(jié)省了在儀器上的投入,也可以達到實驗目的。
1 基于LabVIEW的半實物虛擬仿真平臺系統(tǒng)總體方案設計
本設計中,各種被測信號經(jīng)過傳感器、放大整形濾波、現(xiàn)場單片機(MSP430)采集緩存等處理后,輸送到單片機中,通過單片機計算處理后,實現(xiàn)與上位機的通信。同時,來自上位機的信號經(jīng)RS232總線傳輸?shù)讲杉?jié)點,驅(qū)動數(shù)據(jù)采集。基于LabVIEW的半實物虛擬仿真平臺系統(tǒng)整體結(jié)構(gòu)框圖如圖1所示。
其中電源電路使用24V穩(wěn)壓電源,保障電源的穩(wěn)定,霍爾傳感器的輸出脈沖信號要先進行放大濾波處理后再送入A/D轉(zhuǎn)換器轉(zhuǎn)換成數(shù)字量。驅(qū)動電路通過隔離電路達到弱電控制強電,從而驅(qū)動電機。溫度傳感器輸出的是數(shù)字量,直接被MSP430采集,采集到的數(shù)據(jù)緩存供單片機調(diào)用。采集節(jié)點通過RS232總線與上位機通訊,實現(xiàn)各項數(shù)據(jù)的實時顯示、存儲和越限報警等功能。
2 系統(tǒng)硬件設計
2.1 單片機控制部分
MSP430系列單片機有獨特的時鐘系統(tǒng)設計,包括兩個不同的時鐘系統(tǒng):基本時鐘系統(tǒng)和鎖頻環(huán)(FLL和FLL+)時鐘系統(tǒng)或DCO數(shù)字振蕩器時鐘系統(tǒng)。由時鐘系統(tǒng)產(chǎn)生CPU和各功能模塊所需的時鐘,這些時鐘可以在指令的控制下打開或關閉,從而使單片機執(zhí)行相應的程序,達到控制目的。
2.2 電機驅(qū)動模塊
BLD-300B直流無刷電機驅(qū)動器是針對中功率低壓直流無刷電機的高性能無刷驅(qū)動產(chǎn)品。該直流無刷電機驅(qū)動器采用高性價比的解決方案設計而成,適用于功率為48V、440W,或24V、300W的三相直流無刷電機的轉(zhuǎn)速調(diào)節(jié)。BLD-300B可提供內(nèi)置電位器RV調(diào)速、外接電位器調(diào)速、外部模擬電壓調(diào)速、上位機(PLC,單片機等)PWM調(diào)速等功能。同時該驅(qū)動器具備大轉(zhuǎn)矩啟動、快速啟動及制動、正反轉(zhuǎn)切換、手動及自動調(diào)速相結(jié)合、異常報警信號輸出等特點。輸入電壓為DC 18-52V,輸出電流為0-35A,適用電機轉(zhuǎn)速為0-20000rmp,霍爾信號電壓為4.5-5.5V,霍爾驅(qū)動電流20mA,外接調(diào)速電位器lOkΩ。輸出信號如圖2所示。
2.3 信號傳輸模塊
串口通訊對單片機而言意義重大,且其所需電纜線少,接線簡單,所以廣泛應用于遠距離傳輸中。如圖3所示。
在串行通信中,數(shù)據(jù)通常是在兩個站之間傳送,按照數(shù)據(jù)在通信線路上的傳送方向可分為3種基本的傳送方式:單工、半雙工和全雙工,通訊方式如圖4所示。
單工通信使用一根導線,信號的傳送方和接收方有明確的方向性。也就是說,通信只在一個方向上進行。
若使用同一根傳輸線既作為接收線路,又作為發(fā)送線路,雖然數(shù)據(jù)可以在兩個方向上傳送,但通信雙方不能同時收發(fā)數(shù)據(jù),這樣的傳送方式稱為半雙工。采用半雙工方式時,通信系統(tǒng)每一端的發(fā)送器和接收器通過收發(fā)開關分時轉(zhuǎn)接到通信線上進行方向的切換。
當數(shù)據(jù)的發(fā)送和接收分別由兩根不同的傳輸線傳送時,通信雙方都能在同一時刻進行發(fā)送和接收操作,這樣的傳送方式就是全雙工傳送方式。在全雙工方式下,通信系統(tǒng)的每一端都設置了發(fā)送器和接收器,因此,能控制數(shù)據(jù)同時在兩個方向上傳輸。全雙工方式無須進行方向的切換。
3 系統(tǒng)軟件設計
3.1 軟件總體設計
根據(jù)系統(tǒng)總體方案的設計要求,系統(tǒng)軟件程序主要實現(xiàn)功能為:2項被測數(shù)據(jù)的檢測、處理和傳輸。軟件結(jié)構(gòu)框圖如圖5所示。
系統(tǒng)選用C語言編寫程序,程序設計首先對傳感器、單片機和上位機顯示等進行初始化。MSP430控制啟動數(shù)據(jù)采集,進行AD轉(zhuǎn)換,轉(zhuǎn)換完成后進行處理并存儲在MSP430內(nèi)部設計的RAM中,單片機讀取RAM中的信號并顯示。具體流程如圖6所示。
3.2 串口通信
以下對串口通信中一些需要注意的地方作一點說明:
(1)波特率選擇
波特率(Boud Rate)就是在串口通信中每秒能夠發(fā)送的位數(shù)(bits/second)。MSP430串行端口在四種工作模式下有不同的波特率計算方法。在選擇波特率的時候需要考慮兩點:首先需要考慮系統(tǒng)需要的通信速率。這要根據(jù)系統(tǒng)的運作特點,確定通信的頻率范圍。然后需要考慮通信時鐘誤差。使用同一晶振頻率在選擇不同的通信速率時通信時鐘誤差會有很大差別。為了通信的穩(wěn)定,我們應該盡量選擇時鐘誤差最小的頻率進行通信。endprint
(2)通信協(xié)議的使用
通信協(xié)議是通信設備在通信前的約定。單片機、計算機有了協(xié)議這種約定,通信雙方才能明白對方的意圖,以進行下一步動作。
(3)硬件連接
進行串行通訊時要滿足一定的條件,例如計算機的串口是RS232電平的,而單片機的串口是TTL電平的,兩者之間必須有一個電平轉(zhuǎn)換電路。
(4)通信數(shù)據(jù)顯示
為了能夠在計算機端看到單片機發(fā)出的數(shù)據(jù),我們必須借助一個WINDOWS軟件進行觀察,這里利用一個免費計算機串口調(diào)試軟件(串口調(diào)試助手)來觀察。
3.3 上位機顯示程序設計
上位機要實現(xiàn)與下位機的通信,實現(xiàn)不同節(jié)點的選擇,參數(shù)數(shù)據(jù)的上傳,數(shù)據(jù)的實時顯示,以及不同參數(shù)的趨勢圖繪制。上位機的工作流程如圖7所示。
3.4 PID控制
虛擬控制采用LabVIEW的虛擬仿真功能得到理想的PID圖像的部分前面板如圖8所示。在前面板中設置PID的輸入控件,分別為比例參數(shù)、積分參數(shù)、微分參數(shù)和轉(zhuǎn)速目標參數(shù)。參數(shù)經(jīng)過PID子VI的運算得到輸出值,通過LabVIEW的仿真波形圖來顯示模擬的PID圖像。
在實物平臺上采用位置式PID控制來調(diào)節(jié)電機的轉(zhuǎn)速。使用MSP430單片機的定時器的比較模式輸出經(jīng)過PID調(diào)節(jié)所得到的占空比來調(diào)節(jié)電機轉(zhuǎn)速,使電機轉(zhuǎn)速穩(wěn)定在一定的范圍內(nèi),實現(xiàn)實物的PID控制。在模擬系統(tǒng)中,PID算法的表達式為:
式中,P(t)為調(diào)節(jié)器的輸出信號,e(t)為調(diào)節(jié)器的偏差信號,它等于測量值與給定值之差,Kp為調(diào)節(jié)器的比例系數(shù),K1為調(diào)節(jié)器的積分時間,TKD為調(diào)節(jié)器的微分時間。
在過程控制中,按偏差的比例(P)、積分(1)和微分(D)進行控制的PID控制器(亦稱PID調(diào)節(jié)器)是應用最為廣泛的一種自動控制器。
PID調(diào)節(jié)器各個校正環(huán)節(jié)的作用:
(1)比例環(huán)節(jié):及時成比例的反應控制系統(tǒng)的偏差信號e(t),偏差一旦產(chǎn)生,調(diào)節(jié)器立即產(chǎn)生控制作用以減少偏差。
(2)積分環(huán)節(jié):主要用于消除誤差,以提高系統(tǒng)無差度。積分作用的強弱取決于積分時間常數(shù),時間常數(shù)越大,積分作用越弱,反之越強。
(3)微分環(huán)節(jié):能反映偏差的變化趨勢(變化速率),并能在偏差信號的值變得太大之前,在系統(tǒng)中引入一個早期的有效修正信號,從而加快系統(tǒng)的動作速度,減少調(diào)節(jié)時間。
模擬信號r(f)、e(t)、u(t)、c(t)在第n次采樣的數(shù)據(jù)分別用r(n)、e(n)、u(n)、c(n)表示,于是有e(n)=r(n)一c(n)。
從而可以推導出數(shù)字PID算法:
將此式代入程序中調(diào)節(jié)好Kp、K1、KD這三個參數(shù),進而調(diào)節(jié)PWM使電機轉(zhuǎn)速達到設定值。在實際應用中,數(shù)字PID算法的積分項可能會引起飽和現(xiàn)象,導致帶幅度的超調(diào),使系統(tǒng)不穩(wěn)定。
為了消除飽和積分的影響,我們采用遇限削弱積分法:一旦控制量進入飽和區(qū),則停止進行增大積分的運算。
3.5 LabVIEW的編制及界面
上位機數(shù)據(jù)的采集通過一個獨立的子VI完成,通過子VI把串口的數(shù)據(jù)處理分類,用兩個輸出將數(shù)據(jù)送給下一個子VI,設置的串口參數(shù)必須匹配連接儀器或設備的參數(shù)“讀數(shù)”參數(shù)可指定串口讀取的字節(jié)數(shù)。如果端口字節(jié)超過指定的字節(jié)數(shù),超出部分將不會被讀取。如果端口字節(jié)數(shù)少于指定的字節(jié)數(shù),將返回超時錯誤。
上一個子VI輸出的數(shù)據(jù)被下一個子VI獲取,通過LabVIEW的波形圖示實時的顯示采集的數(shù)據(jù)。其部分數(shù)據(jù)如圖9所示。
在虛擬平臺的編制上我們使用了LabVIEW強大的數(shù)據(jù)處理功能,把實物用數(shù)據(jù)的形式模擬出來。設置參數(shù)和期望值,通過PID子VI模擬出圖像顯示出來。
對于電機虛擬圖像,可通過前面板設計設置理想轉(zhuǎn)速、PID參數(shù),如圖10所示。從而實現(xiàn)對虛擬電機轉(zhuǎn)速的控制,進行誤差分析。 誤差分析表示當前實際轉(zhuǎn)速和設定轉(zhuǎn)速的差值,如圖11所示。
4 結(jié)論
本文米用MSP430單片機進行數(shù)據(jù)采集,充分利用了單片機的高速性和高可靠性,從而解決了傳統(tǒng)的單片機控制速度較慢的問題。該系統(tǒng)成功采集到各項數(shù)據(jù)并得到數(shù)據(jù)圖像,是一套比較完整的虛擬仿真平臺系統(tǒng),通過軟硬件結(jié)合實現(xiàn)儀器功能,具有較好的推廣和應用價值。
參考文獻:
[1]沈建華,楊艷琴,翟驍曙MSP430系列16位超低功耗單片機實踐與系統(tǒng)設計[M]北京:清華大學出版社2004
[2]崔武子,付鈧,鞠慧敏c語言程序設計實踐教程[M].北京:清華大學出版社,2005
[3]魏小龍MSP430系列單片機接口技術及系統(tǒng)設計實佰[M]北京:北京航空航天大學出版社,2002
[4]馬育鋒,龔沈光基于MSP430單片機的多路信號采集系統(tǒng)[J]武漢理工大學學報(交通科學與工程版),2009,33(2A369-372
[5]李楠,騰飛基于LabVIEW的電機轉(zhuǎn)速控制系統(tǒng)設計[J]計算機測量與控制,2006.14(6):794-796[6]丁元杰單片微機原理及應用(第3版)[M]北京機械工業(yè)出版社,2005endprint