魏建升,成明明,張蓓,王一石
(1.蘭州工業學院,甘肅 蘭州 730050;2.蘭州環科泰電子科技有限公司,甘肅 蘭州 730030;3.甘肅農業大學,甘肅 蘭州 730070)
工業數據采集器是一種基于物聯網技術的設備,它可以通過傳感器采集工業現場的溫度、濕度、壓力、振動等參數,以及生產設備的運行狀態、維護保養記錄等信息數據[1-2],并將其傳輸至云端進行存儲和管理。同時,它還可以對歷史數據進行分析,了解生產過程的趨勢和規律,為生產決策提供參考。物聯網技術的發展,為工業數據采集和處理提供了新的思路和手段[3-4]。因此,設計一種基于物聯網技術的工業數據采集器,對于工業生產的智能化和信息化具有重要的意義。本文旨在設計一種基于物聯網的工業數據采集器,并進行實驗測試,以驗證其性能和實用性。
前端工業數據采集器的基本原理是通過傳感器采集各種參數,將數據轉換成數字信號后存儲在內存中,并通過通信接口將數據傳輸到數據中心或控制中心。其系統架構圖如圖1所示。

圖1 系統架構
其中,傳感器是工業數據采集器的核心部件,它能夠將溫度、壓力、流量、振動等各種參數轉換成電信號,然后通過放大電路、濾波電路等進行處理,最終輸出標準化的數字信號[5-6],通過控制模塊對采集到的數據進行存儲和管理。
工業數據采集器的總體設計方案如圖2所示。硬件系統主要由模擬信號處理電路、數字信號處理電路、單片機最小系統電路、存儲電路、485通信電路、網絡和上位機通信電路以及電源電路組成。硬件系統分為兩部分:信號采集底板系統和核心板系統,在供電方面,采用兩組電路分開供電。信號采集過程:傳感器的數據通過相應的信號處理電路再通過底板和核心板連接端口到達單片機中,單片機獲取到數據后進行本地存儲或者通過網絡通信遠程傳輸到服務器并存儲。上位機通過USB線連接到信號采集底板,實現和單片機的通信,完成采集方式的配置。

圖2 硬件系統總體設計
單片機最小系統是單片機正常工作的核心電路,是單片機正常工作的基本條件。最小系統由主控芯片STM32F103RCT6和一些外圍電路組成[7],主要包括:晶振電路、復位電路、RTC供電電路、模擬器件供電電路、燒寫和調試電路。
網絡通信是單片機將數據采集到內部存儲器后,如果配置的是遠程存儲方式。那么此時會將數據通過本電路配合軟件實現數據的遠程傳輸,實現本地到遠程服務器端的數據存儲。網絡通信電路使用基于BC20的物聯網解決方案,實現遠程服務器的連接和通信。BC20是基于移動網絡實現的,需要SIM卡的支持,可以使系統應對復雜的環境,可部署在具有移動網絡覆蓋的任何區域。
USB轉串口電路用于上位機和下位機進行通信,由于通信雙方采用串口進行通信,但是如今的上位機一般沒有串口。而是使用USB接口,因此需要將USB電平轉換為串口電平(TTL電平),芯片CH340G即可實現USB轉串口,之后才可以進行正常通信[8]。
數據存儲電路是當單片機將數據采集完成后,進行本地數據存儲。本設計采用SD卡實現數據本地存儲,使用SPI總線將其和單片機連接,實現數據通信。
電流采集電路是將0-20mA的電流信號進行前期處理。處理完成送給單片機ADC電壓采集端口。工作過程:電路中首先將端子流入的電流信號進行變換,通過R22電阻將0-20mA電流信號轉換為0-3v的電壓信號。之后使用LM358芯片實現電壓跟隨,起到信號隔離、降低信號輸出阻抗作用,然后送入單片機模擬量采集端口進行采集。TV3、TV4瞬態二極管用于抑制浪涌電壓,使其不高于3.3V,單片機的模擬量輸入電壓范圍是0-3.3V,可起到保護單片機的作用。C10、C11、C13、C21、C23用于濾除信號噪聲和電源噪聲,讓信號更加穩定。
電壓信號采集電路是將傳感器輸入的0-10V電壓信號進行前期處理。通過該電路將輸入的0-10v電壓轉換為滿足單片機要求的0-3.3V電壓。之后再交給單片機ADC進行電壓采集。TV1、TV2用于抑制浪涌電壓,實現兩路電壓信號幅度的限制,防止輸入電壓超過10V時導致損壞單片機。C20、C22、C9、C14用于濾除噪聲干擾。
485通信電路主要實現基于Modbus-RTU協議傳感器的數據通信。電路中核心芯片MAX485用于將TTL電平轉換為485電平。由于485通信總線采用半雙工通訊方式,因此需要進行數據收發控制,一般有兩種控制收發的方法:一是單片機內部進行軟件控制,二是通過硬件實現自動控制,本設計使用硬件實現自動控制,目的即是適當地減輕軟件設計的負擔,其中Q1及其周圍元器件協調完成了數據自動收發功能。其次通過芯片ADUM1201ARZ將信號進行了隔離,進一步保證了核心元件的安全,增強了系統的抗干擾及其穩定性。
對于軟件系統設計部分,主要使用FreeRTOS實時操作為核心,所需要實現的功能使用FreeRTOS創建任務,將每一個功能分開處理。軟件開發原則上采用模塊化設計并進行分層處理,使得軟件邏輯與層析清晰,實現較為容易。本設計將軟件部分大致分為三層:硬件層、數據獲取層、數據處理層。硬件層主要實現單片機硬件的初始化,如ADC、串口、RT等硬件的初始化會給上層提供獲取數據接口。數據獲取層使用硬件層提供的接口來獲取數據,將數據首先保存到單片機內存中。數據處理層也稱核心層,主要完成數據的本地保存和服務器保存,如:將每一次采集的數據上追加時間信息,之后通過存儲處理程序將數據進行保存[9-13]。
底層驅動程序方面,采集器支持多種傳感器的驅動程序,可以實現對各種傳感器的數據采集和處理。
數據采集程序方面,采集器采用多線程設計,同時對多個傳感器進行數據采集,并對采集到的數據進行預處理和篩選,確保數據的準確性和完整性。
數據處理程序方面,采集器支持多種數據處理算法,如濾波、歸一化、數據壓縮等,實現對采集到的數據進行處理和優化,提高數據的可用性和價值。
通信程序方面,采集器采用Socket編程,實現數據的實時傳輸和遠程控制,支持TCP/IP、HTTP等多種通信協議,具有通信速度快、傳輸穩定等特點。
本文設計的工業數據采集器在實驗室環境下進行測試。圖3是系統按照默認1S采樣周期進行采樣,將數據記錄在SD卡中。文件名為當天日期,擴展名:.csv,這種文件格式可以直接被PC端的Excel軟件識別,將數據按照表格形式展現出來,因此可將SD卡插入PC機進行查看采集到的數據。在測試過程中,工業數據采集器可以正常采集并傳輸各種數據,實現實時監控和數據處理,同時,也可以對歷史數據進行分析和處理,為生產決策提供參考。

圖3 SD卡文件內容
本文設計了一種基于物聯網的工業數據采集器,并進行了實驗測試,驗證了其性能和可靠性。通過測試結果,本文設計的工業數據采集器具有采集精度高、實時性強、支持多種傳感器、通信速度快、傳輸穩定等優點。
在今后的研究中,可以進一步優化工業數據采集器的硬件設計,提高其穩定性和耐用性,同時,加強采集器的安全性能,加密數據傳輸,保護數據安全。此外,還可以開發更多的數據處理算法,進一步提高數據的可用性和價值,為工業生產提供更為精確的數據支持。