近年來隨著傳感器技術和信息處理技術的快速發展,工程應用中對傳感器的測量精度、數據傳輸距離和信息處理能力都提出了更高的要求。為了克服普通力敏、光敏傳感器抗干擾能力差、傳輸距離短、調零難、測量節點無法直接與上位機通信等缺點,本文設計了一種以 Freescale MC9S08SH4 單片機和 AD7705 為核心構成的智能傳感器系統,在普通傳感器上增加了軟件調零、浮點數據處理、自動補償、與上位機雙向通訊、標準化數字輸出等功能,可以很方便地實現上位機對數據的實時采集和處理,并具有測量精度高、結構緊湊、抗干擾能力強等特點。
1、系統組成
智能傳感器系統由信號調理電路、A/D 轉換電路、主控電路、調零電路、RS-485 通信電路和電源電路等模塊組成。其中信號調理模塊負責對傳感器輸出的 mV 級差分信號進行調理和放大;A/D 轉換模塊將信號調理模塊輸出的模擬信號轉換為數字信號供 MCU 處理;調零模塊可以在任意時刻將當前的輸入值設置為參考零點;RS-485 通信模塊實現主控電路與上位機之間的通信;電源模塊為主控電路、傳感器、信號調理模塊和 RS-485 通信模塊提供電源。系統結構如圖 1 所示。
2、功能模塊設計
2.1 信號調理和 A/D 轉換模塊
傳感器的輸出信號一般為 mV 級的差分信號,傳統的信號調理電路是在 A/D 轉換前加一級或多級高精度的放大電路,這樣不但增加了成本,電路也較為復雜。而 AD7705 具有完整的模擬前端,內置增益可編程放大器(PGA)和可編程數字濾波器,能直接對傳感器輸出的 mV 級信號進行調理、濾波、放大和 A/D 轉換,然后串行輸出,無需使用外部儀表放大器,極大地簡化了電路設計。
AD7705 的 A/D 轉換功能也很強,其采用的Σ-Δ轉換技術最高可實現 16 位無誤碼傳輸。在本次設計中,AD7705 的兩個全差分模擬輸入通道可以同時滿足兩路傳感器輸出信號的輸入,通過軟件編程可以方便地對信號增益、極性、輸入通道、數據輸出更新率和數字濾波器進行設置。AD7705 電路模塊如圖 2 所示。其中,傳感器輸出信號直接接入 AD7705 的差分模擬輸入通道 AIN1 端。
2.2 主控模塊
智能傳感器系統的主控 MCU 選用的是 MC9S08SH4,屬于 Freescale 公司 S08 系列 8 位單片機,具有體積小、速度快,片上資源豐富、數據處理能力強等特點。其最大時鐘頻率為 20 MHz,片上資源包括 4 KB Flash、512 B RAM、8 路鍵盤中斷、SCI 接口、SPI 接口、IIC 總線等模塊,采用 TSSOP16 封裝,尺寸很小,非常適用于本系統。為了盡量減小電路板面積,本次設計中 MC9S08SH4 的編程接口沒有使用標準的 6 芯 BDM 接口,而采用自定義的 4 芯接口,最小系統如圖 3 所示。
2.3 調零模塊
調零模塊有兩個作用,一是在每次測量前讓傳感器歸零,二是在測量過程中即時設置參考零點。
傳統的機械調零方法是在電路中增加一個電位器,利用改變分壓值的方法進行調零。這種方法調節速度很慢,準確性也比較差。本設計中采用的是軟件調零方法,首先利用鍵盤中斷采集傳感器零輸入時的 A/D 轉換結果作為參考零點,并存放到一個全局變量中;以后每次 A/D 轉換的值都與全局變量中的參考零點相比較,即可得到校正后的結果。軟件調零方法準確度高、調節速度非常快,特別適用于在測量過程中即時設置參考零點。
2.4 RS-485 通信模塊
系統與上位機之間的通信采用 RS-485 通信協議。在實際應用中,一臺上位機需要拖掛多個傳感器,并且對傳輸距離有較高的要求。RS-485 串行總線接口采用平衡發送和差分接收的方式進行數據通信,較 RS-232 提高了抗共模干擾能力和傳輸距離;并且 RS-485 總線能用于多個帶有 RS-485 接口的設備互連,實現數據的高速遠距離傳送。本系統中采用的 RS-485 通信芯片為 MAX1487,輸入口 DI 和輸出口 RO 分別和 MC9S08SH4 的串行數據發送端 TXD 和串行數據接收端 RXD 相連。讀寫使能端連接在一起,由 MC9S08SH4 的 PTA1 引腳控制。當 PTA1 輸出高電平時,傳感器系統向上位機發送數據;當 PTA1 輸出低電平時,傳感器系統從上位機接收數據,如圖 4 所示。
2.5 電源模塊
電源模塊采用 24 V 直流輸入,除了為傳感器預留 24 V、12 V 供電接口外,還為 AD7705、MAX1487、MC9S08SH4 提供 5 V 工作電壓。為使系統結構緊湊、體積小,電源模塊中使用的穩壓芯片為小電流的 78L12、78L05 和 LM1117(SOT-223 封裝)各一片。經現場測試后發現,由于系統功率很小,所以電源模塊發熱量并不大,能夠保證長時間穩定工作。
3、軟件設計
軟件設計部分主要包括 MC9S08SH4 初始化、A/D 轉換結果的中值濾波和均值濾波、設置參考零點進行數據校正、數據的浮點化處理、校對數據幀格式、通過 SCI 模塊和 RS-485 通信模塊將數據幀發送到上位機。具體流程如圖 5 所示。
上位機軟件采用 LabVIEW 結合 SQL 編寫,通過串口和 RS485 通信協議對智能傳感器系統的運行狀態進行監控,必要時上位機軟件可以重新設置數字傳感器的通信地址、A/D 轉換位數、數據幀格式和串口波特率等參數,并將采集到的運行數據存儲在數據庫中,便于日后分析整理。
本設計實現的基于 Freescale MC9S08SH4 和 AD7705 的智能傳感器系統,充分利用 MC9S08SH4 體積小、速度快,片上資源豐富、數據處理能力強等特點,結合 AD7705 內置的信號處理電路和高精度?撞 -?駐 A/D 轉換器,在普通傳感器上增加了軟件調零、浮點數據處理、多點測量、RS-485 雙向通信、標準化數字輸出等功能,克服了普通力敏、光敏傳感器數據傳輸距離短、零點調節困難、測量節點無法直接與上位機通信、抗干擾能力差等缺點。經現場測試,該系統具有體積小、測量精度高、運行穩定可靠等優點。
審核編輯黃宇
-
電源
+關注
關注
184文章
17705瀏覽量
249974 -
傳感器
+關注
關注
2550文章
51041瀏覽量
753098 -
模塊
+關注
關注
7文章
2695瀏覽量
47433 -
通信
+關注
關注
18文章
6027瀏覽量
135951 -
轉換
+關注
關注
0文章
101瀏覽量
29758
發布評論請先 登錄
相關推薦
評論