崔新友++吳勇++李林濤
摘要:為了解決復(fù)雜電子裝備維修教學(xué)過程中,成本過高,效果不好的問題,研究了基于Arduino的裝備維修示教系統(tǒng)。通過對目標(biāo)裝備電路板仿真與重新設(shè)計(jì),在保持電路基本功能和電路板外部特性進(jìn)行不變的基礎(chǔ)上,以Arduino Mega2560微控制板為核心,以Greatal液晶觸摸顯示屏為交互設(shè)備,設(shè)計(jì)了信號調(diào)理電路、故障設(shè)置電路,實(shí)現(xiàn)了故障植入、關(guān)鍵點(diǎn)信號監(jiān)測等功能。
關(guān)鍵詞:裝備維修;示教系統(tǒng)
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2016)32-0043-02
1概述
在對復(fù)雜電子裝備進(jìn)行維修教學(xué)的過程中,主要培養(yǎng)學(xué)員根據(jù)故障現(xiàn)象,分析故障原因,檢測關(guān)鍵點(diǎn)的參數(shù),查找故障點(diǎn)的能力。在學(xué)員訓(xùn)練過程中,如果使用實(shí)裝進(jìn)行維修訓(xùn)練,主要存在以下問題:1)訓(xùn)練過程中損壞情況比較嚴(yán)重,降低了裝備的壽命;2)實(shí)裝內(nèi)部比較狹小,不方便檢測;3)實(shí)裝價(jià)格昂貴,開設(shè)多組同時(shí)進(jìn)行訓(xùn)練,成本過高。
我們研制的某型裝備維修示教系統(tǒng)采用電路仿真技術(shù),對原電路進(jìn)行仿真與重新設(shè)計(jì),在保持電路基本功能和電路板外部特性進(jìn)行不變的基礎(chǔ)上,以Arduino控制板為核心,增加故障植入[1]與關(guān)鍵點(diǎn)信號監(jiān)控功能。教學(xué)過程中,教員可以通過跳線或動(dòng)態(tài)植入的方法預(yù)先設(shè)置電路故障,學(xué)員在進(jìn)行維修過程中,可以通過屏幕實(shí)時(shí)的查看關(guān)鍵點(diǎn)信號參數(shù),便于學(xué)員進(jìn)行檢測和維修訓(xùn)練。
2研究方案
2.1 系統(tǒng)硬件總體框架
系統(tǒng)硬件總體框架如圖1所示,以Arduino Mega2560微控制板為核心,其他模塊主要包括:信號調(diào)理電路、故障設(shè)置電路、Greatal液晶觸摸顯示屏、電源模塊等。
目標(biāo)電路被重新設(shè)計(jì),在保持其關(guān)鍵點(diǎn)特征的前提下,將故障設(shè)置電路和信號調(diào)理電路與其進(jìn)行連接。Arduino Mega2560微控制板通過數(shù)字接口控制故障設(shè)置電路繼電器接通和斷開,通過A/D接口采集信號調(diào)理電路的波形,通過串口對Greatal液晶觸摸顯示屏進(jìn)行雙向互動(dòng)。Arduino Mega2560微控制板主要完成四方面的工作:一是控制故障設(shè)置電路根據(jù)需要實(shí)時(shí)的設(shè)置電路故障;二是通過A/D口和數(shù)字接口,從信號調(diào)理電路實(shí)時(shí)測量關(guān)鍵點(diǎn)信號;三是對測量的數(shù)據(jù)進(jìn)行計(jì)算和處理;四是通過串口控制液晶顯示器顯示測量結(jié)果,接收液晶屏傳輸?shù)男盘枴?/p>
圖1 系統(tǒng)硬件總體框架
2.2微控制器的選擇
Arduino是一個(gè)開放源代碼的硬件項(xiàng)目平臺,該平臺包括一塊具備基本I/O功能的電路板和一套程序開發(fā)環(huán)境[2]。為了針對不同領(lǐng)域的應(yīng)用,目前Arduino設(shè)計(jì)出很多不同的型號的電路板。根據(jù)項(xiàng)目A/D模塊、D/A模塊、顯示模塊的需要,我們選擇的電路板是Arduino Mega2560。Arduino Mega2560具有54個(gè)數(shù)字I/O口,16個(gè)模擬I/O扣,4對串行數(shù)據(jù)通信口,一個(gè)復(fù)位開關(guān),一個(gè)ICSP下載口,支持USB接口和直流電源供電。
使用Arduino控制板主要進(jìn)行模擬電壓的讀取、顯示屏的控制,使用的主要函數(shù)如下:
1) pinMode(pin,mode)
pinMode函數(shù)用于配置引腳為輸出或輸入模式[2]。
2)analogReference(type)
analogReference函數(shù)的作用是配置模擬引腳的參考電壓。在嵌入式應(yīng)用中,引腳獲取模擬電壓值之后,將根據(jù)參考電壓將模擬值轉(zhuǎn)換到0~1023[2]。
3)analogRead(pin)
analogRead函數(shù)用于讀取引腳的模擬量電壓值,每讀一次需要花100?s的時(shí)間。返回值為int型,表示引腳的模擬量電壓值,參數(shù)范圍0~1023[2]。
4)digitalWrite(pin,value)
digitalWrite函數(shù)用于設(shè)置引腳的輸出電壓為高電平或低電平[2]。
2.3液晶模塊的選擇
相對于傳統(tǒng)的標(biāo)準(zhǔn)1602液晶顯示模塊,我們采用的Greatal可編程智能LCD(Programmable Smart LCD,簡稱PS-LCD)具有更大的優(yōu)勢:1)直觀的界面設(shè)計(jì),無需圖形編程知識,如圖2所示,可直接使用配套的組態(tài)式編輯軟件Designer進(jìn)行可視化設(shè)計(jì),并能進(jìn)行模擬運(yùn)行;2)采用串口通信,通信格式簡單,編程使用javascript腳本語言,更加靈活;3)屏幕尺寸多樣,分辨率高,具備觸摸、連接鼠標(biāo)等功能。
系統(tǒng)的界面如圖2所示,主要包括信號監(jiān)控區(qū)和故障設(shè)置區(qū),信號監(jiān)控區(qū)可以監(jiān)控一個(gè)關(guān)鍵點(diǎn)波形和6個(gè)關(guān)鍵點(diǎn)電壓。
3解決的關(guān)鍵問題
3.1關(guān)鍵點(diǎn)電壓監(jiān)測
電壓測量電路是典型的調(diào)理電路,其電路如圖3所示。被測信號經(jīng)電阻分壓網(wǎng)絡(luò)、電壓跟隨器、限幅電路和濾波電路后送A/D電路測量。
圖3 電壓測量電路
R1和R2組成的分壓電路,用于對輸入信號進(jìn)行分壓,以保證最后送入A/D接口的電壓不超過其測量范圍;運(yùn)算放大器通過將輸出端與反向輸入端相連接,由于運(yùn)算放大器輸入端具有的虛短效應(yīng),實(shí)現(xiàn)電壓跟隨的效果,即輸入電壓和輸出電壓大小差別不大;R3為限流電阻;V1和V2兩個(gè)穩(wěn)壓二極管反向相連構(gòu)成限幅電路,用于對A/D輸入雙向限幅,確保A/D輸入電壓不會超出,電容C1起濾波作用。
在對Arduino單片機(jī)進(jìn)行編程時(shí),按如圖4所示流程進(jìn)行:其中,第1步用analogRead函數(shù)讀取電壓整數(shù)值;第2步將電壓整數(shù)轉(zhuǎn)換成浮點(diǎn)數(shù),然后根據(jù)R1和R2的阻值,計(jì)算對應(yīng)的模擬電壓;第3步用dtostrf()函數(shù)將模擬電壓轉(zhuǎn)換成字符串;第4步用sprintf()函數(shù)將格式化液晶控制字符串。之所以通過兩步完成字符串的格式化,主要是因?yàn)槭褂胹printf()函數(shù)不能直接格式化浮點(diǎn)數(shù),必須使用dtostrf()。
3.2 動(dòng)態(tài)控制繼電器
由圖2可以看出,故障設(shè)置和關(guān)鍵點(diǎn)波形的監(jiān)控,需要使用液晶顯示屏上的控件進(jìn)行交互,其主要步驟如圖5所示。
4總結(jié)
我們基于ArduinoMega2560開發(fā)的裝備維修示教系統(tǒng)具有界面友好、可以動(dòng)態(tài)設(shè)置故障、目標(biāo)電路外部特性和原電路相同的優(yōu)點(diǎn),非常適合復(fù)雜裝備維修教學(xué)。雖然使用Arduino降低了系統(tǒng)開發(fā)難度,但開發(fā)難度依然較大,特別是對目標(biāo)電路仿真與重新設(shè)計(jì)需要對原電路工作原理理解透徹的基礎(chǔ)上才能進(jìn)行。
參考文獻(xiàn):
[1] 崔新友. 電路板故障植入與知識自動(dòng)獲取研究[J].電腦知識與技術(shù),2016(7).
[2] 程晨.Arduino開發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2012.