基于STM32數(shù)據(jù)采集器的設(shè)計(jì)
數(shù)據(jù)采集技術(shù)在工業(yè)、航天、軍事等方面具有很強(qiáng)的實(shí)用性,隨著現(xiàn)代科技發(fā)展,數(shù)據(jù)采集技術(shù)在眾多領(lǐng)域得到了廣泛的應(yīng)用和發(fā)展。同時(shí)對(duì)數(shù)據(jù)采集器的精度、抗干擾能力、安全和通信兼容等方面提出了更高的要求?;谏鲜鲆筇岢隽艘环N基于STM32F101的數(shù)據(jù)采集器的設(shè)計(jì)方案,該數(shù)據(jù)采集器使用MODBUS協(xié)議作為RS485通信標(biāo)準(zhǔn)規(guī)約,信號(hào)調(diào)理電路與STM32F101的AD采樣通道之間均采用硬件隔離保護(hù),可同時(shí)采樣3路DC0-5V電壓信號(hào)、3路DC4-20mA電流信號(hào)和6路開(kāi)關(guān)量輸入信號(hào),實(shí)驗(yàn)證明本數(shù)據(jù)采集器具有較高的測(cè)量精度,符合工業(yè)現(xiàn)場(chǎng)應(yīng)用需求。
本文引用地址:http://m.butianyuan.cn/article/263936.htm信號(hào)采集主要包括電壓信號(hào)、電流信號(hào)、頻率信號(hào)以及開(kāi)關(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í)采集電壓、電流、開(kāi)關(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ù)共享。
課題設(shè)計(jì)的基于STM32的數(shù)據(jù)采集器,使用性價(jià)比較高的STM32F101作為核心處理器,時(shí)鐘倍頻后處理速度可達(dá)36MHz;內(nèi)部自帶12位AD轉(zhuǎn)換通道,保證數(shù)據(jù)采樣和處理的速度和精度。
1數(shù)據(jù)采集器工作原理
數(shù)據(jù)采集器具有標(biāo)準(zhǔn)的電壓、電流以及開(kāi)關(guān)量輸入信號(hào)采樣接口。模擬量信號(hào)采樣接口電路,使用HCNR201線性光耦進(jìn)行信號(hào)隔離。電壓信號(hào)接口可輸入DC0-5V信號(hào),輸入的電壓信號(hào)經(jīng)過(guò)電壓信號(hào)調(diào)理電路對(duì)信號(hào)進(jìn)行濾波、隔離和限幅后送入STM32F101的AD采樣通道;電流信號(hào)接口可輸入4-20mA信號(hào),輸入的電流信號(hào)通過(guò)精密采樣電阻,將電流信號(hào)轉(zhuǎn)換成電壓信號(hào),然后再將轉(zhuǎn)換的電壓信號(hào)送入電壓信號(hào)調(diào)理電路進(jìn)行處理,最后再送入AD采樣通道;開(kāi)關(guān)量輸入接口采用光耦進(jìn)行隔離,實(shí)現(xiàn)光電轉(zhuǎn)換和隔離保護(hù)。STM32F101將采樣的數(shù)據(jù)進(jìn)行軟件處理后,再通過(guò)RS485通信接口將數(shù)據(jù)上傳至上位機(jī)或者其他設(shè)備,完成數(shù)據(jù)采集處理和通信的功能。
2數(shù)據(jù)采集器硬件設(shè)計(jì)
數(shù)據(jù)采集器硬件結(jié)構(gòu)包括STM32最小系統(tǒng)、電源、開(kāi)關(guān)量輸入接口電路、電壓信號(hào)采樣接口電路、電流信號(hào)采樣接口電路和RS485通信接口電路,數(shù)據(jù)采集器結(jié)構(gòu)圖如圖1所示。
圖1 基于STM32的數(shù)據(jù)采集器結(jié)構(gòu)圖
2.1 STM32F101最小系統(tǒng)
STM32F101最小系統(tǒng)包括晶振電路、復(fù)位電路和SW程序調(diào)試接口電路,晶振電路主要為系統(tǒng)工作提供所需要的時(shí)鐘,通過(guò)初始化配置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)接口電路,主要用于開(kāi)發(fā)人員對(duì)STM32F101進(jìn)行編程和在線仿真調(diào)試,完成數(shù)據(jù)采集器的軟件設(shè)計(jì)。由于STM32F101性價(jià)比較高,片內(nèi)集成資源豐富,在設(shè)計(jì)數(shù)據(jù)采集器時(shí)可大大簡(jiǎn)化外部硬件電路設(shè)計(jì)。
2.2電源電路
本課題所設(shè)計(jì)的數(shù)據(jù)采集器可工作于DC12V,輸入的DC12V經(jīng)過(guò)LM7805CT轉(zhuǎn)換為+5V電壓,并通過(guò)電感L15實(shí)現(xiàn)輸入DC12V電源GND與+5V電源DGND的隔離,DC12V轉(zhuǎn)DC+5V電源轉(zhuǎn)換電路如圖2所示。由于STM32F101工作電壓為3.3V,因此還需通過(guò)電源模塊LT1117-3.3轉(zhuǎn)為DC+3.3V,供給CPU使用。DC+5V轉(zhuǎn)DC3.3V電源轉(zhuǎn)換電路如圖3所示。
圖2 DC12V轉(zhuǎn)DC+5V電源轉(zhuǎn)換電路
圖3 DC+5V轉(zhuǎn)換DC3.3V電源轉(zhuǎn)換電路
另外在所設(shè)計(jì)的硬件電路中,對(duì)RS485通信電路和模擬量的信號(hào)采樣電路均用了信號(hào)隔離技術(shù),供給RS485芯片工作的電源和模擬量信號(hào)處理電路中的線性光耦電源均需通過(guò)隔離電源模塊B0505S轉(zhuǎn)換產(chǎn)生,該模塊可將+5V電源輸出為另一路隔離電源,而且芯片隔離電壓能達(dá)到1000VDC,溫度特性較好。線性光耦電源AD+5V和RS485電源S+5V轉(zhuǎn)換電路如圖4、圖5所示。
圖4 DC+5V轉(zhuǎn)DC AD+5V電源轉(zhuǎn)換電路
圖5 DC+5V轉(zhuǎn)DC 5+5V電源轉(zhuǎn)換電路
2.3開(kāi)關(guān)量輸入接口電路
開(kāi)關(guān)量輸入接口主要用于采集外部開(kāi)關(guān)量信號(hào),此部分電路使用TLP521光耦進(jìn)行隔離,保證信號(hào)采樣電路的安全性,同時(shí)可減小電路干擾。開(kāi)關(guān)量信號(hào)從IN輸入,COM為信號(hào)輸入公共端。開(kāi)關(guān)量信號(hào)經(jīng)光耦輸出至STM32的GPIO口,實(shí)現(xiàn)對(duì)外部開(kāi)關(guān)量信號(hào)的檢測(cè)。
2.4電壓電流信號(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)成反饋電容,主要用來(lái)消除噪聲和干擾。運(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)過(guò)線性光耦輸出的電流信號(hào)通過(guò)運(yùn)放U31B構(gòu)成的電路形成電壓信號(hào),經(jīng)過(guò)U31B輸出的電壓信號(hào)經(jīng)過(guò)運(yùn)放U31A構(gòu)成的3.3V限幅電路,將輸出電壓限定在0-3.3V范圍內(nèi),以保證STM32F101的AD通道采集到正常的電壓信號(hào)。
2.5 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)確性。
3軟件設(shè)計(jì)
數(shù)據(jù)采集器軟件設(shè)計(jì)主要采用模塊化編程,主程序流程圖主要包括關(guān)中斷、各功能模塊初始化、開(kāi)相關(guān)中斷、看門狗定時(shí)、開(kāi)關(guān)量輸入采集、AD采樣處理、RS485通信數(shù)據(jù)處理和定時(shí)喂狗;主程序流程圖如圖6所示。
圖6 數(shù)據(jù)采集卡主程序流程圖
4結(jié)語(yǔ)
通過(guò)Multism對(duì)電壓信號(hào)采樣電路進(jìn)行仿真,采樣輸入信號(hào)接入示波器A通道,電壓幅值范圍為DC0-5V,輸入信號(hào)經(jīng)過(guò)電壓信號(hào)處理電路后輸出電壓信號(hào)輸入示波器B通道,當(dāng)輸入電壓為100mV時(shí),經(jīng)過(guò)電壓信號(hào)處理電路輸出電壓為101.541mV;當(dāng)輸入電壓為3.28V時(shí),經(jīng)過(guò)電壓信號(hào)處理電路輸出電壓為3.28V;當(dāng)輸入電壓為5V時(shí),經(jīng)過(guò)3.3V限幅電路后電壓被鉗在3.3V,由仿真圖觀察可知,HCNR201具有良好的線性度,保證了數(shù)據(jù)采樣的精度。
圖7 100mv電壓信號(hào)采樣處理電路Multism仿真
圖8 3.28V電壓信號(hào)采樣處理電路Multism仿真
圖9 5V電壓信號(hào)采樣處理電路Multism仿真
光耦相關(guān)文章:光耦原理
晶振相關(guān)文章:晶振原理
評(píng)論