楊超 趙新越 莫冬
(1.西藏大學理學院物理系 西藏自治區(qū)拉薩市 850000 2.西藏大學財經(jīng)學院 西藏自治區(qū)拉薩市 850000)
“新工科”建設是國家應對新一輪科技革命的戰(zhàn)略行動,國家鼓勵“雙一流”高校將“新工科”研究與實踐納入建設方案。而大學實驗課程作為“新工科”建設的基礎學科,需積極促進新時期教育改革和“理工”交叉融合。就當前大學物理實驗涉及的測量儀器來說,設備偏于陳舊老化,更新?lián)Q代成本高,功能單一且與目前的社會生產(chǎn)技術脫節(jié)。因此理工實驗測量平臺急需進行改革創(chuàng)新,使其既能滿足信息時代物理實驗的課程要求,又順應“新工科”國家建設和數(shù)字化改革與發(fā)展方向。
基于上述目的,本文設計了STM32 數(shù)字化測量實驗平臺,將物理實驗涉及到的測量工具,通過模塊化的設計集成到一個實驗平臺。基于STM32 的數(shù)字化測量可以降低人為操作所導致的實驗誤差,提高了實驗數(shù)據(jù)的準確度;電路模塊化和可擴展的設計,使得硬件電路耦合性低、兼容性高,可自行設計和添加電路;操作方式采用了GUI 可視化交互界面統(tǒng)一操作邏輯,降低了儀器的學習成本,使得測量操作更為智能化。
本實驗平臺的設計分為硬件基礎、軟件底層、核心功能三個層面。硬件基礎是保障核心功能正常運行的電路,由核心板和通信模塊組成;軟件底層是硬件發(fā)揮作用的唯一途徑和基礎,包括驅(qū)動電路和GUI 交互界面兩部分;核心功能層面作為項目的核心內(nèi)容,采用模塊化設計,設計了分立式傳感器、電學實驗模塊和擴展板三部分。
核心板集成了STM32 最小系統(tǒng)、Type-C 下載、外置存儲、顯示驅(qū)動等模塊。
(1)STM32 最小系統(tǒng)選用STM32F407ZGT6 芯片,基于ARM Cortex-M4 內(nèi)核,主頻高達168MHz,內(nèi)置12 位ADC、DAC 模塊,支持UART、I2C 等多種通信協(xié)議。最小系統(tǒng)還包括保障核心板正常運行的電源電路、時鐘電路、復位電路、BOOT啟動電路、SWD調(diào)試電路等。
(2)Type-C 下載采用CH340G 芯片實現(xiàn)USB 轉(zhuǎn)TTL 的通信協(xié)議轉(zhuǎn)換,硬件接口選用了最新的USB Type-C 接口進行迭代更新,支持多種傳輸協(xié)議和更高的傳輸速度。
(3)外置存儲包括FLASH 和SRAM。SRAM 型號為IS62WV51216,具有512K 的運行空間,支持16bit數(shù)據(jù)傳輸,該外置SRAM 可存儲程序運行中產(chǎn)生的龐大數(shù)據(jù)量;FLASH 型號為W25Q64,儲存空間為8M,可存儲程序所用到的字庫、圖片等。
(4)顯示驅(qū)動包括顯示屏及驅(qū)動電路,采用4.3英寸TFTLCD 顯示屏,分辨率為320*480,通過FSMC總線協(xié)議與MCU 進行數(shù)據(jù)傳輸,實現(xiàn)數(shù)據(jù)的可視化顯示。
本實驗平臺采用物聯(lián)網(wǎng)通信架構,分為感知層、網(wǎng)絡層、應用層。網(wǎng)絡層選擇近距離通信Wi-Fi局域網(wǎng)協(xié)議,通信模塊為ESP8266 Wi-Fi 模塊,通過串口通信協(xié)議與主控芯片進行數(shù)據(jù)傳輸,感知層為分立式傳感器及平臺主體,手機、PC 作為應用層都可連接ESP8266 Wi-Fi 模塊實現(xiàn)數(shù)據(jù)傳輸。物聯(lián)網(wǎng)通訊架構如圖1 所示。
圖1:物聯(lián)網(wǎng)通訊架構
ESP8266 支持2.4GHzWi-Fi,其Wi-Fi 通信模式有AP、Station、Station+AP 三種數(shù)據(jù)傳輸模式,可實現(xiàn)內(nèi)外網(wǎng)模式的切換。平臺主體上的Wi-Fi 模塊選擇為AP 模式,為分立式傳感器、手機、PC 等提供可連接的Wi-Fi 網(wǎng)絡。三大層面通過Wi-Fi 通信協(xié)議,以物聯(lián)網(wǎng)模式進行硬件布局,實現(xiàn)了數(shù)據(jù)在多傳感器、實驗平臺以及終端設備之間的傳輸。
硬件電路需在軟件程序的指令控制下才能正常運行,軟件程序設計以電路的驅(qū)動程序為基礎,在人機交互上采用并設計了可視化的GUI 交互界面,實現(xiàn)觸控式的智能化操作。
2.1.1 編程軟件
本實驗平臺用到的編程軟件為:STM32CubeMX(6.4.0)、TouchGFX Designer(4.14) 和Keil v5。STM32 CubeMX 通過圖形化的界面進行配置選擇,快速生成初始化代碼,TouchGFX Designer 通過所見即所得的模擬器設計圖形界面,Keil v5 進一步編寫程序并進行編譯下載。各軟件聯(lián)合開發(fā)編程,可以在統(tǒng)一項目工程環(huán)境中無縫地共同開發(fā)圖形應用和主要程序,整個軟件設計過程簡單高效,開發(fā)過程更省時便捷。
2.1.2 開發(fā)方式
STM32 開發(fā)方式有寄存器、標準庫函數(shù)和HAL 庫。開由于STM2 涉及數(shù)百個寄存器,寄存器開發(fā)較為復雜困難,而標準庫函數(shù)已停止更新維護。因此本項目選用HAL 庫開發(fā)方式,HAL 庫移植性高、開發(fā)簡單,HAL庫也與STM32CubeMX 生成的軟件代碼完全兼容,可減少開發(fā)負擔,同時代碼也更規(guī)范整潔。
驅(qū)動程序是對硬件電路的指令控制,是程序設計的基礎,本實驗平臺的硬件電路主要進行電參量與芯片的數(shù)據(jù)交換其核心為GPIO 和ADC 的初始化調(diào)用。GPIO控制著電路的設置,ADC 是電學實驗模塊的核心,電壓電流的測量等需要ADC 模塊的參與。整個硬件電路的運行都離不開GPIO 和ADC 的參與。
驅(qū)動程序?qū)τ布目刂品譃橛布跏蓟?、信號采集和?shù)據(jù)處理。先進行GPIO、ADC 等外設的初始化設置,GPIO 選擇所需的功能模塊并設置,隨后前置電路開始采集電參量信號,STM32 和ADC 對采取的數(shù)據(jù)進行降噪、數(shù)模轉(zhuǎn)換、計算等一系列的處理得到數(shù)據(jù)結(jié)果。這個過程中也涉及到TIM 時鐘、中斷電路、DAC 等其他外設。
該實驗平臺采用GUI 圖形交互界面,實現(xiàn)了可視化的觸控交互方案。GUI 采用了 TouchGFX 圖形設計系統(tǒng)。TouchGFX 支持STM32 的LCD 接口,自帶豐富的控件,同時支持自定義控件。該系統(tǒng)采用C/C++混合編程,底層驅(qū)動的調(diào)用為STM32CubeMX HAL 庫中的C語言,UI 界面部分為C++。在TouchGFX Designer 設計好基本的界面后,按照Model-Presenter- View 的結(jié)構依次編寫邏輯代碼。
在實際測量過程中,由于場地和儀器體積的限制,某些位置的數(shù)據(jù)不便于測量,因此將傳感器設計成分立式模塊,與實驗平臺主體分離以縮小體積,擴大測量的范圍和應用場景。
分立式傳感器模塊由ESP8266 芯片、OLED 顯示屏、傳感器組成。由不同功能的傳感器采集數(shù)據(jù)傳遞給ESP8266,隨后將預處理數(shù)據(jù)通過Wi-Fi 輸出給實驗平臺進行二次處理與輸出。對于簡單數(shù)據(jù)與操作,由模塊自帶的OLED 顯示屏輸出顯示。
電學實驗測量儀器的數(shù)字化、智能化設計是實驗儀器革新的重點內(nèi)容,也是實驗平臺的核心項目,包括數(shù)字萬用表和數(shù)控電源兩部分。
3.2.1 數(shù)字萬用表
數(shù)字萬用表是采用數(shù)字化測量技術,把連續(xù)的模擬量轉(zhuǎn)換成不連續(xù)的、離散的數(shù)字形式并加以顯示的儀表?;赟TM32 的數(shù)字萬用表具有精度高、測量范圍廣、抗干擾強、測量方便等優(yōu)點。本實驗平臺的數(shù)字萬用表模塊支持電阻、電壓、電流的測量,通過STM32 自帶的高精度12 位ADC、DAC 模塊進行電參量的轉(zhuǎn)換和測量。
(1)測電阻:根據(jù)串聯(lián)電阻分壓原理,ADC 采集待測電阻兩端的電壓值,由總電壓、所測電壓及擋位電阻計算出待測電阻的值。
(2)測電壓:根據(jù)串聯(lián)電阻分壓原理,待測電壓進行分壓電路、運算放大電路后得出輸出電壓,將輸出電壓傳輸給ADC 模塊,再根據(jù)待測電壓與輸出電壓的線性關系推得實際的待測電壓值。
(3)測電流:采用ACS758 霍爾電流傳感器,該傳感器使用低偏置的線性霍爾傳感器電路,能夠檢測50A 范圍內(nèi)的直流電流。ACS758 測量輸入電流值并輸出電壓值,電壓經(jīng)運算放大器輸出到ADC 模塊,根據(jù)捕獲到的電壓值,結(jié)合電壓與電流的線性關系和電路原理圖來反推輸入電流值。
3.2.2 數(shù)控電源
電源是進行電路實驗的基礎元件和關鍵,相較于實驗室傳統(tǒng)的旋鈕式學生電源,數(shù)控電源通過軟件和數(shù)字電路控制,實現(xiàn)特定、精準值的輸出電壓和電流。本實驗平臺的數(shù)控電源模塊,接入電源模塊48V 直流電,可動態(tài)輸出0-2A 電流和0-48V 電壓,其電壓、電流的穩(wěn)定性、調(diào)節(jié)精度都可達到相應的實驗要求。
該電路基于由PWM 驅(qū)動的BUCK 降壓電路,首先由STM32 發(fā)出所需電壓值的電信號,隨后半橋驅(qū)動IC UCC27211 接受信號,調(diào)整PWM 波的占空比并輸出,BUCK 電路的MOSFET 管在PWM 波的控制下不斷開關電路,使48V 輸入電壓呈現(xiàn)PWM 波形,再經(jīng)過直插電感、電解電容的濾波、穩(wěn)壓后,脈動的輸入電壓就處理為連續(xù)的輸出電壓。數(shù)控電源電路如圖2 所示。
圖2:數(shù)控電源電路
為滿足學生不同的實驗需求,覆蓋更多的實驗場景,本實驗平臺將STM32 未使用的GPIO 口引出,設計了兩組GPIO 插口用于硬件擴展,并將程序下載、電源、串口、LED、按鍵等引出,便于實驗電路的搭建與調(diào)試。學生可根據(jù)自身的實驗需求,自行設計所需的電路模塊或搭建實驗系統(tǒng),并自主編寫硬件驅(qū)動程序。
在互聯(lián)網(wǎng)和“新工科”建設的時代發(fā)展背景下,實驗平臺的操作方式是創(chuàng)新改革的重中之重。本平臺采用了觸控式的可視化操作界面,通過更直觀簡單的觸摸進行操作,并對每一個功能的操作邏輯進行了統(tǒng)一設計。而針對典型的實驗項目,設計了可預設的自動化程序以簡化操作步驟,也可同時調(diào)出多個傳感器實現(xiàn)協(xié)同使用。實驗平臺的學習成本和門檻得到了很大程度的降低,學生可以更加專注于實驗內(nèi)容的本身。
該實驗平臺從硬件設計和軟件設計兩方面著手,涉及到了電路控制設計、傳感器使用、前端數(shù)據(jù)采集等電子電路知識,網(wǎng)絡層搭建、操作界面、嵌入式等計算機編程知識,數(shù)據(jù)降噪、建模、分析,計算、重構等數(shù)學知識,形成了一套完整的知識理論體系。學生在學習理論知識的同時,通過該實驗平臺的整體軟硬件設計,將零散的知識點形成體系并融會貫通,歷經(jīng)了解、學習、應用,再到實踐的一個完整的知識學習過程。
本實驗平臺的實驗項目遵循因材施教、循序漸進的教學規(guī)律,設計了基礎、進階、擴展三個不同等級的項目?;A實驗項目包括單一傳感器使用、簡單程序的設計;進階實驗項目在基礎項目的基礎上,增加了多傳感器的協(xié)同調(diào)用、電學實驗模塊的使用和數(shù)據(jù)的計算處理操作;進階實驗項目是學生根據(jù)自身的實驗需求,在擴展板上進行自主設計并搭建實驗電路,經(jīng)歷問題分析、提出需求、設計方案、實驗驗證等邏輯完整的研究過程,可提升學生的自主學習能力和科研思維。
本實驗平臺具有多功能、易操作、數(shù)字化、智能化的特點,在STM32 的基礎上集成了多種實驗測量儀器,使其滿足數(shù)字化的改革要求。操作方式上采用可視化的操作界面,降低平臺的操作難度。在實驗教學方面,平臺實驗內(nèi)容設置合理,學生通過自主搭建實驗電路,鍛煉自主學習能力和科研思維,擴展知識體系。該平臺可以滿足課外實驗的基礎條件,對理工實驗的普及推廣和發(fā)展有著重要意義。