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