孫輝 劉明強(qiáng) 胡紅林 劉進(jìn) 田宇
摘 ?要:本文基于模數(shù)轉(zhuǎn)換器AD7172研究高精度位移傳感器的電橋測(cè)量方法,這個(gè)方法是利用惠斯通電橋兩端電阻平衡的原理,平衡的兩端加入一截電阻絲,滑動(dòng)電阻絲上端的測(cè)量桿會(huì)造成電橋兩邊電阻的變化,從而使電阻絲兩端電壓差值的變化,換算出滑動(dòng)測(cè)量桿移動(dòng)的距離。通過(guò)配置模數(shù)轉(zhuǎn)換器AD7172不同的采樣速率及工作模式實(shí)現(xiàn)對(duì)電橋兩邊電壓差值的數(shù)據(jù)采樣,主控芯片STM32F103C8T6通過(guò)SPI接口與模數(shù)轉(zhuǎn)換器AD7172進(jìn)行控制與數(shù)據(jù)通信,然后將數(shù)據(jù)通過(guò)上位機(jī)顯示,從而實(shí)現(xiàn)對(duì)高精度傳感器研究。
關(guān)鍵詞:模數(shù)轉(zhuǎn)換器AD7172;惠斯通電橋;上位機(jī);STM32F103C8T6;SPI
0 引言
隨著科學(xué)技術(shù)的高速發(fā)展,各種位移傳感器更迭換代的速度不斷加快,原先的一些位移傳感器的測(cè)量精度已經(jīng)滿足不了很多工業(yè)上的需求,因此研究更高精度的位移傳感器一直是人們所追求的。截止目前,位移傳感器已經(jīng)在生活中隨處可見(jiàn)了,在生活和工業(yè)上,位移傳感器起著不可或缺的作用。各種類型的傳感器有著各自有優(yōu)點(diǎn),能夠在不同領(lǐng)域發(fā)揮自己的最大價(jià)值。因此在選擇使用時(shí)應(yīng)該根據(jù)使用測(cè)量是什么來(lái)選擇相應(yīng)的測(cè)量工具,以減少使用時(shí)工具及外界帶來(lái)的干擾,本文主要是對(duì)電阻應(yīng)變式位移傳感器進(jìn)行研究。
1 惠斯通電橋的測(cè)量原理
電阻應(yīng)變式位移傳感器主要是利用電阻阻值的變化來(lái)達(dá)到測(cè)量的要求,而惠斯通電橋電路是一種可以用來(lái)測(cè)量電阻電阻變化的電路,由四個(gè)阻值一樣的電阻和若干導(dǎo)線相連接組成,電橋?qū)α啥送饨与娫?,另外兩端的阻值是處于平衡狀態(tài),此時(shí)引入一截特殊電阻絲作為附加電阻,此處選用的是鎳鉻絲,測(cè)量桿滑動(dòng)到鎳鉻絲不同位置會(huì)引入不同的電阻,每個(gè)時(shí)刻等于引入一個(gè)電阻,電流不變,同一導(dǎo)線的阻值發(fā)生變化,導(dǎo)線兩端的電壓也會(huì)隨之發(fā)生變化,這體現(xiàn)了金屬絲的電阻應(yīng)變效應(yīng)[1],利用這一關(guān)系能夠精確測(cè)量電阻。
此次電橋使用的四個(gè)電阻阻值皆為75 Ω,A+和A-兩端的阻值恒定為75Ω,當(dāng)滑動(dòng)測(cè)量桿時(shí),引入的附加電阻為變化的R,此時(shí)A+和A-兩端的電壓會(huì)發(fā)生變化。設(shè)有一段長(zhǎng)L,截面積A,電阻率ρ的金屬絲,其原始阻值為:
"R=ρ" ?L/A
式中:R為金屬絲的原始電阻(Ω);ρ為金屬絲的電阻率(Ω·m),屬于鎳鉻絲本身自帶屬性;L為金屬絲的長(zhǎng)度(m),A為金屬絲的橫截面積(m2),A=πr2,r為金屬絲的半徑[2]。附加電阻是選用直徑0.4 mm的鎳鉻絲代替,因?yàn)闄M截面恒定,單位長(zhǎng)度內(nèi),鎳鉻絲電阻較大,且受溫度變化較小,便于測(cè)量。
通過(guò)采集A+和A-兩端電壓的變化,可得到相應(yīng)附加電阻R的阻值變化,推出滑動(dòng)測(cè)量桿位移,其位移為:
?L= ?RA/ρ
式中,?R是測(cè)量桿滑動(dòng)過(guò)程中變化的電阻,A為鎳鉻絲的橫截面積,L便是測(cè)量桿的位移,ρ為鎳鉻絲的電阻率,根據(jù)式子便可實(shí)現(xiàn)對(duì)事物位移的精確測(cè)量。
2 模數(shù)轉(zhuǎn)化器AD7172
2.1 AD7172的介紹
模數(shù)轉(zhuǎn)換器AD7172是一款低功率、高分辨率、性能穩(wěn)定突出的產(chǎn)品,能夠配置2個(gè)全差分輸入通道或4個(gè)單端輸入通道,具有24位無(wú)噪聲分辨率,使得采集到的電壓轉(zhuǎn)換更加精確高效。AD7172擁有24個(gè)引腳,每個(gè)引腳的定義對(duì)應(yīng)著不同功能,充分合理的運(yùn)用不同引腳能夠提高器件的工作效率。電源是每個(gè)器件工作的首要前提,而AD7172工作的時(shí)候有三個(gè)獨(dú)立的電源引腳,每個(gè)電源引腳擁有不同的功能,其中AVDD1用作轉(zhuǎn)換器工作時(shí)的ADC轉(zhuǎn)換,AVDD2 能夠?yàn)檗D(zhuǎn)換器的內(nèi)核供電; IOVDD能夠?yàn)檗D(zhuǎn)換器的數(shù)字邏輯供電 [3-4]。
2.2 AD7172的采樣配置
單片機(jī)上電復(fù)位后,MCU通過(guò)SPI接口訪問(wèn)AD7172,訪問(wèn)的是AD7172的通信寄存器,它是一個(gè)8位只寫寄存器,第一次訪問(wèn)的時(shí)候,將所需要的指令寫入到通信寄存器,便于確定接下來(lái)的操讀操作還是寫操作,這些操作都是操作于AD7172內(nèi)部的各類寄存器,用于實(shí)現(xiàn)工作模式和采集數(shù)據(jù)的各種配置。寄存器0x00中的位[5:0])決定讀或?qū)懖僮鞯哪繕?biāo)寄存器。AD7172將內(nèi)部各類寄存器配置完成能夠滿足采集物理量的需求,此次通道寄存器的配置是通道CH1,運(yùn)用差分輸入將AIN0作為此通道連接到ADC的負(fù)輸入,AIN1作為此通道連接到ADC的正輸入,配置通道寄存器為0x11,功能是選擇模擬量輸入通道,使能通道;設(shè)置配置寄存器設(shè)置為0x20,主要對(duì)使能的通道進(jìn)行設(shè)置,例如設(shè)置輸出編碼是雙極性還是單極性,選擇外部基準(zhǔn)電壓源還是內(nèi)部基準(zhǔn)電壓源是否禁用輸入緩沖器;濾波器配置寄存器設(shè)置為0x28,主要是用于選擇數(shù)字濾波器用來(lái)控制數(shù)據(jù)的輸出速率以及增強(qiáng)抑制性能;失調(diào)寄存器配置,和增益寄存器分別配置為0x30和0x38,是根據(jù)ADC工作模式選擇配置,一般默認(rèn);ADC模式寄存器配置為0x420C,主要用于選擇ADC工作模式,例如單次轉(zhuǎn)換、連續(xù)轉(zhuǎn)換、待機(jī)模式等,還有時(shí)鐘源的選擇,是內(nèi)部振蕩器輸出還是外部時(shí)鐘輸入;配置接口模式寄存器,主要配置各種串行接口選項(xiàng),控制數(shù)據(jù)長(zhǎng)度及CRC使能等,配置各種寄存器流程如圖1所示:
3.MCU控制流程
MCU采用的是意法半導(dǎo)體公司生產(chǎn)的STM32F10x系列的STM32F103C8T6芯片,它是32位且?guī)в?4K字節(jié)閃存的微控制器和256K程序的Flash,其工作頻率高于一般MCU,是一款綜合性能性能高的產(chǎn)品。該芯片內(nèi)部集成9個(gè)通信接口,包括USART接口、IIC接口、SPI接口、CAN接口和USB 2.0全速接口,該芯片所具備功能滿足此次研究所需的要求[5-6]。MCU與AD7172之間的控制指令下發(fā)和數(shù)據(jù)交換是通過(guò)SPI接口完成的,兩者通信之前,首先需要確定主、從設(shè)備的地址,可以有多個(gè)從設(shè)備,但是設(shè)備地址不能相同,否則主設(shè)備無(wú)法訪問(wèn)[7]。 SPI占用芯片的4個(gè)引腳,它們分別是主設(shè)備數(shù)據(jù)輸入從設(shè)備輸出線、從設(shè)備數(shù)據(jù)輸入主設(shè)備數(shù)據(jù)輸出線、時(shí)鐘線和片選線,能夠穩(wěn)定地完成此次采集數(shù)據(jù)的傳輸。當(dāng)MCU接收到由AD轉(zhuǎn)換器轉(zhuǎn)換而來(lái)的數(shù)據(jù)時(shí)候,兩種得到數(shù)據(jù)的方法,第一將收到的數(shù)據(jù)通過(guò)MCU串口發(fā)送到PC端串口,然后通過(guò)PC端上位機(jī)顯示出來(lái),然后將得到的數(shù)據(jù)計(jì)算得到滑動(dòng)測(cè)量桿的位移;第二MCU將數(shù)據(jù)通過(guò)自身串口2發(fā)送給無(wú)線模塊,通過(guò)無(wú)線模塊能夠?qū)?shù)據(jù)實(shí)現(xiàn)遠(yuǎn)程傳輸,最后將得到數(shù)據(jù)從TCP上位機(jī)端輸出,就可以換算得到精確的位移。大致框圖如圖2示:
4. AD7172及SPI的部分代碼配置
4.1 AD7172讀寫代碼配置
AD7172能夠?qū)Ω郊与娮鑳啥说碾妷耗M量實(shí)現(xiàn)精確采集,MCU將配置指令通過(guò)SPI寫入到AD7172的內(nèi)部寄存器,對(duì)內(nèi)部寄存器進(jìn)行讀寫操作,使AD7172能滿足采集的需求,配置AD7172代碼如圖3所示:
通過(guò)這些代碼,我們能夠?qū)D7172內(nèi)部寄存器進(jìn)行讀寫操作,以實(shí)現(xiàn)對(duì)數(shù)據(jù)的穩(wěn)定、高效的采集,提高AD7172工作效率,為了便于更好收集采集的值,制定采樣速率為1秒1次。
4.2 SPI協(xié)議代碼配置
AD7172將采集到得數(shù)據(jù)通過(guò)SPI接口送到MCU進(jìn)行處理,MCU與AD7172通信是通過(guò)自身?yè)碛械腟PI2管腳通信,因此要配置SPI2協(xié)議代碼收發(fā)數(shù)據(jù),信協(xié)議通道配置成功后,可通過(guò)自定義函數(shù)實(shí)現(xiàn)對(duì)采集到的數(shù)據(jù)進(jìn)行傳遞,其中包括AD7172的配置指令,MCU將配置好的指令通過(guò)SPI2發(fā)送到AD7172,收到指令的AD7172根據(jù)配置的指令需求對(duì)電壓模擬量有序、高效、精確的采集,將采集到模擬量轉(zhuǎn)換為數(shù)字量,之后通過(guò)SPI2把這些數(shù)據(jù)傳遞到MCU,完成兩者之間的通信。
5. 上位機(jī)及數(shù)據(jù)處理
上位機(jī)界面是基于Visual用c語(yǔ)言為底層開(kāi)發(fā)語(yǔ)言編寫的,讓它作為人與機(jī)器交互的橋梁,能夠讓操作者知曉采集過(guò)程中的狀態(tài)信息,也可以根據(jù)需求編寫相應(yīng)功能區(qū),實(shí)現(xiàn)簡(jiǎn)易的對(duì)下位機(jī)控制和實(shí)時(shí)數(shù)據(jù)傳輸,還能直觀簡(jiǎn)易的得到結(jié)果,減少工作量[8]。其中數(shù)據(jù)的處理算法已經(jīng)寫入上位機(jī)中,電壓每變化4.5μv便位移10微米,當(dāng)無(wú)線模塊連接到上位機(jī),MCU就會(huì)將AD7172傳遞過(guò)來(lái)的數(shù)據(jù)發(fā)給無(wú)線模塊,模塊再通過(guò)TCP網(wǎng)絡(luò)協(xié)議發(fā)送給上位機(jī),上位機(jī)將模塊發(fā)來(lái)的處理之后數(shù)據(jù)直接顯示在界面。
此次數(shù)據(jù)是通過(guò)無(wú)線模塊對(duì)MCU處理后的數(shù)據(jù)遠(yuǎn)程接收,MCU通過(guò)自身串口2對(duì)無(wú)線模塊通信,建立串口2的協(xié)議報(bào)文,給MCU上電工作,此時(shí)滑動(dòng)測(cè)量桿處于起點(diǎn),無(wú)線模塊與MCU通信收到的數(shù)據(jù),由界面可以得到,相對(duì)零點(diǎn)是14530μv,等待1-2分鐘,最大變化是1μv,當(dāng)滑動(dòng)測(cè)量桿滑動(dòng)一段位移后,得到的數(shù)據(jù)如圖4所示:
因?yàn)槠瘘c(diǎn)采集電壓的相對(duì)零點(diǎn)是14530μv,位移后的采集電壓是16250μv,變化的電壓便是1720μv,最后將位移顯示在界面。
結(jié)論
利用惠斯通單臂電橋的優(yōu)點(diǎn),能夠準(zhǔn)確測(cè)量出附加電阻的變化,電阻的選取是單位長(zhǎng)度內(nèi)電阻相對(duì)較大,且一定溫度下,電阻受溫度變化較小,減少不必要的誤差影響。附加電阻變化引起兩端電壓變化,而24位模數(shù)轉(zhuǎn)換器AD7172能夠精確將兩端電壓轉(zhuǎn)換為數(shù)字量,在眾多AD轉(zhuǎn)換器之中,它性能穩(wěn)定、突出、采集精準(zhǔn),能一定程度上減少采集誤差。由數(shù)據(jù)分析可以看出,位移傳感器的測(cè)量的精度準(zhǔn)確的達(dá)到微米級(jí)別,能夠滿足生活與工業(yè)上的很多需求,由于是小型的高精度位移傳感器,使它本身靈活方便,便于移動(dòng),滿足高要求、高精度的測(cè)量,但是因?yàn)楸旧眢w型的局限性,只適合用來(lái)測(cè)量短距離的位移,對(duì)于較遠(yuǎn)距離的測(cè)量有一定的困難。
參考文獻(xiàn)
[1]林麗梅,郭維熊.惠斯通電橋?qū)嶒?yàn)中橋臂電阻的確定[J].大學(xué)物理實(shí)驗(yàn),2016,29(06):36-39.
[2]李巧真,李剛,韓欽澤.電阻應(yīng)變片的實(shí)驗(yàn)與應(yīng)用[J].實(shí)驗(yàn)室研究與探索,2011,30(04):134-137.
[3]簡(jiǎn)志景,梁昊.一種基于FPGA的多通道數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].信息技術(shù)與網(wǎng)絡(luò)安全,2020,39(09):6-11.
[4]向前.基于STM32F103的pA級(jí)電流檢測(cè)系統(tǒng)設(shè)計(jì)[J].洛陽(yáng)理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2020,30(02): 64-70.
[5]孫俊哲,周磊,符慧敏,萬(wàn)其.基于STM32的音圈電機(jī)控制系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2021,34(06):1 21-123.
[6]張曦,李浩,王梅.基于Android和STM32的無(wú)線遙控叉車系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2021,34(06):112-114+129.
[7]謝凌菲. 基于STM32的空間環(huán)模設(shè)備熱沉溫控系統(tǒng)設(shè)計(jì)[D].西北師范大學(xué),2020.
[8]巢惠世,梁宏斌,蔡土淇.基于Linux的機(jī)械臂實(shí)時(shí)控制系統(tǒng)研究[J].信息技術(shù)與網(wǎng)絡(luò)安全,2020, 39(04):81-85.
作者簡(jiǎn)介
孫輝(1997-),男,本科,初級(jí)工程師,研究方向:嵌入式系統(tǒng)、電子技術(shù)應(yīng)用、測(cè)量控制。(通信作者)
劉明強(qiáng)(1981—),男,本科,工程師,研究方向:系統(tǒng)架構(gòu)、嵌入式系統(tǒng)、測(cè)量控制。
胡洪林(1999-),男,本科,初級(jí)工程師,研究方向:傳動(dòng)結(jié)構(gòu)、測(cè)量控制結(jié)構(gòu)、電子技術(shù)應(yīng)用。