





摘" 要:針對綜合電子實訓項目缺少更新,實訓內容單一問題,為提高綜合電子實訓教學效果,緊跟電子專業發展步伐,設計提出物聯網應用和電子綜合應用結合的項目實例,從項目方案設計、軟硬件設計、系統測試等方面進行闡述。把相關課程內容融入這種綜合訓練中,將基礎知識和綜合實踐結合,可以提高學生工程綜合應用能力,實現學以致用的目的,提高解決問題的能力。
關鍵詞:綜合電子實訓;物聯網;模塊化設計;工程應用能力;電源測控
中圖分類號:TP39;G434" 文獻標識碼:A" 文章編號:2096-4706(2024)24-0190-05
Analysis of IoT Application Examples in Comprehensive Electronic Training
LIU Jingbo
(School of Communication and Artificial Intelligence, School of Integrated Circuits, Nanjing Institute of Technology, Nanjing" 211167, China)
Abstract: In response to the problems of lack of updates and single training content in the comprehensive electronic training project, in order to improve the teaching effectiveness of the comprehensive electronic training and keep up with the development pace of the electronic profession, a project example combining Internet of Things application and electronic comprehensive application is designed and proposed, which is elaborated from the aspects of project scheme design, software and hardware design, system testing, and so on. Integrating relevant course content into this kind of comprehensive training and combining the basic knowledge and comprehensive practice could improve students' comprehensive engineering application ability, achieve the goal of applying what they have learned, and improve the ability to solve problems.
Keywords: comprehensive electronic training; Internet of Things; modular design; engineering application capability; power measurement and control
0" 引" 言
綜合電子實訓是電子信息工程專業開設的重要實踐類課程,具有設計性、綜合性、應用性強的特點,承擔提高學生綜合應用能力,培養學生掌握電子系統設計安裝與測試的方法,具備一定工程創新能力,在專業人才培養過程中發揮不可替代的作用[1]。綜合電子實訓包括模擬電子技術、數字電子技術、電子線路CAD、傳感器應用及單片機技術等多門課程的綜合應用,以項目化方式進行教學設計,以工程項目為課程引導[2]。目前在實際教學過程中,教學項目相對固化,內容缺少更新,不能緊跟當前發展的步伐。傳統的項目內容分為信號類、控制類、測量類等,但項目相對獨立,綜合性體現不足,不利于學生綜合能力和靈活運用知識能力的提升。如今物聯網技術發展很快,遠程數據傳輸與控制得到廣泛應用,因此在傳統項目的基礎上,把綜合電子實訓與物聯網技術結合起來,在項目中把多門課程知識點融合進去,既重視基礎,又兼顧應用,適應實際工程需求。
以遠程直流電源參數測量與控制為實例,對綜合電子實訓過程進行分析闡述,通過該項目實例,把綜合電子技術與物聯網、傳感器、智能芯片等技術貫穿其中,對電源直流電壓、電流、功率參數進行測量,遠程傳輸測量數據,同時可遠程控制電源開關,或設定定時開關等多種應用。這樣結合物聯網實現遠程數據傳輸與控制,比單一功能實訓的項目更實用,更貼近實際工程,有利于提升學生工程綜合素養[3]。
1" 設計任務
電子系統運行離不開電源,通常小型電子系統的直流電源輸入電壓范圍5~20 V,負載電流3 A。設計直流電源參數測量與控制系統(電源測控系統),實現如下基本功能:
1)將運行中測量的電壓電流和功率數據傳輸到用戶手機端。
2)記錄平均功耗,用戶可選擇查看功耗數據。
3)手動模式和自動模式,手動模式下可遠程控制電源打開或關閉,自動模式下。當負載電流超過設定閾值時,電源測控系統切斷負載,起到保護作用。
4)自動模式下,可以設定電源的定時開關時間,當運行到定時時間后自動打開或關閉電源。
根據以上功能,在綜合電子實訓過程中按照方案設計、硬件設計、軟件編程、系統調試等幾個方面進行。
2" 方案設計
物聯網平臺選擇阿里云的生活物聯網平臺(飛燕平臺),圖1是飛燕平臺的功能定義界面示意圖。飛燕平臺提供全鏈路一站式配置方案,通過每一步的引導操作,讓用戶快速構建設備到云平臺的對接,降低“設備-云-APP”的開發成本,通過功能定義、人機交互、設備調試、批量投產四個步驟快速開發物聯網應用。用戶可選擇阿里云提供的公版APP作為人機交互手機用戶界面,用戶可編輯APP界面,添加信息和功能控件,完成設備面板的創建。其中信息是遠程傳輸的測量數據,本例中就是測量的電壓電流功率參數,功能控件就是通過云平臺下發的命令,本例中就是開關控制和定時時間設定以及電流閾值設定等。
圖2是電源測控系統設計組成框圖。采用STM32F103RCT6單片機為主控芯片,這是高性能處理器,主頻72 MHz,具備定時、外中斷、串口、ADC、DMA等多種資源[4],豐富的外設和接口適用于電源測控系統,在單片機PB口上連接LCD顯示屏用以顯示裝置測量的實際數據,固定連接四個按鍵開關用于裝置設定初始參數,在SPI1接口接入字庫芯片,用以顯示漢字等,因此選擇STM32F103RCT6是非常合適的。
電壓電流功率測量可以采用專用芯片INA226,這是I2C接口的芯片,外接電流取樣電阻后,單片機通過I2C接口讀取INA226寄存器數據從而得到電壓電流和功率參數。還有一種方法是對電源電壓進行分壓,采用ADC轉換可以測量電源電壓,電流測量選擇INA199電流放大轉換芯片,該芯片對電流采樣電阻電壓放大后,單片機用ADC讀取并換算為電流,因此該方案采用兩組ADC接口,同樣可以測量電壓電流。相比之下,INA226電路接口更簡單方便。
考慮到定時開關設定與記錄平均功耗功能需求,系統加入高精度DS3231時鐘芯片和存儲芯片AT24C02,不采用單片機內部定時器資源進行定時控制,而把定時器資源應用在物聯網編程中,DS3231和AT24C02與單片機之間是I2C接口,與INA226可以并接于一組I2C接口,它們的器件地址不同,單片機訪問不同的器件地址可以讀寫不同的芯片數據,非常方便實用。Wi-Fi模塊選用基于ESP8266的ESP-12F模塊,在使用中把Wi-Fi模塊配置為客戶端(STA)模式[5],連接于單片機的串口2,程序中通過AT指令設置工作模式,通過路由器接入網絡[6],實現遠程數據傳輸。開關控制部分優先選擇MOS管控制,設計MOS管開關電路,采用漏源電流大于2~3倍最大允許電流的MOS管,MOS管漏源間導通電阻非常低,完全適合開關控制。另一種采用繼電器進行開關控制的電路,電路體積大,存在機械觸點,相比之下MOS開關控制更實用。電源測控系統包括了電壓電流取樣與測量、數字化芯片接口設計、Wi-Fi遠程連接云平臺等綜合應用。
3" 主要硬件電路設計
3.1" INA226測量電路
INA226是I2C接口的雙向電流/功率測量芯片,測量總線電源電壓和電流取樣電阻壓降,從而測量電源電壓和電流,可以高側或低側取樣,可編程校準值,實現電壓值、電流值和功率值的直接讀取,采用VSSOP-10封裝。測量電壓范圍0~36 V,0.1%增益誤差,16個可編程器件地址,芯片采用2.7~ 5.5 V單電源供電,與單片機之間通過I2C接口連接,使用非常方便。圖3是INA226應用電路,其中輸入電壓通過MOS管電子開關控制后,送到INA226的VBUS總線輸入端,測量總線輸入電壓。電路中采用高側電流采樣,選擇R2為10 mΩ采樣電阻,J1是負載接入端,負載電流在R2上的壓降送到INA226的IN+和IN-端子,得到電流在采樣電阻上的壓降,單片機通過I2C接口讀取測量參數。PC11和PC10定義為SDA和SCL,外接有10 kΩ上拉電阻。芯片供電電壓3.3 V,與單片機供電一致。A0和A1連接到不同的輸入端設定INA226的器件地址,A0和A1分別接3.3 V、GND、SDA、SCL,這樣就有16個器件地址組合,靈活應用到單片機系統中,具體可查閱INA226手冊。圖3中A0和A1簡化設定應用,分別通過R9R10和R4R5組合接到3.3 V和GND,也很方便的有四組器件地址可設定,完全滿足使用,R4R5和R9R10選擇一個接入。
3.2" 電子開關電路設計
MOS管電子開關采用PMOS管,常見的有AO4435、AO4409、AO4447。通過查閱AO4447參數可知,其漏源耐壓-30 V,柵源耐壓±20 V,連續漏極電流約18 A,極低的漏源導通電阻,作為電子開關非常合適。圖4是PMOS管電子開關原理,單片機PC5是控制端,當PC5低電平時,U2光耦導通,使Q1的柵源電壓超過PMOS管的導通電壓,于是開關打開,電源輸出到INA226接入負載并測量參數,當PC5高電平時,U2截止,Q1的柵源接入的R12使柵源壓差為0,低于PMOS管導通電壓,關閉開關。
4" 軟件設計
軟件設計中單片機讀取INA226數據,采集電壓電流和功率,分別保存在變量voltageVal、Shunt_Current和Power中,然后在阿里云創建項目,自定義三個浮點型數據類型的功能標識符,分別是VOLTAGE、CURRENT和POWER,當數據傳輸到服務器后,采集的數據對應展示在功能標識符對應的信息中。遠程控制開關功能控件標識符為SWITCH,操作該功能控件后,單片機接收并解析,匹配出命令含義,對應控制變量POWER_CON(PC5定義為POWER_CON),當解析SWITCH命令為1或0,對應控制POWER_CON為0或1,控制圖4中所示PC5電平為0或1實現遠程打開或關閉電源輸出。電流比較閾值在阿里云功能定義中定義標識符CURRENT_ADJUST,命令下發改變該數值后,單片機接收保存于變量current_threshold,在程序中把測量電流與current_threshold進行比較,當測量負載電流超過current_threshold,電源測控系統關閉開關,起保護作用。設定模式標識符MODE,對應于0或1分別表示手動模式和自動模式(電流比較),單片機接收后存放于變量mode中,程序根據mode值進行判斷。
單片機終端與阿里云之間通過MQTT協議通信,圖5是系統主流程,表示了一個完整的執行過程。
系統主流程是先判斷當Wi-Fi配置好模式,通過路由器是否成功連接服務器。當網絡連接成功后必須發送第一個連接報文服務端CONNECT(報頭0X10)并確認連接服務端是否成功,再進行報文主題訂閱SUBSCRIBE(報頭0X82)并確認訂閱成功,完成終端裝置與阿里云服務端連接的初始化,建立了終端與阿里云之間數據傳輸和消息發布的通信功能。然后分別判斷是否有數據發送、數據接收,其中數據接收部分可單獨設置一個命令處理功能。
1)數據發送是終端裝置發送數據給服務器,開始階段連接報文服務端CONNECT和報文主題訂閱SUBSCRIBE成功后,后面數據發送主要是定時器設置5 s發送一次電壓電流功率等數據給服務器(PUBLISH),每30 s發送一次心跳請求(PING),在MQTT文件中配置CONNECT消息、SUBSCRIBE消息、PUBLISH消息以及PING消息是必不可少的[7]。
2)數據接收分為不同的類型,分別有連接報文確認CONNACK(報頭0X20),主題訂閱報文確認SUBACK(報頭0X90),心跳響應回復PINGRESP(報頭0XD0),接收服務器發布消息PUBLISH(報頭0X30)。連接報文確認是客戶端收到服務器第一個發送的報文,客戶端判斷接收的字節可知連接是否成功,主題訂閱請求報文確認是判斷報文主題訂閱是否成功。連接報文確認和主題訂閱報文確認是終端裝置開機運行后接收判斷的兩個重要環節,首次連接和訂閱時,客戶端應該收到服務器發送的這兩組數據,后續則進入心跳響應回復,終端裝置每30 s發送一次心跳請求并接收到一次心跳響應。服務器發布消息是服務器推送數據,單片機接收處理,運行處理數據功能程序。
3)定義命令處理緩沖區用來處理服務器發布(推送的數據信息),命令處理可以看作是對服務器發布消息、推送數據處理的過程,是數據接收的一部分,處理推送數據是把接收的數據信息拷貝到命令緩沖區,以字符串存放在命令緩沖區變量中,命令緩沖區有數據加入后,單片機則會對命令字符進行解析,匹配功能標識符解析命令信息。本例中匹配并解析標識符SWITCH可以得到用戶開關命令,匹配并解析標識符CURRENT_ADJUST獲取電流閾值數據,匹配模式標識符MODE得到模式切換命令。當模式處于手動模式下,用戶可直接控制電源的開啟或關閉,當處于自動模式下,手動操作失效,系統判斷負載電流是否超過電流閾值,控制電源的開啟或關閉。
閾值電流current_threshold同樣會轉存于EEPROM芯片AT24C02單元,開機后讀出AT24C02存儲數值,實現閾值電流的斷電保存。讀取INA226的電源參數數據以及時鐘信息并在LCD顯示出來放在外中斷(EXTI)服務程序中,不占用主程序。
5" 系統調試
系統測試階段可采用模塊化方式[8],把單片機開發板、功能模塊INA226、DS3231等正確連接組裝。單片機開發板采用自行設計制作的電路板,以STM32F103RCT6最小系統為基礎,加入LCD顯示、字庫芯片、按鍵和Wi-Fi接口,外接串口下載、STLINK下載接口,并引出可用的GPIO端口,不同于最簡化的最小系統板和功能繁雜的開發板,自行設計的單片機開發板兼顧方便性和實用性。MOS管開關電路和INA226可以集成于一塊功能模塊,把圖3和圖4組合在一起,留出開關控制接口和I2C數字接口,電源輸入和輸出負載接口可以根據實際情況采用合適的接口。DS3231和AT24C02可以選擇成品模塊或自己設計制作模塊,當然要預留I2C接口,方便與其他I2C接口模塊連接。綜合電子實訓過程中首先對硬件部分檢查是否連接可靠,是否有短路現象,端口連接是否與軟件編程接口定義一致,保證硬件部分正確連接,就有很好的基礎,在此基礎上編寫測試軟件。
實訓過程中軟件編程同樣采用模塊化方式,先對單個軟件功能模塊進行測試,最后再組合整體測試。測試連接阿里云和數據收發等功能[9],先測試是否連接到網絡,是否可發送簡單數據,是否可接收服務器下發的簡單開關信號,或者先發送一個常量數據測試發送是否正常,然后才能測試發送電壓電流功率這些采集的變量數據。在I2C程序基礎上讀寫INA226、DS3231寄存器,采集INA226測試數據、讀取DS3231時間和日期數值存放于對應的變量并顯示,其間可充分利用串口調試助手,把讀寫的數據通過串口輸出,查看是否正確,或者把某些變量數據輸出查看調試結果,這樣可以有效地對軟件進行測試,符合系統功能需求。圖6是手機端截圖,測試數據傳輸,測試時輸入電源5 V,負載電流110 mA左右,此時處于手動模式下,手機APP端直接控制電源開關,當前設定電路的閾值電流1.5 A,電源處于開啟狀態,圖7是裝置LCD顯示運行中的數據和狀態。按照INA226設計的采集電路可測試輸入電源3~30 V、0~3 A范圍的電源參數,后續加入其他功能測試,包括定時狀態控制,定時狀態是在自動模式下的一種運行方式,根據定時時間實現開關控制。
6" 結" 論
綜合電子實訓結合當今熱門的物聯網應用,設計電源參數測量與控制系統項目,對該項目實例作較詳細分析。在實訓過程中,重視項目的方案設計,方案設計合理對項目實施有很大幫助;合理設計軟硬件,兩方面結合起來綜合考慮,才能達到事半功倍的效果;測試驗證階段,訓練學生掌握調試與測試的方法,學習查找調試中出現的軟硬件問題,提高自己解決問題的能力,提升自己工程應用能力。
參考文獻:
[1] 岳昊嵩,范昌波,張靜,等.科教融合理念下電子電路實驗的改革與實踐 [J].實驗技術與管理,2021,38(4):206-209.
[2] 陳榮,趙仁德,郭靜,等.新工科背景下基于項目驅動的新能源課程群教學模式探索[J].大學教育,2020(3):49-51.
[3] 王博,韓紹程,高歡,等.新工科背景下“綜合電子設計”層次化實驗教學探索 [J].職業教育研究,2024(2):76-80.
[4] 過文俊,金恒.基于DSC技術的自助繳費投單機自動控制系統設計 [J].自動化與儀器儀表,2021(2):139-143.
[5] 孫康亞,高紅亮,段玉龍,等.基于STM32的物聯網遠程電路參數監測系統設計 [J].自動化與儀表,2024,39(2):144-148.
[6] 倪項楠,周驥平,于天振,等.廢棄物處理工作現場巡檢機器人遠程監查系統設計 [J].制造業自動化,2024,46(1):111-114.
[7] LIU C Y,JIA Y X,et al.Design of monitoring system for intelligent windows based on cloud platform [J].Journal of Physics:Conference Series,2020,1656(1):012021.
[8] 張璞,劉寧艷,金印彬.基于模塊化平臺的電子系統綜合設計實驗 [J].中國現代教育裝備,2019(19):31-33.
[9] 施昕昕,顧宇揚.基于MQTT協議的工業物聯網數據采集和控制系統 [J].南京工程學院學報:自然科學版,2022,20(2):31-37.
作者簡介:劉靜波(1969—),男,漢族,江蘇靖江市人,高級實驗師,本科,研究方向:電子技術應用。