【導讀】隨著科技發(fā)展,數據采集技術在航天、工業(yè)、軍事等眾多領域得到了廣泛的應用和發(fā)展。數據采集器的抗干擾能力、精度、安全和通信兼容等方面要求也隨之增加。本文提出了一種基于STM32F101 的數據采集器的設計,這種數據采集器內部自帶12 位AD 轉換通道,保證數據采樣和處理的速度和精度,時鐘倍頻后處理速度可達36MHz。
1、信號采集
信號采集主要包括電壓信號、電流信號、頻率信號以及開關量信號,隨著現代技術的發(fā)展,傳感器主要輸出標準的電壓電流信號,而傳感器是將外部的非電量信號轉換成標準的電信號進行輸出,本課題所設計的數據采集器可以同時采集電壓、電流、開關量輸入輸出信號,且每個部分獨立工作,硬件調理電路中均采用信號隔離技術,數據采集器與上位機采用RS485通信,使用MODBUS協議作為通信規(guī)約,便于數據采集器與其他工業(yè)設備實現數據共享。
2、STM32F101 最小系統(tǒng)
STM32F101 最小系統(tǒng)包括晶振電路、復位電路和SW 程序調試接口電路,晶振電路主要為系統(tǒng)工作提供所需要的時鐘,通過初始化配置STM32F101 內部的時鐘寄存器,可將外部時鐘頻率倍頻到36MHz ;復位電路主要用于防止數據采集器程序跑飛或者死機時手動復位,同時在程序內部加入看門狗復位,程序在正常運行時正常喂狗,而當程序跑飛時數據采集器也可自動完成復位,使程序重新執(zhí)行;SW 程序調接口電路,主要用于開發(fā)人員對STM32F101 進行編程和在線仿真調試,完成數據采集器的軟件設計。由于STM32F101 性價比較高,片內集成資源豐富,在設計數據采集器時可大大簡化外部硬件電路設計。
3、數據采集器工作原理
數據采集器具有標準的電壓、電流以及開關量輸入信號采樣接口。模擬量信號采樣接口電路,使用HCNR201線性光耦進行信號隔離。電壓信號接口可輸入DC0-5V 信號,輸入的電壓信號經過電壓信號調理電路對信號進行濾波、隔離和限幅后送入STM32F101 的AD 采樣通道;電流信號接口可輸入4-20mA 信號,輸入的電流信號通過精密采樣電阻,將電流信號轉換成電壓信號,然后再將轉換的電壓信號送入電壓信號調理電路進行處理,最后再送入AD 采樣通道;開關量輸入接口采用光耦進行隔離,實現光電轉換和隔離保護。STM32F101 將采樣的數據進行軟件處理后,再通過RS485 通信接口將數據上傳至上位機或者其他設備,完成數據采集處理和通信的功能。
4、數據采集器硬件設計
數據采集器硬件結構包括STM32 最小系統(tǒng)、電源、開關量輸入接口電路、電壓信號采樣接口電路、電流信號采樣接口電路和RS485 通信接口電路,數據采集器結構圖如圖1 所示。
5、電源電路
本課題所設計的數據采集器可工作于DC12V,輸入的DC12V 經過LM7805CT轉換為+5V 電壓,并通過電感L15 實現輸入DC12V 電源GND 與+5V 電源DGND的隔離,DC12V 轉DC+5V 電源轉換電路如圖2 所示。由于STM32F101 工作電壓為3.3V,因此還需通過電源模塊LT1117-3.3轉為DC+3.3V,供給CPU 使用。DC+5V轉DC3.3V 電源轉換電路如圖3 所示。
另外在所設計的硬件電路中,對RS485 通信電路和模擬量的信號采樣電路均用了信號隔離技術,供給RS485 芯片工作的電源和模擬量信號處理電路中的線性光耦電源均需通過隔離電源模塊B0505S 轉換產生,該模塊可將+5V 電源輸出為另一路隔離電源,而且芯片隔離電壓能達到1000VDC,溫度特性較好。線性光耦電源AD+5V 和RS485 電源S+5V 轉換電路如圖4、圖5 所示。
6、RS485 通信接口電路
RS485 通信主要實現采集的數據傳輸,為保證數據傳輸的安全性和通信的兼容性,在硬件設計上使用SP3485 作為收發(fā)控制器,同時使用TLP521 光耦進行隔離,保證數據采集卡硬件通信的安全;在軟件設計上使用工業(yè)標準的MODBUS 協議作為RS485 通信規(guī)約,保證系統(tǒng)良好的兼容性和數據傳輸的準確性。
[page]
7、開關量輸入接口電路
開關量輸入接口主要用于采集外部開關量信號,此部分電路使用TLP521 光耦進行隔離,保證信號采樣電路的安全性,同時可減小電路干擾。開關量信號從IN 輸入,COM 為信號輸入公共端。開關量信號經光耦輸出至STM32 的GPIO 口,實現對外部開關量信號的檢測。
8、電壓電流信號采樣接口電路
傳感器將非電量信號轉換為電信號,一般輸出標準電壓電流信號,STM32F101自帶AD 轉換通道允許輸入電壓范圍為0-3.3V,因此傳感器輸出信號需經信號調理電路調整到AD 通道有效采樣電壓范圍。本課題的設計的數據采集卡可采樣DC0-5V 電壓信號和DC4-20mA 電流信號,使用HCNR201 線性光耦進行隔離,輸出跟隨輸入變化,線性度較好,保證了信號采樣的準確性。
電壓信號采樣接口電路輸入電壓范圍為DC0-5V, 輸入電壓經電阻R1A 和R1B 分壓后經電阻R63 輸入至運放U30A反相端,電容C107 構成反饋電容,主要用來消除噪聲和干擾。運放U30A 在此處構成比較器,當有外部電壓信號接入時,U30A 的1 端輸出低電平,線性光耦HCNR201 的LED 發(fā)光,當光照到PD1、PD2 時分別形成通路,線性光耦主要實現光電轉換和隔離,經過線性光耦輸出的電流信號通過運放U31B 構成的電路形成電壓信號,經過U31B 輸出的電壓信號經過運放U31A 構成的3.3V 限幅電路,將輸出電壓限定在0-3.3V 范圍內,以保證STM32F101 的AD 通道采集到正常的電壓信號。
9、軟件設計
數據采集器軟件設計主要采用模塊化編程,主程序流程圖主要包括關中斷、各功能模塊初始化、開相關中斷、看門狗定時、開關量輸入采集、AD 采樣處理、RS485 通信數據處理和定時喂狗;主程序流程圖如圖6 所示。
10、仿真測試
通過Multism 對電壓信號采樣電路進行仿真,采樣輸入信號接入示波器A 通道,電壓幅值范圍為DC0-5V,輸入信號經過電壓信號處理電路后輸出電壓信號輸入示波器B 通道,當輸入電壓為100mV時,經過電壓信號處理電路輸出電壓為101.541mV ;當輸入電壓為3.28V 時,經過電壓信號處理電路輸出電壓為3.28V ;當輸入電壓為5V 時,經過3.3V 限幅電路后電壓被鉗在3.3V,由仿真圖觀察可知,HCNR201 具有良好的線性度,保證了數據采樣的精度。
技術分享:基于DSP和STM32的電液伺服控制器設計
探討基于STM32的全彩LED顯示屏系統(tǒng)設計
STM32:基于STM32控制的太陽能——LED街燈解決方案