張松松,盧 剛,李聲晉,周 勇
(西北工業(yè)大學,陜西西安710072)
無刷直流電動機因其優(yōu)越的性能引起了人們的足夠重視,在各個領域得到了廣泛應用。對控制要求低的場合一般采用基于霍爾位置傳感器的無刷直流電動機,對控制要求比較高的場合則采用基于旋轉(zhuǎn)變壓器(以下簡稱旋變)的無刷直流電動機。本文的控制對象是基于旋變式的無刷直流電動機,其控制芯片是TI公司的TMS320F28335。該芯片是32位浮點DSP控制器,其性能較好,有多篇論文對其進行了詳細介紹,不再累述。本文主要是通過研究無刷直流電動機控制器與上位機的數(shù)據(jù)通訊,在軟件上來實現(xiàn)AD速度指令范圍的調(diào)整,研究設計了上位機監(jiān)控平臺和與之相對應的下位機接口程序,實驗結(jié)果驗證了編寫的上位機監(jiān)控平臺和電機程序符合本文的設計要求。
系統(tǒng)分為硬件和軟件兩部分,硬件是由我們設計研發(fā)的基于TMS320F28335控制的無刷直流電動機控制器,軟件部分包括編寫的上位機監(jiān)控界面程序和與之相對應的下位機程序。限于篇幅,本文不展開介紹硬件設計的原理,著重介紹上位機監(jiān)控界面的AD速度指令范圍調(diào)整功能的實現(xiàn)。
硬件部分是整個實驗的基礎,其硬件框架如圖1所示。
圖1 硬件電路原理框架圖
如圖1所示,無刷直流電動機控制器以DSP控制芯片TMS320F28335為控制核心,通過電路板上的激勵電路給電機激勵信號,旋變檢測到轉(zhuǎn)子的角位置信息-正余弦信號;正余弦信號經(jīng)差分電路處理后輸入至旋變信號解算芯片,由其輸出的轉(zhuǎn)子角位置數(shù)字信號經(jīng)鎖存器輸入到DSP;鎖存器工作時所需要的時鐘控制信號由解算芯片控制,輸入使能是由DSP在程序上實現(xiàn)的。DSP根據(jù)轉(zhuǎn)子的角位置和由外界給定的或者程序中默認的速度指令來控制SPWM信號輸出,SPWM控制信號需經(jīng)過電流緩沖芯片的電流緩沖輸出到MOS功率管的驅(qū)動控制芯片,從而控制電機轉(zhuǎn)動。DSP在程序上不僅實現(xiàn)了對SPWM控制信號的輸出,同時還通過輸出控制信號到功率模塊驅(qū)動控制芯片控制其是否工作,這兩個環(huán)節(jié)在程序上控制電機是否轉(zhuǎn)動。當電機旋轉(zhuǎn)發(fā)生故障時,功率模塊驅(qū)動控制芯片會通過電流緩沖芯片向DSP發(fā)送FAULT故障信號,以確保電機及控制器的安全。因需要電機在不同的轉(zhuǎn)速下轉(zhuǎn)動,因此需要外界給定一個可以調(diào)節(jié)的指令,本文采取的是增加調(diào)速旋鈕來手動調(diào)節(jié)電機轉(zhuǎn)速,由AD指令調(diào)速模塊來實現(xiàn)的。
因RS422信號抗干擾能力比較強,傳輸距離遠,因此與上位機進行SCI數(shù)據(jù)通訊時控制器輸出的是RS422信號可實現(xiàn)遠程監(jiān)控。計算機(上位機)串口接收的為RS232信號,因此需要在計算機與控制器之間接RS422-RS232轉(zhuǎn)換器。除SCI通訊之外,控制器還可以進行SPI通訊和CAN通訊,本文并未涉及。
軟件部分的功能主要是實現(xiàn)AD速度指令范圍調(diào)整、旋變零點調(diào)整、上位機調(diào)速、AD調(diào)速、母線電壓監(jiān)控、電機三相電流監(jiān)控和旋變信號觀察。軟件框架及操作流程如圖2所示,限于篇幅,本文僅介紹AD速度指令范圍調(diào)整功能,交付用戶之前,需將其他程序屏蔽只保留AD調(diào)速程序,此部分將在后續(xù)的篇幅中介紹,在此不再詳述。
圖2 軟件原理框架及操作流程
上位機與下位機的數(shù)據(jù)通訊分為上位機向下發(fā)送和由下位機向上位機發(fā)送兩部分,其原理分別如圖3(a)、圖3(b)所示。上位機與下位機之間的數(shù)據(jù)通訊是以數(shù)據(jù)包的形式發(fā)送和接收的,因發(fā)送的數(shù)據(jù)類型不同,需要人為定義一個通訊協(xié)議。一個數(shù)據(jù)包括五部分:包頭、指令字符、高8位二進制數(shù)據(jù)、低8位二進制數(shù)據(jù)和CRC校驗碼。包頭是接收數(shù)據(jù)包的標志;指令字符是將發(fā)送的16位二進制數(shù)據(jù)分類,由此部分定義數(shù)據(jù)通訊協(xié)議;CRC校驗碼是為了防止發(fā)送數(shù)據(jù)錯誤。在上位機向下發(fā)送時一定要加延時,否則會出現(xiàn)發(fā)送紊亂,上位機顯示屏的數(shù)據(jù)顯示是通過畫圖定時器中斷來畫圖的。下位機向上位機發(fā)送時要注意設定的定時器中斷的時間,產(chǎn)生一次定時中斷并不是只發(fā)送個數(shù)據(jù)包,要將中斷時間設置的稍微長一點,以防止卡死在定時器中斷函數(shù)中。
圖3 上位機與下位機的數(shù)據(jù)通訊
在此之前曾用LabVIEW 8.6編寫過上位機界面程序,但因掌握的技術(shù)不是很成熟,編寫的上位機界面程序在運行時所占內(nèi)存比較大,且在串口通訊部分不是很理想,因此本文的上位機界面程序采用CVI8.5 編寫。
CVI8.5的串口通訊設置是通過界面和C語言程序來實現(xiàn)的,程序流程如圖4所示。
圖4 串口通訊設置程序流程
在串口設置中,最重要的部分是串口參數(shù)設置和安裝回調(diào)函數(shù)COM_rec這兩部分。串口參數(shù)設置需要與下位機的串口設置一致;安裝回調(diào)函數(shù)的作用是讓上位機在接收到數(shù)據(jù)包的包頭后產(chǎn)生中斷,進入函數(shù)COM_rec進行解包分類處理,其原理如圖5所示。
圖5 回調(diào)函數(shù)COM_rec程序流程
在編寫回調(diào)函數(shù)時要注意存放接收數(shù)據(jù)的數(shù)組COM_data的大小,如果太小則會使上位機卡死,因此盡量取得大一些。在解包完成后注意將高8位與低8位這兩部分合成,順序不能顛倒。解包完成后需要對其進行分類處理,此部分是依照由下位機向上位機發(fā)送數(shù)據(jù)的通訊協(xié)議表來編寫,通訊協(xié)議表是根據(jù)需要編寫的,限于篇幅,不予介紹。
用戶通過調(diào)速旋鈕實際上是通過調(diào)整電位計來調(diào)速,即電機控制中常見的AD指令調(diào)速。AD調(diào)速電路將電位計上的電壓等比例轉(zhuǎn)換到DSP芯片可接受的范圍,DSP通過AD模塊采集電壓,將其轉(zhuǎn)換為AD數(shù)據(jù),因AD調(diào)速電路中使用的元器件因制造工藝問題會有一定的偏差,導致采集的值與理論上計算值有偏差。因此,此部分功能是調(diào)整AD速度指令的范圍,使得速度指令的零點(速度指令為正則正轉(zhuǎn),為負則反轉(zhuǎn),為零則停轉(zhuǎn))與調(diào)速旋鈕的中點相對應。當速度指令最大值與最小值的絕對值的差在10以內(nèi),則認定速度指令的零點與旋鈕的中點對齊。AD速度指令范圍調(diào)整原理流程如圖6所示。
圖6 AD速度指令范圍調(diào)整程序流程
電機控制器程序是由C語言編寫,通過SEED-XDS560PLUS程序下載仿真器將程序燒入TMS320F28335控制芯片中。本文主要研究設計了數(shù)據(jù)上傳和接收程序、AD速度指令范圍調(diào)整程序。數(shù)據(jù)上傳和接收程序原理請見上位機與下位機數(shù)據(jù)通訊原理部分,此處不在詳述。除本文所研究的程序之外,完整的電機控制程序還包括系統(tǒng)配置程序、讀取AD程序、旋變信號解算程序、電機極對數(shù)選擇程序、SPWM波產(chǎn)生程序和測速程序等,有些程序是在原有程序技術(shù)的基礎上移植過來的,稍有改動,本文不再累述,此處只簡單介紹下位機AD速度指令范圍調(diào)整程序的原理。
如圖7所示,全局變量speed_zhiling就是要調(diào)整的速度指令,改變其值可以改變SPWM幅值,從而控制輸出正弦波。程序可分為三部分,前面是針對電機轉(zhuǎn)動的情況下的處理,即將速度緩慢降為零;中間是指令范圍調(diào)整主體部分;后面是調(diào)整結(jié)束處理部分。AD速度指令范圍調(diào)整是在上位機的配合下完成的,因此整個程序由兩個函數(shù)組成,前兩部分放在一個函數(shù)中,屬于調(diào)整函數(shù);后面的部分單獨一個函數(shù),屬于結(jié)束處理函數(shù)。在調(diào)試時,旋鈕一定要按圖2所述的操作辦法重復幾次。由AD模塊讀取的值一定要經(jīng)過數(shù)字濾波處理,否則會出現(xiàn)帶毛刺的波形,造成測試不準確。
圖7 電機AD速度指令范圍調(diào)整程序流程
通過SEED-XDS560PLUS程序下載仿真器將程序燒入TMS320F28335控制芯片,斷電之后,斷開與仿真連接器的連接,將其與計算機相連,給控制器上電,運行上位機。
對不同的旋鈕,AD調(diào)整參數(shù)是不同的。即使是同一個旋鈕在同一位置時讀取的AD值也會有一點偏差,這跟電位計的制造精度有關(guān),但在實驗的允許誤差之內(nèi)。在實驗的過程中調(diào)整的AD速度指令的最大與最小值的絕對值的差值完全可以在10以內(nèi),實驗結(jié)果如圖8所示。
圖8 AD參數(shù)為2 222時調(diào)整的實驗結(jié)果
圖8的實驗結(jié)果表明了本文不僅實現(xiàn)了上位機與電機控制器的數(shù)據(jù)通信,同時還完成了AD速度指令范圍調(diào)整功能。
[1] 王建新,楊世風,隋美麗.LabWindows/CVI測試技術(shù)及工程應用[M].北京:化學工業(yè)出版社,2006.
[2] Texas Instrument Incorporated.TMS320C28X 系列 DSP的 CPU與外設(上)、(下)[M].張衛(wèi)寧,譯.北京:清華大學出版社,2004.
[3] 宗波,蔣曉春,王軒.DSP芯片SCI模塊在電力電子控制裝置中的應用[J].中國科技信息,2010(3):108-110.
[4] 訾蘭.TMS320F28335 SCI基于 RS-422標準的應用[J].導航,2010(2):55-58.