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