莫松穎 莫琦 邱旭華 徐綺晨
摘要:為了解決各大高校模擬電子技術(shù)實(shí)驗(yàn)的實(shí)驗(yàn)過程繁復(fù),老師批改實(shí)驗(yàn)報告時間較長的問題,我們提出了一個基于神經(jīng)網(wǎng)絡(luò)的模擬電子技術(shù)智能實(shí)驗(yàn)系統(tǒng)。該系統(tǒng)能夠簡化學(xué)生的實(shí)驗(yàn)流程,也能節(jié)省老師幫同學(xué)們檢查錯誤的精力和批改實(shí)驗(yàn)報告的時間。
關(guān)鍵詞:實(shí)驗(yàn)室;神經(jīng)網(wǎng)絡(luò);自動評判
中圖分類號:TP391.4;TP183 文獻(xiàn)標(biāo)識碼:A 文章編號:1007-9416(2018)09-0137-02
1 引言
目前,我們學(xué)校的電工電子類實(shí)驗(yàn)都是經(jīng)過實(shí)驗(yàn)預(yù)習(xí)→進(jìn)行實(shí)驗(yàn)→記錄實(shí)驗(yàn)數(shù)據(jù)→老師檢查簽名→學(xué)生進(jìn)行最后的數(shù)據(jù)處理→上交,這樣的流程。其中,這個流程有很多讓人很不滿意的地方。由于預(yù)習(xí)內(nèi)容較少,很多同學(xué)不重視預(yù)習(xí),結(jié)果到了上課的時候才把實(shí)驗(yàn)指導(dǎo)書拿出來看,造成實(shí)驗(yàn)效率低下。其次,在做實(shí)驗(yàn)的過程中,老師只有一個,而學(xué)生有很多,老師無法每時每刻關(guān)注到每一個學(xué)生,告知他們哪里出錯。大家都是到了快下課才拿實(shí)驗(yàn)數(shù)據(jù)交給老師,一旦實(shí)驗(yàn)數(shù)據(jù)出錯,又要延長實(shí)驗(yàn)時間重新進(jìn)行實(shí)驗(yàn),或是重新找時間進(jìn)行實(shí)驗(yàn),非常麻煩。老師精力有限,無法對每個同學(xué)的實(shí)驗(yàn)報告進(jìn)行很嚴(yán)謹(jǐn)?shù)拇蚍??;谝陨蠋c(diǎn)現(xiàn)在教學(xué)的不足,我們提出一種多功能智能實(shí)驗(yàn)系統(tǒng)。
2 系統(tǒng)組成及功能
該系統(tǒng)由采集器,手機(jī)客戶端、服務(wù)器端組成。
(1)采集器:采集器主要由STM32核心板以及程控放大器,電壓檢測探頭以及電壓輸出端子組成,主要負(fù)責(zé)采集電路上的直流電壓和交流電壓波形以及對需要信號源的電路進(jìn)行信號輸出,同時將直流電壓數(shù)據(jù)及波形電壓數(shù)據(jù)發(fā)送到手機(jī)客戶端和接收手機(jī)客戶端發(fā)來的控制命令。(2)手機(jī)客戶端:手機(jī)客戶端基于安卓7.0系統(tǒng)進(jìn)行編寫,主要功能是顯示與轉(zhuǎn)發(fā)。客戶端將采集器采集到的直流電壓及波形電壓數(shù)據(jù)進(jìn)行數(shù)據(jù)顯示和繪圖顯示,以及當(dāng)學(xué)生點(diǎn)擊“檢測”或“提交數(shù)據(jù)”按鈕時將當(dāng)前接收到的數(shù)據(jù)發(fā)送到服務(wù)器。手機(jī)客戶端還可以控制采集器信號的輸出。(3)服務(wù)器:服務(wù)器主要運(yùn)用神經(jīng)網(wǎng)絡(luò),對手機(jī)客戶端上傳的數(shù)據(jù)經(jīng)過離散余弦變換及歸一化處理后送入神經(jīng)網(wǎng)絡(luò)中進(jìn)行識別,即可判斷出該數(shù)據(jù)的正誤以及給出錯誤數(shù)據(jù)的錯誤原因。
系統(tǒng)功能框圖如圖1所示:
3 硬件設(shè)計方案
在硬件制作方面,我們采用STM32F103VET6這款芯片作為主控芯片,集成運(yùn)放μA741、AD623還有數(shù)字電位器組成的程控放大器。這兩個程控放大器負(fù)責(zé)將大的信號進(jìn)行降壓,小的信號進(jìn)行放大,將采集回來的信號控制在STM32可采集的范圍之內(nèi)。
如圖2所示,該采集器有一個電壓、波形采集端口,還有個信號輸出端口。采集端口通過程控放大器調(diào)整后接到STM32的AD轉(zhuǎn)換接口,STM32的DA轉(zhuǎn)換接口通過另一個程控放大器接到輸出端。使用者通過客戶端下達(dá)命令來控制采集端口采集的快慢。采集電壓數(shù)據(jù)時,為節(jié)省功耗,設(shè)定STM32 ADC掃描頻率為239.5個時鐘周期,采集50次后取平均值,作為一個數(shù)據(jù)。采集波形數(shù)據(jù)時,設(shè)定ADC掃描頻率為1.5個時鐘周期采樣一次,采集完1040個電壓數(shù)據(jù)后立即向手機(jī)客戶端發(fā)送數(shù)據(jù)。
4 軟件設(shè)計方案
4.1 手機(jī)客戶端
手機(jī)客戶端主要是用作波形、電壓的展示以及數(shù)據(jù)轉(zhuǎn)發(fā)功能。手機(jī)客戶端啟用兩組通訊,使用藍(lán)牙與采集器進(jìn)行通信,將手機(jī)連接上WiFi,通過局域網(wǎng)與服務(wù)器進(jìn)行通信。手機(jī)客戶端將采集器采集回來的電壓數(shù)據(jù)在屏幕上使用Canvas進(jìn)行描點(diǎn)連線,使用SurfaceView對圖像進(jìn)行展示,即可得到一幅完整的波形圖。學(xué)生在做實(shí)驗(yàn)的過程中,若看到波形符合要求,點(diǎn)擊提交按鈕,客戶端就會將當(dāng)前的圖像對應(yīng)的電壓數(shù)據(jù)通過局域網(wǎng)發(fā)送到服務(wù)器,服務(wù)器通過神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進(jìn)行判斷。
手機(jī)客戶端通信原理框架如圖3所示。
4.2 服務(wù)器端
服務(wù)器端主要是接收手機(jī)客戶端發(fā)來的數(shù)據(jù),然后用神經(jīng)網(wǎng)絡(luò)來對上傳的波形進(jìn)行識別,判斷波形的正誤,以及給出錯誤波形的錯誤分析,然后生成實(shí)驗(yàn)報告。
(1)波形評判。在制作該系統(tǒng)的時候,我們使用比較好的實(shí)驗(yàn)設(shè)備,將每種可能的錯誤的電路分別測取300組波形數(shù)據(jù),每一組測取1040個數(shù)據(jù)點(diǎn),然后對每一組數(shù)據(jù)進(jìn)行離散余弦變換,然后將每個波形變換后得到的矢量的前18項(xiàng)元素作為特征矢量,然后進(jìn)行歸一化處理,送入神經(jīng)網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。
我們?yōu)槊恳粋€實(shí)驗(yàn)內(nèi)容都訓(xùn)練了一個網(wǎng)絡(luò),網(wǎng)絡(luò)中把每種可能的波形(無論錯誤還是正確)都分成一個類,當(dāng)在做該實(shí)驗(yàn)內(nèi)容的時候,學(xué)生只要在手機(jī)端將波形數(shù)據(jù)提交,服務(wù)器端就會自動對上傳的數(shù)據(jù)進(jìn)行離散余弦變換以及歸一化處理,然后放入神經(jīng)網(wǎng)絡(luò)中進(jìn)行識別,神經(jīng)網(wǎng)絡(luò)就能分析出該提交的波形是正確的或是屬于哪種錯誤的波形。程序再根據(jù)識別的結(jié)果給手機(jī)端反饋分析結(jié)果。
波形評判流程如圖4所示。
(2)實(shí)驗(yàn)評分。在對波形數(shù)據(jù)進(jìn)行正誤驗(yàn)證的同時,我們獲取實(shí)驗(yàn)中的電壓,電流等相關(guān)實(shí)驗(yàn)參數(shù),與相應(yīng)的經(jīng)驗(yàn)值進(jìn)行對比,分析,再結(jié)合做實(shí)驗(yàn)的時間,錯誤次數(shù)等多種參數(shù)進(jìn)行評分,最后得出一個合理,公正的實(shí)驗(yàn)分?jǐn)?shù)。
評分流程如圖5所示。
(3)報告生成。該功能通過Python代碼,新建一個word文檔,然后使用輸出流向word文檔中寫入相應(yīng)的題目說明,然后將評判結(jié)果寫進(jìn)去,按照一定的模板形成一篇圖文并茂,符合格式要求的實(shí)驗(yàn)報告,這樣,一篇實(shí)驗(yàn)報告就完成了。
5 結(jié)語
該多功能實(shí)驗(yàn)系統(tǒng)可以作為學(xué)生們的實(shí)驗(yàn)助手,幫助學(xué)生熟悉實(shí)驗(yàn),指導(dǎo)學(xué)生進(jìn)行實(shí)驗(yàn)以及為學(xué)生的實(shí)驗(yàn)進(jìn)行錯誤分析,還能自動生成實(shí)驗(yàn)報告供老師批閱,既節(jié)省了學(xué)生的實(shí)驗(yàn)時間,提高了學(xué)生課堂上的實(shí)驗(yàn)效率,也節(jié)省了老師逐個為學(xué)生進(jìn)行實(shí)驗(yàn)線路檢查的精力,同時節(jié)省了老師批改實(shí)驗(yàn)報告的時間,是一個一舉多得的智能實(shí)驗(yàn)系統(tǒng)。
參考文獻(xiàn)
[1]曾翔,姜本清,徐濤.測試系統(tǒng)中波形的神經(jīng)網(wǎng)絡(luò)識別方法[J].艦船電子工程,2014,34(03):141-145.
[2]孫帆,施學(xué)勤.基于MATLAB的BP神經(jīng)網(wǎng)絡(luò)設(shè)計[J].計算機(jī)與數(shù)字工程,2007,(08):124-126+202.