在開發(fā)一套以DSP為核心的永磁同步電機(jī)控制系統(tǒng)時,需要及時觀察驅(qū)動系統(tǒng)中的各個變量,同時還要對一些程序進(jìn)行控制,修改特定參數(shù)。數(shù)字信號處理(Digital Signal Processing,簡稱DSP)是一門涉及許多學(xué)科而又廣泛應(yīng)用于許多領(lǐng)域的新興學(xué)科。DSP在實(shí)際運(yùn)行中不能用外接的端口進(jìn)行控制,需要用DSP自帶的串行通信模塊來解決這一問題。本文以DSP控制永磁同步電機(jī)為例,介紹在整個控制系統(tǒng)中串行通信的實(shí)現(xiàn)。
1 永磁同步電機(jī)控制系統(tǒng)
同步發(fā)電機(jī)為了實(shí)現(xiàn)能量的轉(zhuǎn)換,需要有一個直流磁場。而產(chǎn)生這個磁場的直流電流,稱為發(fā)電機(jī)的勵磁電流。根據(jù)勵磁電流的供給方式,凡是從其它電源獲得勵磁電流的發(fā)電機(jī),稱為他勵發(fā)電機(jī),從發(fā)電機(jī)本身獲得勵磁電源的,則稱為自勵發(fā)電機(jī)。永磁同步電機(jī)控制系統(tǒng)框圖如圖1所示,采用直接轉(zhuǎn)矩控制方法,這是19世紀(jì)80年代提出的交流電機(jī)高性能控制策略。本控制系統(tǒng)是一個速度和轉(zhuǎn)矩的雙閉環(huán)控制系統(tǒng)。系統(tǒng)利用電壓、電流傳感器檢測直流母線電壓Vdc。及定子二相電流i 和i ,通過坐標(biāo)變換將定子三相坐標(biāo)系中的電壓、電流變量轉(zhuǎn)換為α-β靜止定子坐標(biāo)系中的二相分量。將由磁鏈及轉(zhuǎn)矩觀測器得到的定子磁鏈、轉(zhuǎn)矩實(shí)際值作為反饋量,與磁鏈、轉(zhuǎn)矩給定值進(jìn)行比較,所得到的誤差信號通過磁鏈、轉(zhuǎn)矩調(diào)節(jié)器的滯環(huán)控制單元后,獲得0、1控制信號,再綜合考慮當(dāng)前定子磁鏈所在的區(qū)域,選擇適當(dāng)?shù)碾妷嚎諉柺噶靠刂贫ㄗ哟沛湹男D(zhuǎn)速度及方向,即可直接快速地實(shí)現(xiàn)轉(zhuǎn)矩調(diào)節(jié)。
如果試驗人員能夠及時地觀測并調(diào)節(jié)轉(zhuǎn)矩、磁鏈、電壓、電流等控制參數(shù),將會極大地提高電機(jī)控制系統(tǒng)的開發(fā)效率。
2 串行通信的實(shí)現(xiàn)
PC機(jī)與DSP串行通信的實(shí)現(xiàn)包括三個部分,即硬件設(shè)計、上位機(jī)程序設(shè)計、下位機(jī)程序設(shè)計。
2.1 串行通信硬件設(shè)計
從本試驗平臺實(shí)際需要考慮,實(shí)現(xiàn)計算機(jī)對生產(chǎn)現(xiàn)場的監(jiān)測和控制。圖2是TMS320LF2407串行通信接1:1電路 。該電路采用了符合RS-232標(biāo)準(zhǔn)的驅(qū)動芯片MAX232(MAX232芯片是美信公司專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電)進(jìn)行串行通信。MAX232芯片功耗低,集成度高,+5 V供電,具有2個接收和發(fā)送通道。由于TMS320LF2407采用+3.3 V供電,需要將5 V的1tI1L電平變換為3.3 V高電平,整個接口電路簡單,可靠性高。
2.2 上位機(jī)程序設(shè)計
Delphi是一種面向?qū)ο蟮目梢暬?a target="_blank">編程工具,擁有功能強(qiáng)大的集成開發(fā)環(huán)境和速度極快的編譯器,兼具Visual C++的強(qiáng)大功能和VB易學(xué)易用的特點(diǎn)。Delphi,是Windows平臺下著名的快速應(yīng)用程序開發(fā)工具(Rapid Application Development,簡稱RAD)。它的前身,即是DOS時代盛行一時的“BorlandTurbo Pascal”,最早的版本由美國Borland(寶蘭)公司于1995年開發(fā)。DELPHI 擁有一個可視化的集成開發(fā)環(huán)境(IDE),采用面向?qū)ο蟮木幊陶Z言O(shè)bjectPascal和基于部件的開發(fā)結(jié)構(gòu)框架。Delphi它提供了500多個可供使用的構(gòu)件,利用這些部件,開發(fā)人員可以快速地構(gòu)造出應(yīng)用系統(tǒng)。開發(fā)人員也可以根據(jù)自己的需要修改部件或用Delphi本身編寫自己的部件。通過安裝MSComm控件,可在Delphi環(huán)境下方便地實(shí)現(xiàn)串行通信[2]。本系統(tǒng)選用事件驅(qū)動法,該方法程序響應(yīng)及時,可靠性高。只要了解使用MSComm的屬性及事件的用法就可以實(shí)現(xiàn)對串口的操作。
其主要屬性有 :
(1)eommport屬性,用于設(shè)置并返回連接的串行端口號;
(2)settings屬性,以字符形式設(shè)置并返回串口的波特率、奇偶校驗、數(shù)據(jù)位、停止位參數(shù);
(3)po~open屬性,用于設(shè)置或返回通信連接端口的狀態(tài);
(4)input屬性,用于從輸入緩沖區(qū)返回并刪除字符;
(5)output屬性,用于將要發(fā)送的數(shù)據(jù)輸入傳輸緩沖區(qū);
(6)inputlen屬性,用于指定由串行端I:I讀入的字符串長度或字節(jié)數(shù);
(7)handshaking屬性,用于指定通信雙方的握手協(xié)議;
(8)rthreshold屬性,用于設(shè)置或返回引發(fā)接收事件的字節(jié)數(shù);
(9)sthreshold屬性,用于設(shè)置并返回傳輸緩沖區(qū)中允許的最小字符數(shù);
(10)commevent屬性,在通信錯誤或事件發(fā)生時都會產(chǎn)生oncomm事件;
(11)inbufercount屬性,用于接收緩沖區(qū)中的字符數(shù);
(12)inputmode屬性,用于設(shè)置或返回input屬性取回數(shù)據(jù)的類型。
程序設(shè)計中首先要對MSComm進(jìn)行初始化,可以雙擊MSComm控件設(shè)置,也可以在程序中修改。
本系統(tǒng)根據(jù)需要自行設(shè)計了通信協(xié)議。
(1)幀分為兩類,即控制幀和數(shù)據(jù)幀??刂茙瑸樯衔粰C(jī)發(fā)出的控制命令,數(shù)據(jù)幀為上、下位機(jī)的實(shí)時數(shù)據(jù)。
(2)上位機(jī)對下位機(jī)通信中的控制幀,格式都是一個字節(jié),定義如下:AA為下位機(jī)發(fā)送數(shù)據(jù);AB為下位機(jī)接收數(shù)據(jù);AC為下位機(jī)停止發(fā)送
(3)數(shù)據(jù)幀為兩個字節(jié),數(shù)據(jù)范圍是0~65535,滿足了數(shù)據(jù)要求。
其中:AB為控制幀,04代表磁鏈,00C8為數(shù)據(jù)幀。每個字節(jié)包含1個起始位、1個停止位、8個數(shù)據(jù)位,在實(shí)際應(yīng)用中用戶只需在通信界面上設(shè)置磁鏈值200,然后單擊“n發(fā)送”按鈕即可實(shí)現(xiàn)該命令。圖3為PC機(jī)發(fā)送數(shù)據(jù)流程圖。
2.3 下位機(jī)程序設(shè)計
TMS320LF2407中包含一個串行通信模塊(SCI),SCI的寄存器是8位的。可編程的SC1支持CPU和其他使用標(biāo)準(zhǔn)非歸零(NRZ)格式的異步外設(shè)之間的串行數(shù)字通信,SCI的接收器和發(fā)送器是雙緩沖的,每個都有它自己的獨(dú)立使能和中斷位。波特率可以通過一個16位的波特率選擇寄存器進(jìn)行編程 。為了保證串行通信的成功,在通信前必須對DSP的SCI模塊進(jìn)行初始化,設(shè)置通信的波特率、奇偶校驗、停止位及每個字節(jié)包含的位數(shù)等,這些參數(shù)的設(shè)置必須與PC機(jī)上的設(shè)置一致,否則會引起傳輸錯誤。
DSP(digital signal processor)是一種獨(dú)特的微處理器,是以數(shù)字信號來處理大量信息的器件。其工作原理是接收模擬信號,轉(zhuǎn)換為0或1的數(shù)字信號。再對數(shù)字信號進(jìn)行修改、刪除、強(qiáng)化,并在其他系統(tǒng)芯片中把數(shù)字?jǐn)?shù)據(jù)解譯回模擬數(shù)據(jù)或?qū)嶋H環(huán)境格式。它不僅具有可編程性,而且其實(shí)時運(yùn)行速度可達(dá)每秒數(shù)以千萬條復(fù)雜指令程序,遠(yuǎn)遠(yuǎn)超過通用微處理器,是數(shù)字化電子世界中日益重要的電腦芯片。它的強(qiáng)大數(shù)據(jù)處理能力和高運(yùn)行速度,是最值得稱道的兩大特色。在DSP與PC機(jī)的通信中,對于DSP來說,通信的主要功能是接收Pc機(jī)傳來的數(shù)據(jù)和發(fā)送數(shù)據(jù)給Pc機(jī)??刹捎貌樵兒椭袛鄡煞N方式接收數(shù)據(jù),查詢方式需要程序循環(huán)檢測通信端口,浪費(fèi)DSP資源,因此本系統(tǒng)接收數(shù)據(jù)時采用中斷方式;但在發(fā)送數(shù)據(jù)時由于要發(fā)送的數(shù)據(jù)比較多,如果也用中斷方式就會干擾到電機(jī)的控制,電機(jī)不能平穩(wěn)運(yùn)行,因此采用查詢方式。在中斷子程序中設(shè)置發(fā)送標(biāo)志位,通過在主程序中查詢該標(biāo)志位來決定是否發(fā)送數(shù)據(jù)。圖4為下位機(jī)通信程序框圖。
3 試驗結(jié)果
利用DSP的SCI模塊和MSComm控件可以方便地實(shí)現(xiàn)DSP與Pc機(jī)的串行通信。本文所介紹的設(shè)計方法已在Pc機(jī)和以TMS320LF2407為核心的直接轉(zhuǎn)矩控制系統(tǒng)試驗平臺上進(jìn)行了驗證,結(jié)果表明:可以通過Pc機(jī)對永磁同步電機(jī)進(jìn)行控制。圖5為上位機(jī)監(jiān)控界面,它包括參數(shù)發(fā)送和數(shù)據(jù)采集兩部分,可以顯示速度、磁鏈、轉(zhuǎn)矩的給定值和實(shí)際值,便于用戶比較。圖6為永磁同步電機(jī)空載運(yùn)行時的速度觀測圖。當(dāng)永磁同步電動機(jī)的定子通入三相交流電時,三相電流在定子繞組的電阻上產(chǎn)生電壓降。由三相交流電產(chǎn)生的旋轉(zhuǎn)電樞磁動勢及建立的電樞磁場,一方面切割定子繞組,并在定子繞組中產(chǎn)生感應(yīng)電動勢;另一方面以電磁力拖動轉(zhuǎn)子以同步轉(zhuǎn)速旋轉(zhuǎn)。電樞電流還會產(chǎn)生僅與定子繞組相交鏈的定子繞組漏磁通,并在定子繞組中產(chǎn)生感應(yīng)漏電動勢其中:直線代表速度給定值,曲線是速度實(shí)際值。速度給定值為500 r/min,通過轉(zhuǎn)速表測量,轉(zhuǎn)速為499r/min,從圖中可以看出速度以極小的誤差圍繞給定值波動,證明了轉(zhuǎn)速能被很好地控制住。圖7為磁鏈標(biāo)幺值的給定值與實(shí)際值比較圖,磁鏈給定值為200,DSP中采用Q12格式,最后經(jīng)過計算反饋到上位機(jī)時應(yīng)為0.2,直線是給定值,曲線是實(shí)際值,在圖中可以看出超調(diào)量很小,磁鏈參數(shù)也能準(zhǔn)確地反饋到Pc機(jī)上,與試驗預(yù)期結(jié)果相符。
4 結(jié) 語
采用PC機(jī)與DSP的主從式結(jié)構(gòu),既能發(fā)揮DSP的數(shù)據(jù)處理能力,又具有良好的人機(jī)接口,這極大地方便了系統(tǒng)的開發(fā)調(diào)試。DSP和PC機(jī)串行通信可以實(shí)現(xiàn)下位機(jī)參數(shù)實(shí)時上傳,使用戶隨時掌握電機(jī)狀態(tài)性能;通過上位機(jī)在線修改DSP的程序,使電機(jī)按照要求運(yùn)行,實(shí)現(xiàn)對電機(jī)的全數(shù)字化實(shí)時控制。本文所解決的關(guān)鍵難題為下一步實(shí)現(xiàn)電機(jī)控制系統(tǒng)性能的在線監(jiān)測奠定了基礎(chǔ)。
-
dsp
+關(guān)注
關(guān)注
553文章
7998瀏覽量
348965 -
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6622瀏覽量
110614 -
永磁同步電機(jī)
+關(guān)注
關(guān)注
28文章
873瀏覽量
49554
發(fā)布評論請先 登錄
相關(guān)推薦
評論