摘要:為了使電機驅動系統(tǒng)具有良好的人機交流功能,設計了一套針對永磁同步電機控制的監(jiān)控系統(tǒng),。該系統(tǒng)以PC機為主機,、數(shù)字信號處理器(DSP)為從機,采用MSComm控件自行設計了上位機程序,、下位機程序及通信協(xié)議,,最后實現(xiàn)了上位機對整個控制系統(tǒng)的可靠監(jiān)控。
關鍵詞:串行通信,;永磁同步電機,;監(jiān)控
Application of Serial Data Communication in PM SM Control System
CU/Jie-fan, MU Gang,, WAN Jun-zhu,, WANG He—min
(Shenyang University of Technology,Shenyang 1 1 0023,,China)
Abstract:In order to make motor drive system had a better man—machine interface function,,a monitor system about PMSM control was designed.In this system ,PC was a host computer and DSP was a substrate machine. Using MSComm was a major method.The host computer procedure,,substrate machine program and communication protocol
were designed.At last,,the host computer realized a credible monitoring to PMSM control system.
Key words:serial data communications;permanent magnet synchronous motor(PMSM),;monitoring
0 引 言
TMS320LF2407是TI公司開發(fā)的,、適用于電機控制的數(shù)字信號處理器(DSP),在原有DSP內核的基礎上添加了脈寬調制(PWM),、A/D,、D/A模塊,從而實現(xiàn)對電機系統(tǒng)的全數(shù)字控制,。它在電機控制系統(tǒng)中得到了廣泛應用,,并取得了明顯效果。在開發(fā)一套以DSP為核心的永磁同步電機控制系統(tǒng)時,,需要及時觀察驅動系統(tǒng)中的各個變量,同時還要對一些程序進行控制,,修改特定參數(shù),。DSP在實際運行中不能用外接的端口進行控制,需要用DSP自帶的串行通信模塊來解決這一問題,。通過一臺上位計算機和以DSP為核心的電機控制系統(tǒng)構成整個監(jiān)控系統(tǒng),,Pc機通過串口來改變DSP程序中轉矩、磁鏈給定,,以及調節(jié)PI參數(shù)等,,電機控制系統(tǒng)完成對電機的控制,并采集相關數(shù)據(jù)反饋到Pc機中進行分析、處理,、顯示和存儲,。本文以DSP控制永磁同步電機為例,介紹在整個控制系統(tǒng)中串行通信的實現(xiàn),。
1 永磁同步電機控制系統(tǒng)
永磁同步電機控制系統(tǒng)框圖如圖1所示,,采用直接轉矩控制方法,這是19世紀80年代提出的交流電機高性能控制策略,。本控制系統(tǒng)是一個速度和轉矩的雙閉環(huán)控制系統(tǒng),。系統(tǒng)利用電壓、電流傳感器檢測直流母線電壓Vdc,。及定子二相電流i 和i ,,通過坐標變換將定子三相坐標系中的電壓、電流變量轉換為α-β靜止定子坐標系中的二相分量,。將由磁鏈及轉矩觀測器得到的定子磁鏈,、轉矩實際值作為反饋量,與磁鏈,、轉矩給定值進行比較,,所得到的誤差信號通過磁鏈、轉矩調節(jié)器的滯環(huán)控制單元后,,獲得0,、1控制信號,再綜合考慮當前定子磁鏈所在的區(qū)域,,選擇適當?shù)碾妷嚎諉柺噶靠刂贫ㄗ哟沛湹男D速度及方向,,即可直接快速地實現(xiàn)轉矩調節(jié)。
如果試驗人員能夠及時地觀測并調節(jié)轉矩,、磁鏈,、電壓、電流等控制參數(shù),,將會極大地提高電機控制系統(tǒng)的開發(fā)效率,。
2 串行通信的實現(xiàn)
PC機與DSP串行通信的實現(xiàn)包括三個部分,即硬件設計,、上位機程序設計,、下位機程序設計。
2.1 串行通信硬件設計
從本試驗平臺實際需要考慮,,采用RS-232實現(xiàn)PC機與DSP的數(shù)據(jù)傳輸?,F(xiàn)在RS。232的通信端口是每臺計算機上的必要配置,,通常含有COM1和COM2兩個端口,,所以能很方便地把上位機與下位機連接起來,實現(xiàn)計算機對生產(chǎn)現(xiàn)場的監(jiān)測和控制。圖2是TMS320LF2407串行通信接1:1電路[1],。該電路采用了符合RS-232標準的驅動芯片MAX232進行串行通信,。MAX232芯片功耗低,集成度高,,+5 V供電,,具有2個接收和發(fā)送通道。由于TMS320LF2407采用+3.3 V供電,,需要將5 V的1tI1L電平變換為3.3 V高電平,,整個接口電路簡單,可靠性高,。
2.2 上位機程序設計
Delphi是一種面向對象的可視化編程工具,,擁有功能強大的集成開發(fā)環(huán)境和速度極快的編譯器,兼具Visual C++的強大功能和VB易學易用的特點,。通過安裝MSComm控件,,可在Delphi環(huán)境下方便地實現(xiàn)串行通信[2]。MSComm提供了兩種處理通信問題的方法:一種是事件驅動法,,一種是查詢法,。本系統(tǒng)選用事件驅動法,該方法程序響應及時,,可靠性高,。只要了解使用MSComm的屬性及事件的用法就可以實現(xiàn)對串口的操作。
其主要屬性有 :
(1)eommport屬性,,用于設置并返回連接的串行端口號,;
(2)settings屬性,以字符形式設置并返回串口的波特率,、奇偶校驗,、數(shù)據(jù)位、停止位參數(shù),;
(3)po~open屬性,,用于設置或返回通信連接端口的狀態(tài);
(4)input屬性,,用于從輸入緩沖區(qū)返回并刪除字符,;
(5)output屬性,用于將要發(fā)送的數(shù)據(jù)輸入傳輸緩沖區(qū),;
(6)inputlen屬性,用于指定由串行端I:I讀入的字符串長度或字節(jié)數(shù),;
(7)handshaking屬性,,用于指定通信雙方的握手協(xié)議;
(8)rthreshold屬性,用于設置或返回引發(fā)接收事件的字節(jié)數(shù),;
(9)sthreshold屬性,,用于設置并返回傳輸緩沖區(qū)中允許的最小字符數(shù);
(10)commevent屬性,,在通信錯誤或事件發(fā)生時都會產(chǎn)生oncomm事件,;
(11)inbufercount屬性,用于接收緩沖區(qū)中的字符數(shù),;
(12)inputmode屬性,,用于設置或返回input屬性取回數(shù)據(jù)的類型。
程序設計中首先要對MSComm進行初始化,,可以雙擊MSComm控件設置,,也可以在程序中修改。
本系統(tǒng)根據(jù)需要自行設計了通信協(xié)議,。
(1)幀分為兩類,,即控制幀和數(shù)據(jù)幀??刂茙瑸樯衔粰C發(fā)出的控制命令,,數(shù)據(jù)幀為上、下位機的實時數(shù)據(jù),。
(2)上位機對下位機通信中的控制幀,,格式都是一個字節(jié),定義如下:AA為下位機發(fā)送數(shù)據(jù),;AB為下位機接收數(shù)據(jù),;AC為下位機停止發(fā)送
(3)數(shù)據(jù)幀為兩個字節(jié),數(shù)據(jù)范圍是0~65535,,滿足了數(shù)據(jù)要求,。
例如,把電機磁鏈設置為200,,該通信命令由4個字節(jié)組成,,數(shù)據(jù)格式為AB0400C8。其中:AB為控制幀,,04代表磁鏈,,00C8為數(shù)據(jù)幀。每個字節(jié)包含1個起始位,、1個停止位,、8個數(shù)據(jù)位,這些都是隱藏在底層程序中的,,在實際應用中用戶只需在通信界面上設置磁鏈值200,,然后單擊“n發(fā)送”按鈕即可實現(xiàn)該命令,。圖3為PC機發(fā)送數(shù)據(jù)流程圖。
2.3 下位機程序設計
TMS320LF2407中包含一個串行通信模塊(SCI),,SCI的寄存器是8位的,。可編程的SC1支持CPU和其他使用標準非歸零(NRZ)格式的異步外設之間的串行數(shù)字通信,,SCI的接收器和發(fā)送器是雙緩沖的,,每個都有它自己的獨立使能和中斷位。波特率可以通過一個16位的波特率選擇寄存器進行編程 ,。為了保證串行通信的成功,,在通信前必須對DSP的SCI模塊進行初始化,設置通信的波特率,、奇偶校驗,、停止位及每個字節(jié)包含的位數(shù)等,這些參數(shù)的設置必須與PC機上的設置一致,,否則會引起傳輸錯誤,。在DSP與PC機的通信中,對于DSP來說,,通信的主要功能是接收Pc機傳來的數(shù)據(jù)和發(fā)送數(shù)據(jù)給Pc機,。可采用查詢和中斷兩種方式接收數(shù)據(jù),,查詢方式需要程序循環(huán)檢測通信端口,,浪費DSP資源,因此本系統(tǒng)接收數(shù)據(jù)時采用中斷方式,;但在發(fā)送數(shù)據(jù)時由于要發(fā)送的數(shù)據(jù)比較多,,如果也用中斷方式就會干擾到電機的控制,電機不能平穩(wěn)運行,,因此采用查詢方式,。在中斷子程序中設置發(fā)送標志位,通過在主程序中查詢該標志位來決定是否發(fā)送數(shù)據(jù),。在發(fā)送數(shù)據(jù)過程中,,下位機需要發(fā)送多組數(shù)據(jù),每組數(shù)據(jù)對應不同的電機參數(shù),,如何正確區(qū)分這些數(shù)據(jù)是通信能否成功的關鍵,。本系統(tǒng)利用已設定的下位機發(fā)送參數(shù)的順序、MSComm控件的inputlen屬性及rthreshold屬性的配合使用來解決這個問題,。另外下位機接收和發(fā)送寄存器是8位的,,需要設定標志變量來區(qū)分、合并高低字節(jié),。圖4為下位機通信程序框圖,。
3 試驗結果
利用DSP的SCI模塊和MSComm控件可以方便地實現(xiàn)DSP與Pc機的串行通信,。本文所介紹的設計方法已在Pc機和以TMS320LF2407為核心的直接轉矩控制系統(tǒng)試驗平臺上進行了驗證,結果表明:可以通過Pc機對永磁同步電機進行控制,。圖5為上位機監(jiān)控界面,它包括參數(shù)發(fā)送和數(shù)據(jù)采集兩部分,,可以顯示速度,、磁鏈、轉矩的給定值和實際值,,便于用戶比較,。圖6為永磁同步電機空載運行時的速度觀測圖。其中:直線代表速度給定值,,曲線是速度實際值,。速度給定值為500 r/min,通過轉速表測量,,轉速為499r/min,,從圖中可以看出速度以極小的誤差圍繞給定值波動,證明了轉速能被很好地控制住,。圖7為磁鏈標幺值的給定值與實際值比較圖,,磁鏈給定值為200,DSP中采用Q12格式,,最后經(jīng)過計算反饋到上位機時應為0.2,,直線是給定值,曲線是實際值,,在圖中可以看出超調量很小,,磁鏈參數(shù)也能準確地反饋到Pc機上,與試驗預期結果相符,。
4 結 語
采用PC機與DSP的主從式結構,,既能發(fā)揮DSP的數(shù)據(jù)處理能力,又具有良好的人機接口,,這極大地方便了系統(tǒng)的開發(fā)調試,。DSP和PC機串行通信可以實現(xiàn)下位機參數(shù)實時上傳,使用戶隨時掌握電機狀態(tài)性能,;通過上位機在線修改DSP的程序,,使電機按照要求運行,實現(xiàn)對電機的全數(shù)字化實時控制,。本文所解決的關鍵難題為下一步實現(xiàn)電機控制系統(tǒng)性能的在線監(jiān)測奠定了基礎,。
參考文獻
[1] 劉和平,嚴利平,,張學鋒,,等.TMS320I 1~24XDSP結構,、原理及應用[M].北京:北京航空航天大學出版社,2002.
[2] 張立材.Delphi編程中用MSComm控件實現(xiàn)串行通訊[J].微計算機信息,,2001,,17(3):26—27.
[3] 趙蘭濤,蘇彥華.Delphi串口通信技術與工程實踐[M].北京:人民郵電出版社,,2004.
[4] 郭京蕾,,吳勇.DSP和Pc機的串行通信[J].計算機工程與設計,2004,,25(3):475-477.