999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Qt的農用電機速度數據采集與處理系統

2015-12-26 01:08:34陳翔,張果,王劍平
安徽農業科學 2015年22期
關鍵詞:數據采集

基于Qt的農用電機速度數據采集與處理系統

陳 翔,張 果*,王劍平,楊曉洪,陳偉松

(昆明理工大學信息工程與自動化學院,云南昆明 650500)

摘要采用可跨平臺圖形界面開發工具Qt,設計了農業用電機速度采集與處理系統。該軟件既可以作為一款虛擬儀器在PC機上運行,同時也可移植到ARM處理器的Linux平臺上作為一款便攜式儀器。系統通過采集電機控制板串口傳來的實時電機速度數據,自動描繪電機速度曲線,方便直觀觀察電機速度啟動和運行時的情況,同時可自動分析電機達到給定速度值的響應時間,最大速度,超調情況,有助于在農業上進行電機性能的分析。

關鍵詞數據采集;農用電機; 速度; Qt

中圖分類號S126;TH89

基金項目國家自然科學基金(61364008);云南省自然科學基金(2010CD044)。

作者簡介陳翔(1989-),男,碩士研究生,研究方向:嵌入式系統。*

收稿日期2015-06-02

Data Acquisition and Processing System of Agricultural Motor Speed Based on Qt

CHEN Xiang, ZHANG Guo*,WANG Jian-ping et al (College of Information Engineering and Automation, Kunming University of Science and Technology, Kunming, Yunnan 650500)

AbstractThe system of motor speed acquisition and processing is designed, which adopt the cross-platform graphical interface development tools Qt. The software can be either as a virtual instrument in PC operation, or transplanted to the LINUX platform based on the ARM processer as a portable instrument. The system draw motor speed curve automatically by collecting the real-time speed data from the serial port of motor control board. By this way, it is convenient and intuitive to observe the situation of motor speed when the motor up or run. At the same time, the system can automatically analyze the response time, the maximum speed, overshoot amount. It can analyze the performance of the motors in agriculture.

Key words Data acquisition; Agricultural motor; Speed; Qt

隨著現代農業自動化的迅速發展,電機在農業方面的應用越來越廣泛。電機運行時的速度控制成為電機整體控制的一大關鍵,而如何有效觀察電機速度并分析又成了一大關鍵。單靠直接獲取到的一堆電機速度數據進行逐一分析顯得不直觀且費時間。因此,為了直觀觀察電機速度運行情況,有必要采集電機速度數據并繪制成速度曲線,同時通過軟件對曲線進行自動分析。

該文采用了擴展性,移植性強并且可跨平臺的QT開發工具[1]和串口、Qwt擴展庫,設計了一款可進行電機速度采集與處理的跨平臺軟件。該軟件儀表界面X軸單位秒,Y軸單位為轉每分,通過串口實時獲取電機控制器實時傳送過來的電機數據并描繪成速度曲線圖,在需要曲線分析的情況下可點擊曲線分析按鍵進行分析給定速度值的響應時間,最大速度,超調情況。該軟件可在PC機運行,相當一款虛擬儀器。同時移植到基于CORTEX-A9的Linux平臺上,成為一臺應用于電機速度曲線繪制的便攜式儀器。

1 系統硬件

采用Qt開發的電機速度數據采集與處理系統作為一款虛擬儀器的同時,也可作為一款便攜式電機速度采集與處理儀器[2]。該便攜式儀器主要采用飛思卡爾公司生產的。CORTEX-A9處理器和7寸電容屏。使用時,通過CORTEX-A9處理器的串口連接到電機控制板上的串口實時獲取電機速度數據并自動描繪曲線顯示在7寸電容屏上。

采用Qt開發的程序很容易移植到CORTEX-A9上的Linux平臺。由于Qt的跨平臺性,在開發程序階段,程序可在x86平臺上的PC機完成開發同時也可作為上位機在PC機上運行并進行調試,只要把電機控制板的串口連接到電腦的串口,打開程序的串口,便可實時接收電機速度數據并同時繪制電機速度曲線圖,通過觀察曲線圖便可驗證程序的正確與否,加快程序的開發速度。在程序開發結束后,可采用Qt的ARM版本 qmake編譯工具,便可編譯成可移植到CORTEX-A9平臺上的軟件,完成便攜式儀器的制作。

2 系統軟件設計

軟件設計主要分為數據采集通信模塊,繪圖模塊和曲線分析模塊。采用Qt圖形用戶界面編程工具Qt Designer進行軟件界面設計和采用信號-槽(signals and slots)機制進行程序設計。由于Qt庫具有良好的擴展功能,在沒有串口庫和儀器儀表界面庫的情況下,可采用第3方的擴展庫或自己編寫的庫進行擴展。這里主要采用第3方的qextserialport類串口庫和Qwt圖形庫進行擴展。Qwt庫提供了儀表盤,圓盤,畫布,坐標軸,指南針等基礎GUI組件,采用這些GUI組件可以做出優秀的儀器儀表軟件界面。軟件設計結構如圖1。

圖1  軟件設計結構

2.1數據采集通信模塊

2.1.1 串口通信模塊。qextserialport類是基于Qt程序串口類[3],在windows系統和linux系統都適用。在軟件設計中串口參數設置中,主要用到qextserialport類中設置波特率setBaudRat(BaudRateType)函數,設置數據位setDataBits(DataBitsType)函數,設置校驗位setParity(ParityType)函數,設置停止位setStopBits(StopBitsType)函數這幾個函數。

在設置串口端口時,由于linux平臺和windows平臺有所差別,為了使得代碼能兼容兩個平臺,如下面代碼所示,采用預定義的方法,Qt編譯器會根據不同平臺進行選擇編譯。同時最后一行實現了信號與槽的連接,當串口接收到數據以后,會調用readMyCom函數。

#ifdef Q_OS_LINUX

myCom=newQextSerialPort(“/dev/”+portName);

#elif defined (Q_OS_WIN)

myCom= new QextSerialPort(portName);

#endif

connect(myCom,SIGNAL(readyRead()),this,SLOT(readMyCom()));

需要注意的是,進行讀取電機速度數據時,在讀取數據函數myCom->readAll()前加判斷語句if(myCom->bytesAvailable()>8), if(myCom->bytesAvailable()>8)這條語句是讓串口緩沖區有了一定大于8個字節的數據后再讀取,這樣使得電機控制板發送過來的速度數據完整,比如電機控制板串口發送(速度為2 500 r/min)給軟件,如果不加語if(myCom->bytesAvailable()>8),會使得軟件有可能第一次收到250 r/min數據,第2次收到0 r/min,產生的電機速度曲線波形會嚴重失真。

2.1.2 數據采集頻率設置。電機控制板串口會按照一定的頻率實時送電機速度數據到采集軟件上,為了使得采集的每個速度數據在軟件曲線繪制界面上顯示都有對應的時間,需要在軟件界面上進行電機速度數據采集頻率設置,電機速度采集頻率和電機控制板串口實時發送速度數據的頻率是一樣的。

2.1.3 保存數據。 為了方便分析電機速度數據,可在軟件界面上點擊保存功能,可保存電機速度數據及對應時間,同時在讀取電機速度數據時,可點擊讀取按鍵打開保存的電機數據文件,方便日后分析。

2.2繪圖模塊 繪圖模塊采用了第3方提供的Qwt庫的QwtPlot類,是一個二維繪圖部件,提供了畫布與二維坐標軸。在QwtPlot的畫布上可以顯示無限繪畫組件。這些繪圖組件包括曲線(QwtPlotCurve),標簽(QwtPlotMarker),網格(QwtPlotGrid),或者其它任意的從QwtPlotItem派生出來的子類。通過這些繪圖組件,實現電機速度曲線的繪制。具體實現如下。

2.2.1 設置背景。 首先是設置畫布網格,畫布顏色,曲線顏色等,畫布其實就是電機速度曲線的背景,類似實物信號示波器上的背景。具體實現如下:

(1)設置畫布顏色。

ui->qwtPlot->canvas()->setPalette(QPalette (QColor(Qt::darkCyan)));

(2)設置畫布網絡。

QwtPlotGrid *grid = new QwtPlotGrid;

(3)設置曲線顏色為紅色。

curve->setPen(QPen(Qt::red,3, Qt::SolidLine));

2.2.2 繪制曲線。 在繪制曲線時,需要一個數據容器進行存儲采集從電機控制板串口傳過來的數據。采用Qt常用的普通容器QVector類進行存儲數據,QVector類是一個提供動態數組的模板類。它將自己的每一個數據存儲在連續的內存中,可以使用索引號來快速訪問它們。當串口讀取到達到設置的緩沖數據時,會發射readyRead()信號,通過信號與槽的機制觸發槽串口函數readMyCom(),在readMyCom()函數中把獲取到的串口數據存儲QVector容器中。同時設置定時器,每50 s″調用setSamples函數傳入容器存儲的數據以進行曲線數據的更新,通過attach函數把重新加載數據后的曲線附加到畫布上,最后通過replot函數[4]進行重新繪制曲線。具體實現方法如下:

QVector xs;//設置存儲時間數據的X軸;

QVector ys;//設置存儲速度數據的Y軸;

xs.append(temp);// 把每次串口獲取到的速度數據插入到xs數據存儲容器

ys.append(times);//把每次新速度數據對應時間數據插入到ys數據存儲容器

每50 s″執行下面語句。

curve->setSamples(xs,ys);//加載曲線數據

curve->attach(ui->qwtPlot);//把曲線附加到畫布上;

ui->qwtPlot->replot();//QwtPlot重繪繪制曲線。

2.3曲線分析電機速度采集與處理系統可單一觀察電機速度描繪出來的曲線,同時為了便于在進行電機閉環轉速控制時觀察電機速度曲線的響應時間,超調情況等,在軟件界面設置給定電機速度,采集頻率后,可點擊“曲線分析”按鍵,便會等待曲線達到穩定狀態后計算出達到穩定速度的響應時間,超調情況,期間最大電機速度等。

響應時間是曲線速度從零至到達并停留在穩態值的±5%或±2%的誤差范圍內所需的最小時間。在此軟件設計中響應時間的計算是當給定速度值小于500 r/min時,達到并停留在給定速度值的±5%范圍內所需要的最小時間。當給定速度值大于500 r/min,達到并停留在給定速度值的±2%范圍內所需要的最小時間。

最大速度值是指電機運行過程出現的最大速度值。

超調情況主要計算曲線速度未到達穩定狀態前大于給定速度值的電機速度第一個峰值時的超調情況。

3軟件測試

為了驗證電機速度數據采集與處理系統的效果,采用了基于閉環轉速PID控制的無刷直流電機進行驗證。無刷直流電機控制板采用STM32F103VC作為處理器。電機速度通過STM32F103VC處理器檢測無刷直流電機的霍爾傳感器信號進行運算,運算公式RPM=60/(6×△T×磁極對數)。其中,△T為換一次相所花的時間秒數。將運算后的速度值通過電機控制板串口傳到電機速度采集與處理系統。

3.1設置軟件參數電機控制板的串口傳送數據速率為0.02 kHZ,設置的電機給定值是2 500 r/min,因此在軟件界面上輸入電機速度給定值2 500,采集頻率0.02。如果無需進行曲線分析的話,只需設置采集頻率,而不用在軟件界面設置給定速度值,設置給定速度值一般針對閉環轉速控制情況。同時設置好串口參數,打開串口,點擊開始采集數據,啟動無刷直流電機,軟件就開始自動描繪曲線,由于是PID控制,點擊曲線分析按鍵進行自動分析響應時間,最大速度,超調情況。

3.2測試結果 如圖2曲線所示,很直觀看出電機速度曲線出現超調情況,通過曲線分析得知電機的最大速度是3 171 r/min,響應時間短,在0.25 s時就達到穩定狀態,超調量較大,達到26.840%。響應時間短,不過超調量顯示比較大,還需要對比例參數P進行調節。可以看出,電機速度數據采集與處理系統對電機性能分析起到相當良好的作用。

圖2  測試介面

4 結束語

采用Qt開發的農用電機速度與處理系統既可以作為一款虛擬儀器在PC機上使用,避免使用實際儀器帶來的昂貴成本。又可以移植到ARM平臺上作為一款可便攜式儀器,該儀器方便攜帶,避免了在不方便時帶著笨重的PC機。由于是采集電機速度,采集速率要求不高,無需使用昂貴的采集卡,利用串口接口就可實現電機速度采集[5],有效降低采集數據成本[6]。該系統可以為電機在農業方面的使用提供一定的技術支持,更好地分析電機的運行情況。且系統能實時動態描繪電機速度曲線,使得觀察電機速度運行更加直觀,同時可分析響應時間,調節情況,最大速度等電機各方面的性能。

參考文獻

[1] 李文帆,劉志剛,伍文城,等.基于Qt的電力系統地理接線圖繪制軟件設計[J].電力系統自動化,2013,37(7):72-76.

[2] 顏理政,楊陽,彭力,等.基于Qt的電測量儀表校驗系統界面[J].計算機系統應用, 2014,23(5):241-244.

[3] 林賢賢,呂冬華,楊永杰,等. 基于Qt的鞋底摩擦力測試軟件的設計[J].測控技術,2012,32(7):106-109.

[4] 張寧.基于Qt的虛擬儀器設計與應用[J].測控技術, 2014,33(6):123-126.

[5] 高丹華,楊戀,董慶慶,等.基于QT的高性能超聲探傷儀[J].儀表技術與傳感器,2014(10):17-18.

[6] 袁碧金,吳雷,李鵬程.基于專家PID控制三相交流斬波調壓系統[J].電力電子技術,2010,44(5):82-83.

猜你喜歡
數據采集
Web網絡大數據分類系統的設計與改進
CAN總線通信技術在電梯監控系統中的應用
基于大型嵌入式系統的污水檢測系統設計
社會保障一卡通數據采集與整理技巧
基于AVR單片機的SPI接口設計與實現
CS5463在植栽用電子鎮流器老化監控系統中的應用
大數據時代高校數據管理的思考
科技視界(2016年18期)2016-11-03 22:51:40
鐵路客流時空分布研究綜述
基于廣播模式的數據實時采集與處理系統
軟件工程(2016年8期)2016-10-25 15:54:18
通用Web表單數據采集系統的設計與實現
軟件工程(2016年8期)2016-10-25 15:52:53
主站蜘蛛池模板: 国产成人永久免费视频| 久久狠狠色噜噜狠狠狠狠97视色| 91香蕉视频下载网站| 欧美天堂久久| 五月天天天色| a级毛片在线免费观看| 中文无码影院| 欧美特黄一级大黄录像| 亚洲中文在线看视频一区| 久久午夜夜伦鲁鲁片不卡| 伊人久久综在合线亚洲91| 99精品视频播放| 久久综合丝袜长腿丝袜| 欧美日韩一区二区在线免费观看| 99re这里只有国产中文精品国产精品| 国产在线拍偷自揄观看视频网站| 欧美成人一区午夜福利在线| 一区二区影院| 青青青国产视频手机| 狠狠色丁香婷婷| 九色在线观看视频| 99久久亚洲精品影院| 一级爱做片免费观看久久| 色香蕉网站| 韩日免费小视频| 国产精品久久久久久久久| 91麻豆国产在线| 欧美综合成人| 午夜毛片免费观看视频 | 77777亚洲午夜久久多人| 性欧美在线| 国产精品自拍合集| 国产av一码二码三码无码| 亚洲欧美日韩精品专区| 免费看一级毛片波多结衣| 亚洲精品手机在线| 久久网欧美| 亚洲一道AV无码午夜福利| 激情综合婷婷丁香五月尤物| 欧美日韩北条麻妃一区二区| 欧美一级专区免费大片| 狠狠色狠狠色综合久久第一次| 国产精品一区在线麻豆| 中文无码精品a∨在线观看| 91亚洲免费视频| 亚洲美女操| 久青草免费在线视频| 在线国产你懂的| 国产一级视频久久| 8090成人午夜精品| 天堂在线亚洲| 亚洲无码91视频| 亚洲AV无码精品无码久久蜜桃| 成人免费视频一区二区三区| 无码电影在线观看| 欧美一级特黄aaaaaa在线看片| 久久中文电影| 情侣午夜国产在线一区无码| 特级欧美视频aaaaaa| 亚洲第一中文字幕| 91视频区| 国产高清不卡视频| 夜夜爽免费视频| 成人小视频在线观看免费| 精品久久高清| 国产精品综合色区在线观看| 国产91视频观看| 国产精品亚洲专区一区| 91青青草视频在线观看的| 久久久亚洲国产美女国产盗摄| 国产日产欧美精品| 亚洲福利一区二区三区| 精品国产www| 久久夜色精品国产嚕嚕亚洲av| 亚洲欧美日韩色图| 国内精品久久人妻无码大片高| 一本久道久综合久久鬼色| 男女猛烈无遮挡午夜视频| 亚洲三级视频在线观看| 亚洲欧美综合另类图片小说区| 亚洲一区网站| 国产亚洲欧美日韩在线观看一区二区 |