梁子財
【摘 要】基于 Qt on Android平臺開發(fā)了一款編碼器手機操作軟件,該軟件能夠按照不同編碼器通信協(xié)議對編碼器進行參數(shù)讀寫等操作,簡單便捷地實時監(jiān)測編碼器工作狀態(tài)。該軟件采用藍牙通信與編碼器進行數(shù)據(jù)交換,從而實現(xiàn)對編碼器的操作。文章以HIPERFACE協(xié)議為例,介紹該軟件的開發(fā)與使用流程,以供其他開發(fā)技術(shù)人員進行參考。
【關(guān)鍵詞】Qt on Android;編碼器;手機軟件開發(fā);藍牙通信;HIPERFACE
中圖分類號: TP311 文獻標識碼: A 文章編號: 2095-2457(2019)23-0123-002
DOI:10.19694/j.cnki.issn2095-2457.2019.23.057
【Abstract】Based on Qt on Android platform, an encoder mobile phone operating software is developed. The software can read and write parameters of the encoder according to different encoder communication protocols, and monitor the working status of the encoder in real time simply and conveniently. The software uses Bluetooth communication to exchange data with the encoder to realize the operation of the encoder. The article uses the HIPERFACE protocol as an example to introduce the development and use of the software for reference by other development technicians.
【Key words】Qt on Android; Encoder; Mobile phone software development; Bluetooth communication; HIPERFACE
0 引言
伺服驅(qū)動系統(tǒng)的性能直接影響著數(shù)控裝備的性能,通過增強位置檢測裝置的性能可以提高使伺服驅(qū)動系統(tǒng)的性能[1]。文章使用的HIPERFACE絕對式光電編碼器兼具增量式編碼器和絕對式編碼器兩者的優(yōu)勢,精度與分辨率高。因此可見,將HIPERFACE絕對式光電編碼器作為位置檢測環(huán)節(jié)是不錯的選擇[2]。但是HIPERFACE協(xié)議復雜難懂,對使用人員的專業(yè)水平要求較高。筆者基于Qt on Android平臺開發(fā)了一款編碼器手機操作軟件,該軟件通過手機藍牙與編碼器進行數(shù)據(jù)交換從而實現(xiàn)對編碼器的操作,監(jiān)控編碼器工作狀態(tài)。文章以HIPERFACE協(xié)議為例,介紹該軟件的開發(fā)與使用流程。
1 HIPERFACE絕對式光電編碼器簡介
1.1 工作原理簡介
HIPERFACE絕對式光電編碼器兼具普通增量式光電編碼器和絕對式光電編碼器兩者的優(yōu)點,同時輸出差分傳輸?shù)恼倚盘柡陀嘞倚盘柕脑隽啃盘栆约巴ㄟ^RS485傳輸?shù)亩M制數(shù)字信號,原理圖如圖1所示。
HIPERFACE絕對式光電編碼器采用雙向RS485接口來傳遞各種數(shù)據(jù)參數(shù),絕對位置數(shù)據(jù)可通過參數(shù)通道(RS485)獲得, 這個通過參數(shù)通道獲得的絕對位置主要用于初始化定位以及判斷收到的正余弦信號具體處于哪個周期。HIPERFACE一共有20種不同指令,可以實現(xiàn)20種不同功能,這些功能的都是通過參數(shù)通道的數(shù)據(jù)傳輸來完成的,文章介紹的編碼器手機操作軟件實現(xiàn)的就是這20種功能。
1.2 通信協(xié)議簡介
HIPERFACE絕對式編碼器與移動設(shè)備的對話流程如圖2所示,每一次的對話必須由移動設(shè)備發(fā)起,編碼器才會按照指令進行響應(yīng)。每一次數(shù)據(jù)傳輸,都以地址開頭,以校驗碼結(jié)束。每一次數(shù)據(jù)傳輸幀格式主要由地址、指令、可選數(shù)據(jù)和校驗碼四部分組成。其中,地址、指令和校驗碼部分必須有,而且數(shù)據(jù)長度只有一幀(一幀數(shù)據(jù)長度為11位),而可選數(shù)據(jù)部分則可以根據(jù)需要進行取舍,數(shù)據(jù)長度也不固定,可以為0幀,最多可以132幀。
2 編碼器操作軟件設(shè)計
在本次的操作軟件開發(fā)中,首要的目標是解決 HIPERFACE協(xié)議編碼器指令復雜以及繁多的缺點,因此在設(shè)計中將HIPERFACE的常用指令集成為一個個獨立的按鈕,同時也應(yīng)保留手動輸入指令的功能。由于收到的數(shù)據(jù)是以16進制數(shù)表示,因此需要對這些數(shù)據(jù)進行解碼,轉(zhuǎn)化成相應(yīng)的信息,最后分類顯示。
軟件主要分為兩大部分:藍牙通信模塊和功能模塊,如圖3所示。
藍牙通信模塊:藍牙通信模塊主要負責移動設(shè)備與編碼器直接的數(shù)據(jù)交換,包括生成發(fā)送的數(shù)據(jù)幀以及對接收到的數(shù)據(jù)幀進行解碼分類。
功能模塊:功能模塊又可劃分為常用指令模塊、通信數(shù)據(jù)觀測模塊、編碼器錯誤報警模塊三部分。常用指令模塊將幾個常用的指令設(shè)置成按鈕,用戶點擊相應(yīng)功能按鈕,軟件系統(tǒng)自動生成發(fā)送數(shù)據(jù)幀通過藍牙通信發(fā)送到編碼器。通信數(shù)據(jù)觀測模塊實現(xiàn)對發(fā)送數(shù)據(jù)幀和接收數(shù)據(jù)幀的顯示,驗證發(fā)送與接收的數(shù)據(jù)的準確性。編碼器錯誤報警模塊實現(xiàn)對編碼器系統(tǒng)錯誤信息與報警信息的顯示與處理。具體如圖4所示。
編碼器手機操作軟件的工作流程如圖5所示。在進行編碼器功能操作之前需要打開手機藍牙進行連接。連接成功之后,當某個功能按鍵被按下,編碼器操作軟件將該按鍵對應(yīng)得指令信息發(fā)往藍牙發(fā)送緩沖區(qū)進行自動補齊傳輸數(shù)據(jù)幀。當藍牙接收緩沖區(qū)接收來自編碼器的數(shù)據(jù)之后,軟件對數(shù)據(jù)進行判斷,并將數(shù)據(jù)進行解碼,之后將相應(yīng)信息在標簽或者文本框中顯示。同時為了監(jiān)控編碼器工作狀態(tài)以及通信過程的可靠性,在軟件開發(fā)中增加相應(yīng)的報警顯示以及錯誤提示欄。
3 軟件測試
完成編碼器手機操作軟件開發(fā)之后,需要對其進行測試并對出現(xiàn)的問題進行修正。測試所有功能是否正常響應(yīng),數(shù)據(jù)顯示是否正確,測試結(jié)果如圖6所示。經(jīng)過測試,驗證了編碼器手機操作軟件的使用效果。
4 總結(jié)
筆者基于Qt on Android平臺開發(fā)了一款編碼器手機操作軟件,該軟件通過手機藍牙與編碼器進行數(shù)據(jù)交換從而實現(xiàn)對編碼器進行參數(shù)讀寫等操作,實時監(jiān)測編碼器工作狀態(tài)。文章以HIPERFACE協(xié)議為例,介紹該軟件的開發(fā)與使用流程。最后對軟件進行測試,證明了軟件的實際運用效果。
【參考文獻】
[1]陳琳,鐘文,潘海鴻,等.基于FPGA的絕對式編碼器的解碼電路設(shè)計[J].微特電機,2013,41(8):60-63.
[2]方杰.基于HIPERFACE協(xié)議的絕對式高分辨率編碼器接口設(shè)計和在交流伺服中的應(yīng)用[J].機械制造,2014,52(7):44-46.