梁子財
【摘 要】基于 Qt on Android平臺開發(fā)了一款編碼器手機操作軟件,該軟件能夠按照不同編碼器通信協(xié)議對編碼器進行參數讀寫等操作,簡單便捷地實時監(jiān)測編碼器工作狀態(tài)。該軟件采用藍牙通信與編碼器進行數據交換,從而實現對編碼器的操作。文章以HIPERFACE協(xié)議為例,介紹該軟件的開發(fā)與使用流程,以供其他開發(fā)技術人員進行參考。
【關鍵詞】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 引言
伺服驅動系統(tǒng)的性能直接影響著數控裝備的性能,通過增強位置檢測裝置的性能可以提高使伺服驅動系統(tǒng)的性能[1]。文章使用的HIPERFACE絕對式光電編碼器兼具增量式編碼器和絕對式編碼器兩者的優(yōu)勢,精度與分辨率高。因此可見,將HIPERFACE絕對式光電編碼器作為位置檢測環(huán)節(jié)是不錯的選擇[2]。但是HIPERFACE協(xié)議復雜難懂,對使用人員的專業(yè)水平要求較高。筆者基于Qt on Android平臺開發(fā)了一款編碼器手機操作軟件,該軟件通過手機藍牙與編碼器進行數據交換從而實現對編碼器的操作,監(jiān)控編碼器工作狀態(tài)。文章以HIPERFACE協(xié)議為例,介紹該軟件的開發(fā)與使用流程。
1 HIPERFACE絕對式光電編碼器簡介
1.1 工作原理簡介
HIPERFACE絕對式光電編碼器兼具普通增量式光電編碼器和絕對式光電編碼器兩者的優(yōu)點,同時輸出差分傳輸的正弦信號和余弦信號的增量信號以及通過RS485傳輸的二進制數字信號,原理圖如圖1所示。
HIPERFACE絕對式光電編碼器采用雙向RS485接口來傳遞各種數據參數,絕對位置數據可通過參數通道(RS485)獲得, 這個通過參數通道獲得的絕對位置主要用于初始化定位以及判斷收到的正余弦信號具體處于哪個周期。HIPERFACE一共有20種不同指令,可以實現20種不同功能,這些功能的都是通過參數通道的數據傳輸來完成的,文章介紹的編碼器手機操作軟件實現的就是這20種功能。
1.2 通信協(xié)議簡介
HIPERFACE絕對式編碼器與移動設備的對話流程如圖2所示,每一次的對話必須由移動設備發(fā)起,編碼器才會按照指令進行響應。每一次數據傳輸,都以地址開頭,以校驗碼結束。每一次數據傳輸幀格式主要由地址、指令、可選數據和校驗碼四部分組成。其中,地址、指令和校驗碼部分必須有,而且數據長度只有一幀(一幀數據長度為11位),而可選數據部分則可以根據需要進行取舍,數據長度也不固定,可以為0幀,最多可以132幀。
2 編碼器操作軟件設計
在本次的操作軟件開發(fā)中,首要的目標是解決 HIPERFACE協(xié)議編碼器指令復雜以及繁多的缺點,因此在設計中將HIPERFACE的常用指令集成為一個個獨立的按鈕,同時也應保留手動輸入指令的功能。由于收到的數據是以16進制數表示,因此需要對這些數據進行解碼,轉化成相應的信息,最后分類顯示。
軟件主要分為兩大部分:藍牙通信模塊和功能模塊,如圖3所示。
藍牙通信模塊:藍牙通信模塊主要負責移動設備與編碼器直接的數據交換,包括生成發(fā)送的數據幀以及對接收到的數據幀進行解碼分類。
功能模塊:功能模塊又可劃分為常用指令模塊、通信數據觀測模塊、編碼器錯誤報警模塊三部分。常用指令模塊將幾個常用的指令設置成按鈕,用戶點擊相應功能按鈕,軟件系統(tǒng)自動生成發(fā)送數據幀通過藍牙通信發(fā)送到編碼器。通信數據觀測模塊實現對發(fā)送數據幀和接收數據幀的顯示,驗證發(fā)送與接收的數據的準確性。編碼器錯誤報警模塊實現對編碼器系統(tǒng)錯誤信息與報警信息的顯示與處理。具體如圖4所示。
編碼器手機操作軟件的工作流程如圖5所示。在進行編碼器功能操作之前需要打開手機藍牙進行連接。連接成功之后,當某個功能按鍵被按下,編碼器操作軟件將該按鍵對應得指令信息發(fā)往藍牙發(fā)送緩沖區(qū)進行自動補齊傳輸數據幀。當藍牙接收緩沖區(qū)接收來自編碼器的數據之后,軟件對數據進行判斷,并將數據進行解碼,之后將相應信息在標簽或者文本框中顯示。同時為了監(jiān)控編碼器工作狀態(tài)以及通信過程的可靠性,在軟件開發(fā)中增加相應的報警顯示以及錯誤提示欄。
3 軟件測試
完成編碼器手機操作軟件開發(fā)之后,需要對其進行測試并對出現的問題進行修正。測試所有功能是否正常響應,數據顯示是否正確,測試結果如圖6所示。經過測試,驗證了編碼器手機操作軟件的使用效果。
4 總結
筆者基于Qt on Android平臺開發(fā)了一款編碼器手機操作軟件,該軟件通過手機藍牙與編碼器進行數據交換從而實現對編碼器進行參數讀寫等操作,實時監(jiān)測編碼器工作狀態(tài)。文章以HIPERFACE協(xié)議為例,介紹該軟件的開發(fā)與使用流程。最后對軟件進行測試,證明了軟件的實際運用效果。
【參考文獻】
[1]陳琳,鐘文,潘海鴻,等.基于FPGA的絕對式編碼器的解碼電路設計[J].微特電機,2013,41(8):60-63.
[2]方杰.基于HIPERFACE協(xié)議的絕對式高分辨率編碼器接口設計和在交流伺服中的應用[J].機械制造,2014,52(7):44-46.