實時電機轉(zhuǎn)矩和磁鏈的數(shù)據(jù)采集系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于電機的生產(chǎn)技術(shù)領(lǐng)域。
【背景技術(shù)】
[0002]轉(zhuǎn)矩信號是各種動力機械運行狀態(tài)監(jiān)測、安全與優(yōu)化控制和故障識別預(yù)報的主要信息源。對負(fù)載轉(zhuǎn)矩實時瞬態(tài)監(jiān)測可以深入了解到電機在運行的每個位置處的轉(zhuǎn)矩波動,對電機優(yōu)化設(shè)計具有重要意義。同時,電機繞組電壓、電流等信息是電機工作運行狀態(tài)最直接的評判參數(shù),電機的許多其它運行參量都間接地與它們有關(guān),這些參數(shù)精確的采樣和正確迅速的數(shù)據(jù)處理對電機控制來說是至關(guān)重要的。現(xiàn)有轉(zhuǎn)矩采集系統(tǒng)一般采集精度較低,不能將轉(zhuǎn)矩瞬態(tài)變化反映出來,精度好的數(shù)據(jù)采集卡價格又相對昂貴,價格低的采樣頻率較低,而且抗干擾性不強。本項目重點在于通過電路參數(shù)仿真和實驗自主設(shè)計采樣電路,精確采樣負(fù)載轉(zhuǎn)矩和電壓電流信號,并將結(jié)果實時通過上位機顯示出來,具備很強的直觀性和實時性;設(shè)計的數(shù)據(jù)采集系統(tǒng)精度高,成本較低,對電機性能的一些測試實驗數(shù)據(jù)提供更加精確的米集。
[0003]轉(zhuǎn)矩傳感器的輸出為變頻率脈沖信號,故精確測量轉(zhuǎn)矩瞬時狀態(tài)等價于精確測量頻率。頻率測量是電子測量領(lǐng)域最基本的測量之一,頻率信號抗干擾性強、易于傳輸、測量準(zhǔn)確度較高,因此許多非頻率傳感信號都轉(zhuǎn)化為頻率量來進(jìn)行測量和處理,頻率測量的方法也越來越引起關(guān)注和研究。以往的頻率測量,通常采用直接測頻法或分頻段測頻法,以單片機或CPLD為核心,由于基準(zhǔn)頻率低造成了測量精度不高、測量時間長的問題。如果采用單片機測量,優(yōu)點是設(shè)計電路簡單,成本低,實現(xiàn)容易;局限性在于單片機受本身時鐘頻率和若干指令運算的限制,計數(shù)器工作信號頻率不能太高,從而導(dǎo)致測量準(zhǔn)確度低,可靠性差。CPLD和FGPA都需要外接晶振作為時鐘,在使用高頻率晶振情況下,電路板元器件之間的高頻干擾使布線難度很大,并且會對系統(tǒng)的穩(wěn)定性產(chǎn)生很大影響,使其精度也難以達(dá)到很高的精度。DSP具有極高的處理速度,可以應(yīng)用于具有很高實時性的場合。由于內(nèi)部具有鎖相環(huán)(PLL)倍頻的功能,可以外接較低的頻率,而在DSP內(nèi)部經(jīng)過倍頻后得到較高的時鐘頻率作為信號處理的時鐘,這樣就避免了外接高頻頻率源而在PCB板產(chǎn)生高頻干擾和使系統(tǒng)不穩(wěn)定的情況。現(xiàn)在DSP技術(shù)已經(jīng)成熟,DSP芯片價格也在不斷降低,利用DSP設(shè)計系統(tǒng)具有很高的性價比,TMS320F28335具有150MHz的主頻,每個單獨的eCap模塊具有獨立的32位計數(shù)器,4級事件深度來捕獲脈沖上升沿/下降沿,因此采用DSP芯片作為主處理芯片是很合適的。
[0004]另一方面,現(xiàn)在大部分上位機監(jiān)控界面基本是單線程的,GUI響應(yīng)和繪圖與10數(shù)據(jù)處理公用一個線程這樣數(shù)據(jù)收發(fā)處理與曲線顯示不能同時進(jìn)行,必須有先后順序,這不但使得數(shù)據(jù)吞吐量和效率的降低,還有可能導(dǎo)致曲線顯示時的卡頓一一因為生產(chǎn)者和消費者完全可以同時操作緩沖區(qū)數(shù)據(jù)的不同部分,只要保證生產(chǎn)者能夠及時提供數(shù)據(jù),消費者的使用速度不會超過生產(chǎn)者即可。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的是設(shè)計一種能實現(xiàn)瞬時磁鏈和轉(zhuǎn)矩信號的準(zhǔn)確采集并將其曲線平滑繪制在監(jiān)控界面上的實時電機轉(zhuǎn)矩和磁鏈的數(shù)據(jù)采集系統(tǒng)。
[0006]本發(fā)明包括下位機數(shù)據(jù)采集系統(tǒng)、串口和Qt編寫的使用雙緩沖技術(shù)的上位機監(jiān)控系統(tǒng),所述下位機數(shù)據(jù)采集系統(tǒng)包括以DSP TMS320F28335芯片為核心的處理單元、電壓信號調(diào)理器、電流信號調(diào)理器、頻率信號調(diào)理器、ADC模塊、eCap模塊和SCI模塊,電壓信號調(diào)理器和電流信號調(diào)理器分別通過ADC模塊與DSP TMS320F28335芯片連接,頻率信號調(diào)理器通過eCap模塊與DSP TMS320F28335芯片連接,DSP TMS320F28335芯片通過SCI模塊輸出,并通過串口輸入至上位機監(jiān)控系統(tǒng);所述上位機監(jiān)控系統(tǒng)主要由I/O數(shù)據(jù)處理線程、GUI邏輯線程和波形顯示通道組成,所述I/O數(shù)據(jù)處理線程用于接收/發(fā)送、解碼來自于下位機傳的電流、電壓和頻率信號,GUI邏輯線程用于將來自于I/O數(shù)據(jù)處理線程的用戶事件進(jìn)行邏輯計算并進(jìn)行實時曲線繪制,I/O數(shù)據(jù)處理線程和GUI邏輯線程各自分配一個緩沖隊列,分別用于存放下位機發(fā)來數(shù)據(jù)的隊列為生產(chǎn)者隊列、用于存放待繪制顯示的數(shù)據(jù)隊列為消費者隊列,當(dāng)生產(chǎn)者隊列完成全部寫入,且消費者隊列完成全部讀出后,則原生產(chǎn)者隊列和原消費者隊列進(jìn)行一次切換,原生產(chǎn)者隊列轉(zhuǎn)為消費者隊列,原消費者隊列轉(zhuǎn)換為生產(chǎn)者隊列;所述波形顯示通道在每個定時事件發(fā)生后進(jìn)行一次界面重繪,界面重繪是將整個曲線向左平移空出一個像素區(qū)并記錄次新點數(shù)據(jù),再記錄最新點數(shù)據(jù),在繪圖事件中將次新點數(shù)據(jù)和最新點數(shù)據(jù)用直線連接。
[0007]本發(fā)明下位機系統(tǒng)實現(xiàn)了高速高精度的頻率測量和精確的電壓電流模擬信號的測量,依據(jù)轉(zhuǎn)矩與轉(zhuǎn)矩傳感器輸出的頻率信號之間的映射關(guān)系就能將轉(zhuǎn)矩瞬態(tài)變化反映出來,TMS320F28335的ADC模塊具有12.5MHz的高轉(zhuǎn)換速率和兩路保持器,工作與同步模式時可將某一時刻的電壓電流信號同時記錄下來,這為實時而精準(zhǔn)地計算瞬時磁鏈提供了保障;為了界面交互性能和防止阻塞,上位機部分在運行階段開啟兩個線程(數(shù)據(jù)處理線程和GUI主線程),改善了傳統(tǒng)電機監(jiān)控界面在大數(shù)據(jù)吞吐量時出現(xiàn)的界面卡頓和失去響應(yīng)的問題,GUI主線程負(fù)責(zé)實時曲線繪制和響應(yīng)用戶事件,數(shù)據(jù)處理線程負(fù)責(zé)處理下位機傳送來的原始數(shù)據(jù),每個線程分配一個緩沖隊列,負(fù)責(zé)存放下位機發(fā)來數(shù)據(jù)的隊列為生產(chǎn)者隊列,負(fù)責(zé)存放待繪制顯示的數(shù)據(jù)隊列為消費者隊列;以雙緩沖技術(shù)為核心,而上位機曲線也要實時繪制,同步或互斥的開銷會很明顯,使用雙緩沖隊列模式來改善這一問題。這兩個緩沖區(qū),總是一個用于生產(chǎn)者,另一個用于消費者。當(dāng)兩個緩沖區(qū)隊列都操作完,再進(jìn)行一次切換(先前被生產(chǎn)者寫入的轉(zhuǎn)為消費者讀出,先前消費者讀取的轉(zhuǎn)為生產(chǎn)者寫入)。采取讀操作優(yōu)先的切換策略,即生產(chǎn)者只要發(fā)現(xiàn)消費者緩沖隊列空閑,馬上切換以為曲線繪制線程提供數(shù)據(jù)。由于生產(chǎn)者和消費者不會同時操作同一個緩沖區(qū)(不發(fā)生沖突),所以就不需要在讀寫每一個數(shù)據(jù)單元的時候都進(jìn)行同步/互斥操作(區(qū)別于傳統(tǒng)的單緩沖區(qū)),這體現(xiàn)了空間換時間的優(yōu)化思路;該上位機界面采用新的繪圖機制,每個定時事件發(fā)生后進(jìn)行一次界面重繪,繪圖事件刷新時并不是將整個繪圖區(qū)域重繪,而是將整個曲線向左平移一定像素并記錄次新點數(shù)據(jù),再記錄最新點數(shù)據(jù),即只更新由于平移而空出的一個小區(qū)域,在繪圖事件中只是將次新點數(shù)據(jù)和最新點數(shù)據(jù)用直線連接,而不是像傳統(tǒng)的繪制機制一樣將大量重復(fù)的數(shù)據(jù)點繪制,從而有效減少了繪圖事件帶來的時間開銷和繪圖時經(jīng)常會出現(xiàn)的閃爍問題,實現(xiàn)了數(shù)據(jù)曲線自右向左的平滑移動效果。
[0008]本發(fā)明采取把邏輯處理和I/O處理分離的策略,I/O線程即負(fù)責(zé)與下位機通信的數(shù)據(jù)處理線程,處理的I/o事件包括數(shù)據(jù)包的接收/發(fā)送、解碼、連接的建立和維護(hù)等。邏輯線程對收到的數(shù)據(jù)包進(jìn)行邏輯處理,如將原始的AD數(shù)據(jù)計算為電壓電流和磁鏈數(shù)據(jù)并繪制曲線,即GUI主線程。通常I/O線程和邏輯線程之間是通過數(shù)據(jù)包隊列來交換信息,簡單來說就是一個生產(chǎn)者-消費者模式。傳統(tǒng)的生產(chǎn)者-消費者模式中生產(chǎn)者(下位機發(fā)來的數(shù)據(jù))和消費者(即將被繪制的數(shù)據(jù))公用一個普通緩沖隊列,這個隊列在兩個線程共享訪問時必須加鎖,意味著每次出現(xiàn)同時訪問都要加鎖。存在“內(nèi)存分配的開銷”和“同步/互斥的開銷”兩個性能問題,使用雙緩沖隊列模式來改善這一問題。這兩個緩沖區(qū),總是一個用于生產(chǎn)者,另一個用于消費者。當(dāng)兩個緩沖區(qū)隊列都操作完,再進(jìn)行一次切換(先前被生產(chǎn)者寫入的轉(zhuǎn)為消費者讀出,先前消費者讀取的轉(zhuǎn)為生產(chǎn)者寫入)。采取讀操作優(yōu)先的切換策略,即生產(chǎn)者只要發(fā)現(xiàn)消費者緩沖隊列空閑,馬上切換以為曲線繪制線程提供數(shù)據(jù)。由于生產(chǎn)者和消費者不會同時操作同一個緩沖區(qū)(不發(fā)生沖突),所以就不需要在讀寫每一個數(shù)據(jù)單元的時候都進(jìn)行同步/互斥操作(區(qū)別于傳統(tǒng)的單緩沖區(qū))。
[0009]本發(fā)明改善了實時數(shù)據(jù)曲線繪制(7)中存在的普遍存在的由于繪制時間較長而無法滿足實時顯示的問題。該上位機界面采用新的繪圖機制,每個定時事件發(fā)生后進(jìn)行一次界面重繪,繪圖事件刷新時并不是將整個繪圖區(qū)域重繪,而是將整個曲線向左平移一定像素并只更新由于平移而空出的一個小區(qū)域,在繪圖事件中只是將次新點數(shù)據(jù)和最新點數(shù)據(jù)用直線連接,而不是像傳統(tǒng)的繪制機制一樣將大量重復(fù)的數(shù)據(jù)點進(jìn)行繪制,從而有效減少了繪圖事件帶來的時間開銷和繪圖時經(jīng)常會出現(xiàn)的閃爍問題,實現(xiàn)了數(shù)據(jù)曲線自右向左的平滑移動效果。
[0010]本發(fā)明基于DSP的高精度數(shù)據(jù)采集系統(tǒng)與電機實時監(jiān)控系統(tǒng),在傳統(tǒng)多線程的生產(chǎn)者-消費者模式的基礎(chǔ)之上,