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
主站蜘蛛池模板: 国产精品短篇二区| 91久久夜色精品国产网站| 日韩免费成人| 永久免费无码日韩视频| 一区二区在线视频免费观看| 中文字幕无码制服中字| 国产97公开成人免费视频| 亚洲欧美色中文字幕| 国产久操视频| 精品久久综合1区2区3区激情| 国产H片无码不卡在线视频| 精品福利视频导航| 欧美一级高清片欧美国产欧美| 欧美日韩精品一区二区在线线 | 97国产在线观看| 99视频精品在线观看| 九色最新网址| 国产一级毛片yw| 久久精品91麻豆| 小说 亚洲 无码 精品| 91免费片| 在线毛片免费| 亚洲系列无码专区偷窥无码| 免费又黄又爽又猛大片午夜| 国产成人精品一区二区三区| 精品撒尿视频一区二区三区| 永久免费无码日韩视频| 伊人久综合| 日本午夜精品一本在线观看 | 激情无码字幕综合| 国产永久无码观看在线| 五月婷婷精品| 色香蕉影院| 国产在线观看人成激情视频| 日韩第九页| 亚洲视频a| 青青青国产在线播放| 国产精品三级av及在线观看| 中国国产一级毛片| 一级毛片在线播放| 99久久国产精品无码| 国产毛片片精品天天看视频| 成人亚洲视频| 毛片免费在线| 亚洲swag精品自拍一区| 午夜成人在线视频| 久久人人97超碰人人澡爱香蕉 | 九九视频免费看| 91网站国产| 午夜久久影院| 欧美日韩北条麻妃一区二区| 视频二区亚洲精品| 第九色区aⅴ天堂久久香| 日本黄色a视频| aⅴ免费在线观看| 国产系列在线| 国产xxxxx免费视频| 亚洲人网站| 欧洲极品无码一区二区三区| 精品三级网站| 狂欢视频在线观看不卡| 日本不卡在线视频| 国产亚洲美日韩AV中文字幕无码成人| 欲色天天综合网| 就去吻亚洲精品国产欧美| 久久久久无码国产精品不卡 | 国内精品91| 深爱婷婷激情网| 日韩欧美一区在线观看| 国产成人久久777777| 色国产视频| 日韩精品亚洲精品第一页| 国产精品露脸视频| 精品国产电影久久九九| 亚洲天堂在线免费| 伊伊人成亚洲综合人网7777| 国产午夜不卡| 蜜桃视频一区二区| 亚洲人成日本在线观看| www.亚洲色图.com| 国产91视频观看| 中国一级特黄大片在线观看|