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