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