針對當前流量計教學中存在的理論講解過于抽象化、視頻展示過于簡潔,缺少互動環(huán)節(jié),而實物演示教學設 備成本太高的問題,設計了流量計三維教學仿真系統(tǒng)。在此系統(tǒng)設計中,以n型管段式超聲波流量計為研究對象,首 先是利用3DMAX建模工具對其進行三維建模,再將經(jīng)過渲染處理后的模型導入上位機軟件Unity3D中,然后制作能 夠控制教學展示的下位機系統(tǒng),最后讓下位機系統(tǒng)與上位機系統(tǒng)進行通信,從而實現(xiàn)了超聲波流量計的三維動態(tài)展示 和交互式教學仿真的功能。該系統(tǒng)充分利用虛擬現(xiàn)實技術(shù)中的三維建模技術(shù)和三維交互技術(shù)的優(yōu)勢,給教學帶入了 真實感,增強了學員學習的積極性,提升了學習效率,縮短了學習周期,降低了教學成本。
1.引 言
隨著現(xiàn)代工業(yè)的發(fā)展,流量的測量在各種工業(yè)過程中 占據(jù)了不可取代的地位,通過流量計將所檢測的各種信號 轉(zhuǎn)化為電信號,然后將生成的電信號上傳給上位機,通過上 位機來實現(xiàn)信號的處理以及控制命令的下達,這已成為現(xiàn) 代工控的主流方式。
現(xiàn)今流量計的教學主要采取理論講解與實物展示相結(jié) 合的方式。理論講解以灌溉式為主,老師是知識的主要載 體,學員被動的接受,在這種情況下,課堂教學耗時較長,學 習的效率低,枯燥的知識會讓學員產(chǎn)生厭煩心理;而實物展示成本高,缺少課堂互動環(huán)節(jié),效果有限。
在超聲波流量計的研究中,王雪峰等人通過對超聲 波氣體流量計的管道模型仿真和誤差分析,驗證了氣體超 聲波流量計流場誤差產(chǎn)生的原因、范圍;阮芬等人通過對 超聲波流量計反射聲道對比仿真研究,為超聲波流量計優(yōu) 化測量提供方法;鄧凱通過對超聲波流量計的設計與研 究,提出超聲波流量計整體設計方案。上述學者用各自的 方式實現(xiàn)了超聲波流量計的仿真與研究,效果各有不同,但 均未涉及對超聲波流量計的三維教學仿真,缺乏真實的可 視化顯示及交互功能。
針對以上情況,筆者設計了基于Unity3D的超聲波流量計仿真教學系統(tǒng),在該系統(tǒng)中引入三維建模技術(shù)、三維顯 示技術(shù)以及三維交互技術(shù),先對n型管段式超聲波流量計 的熱量表、連接電纜、壓電元件、接受換能器、發(fā)射換能器等 元器件進行三維建模,然后將處理好的模型導入Umty3D 中,在Umty3D中編寫與單片機數(shù)據(jù)傳輸?shù)耐ㄐ懦绦?,并設 計下位機硬件電路,通過按鍵控制超聲波流量計的三維展 示,成功地實現(xiàn)了交互式的超聲波流量計仿真的三維教學 展示,激發(fā)了學員的學習熱情,提升了學習效率,降低了教 學成本,有利于推廣使用。
2.系統(tǒng)設計總體結(jié)構(gòu)
超聲波流量計仿真教學系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
由圖1可知,超聲波流量計仿真教學系統(tǒng)的設計主要 由兩部分組成:上位機模塊和下位機模塊。在上位機模塊 中,主要包括計算機、超聲波流量計三維仿真軟件和顯示終 端。在上位機的工作過程中,首先是通過計算機上的三維 建模軟件對超聲波流量計進行三維建模,然后將所建立的 三維模型導入交互軟件Urnty3D中,計算機接收下位機所 傳來的控制信號,在Unity3D中實現(xiàn)實時動態(tài)交互和顯示。
下位機模塊是以單片機STC89C52為主控制器所構(gòu)成 的控制模塊,主要包括控制量輸入模塊、電源模塊、主控單 元和通信模塊。在下位機中,控制按鍵輸入的鍵值傳送至 單片機的主控單元(MCU),控制信號經(jīng)MCU處理后,通 過單片機的通信模塊上傳給上位機。在整個系統(tǒng)設計過程 中,下位機模塊主要起控制信號處理與傳輸?shù)淖饔?。下?/span> 機模塊與上位機模塊間的通信主要由串口通信協(xié)議 (RS232協(xié)議)實現(xiàn),在通信過程中,單片機編程實現(xiàn)鍵值數(shù) 據(jù)的上傳,計算機通過Unity3D接收COM3C計算機的通信 端口)口的數(shù)據(jù),并在Unity3D中實現(xiàn)交互仿真。
3.系統(tǒng)的實現(xiàn)
在基于Unity3D的超聲波流量計仿真教學系統(tǒng)中,為 實現(xiàn)系統(tǒng)的交互式控制和流量計模型的多功能展示,整個 系統(tǒng)設計分為4個部分:上位機三維建模、上位機三維交互 編程開發(fā)、下位機硬件電路設計和下位機軟件編程的實現(xiàn)。
3.1上位機三維建模
3. 1. 1超聲波流量計建模條件
在超聲波流量計三維教學仿真系統(tǒng)開發(fā)過程中,以n 型管段式超聲波流量計為研究對象。n型管段式超聲波流 量計是一種非接觸式儀表,既可以測量大管徑的介質(zhì)流量 也可以用于不易接觸和觀察的介質(zhì)的測量,測量準確度高, 幾乎不受被測介質(zhì)的各種參數(shù)的干擾。
n型管段式超聲波流量相比于其他超聲波流量計來 說,具有靈活多變的全中文顯示主機(壁掛標準型、壁掛防 爆型、盤裝型、壁掛網(wǎng)絡型)滿足各種不同的工業(yè)現(xiàn)場;管段 式傳感器解決了外夾式傳感器和插入式傳感器安裝過程 中,由于管道不標準人為安裝誤差而造成的測量精度下降 的問題,在工控測量過程中運用的越來越廣泛。
3.1.2建模關(guān)鍵技術(shù)
超聲波流量計三維模型建立的流程如圖2所示.
三維模型的建立是整個仿真教學系統(tǒng)的基礎,所以高 效的建模對后續(xù)交互、下位機控制和展示致關(guān)重要。在三 維建模前,應多收集流量計的照片素材,其中包括超聲波流 量計的熱量表、連接電纜、壓電元件、接受換能器、發(fā)射換能 器等元器的照片,模型的建立不能憑空捏造,模型的尺寸要 根據(jù)流量計的技術(shù)資料來獲得,在建模過程中要讓模型成 為實物的一種映射,通過觀察模型能真實地再現(xiàn)實物。在 建模過程中主要采用多邊形建模法,通過將基本幾何體轉(zhuǎn) 化為可編輯多變形來構(gòu)建各種三維圖形,再通過旋轉(zhuǎn)、平 移、對齊、縮放、鏡像等命令來實現(xiàn)模型部件的正確擺放,進 而將局部模型組裝成一個整體。
在建模過程中,還要注意對模型進行優(yōu)化。優(yōu)化模型 可以節(jié)約計算機資源,提高建模效率,也降低了三維交互編 程時出錯的可能性。在3DMAX建模過程中,模型優(yōu)化的 主要方式有刪除看不見的和不必要的面;盡量使模型上的 每條線都構(gòu)成一條閉合的回路;模型中線與線相交圖形為 四邊形,不能出現(xiàn)除四邊形和三角形以外的其他圖形;盡量 不要使用布爾命令。
在模型整體構(gòu)造建立完成后,為使模型逼近實物,達到 以假亂真的效果,要為模型賦予材質(zhì)和貼圖,模型的材質(zhì)要 根據(jù)實物的材料來調(diào)節(jié),通過對Vray材質(zhì)的反射、滿反射、 折射、高光、模糊度、各項極性等參數(shù)的調(diào)節(jié)來使模型接近 實物,貼圖的選取要注意貼圖的大小必須是2的冪次,具體 情況應根據(jù)實物在場景中大小來選擇。在材質(zhì)、貼圖達到 滿意效果后,是對模型的渲染及輸出,通過模型的渲染讓最 后輸出模型的色澤、凹凸感、陰影等效果更貼近實際情況。
3.2上位機三維交互編程開發(fā)
在上位機交互軟件Uriy3D中,編程開發(fā)主要是:數(shù)據(jù) 通信編程和三維交互控制編程。
上位機數(shù)據(jù)通信編程是針對上位機和下位機間數(shù)據(jù)傳 輸進行的程序開發(fā)。上位機中Unity3D軟件為接收下位機 上傳的數(shù)據(jù),在程序中首先應對接收數(shù)據(jù)端口進行相應的 設置。在此次設計中通信端口為COM3 口,通過new SerialPortO命令來進行COM3 口的初始化,在串口初始化 完成后,要通過sp. Opem()打開串口,并通過new Thread (ReceiveData)和 new Thread ( DealData)命令打開數(shù)據(jù)接 收和數(shù)據(jù)處理兩個線程,再等待接收緩存區(qū)接收數(shù)據(jù),然后 通過sp. Read()命令讀取buf[i]中的數(shù)據(jù),并在其他腳本中 調(diào)用buf[i]中的數(shù)據(jù),為三維交互編程提供條件判斷量,最 后清空buf[i]中數(shù)據(jù),等待下一次數(shù)據(jù)接收[1。一11]。上位機 數(shù)據(jù)通信流程如圖3所示。
三維交互控制編程是對導入的三維模型進行功能實現(xiàn) 的編程方式。由3DMAX所建立的三維模型導入到 Umity3D中后,由Umity3D軟件所認同的編程語言進行功 能開發(fā)。在本次設計中采用C#編程語言,來實現(xiàn)超聲波 流量計的全面展示、模型的旋轉(zhuǎn)展示、展示過程中鏡頭的拉 伸、部件的分塊展示以及流量計視頻的調(diào)用,由此讓學員全 方位的認知超聲波流量計的總體結(jié)構(gòu)、工作原理以及使用 過程中的注意事項。
在Untiy3D交互軟件中編寫流量計功能展示程序的過 程中,最主要是獲取模型物體的控制權(quán)(GameObject),一 般通過GameObject. Find()函數(shù)實現(xiàn),也可以直接將腳本 賦予模型對象,通過調(diào)用gameObject類型直接對模型進行 功能編程。在獲取下位機上傳的數(shù)據(jù)后,對不同的數(shù)據(jù)賦 予不同的展示功能,并通過if()條件判斷語句來編寫不同 功能實現(xiàn)的程序[12—13]。例如,可以通過調(diào)用gameObject transform. Rotate (0,15 * Time. deltaTime,0,Space. Self) 來實現(xiàn)模型繞Y軸正方向每秒旋轉(zhuǎn)15°,在此函數(shù)語句加 上if(buf[1] == 0x11){}的條件判斷語句,就可通過下位 機來控制三維場景中模型的旋轉(zhuǎn)展示。
3.3下位機硬件電路設計
下位機主要是為了讓學員在學習過程中,能實時地與 三維模型進行交互而設計的。本次設計過程中,下位機的 控制器采用單片機STC89C52,通過該單片機系統(tǒng)上的矩 陣鍵盤產(chǎn)生輸入控制信號,并將此信號上傳給上位機,控制 三維模型的功能展示。下位機的硬件結(jié)構(gòu)如圖4所示。
按鍵控制電路
圖4下位機硬件結(jié)構(gòu)
由圖4可知,下位機硬件電路主要由單片機 STC89C52、電源電路、復位電路、時鐘電路、報警電路和串 口通信電路組成。在上述硬件構(gòu)造中,單片機STC89C52 為系統(tǒng)的主控單元,并結(jié)合其他硬件電路單元,共同構(gòu)成了 單片機的最小控制系統(tǒng)。按鍵控制電路采用矩陣鍵盤的方 式進行控制量的輸入,通過對鍵盤的循環(huán)掃描,只需分時復 用I/O 口即可將不同的鍵值輸送到單片機STC89C52中, 有效地減少了單片機I/O 口的使用個數(shù),節(jié)約系統(tǒng)資源。 鍵值信號到達單片機后,通過單片機對數(shù)據(jù)信號進行處理, 然后將處理后的信號通過串口通信電路上傳給上位機進行 三維交互式控制。
下位機的數(shù)據(jù)通過串口發(fā)送給上位機的過程中,采用 RS232的串口通信協(xié)議。單片機丁丁L電路輸出電平一般 為一5?+ 5 V,一般的PC接口的兼容電平為一15? + 15 V,故而在上位機和下位機進行數(shù)據(jù)傳輸過程中要進 行電平的轉(zhuǎn)化。在本次設計過程中采用USB轉(zhuǎn)串口芯片 CH340T來實現(xiàn)上位機和下位機間的數(shù)據(jù)傳輸。CH340丁 芯片中集成了供電、下載、串口通信功能,在CH340丁芯片 中實現(xiàn)串口通信,主要用到了 UD+、UD—、丁XD、RXD端 口,單片機的數(shù)據(jù)通過RXD進入SBUF存儲區(qū),再通過UD+、UD —發(fā)送給PC機;PC機的數(shù)據(jù)通過USB線發(fā)送 到UD+、UD—,再通過芯片丁XD端口發(fā)送至單片機的 M CU,這樣整個流程下來就可以實現(xiàn)上位機和下位機以串 口通信的方式進行數(shù)據(jù)傳輸。
3.4下位機軟件編程的實現(xiàn)
下位機主要是為上位機傳遞控制信號,通過不同的控 制信號來完成系統(tǒng)不同功能的展示??刂菩盘栍?/span>4X4的 矩陣鍵盤產(chǎn)生,在編程過程中通過對不同按鍵賦予不同的 鍵值,就可以在上位機中區(qū)分各個按鍵所展示的功能。除 了對矩陣鍵盤掃描程序的編寫外,還需編寫串口通信程序, 下位機軟件編程流程如圖5所示。
由圖5可知,在程序開始執(zhí)行時,首先應對系統(tǒng)進行初 始化,對系統(tǒng)初始化主要包括定時器1的初始化、串口初始 化。為實現(xiàn)數(shù)據(jù)以一定的時間間隔不斷地向緩沖區(qū)發(fā)送, 設定定時器1為定時模式,工作方式為2,定時器初值由系 統(tǒng)時鐘電路晶振大小決定,并以此產(chǎn)生串口通信所需波特 率;串口初始化主要是設定串口工作模式為1。在系統(tǒng)初 始化完成后,要實時地檢測是否有按鍵按下,將矩陣鍵盤循 環(huán)掃描的鍵值通過P0?P3 口輸送到單片機進行處理,然 后將處理后的數(shù)據(jù)通過串口上傳給上位機,在上傳數(shù)據(jù)過 程中如果檢測到數(shù)據(jù)傳輸沒有完成,則等待數(shù)據(jù)傳輸完成, 防止數(shù)據(jù)覆蓋造成數(shù)據(jù)丟失。
4.系統(tǒng)調(diào)試
在系統(tǒng)上位機、下位機、通信模塊設計完成后,通過 Unity3D軟件對三維模型進行交互編程,并將編程調(diào)試的 結(jié)果通過Build&Run發(fā)布成“ exe”文件,在系統(tǒng)調(diào)試過程 中,點擊發(fā)布的“ e xe ”文件就可以進行流量計的仿真教學 展示。如圖超聲波流量計仿真教學系統(tǒng)如圖6所示。
在該界面中可以根據(jù)教學仿真的需要選擇超聲波流量 計展示的方式,點擊進入整體結(jié)構(gòu)展示、部件細節(jié)展示、視 頻展示、工作原理展示界面后,可通過下位機硬件仿真平 臺,對上位機展示界面進行控制,按下單片機鍵盤上的不同按鍵可選擇不同的交互功能,進而實現(xiàn)超聲波流量計的三 維互動仿真功能。
5.結(jié) 論
在Untiy3D的平臺上編譯出了超聲波流量計仿真教學 系統(tǒng),該系統(tǒng)成功的實現(xiàn)了超聲波流量計仿真教學的功能, 既解決了傳統(tǒng)教學過程中,學員與知識缺少互動、積極性不 夠的問題,又通過虛擬展示的方式解決了購買昂貴器材的 難題。通過仿真教學,學員能夠更有效的掌握流量計的整 體結(jié)構(gòu)、各個部件結(jié)構(gòu)、工作原理、使用方式等,激發(fā)了學員 學習積極性,使現(xiàn)場培訓的時間明顯縮短,減少了教學培訓 成本.