国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于容柵傳感器和單片機(jī)的檢測(cè)系統(tǒng)

2013-09-04 07:23梁應(yīng)選楊明亮
實(shí)驗(yàn)室研究與探索 2013年6期
關(guān)鍵詞:寄存器中斷移位

梁應(yīng)選, 楊明亮

(陜西理工學(xué)院(北區(qū))機(jī)械工程學(xué)院,陜西漢中723003)

0 引言

數(shù)顯式百分表大多采用容柵式傳感器,但由于大多未帶微機(jī)接口,使其應(yīng)用受到限制。國(guó)內(nèi)學(xué)者就如何應(yīng)用容柵式傳感器和單片機(jī)構(gòu)建檢測(cè)系統(tǒng)進(jìn)行了研究,并取得了一定的研究和應(yīng)用成果[1-2]。但大多都遵循:傳感器原理介紹→系統(tǒng)硬件構(gòu)建→軟件編程等基本思路。以上思路固然無(wú)誤,但對(duì)于一線技術(shù)開發(fā)人員或單片機(jī)開發(fā)和應(yīng)用的初學(xué)者來說,往往造成的結(jié)果是看得懂,做起來難。本文提出了結(jié)合容柵傳感器原理,先用數(shù)字示波器對(duì)數(shù)顯百分表輸出信號(hào)(CLK信號(hào)、Date信號(hào))進(jìn)行觀察,結(jié)合觀測(cè)到的信號(hào)加深對(duì)原理的理解,再結(jié)合原理介紹中數(shù)據(jù)信號(hào)的采樣過程,著重分析數(shù)顯百分表實(shí)際顯示數(shù)據(jù)與實(shí)際記錄的二進(jìn)制數(shù)對(duì)應(yīng)關(guān)系。在此基礎(chǔ)上,結(jié)合已有報(bào)道的容柵式傳感器數(shù)據(jù)采集系統(tǒng)成功的經(jīng)驗(yàn)就如何利用數(shù)顯百分表為前端傳感器,AT89S52單片機(jī)做為主控單元構(gòu)建一個(gè)硬件結(jié)構(gòu)簡(jiǎn)單、實(shí)時(shí)性強(qiáng)的檢測(cè)系統(tǒng),進(jìn)行方案論證,并擇優(yōu)方案,最終設(shè)計(jì)構(gòu)建出較為理想的智能檢測(cè)系統(tǒng)。

1 容柵式傳感器輸出信號(hào)分析

容柵式傳感器輸出的電容信號(hào)經(jīng)過容柵集成極芯片的處理可轉(zhuǎn)化為數(shù)字信號(hào)輸出。其中輸出信號(hào)有4根線,分別為電源線(+1.5 V)、地線(0 V)、時(shí)鐘控制線(CLK)和串行數(shù)據(jù)輸出線(Date)[3-4]。

CLK為同步時(shí)鐘信號(hào),在一次數(shù)據(jù)傳送中,開始為54μs的高電平,表示數(shù)據(jù)即將開始傳送。接下來是Date輸出兩組各有24個(gè)寬度為13μs的窄脈沖,前組為絕對(duì)數(shù)據(jù);后組為相對(duì)數(shù)據(jù)。前后兩組數(shù)據(jù)之間有110μs的高電平作為間隔;最后是75μs的高電平,以示數(shù)據(jù)傳送結(jié)束,其輸出波形如圖1所示。

Date信號(hào)為數(shù)據(jù)信號(hào),它包含了傳感器的位移信息。在數(shù)據(jù)采樣時(shí),容柵芯片在CLK信號(hào)窄脈沖的下降沿對(duì)Date信號(hào)進(jìn)行采樣,先后采樣兩組24位絕對(duì)數(shù)據(jù)和相對(duì)數(shù)據(jù)。

CLK時(shí)鐘脈沖串的第1組對(duì)應(yīng)的信號(hào)是包含基準(zhǔn)0的絕對(duì)數(shù)據(jù);第2組是減去基準(zhǔn)0后的實(shí)際的位移值,為相對(duì)數(shù)據(jù)。絕對(duì)數(shù)據(jù)計(jì)數(shù)范圍從000000H~FFFFFFH;相對(duì)數(shù)據(jù)有正負(fù)區(qū)分,可以進(jìn)行清零。數(shù)據(jù)采用二進(jìn)制編碼,低位在前,高位在后,最后位為符號(hào)位,數(shù)據(jù)采集以時(shí)鐘線每次CLK信號(hào)負(fù)跳變時(shí)刻為準(zhǔn)進(jìn)行數(shù)據(jù)采集。以上信號(hào)為非標(biāo)準(zhǔn)串行碼,幅值均為1.5 V。絕對(duì)數(shù)據(jù)不能清零(含基準(zhǔn)0),相對(duì)數(shù)據(jù)可以清零,故本次我們將直接讀取相對(duì)數(shù)據(jù)進(jìn)行研究。

2 數(shù)字示波器對(duì)輸出數(shù)據(jù)分析

2.1 數(shù)據(jù)的讀取

在數(shù)字示波器上可以觀察到如圖1所示數(shù)顯百分表輸出波形信號(hào)[5-6],CLK一個(gè)脈沖下降沿就可以讀對(duì)應(yīng)這個(gè)脈沖寬度內(nèi)的Date數(shù)據(jù)的狀態(tài)(高電平為1,低電平為0)。表1、2為測(cè)量時(shí)讀到的相對(duì)數(shù)據(jù)的二進(jìn)制。

圖1 容柵式傳感器輸出脈沖時(shí)序圖

2.2 數(shù)據(jù)分析處理

由表1、2可以看出,正數(shù)標(biāo)定的系數(shù)為非常數(shù);而負(fù)數(shù)的標(biāo)定系數(shù)為常數(shù)。進(jìn)一步觀察可以發(fā)現(xiàn),傳感器輸出的相對(duì)數(shù)據(jù)為正數(shù)時(shí),其二進(jìn)制最高位都是“1”,負(fù)數(shù)的最高位都是“0”,如果給正數(shù)二進(jìn)制取反,那么就會(huì)得到表3中的數(shù)據(jù)。

取反后可發(fā)現(xiàn),正數(shù)標(biāo)定的系數(shù)為常數(shù)。標(biāo)定系數(shù)是用數(shù)顯表顯示的值除以傳感器正數(shù)的相對(duì)數(shù)據(jù)取反后的值(負(fù)數(shù)直接讀取的相對(duì)數(shù)據(jù))。在后續(xù)的軟件編程時(shí)將數(shù)顯表的實(shí)際值擴(kuò)大1 000倍變成整數(shù),即將標(biāo)定系數(shù)擴(kuò)大1 000倍定為0.124,這樣便于數(shù)據(jù)處理顯示時(shí)數(shù)據(jù)的拆分。在數(shù)據(jù)采集編程時(shí),首先判斷完讀取的數(shù)據(jù)的正負(fù)號(hào)(最高位為1是正號(hào),最高位為0是負(fù)號(hào))后,再選擇是否需要取反,再經(jīng)過單片機(jī)對(duì)采集數(shù)據(jù)處理,最后就可直接顯示采集數(shù)據(jù)的正負(fù)及大小。

表1 直接讀取的傳感器的相對(duì)數(shù)據(jù)(正數(shù))

表2 直接讀取的傳感器的相對(duì)數(shù)據(jù)(負(fù)數(shù))

表3 對(duì)正數(shù)的相對(duì)數(shù)據(jù)取反后的數(shù)據(jù)

3 傳統(tǒng)測(cè)量系統(tǒng)硬件方案的論證

圖2為現(xiàn)有文獻(xiàn)報(bào)道的測(cè)量系統(tǒng)方案。它由3片8位移位寄存器接收24位數(shù)據(jù)信號(hào),通過片選控制分3次讀入結(jié)果,為了準(zhǔn)確無(wú)誤地讀取信號(hào),必須使單片機(jī)在進(jìn)入第2組數(shù)據(jù)時(shí)就產(chǎn)生中斷讀取數(shù)據(jù)。為了告訴單片機(jī)鎖存完畢進(jìn)行正確的讀取還須分離出鎖存信號(hào)。系統(tǒng)通過中斷的方式對(duì)容柵式傳感器數(shù)據(jù)信號(hào)進(jìn)行分組,它由單穩(wěn)態(tài)觸發(fā)器產(chǎn)生的外部中斷進(jìn)行控制,當(dāng)產(chǎn)生中斷后就讀取單片機(jī)I/O口的數(shù)據(jù);當(dāng)串行數(shù)據(jù)經(jīng)移位寄存器轉(zhuǎn)化為并行數(shù)據(jù)后經(jīng)鎖存器鎖存,這時(shí)所有的24 bit可以全部通過單片機(jī)的某一I/O口,然而單片機(jī)只有8 bit口,系統(tǒng)則用片選法來控制數(shù)據(jù)的讀入,單片機(jī)的另一I/O口分別與3片鎖存器相連,在讀取數(shù)據(jù)時(shí)選通相應(yīng)的鎖存芯片[7-9]。這種方案無(wú)疑是可行的,然而大部分工作靠硬件完成,沒有充分利用軟件的功能,測(cè)量系統(tǒng)硬件組成相對(duì)復(fù)雜,硬件成本較高。

圖2 傳統(tǒng)方案框圖

4 改進(jìn)后測(cè)量系統(tǒng)硬件方案的論證及擇優(yōu)

4.1 方案一

方案一框圖如圖3所示,將從傳感器出來的信號(hào)(CLK和Data)進(jìn)行電平轉(zhuǎn)換后,分別送入單片機(jī)的2個(gè)I/O(假如CLK 接 P1.5,Data接 P1.4)。數(shù)據(jù)采集程序要解決的主要問題是確定數(shù)據(jù)采集的起始條件。根據(jù)圖1可知,容柵芯片在CLK信號(hào)窄脈沖的下降沿對(duì)Date信號(hào)進(jìn)行采樣,CLK信號(hào)每次負(fù)跳變一次,即可采樣一位Date信號(hào)數(shù)字脈沖,共48次就可先后將兩組24位絕對(duì)數(shù)據(jù)數(shù)據(jù)和相對(duì)數(shù)據(jù)全部采樣完畢。計(jì)算時(shí)只采用后24位數(shù)據(jù)。在編程時(shí)要充分考慮指令執(zhí)行的時(shí)間不能超過時(shí)鐘脈沖的周期間隔,故該部分程序擬采用匯編語(yǔ)言編程,以便保證數(shù)據(jù)采集的正確性。其他電平轉(zhuǎn)換電路部分及顯示部分軟硬件設(shè)計(jì)和采集數(shù)據(jù)處理子程序設(shè)計(jì)與下述方案二相同,在此暫不做敘述。采樣程序流程圖如圖4所示。

圖3 方案一框圖

該方案的優(yōu)點(diǎn)是硬件電路少,比較直觀地體現(xiàn)信號(hào)的采集路徑及過程,經(jīng)濟(jì)性能高,但缺點(diǎn)是軟件控制數(shù)據(jù)傳送速度較慢,占用的檢測(cè)時(shí)間長(zhǎng),不如硬件電路的實(shí)時(shí)性好,且采集數(shù)據(jù)處理較麻煩。

4.2 方案二

方案二框圖如圖5所示,用1片移位寄存器來進(jìn)行數(shù)據(jù)的傳輸,省掉了傳統(tǒng)方案中兩片移位寄存器和信號(hào)分離電路,并結(jié)合軟件功能使硬件電路更為簡(jiǎn)單,降低硬件成本的同時(shí),仍能確保系統(tǒng)運(yùn)行的可靠性。

采用一個(gè)8位移位寄存器成功與否在于軟件的正確編制,這里要解決好:① 怎樣確定要讀的數(shù)據(jù)組;②怎樣控制每次移入8位就讀取一次,若能控制好,顯然3次讀取就能采集24 bit完整信息。解決第一個(gè)問題的辦法是將CLK信號(hào)同時(shí)送移位寄存器和單片機(jī)的計(jì)數(shù)通道,檢測(cè)到一段持續(xù)的低電平就啟動(dòng)計(jì)數(shù)器,計(jì)滿24個(gè)脈沖后就準(zhǔn)備讀取P1口的后24位數(shù)值。解決好第一個(gè)問題,第二個(gè)問題就好解決了,將計(jì)數(shù)器置成連續(xù)裝載值為8的工作方式,每計(jì)數(shù)8個(gè)CLK脈沖就讀取一次數(shù)據(jù),在這里只要保證在下一個(gè)脈沖到來之前的13μs內(nèi)取走數(shù)據(jù)就能保證讀數(shù)正確。

圖4 數(shù)據(jù)采樣程序流程圖

圖5 方案二框圖

5 測(cè)量系統(tǒng)硬件原理

5.1 信號(hào)轉(zhuǎn)換部分

將數(shù)顯百分表輸出的CLK(1.5 V)和Date(1.5 V)信號(hào)接入 LM393雙電壓比較器[10]。當(dāng) CLK或Date信號(hào)是高電平時(shí)(1.5 V),它大于比較器的參考電壓(1 V),比較器就輸出一個(gè)5 V高電平信號(hào)(因?yàn)楸容^器的電源電壓是5 V);當(dāng)CLK或Date是低電平時(shí)(0 V),小于比較器的參考電壓(1 V),則比較器就輸出一個(gè)0 V低電平信號(hào)。

5.2 串/并轉(zhuǎn)換部分及數(shù)據(jù)采集實(shí)施辦法

傳感器的Data信號(hào)是一個(gè)串行信號(hào),在此先把這個(gè)信號(hào)輸入到一個(gè)串入并出帶鎖存的移位寄存器(74HC595)里。由于一個(gè)完整的數(shù)據(jù)是24 bit的,我們用一個(gè)8 bit的串入并出移位寄存器向單片機(jī)并行口P1進(jìn)行傳輸一次讀進(jìn)來8 bit,并進(jìn)行鎖存則不影響后面數(shù)據(jù)的移位,這樣單片機(jī)讀3次就將24 bit讀完,既避免了硬件電路的繁瑣和純采用軟件編程實(shí)時(shí)性差的缺點(diǎn)。

5.3 顯示部分

單片機(jī)應(yīng)用系統(tǒng)最常用的顯示器是發(fā)光二極管顯示器(LED)和液晶顯示器(LCD),可顯示數(shù)字、字符及系統(tǒng)的狀態(tài)。由于LED顯示信息量少,形式比較單一,人機(jī)交互性差,而LCD液晶顯示內(nèi)含有控制驅(qū)動(dòng)器,使得它和單片機(jī)的接口電路實(shí)現(xiàn)比較簡(jiǎn)單,還具有功耗低、體積小、質(zhì)量輕,超薄和可編程驅(qū)動(dòng)等其他顯示方式無(wú)法比擬的優(yōu)點(diǎn),故本系統(tǒng)選用1602液晶顯示屏。

6 系統(tǒng)軟件設(shè)計(jì)

6.1 主程序

主程序流程圖如圖6所示。結(jié)合圖1闡述數(shù)據(jù)采集的具體的實(shí)施過程為:首先完成系統(tǒng)的初始化[11-15],其次將經(jīng)電平轉(zhuǎn)換后的CLK信號(hào)接到單片機(jī)的P3.5來檢測(cè)CLK電平的變化,當(dāng)連續(xù)檢測(cè)到低電平時(shí)就用P3.4口進(jìn)行外部脈沖計(jì)數(shù)中斷。在此用定時(shí)器/計(jì)數(shù)器0,并將其設(shè)定為自動(dòng)裝載的方式2進(jìn)行計(jì)數(shù),每計(jì)數(shù)到8中斷一次。由于前24為絕對(duì)數(shù)據(jù)是不需要的,可以讓單片機(jī)接收但不用讀出,當(dāng)前24 bit數(shù)據(jù)傳輸完(前3次中斷完),后面每次中斷接收到的數(shù)據(jù)再讀出,三次中斷就可以將全部24位相對(duì)數(shù)據(jù)讀出了。最后采集數(shù)據(jù)經(jīng)過單片機(jī)處理后將測(cè)量結(jié)果顯示在LCD液晶顯示屏上。

6.2 中斷子程序

中斷子程序流程圖如圖7所示。當(dāng)定時(shí)器/計(jì)數(shù)器計(jì)滿8個(gè)時(shí)鐘脈沖時(shí)就中斷,這時(shí)就將進(jìn)入移位寄存器的8位數(shù)據(jù)鎖存,鎖存器工作時(shí)需要提供一個(gè)上升沿鎖存時(shí)鐘才能進(jìn)行鎖存,所以就用軟件給P3.0一個(gè)上升沿控制移位寄存器鎖存并行輸出到P1口,然后讀取P1口并將讀完之后的數(shù)據(jù)另存,以防止后一組數(shù)據(jù)覆蓋,當(dāng)3組數(shù)據(jù)存儲(chǔ)完畢后就關(guān)閉中斷。

6.3 數(shù)據(jù)處理子程序

數(shù)據(jù)處理子程序流程圖如圖8所示。在讀取完之后就進(jìn)行數(shù)據(jù)處理,先判斷采集到數(shù)據(jù)的正負(fù),最高位若為1(正數(shù))則先取反再進(jìn)行合并;若為0(負(fù)數(shù))就直接合并,最后將合并后的數(shù)據(jù)進(jìn)行標(biāo)定然后拆分出各位。

6.4 顯示子程序

圖6 主程序流程圖

圖7 中斷程序流程圖

圖8 數(shù)據(jù)處理子程序流程圖

常用的數(shù)據(jù)顯示程序編程較為經(jīng)典,利用單片機(jī)C語(yǔ)言可移植性好的特點(diǎn),可對(duì)其稍加更改直接移植到應(yīng)用程序當(dāng)中。

7 硬件設(shè)計(jì)時(shí)注意問題

CLK信號(hào)經(jīng)過比較器后同時(shí)送移位寄存器和單片機(jī)的計(jì)數(shù)通道,目的在于移位寄存器能在CLK時(shí)鐘控制下進(jìn)行正確的移位,并在每次中斷后給P3.0口一個(gè)上升沿的脈沖作為74HC595的鎖存時(shí)鐘,從而將串行信號(hào)轉(zhuǎn)換成并行信號(hào)進(jìn)入單片機(jī);為了讓單片機(jī)能直接運(yùn)算,將74HC595的輸出端的高位(Q7~Q0)接到單片機(jī)P1口的低位上(P1.0~ P1.7),避免高低位顛倒,簡(jiǎn)化數(shù)據(jù)處理軟件流程。

8 結(jié)語(yǔ)

借助數(shù)字示波器分析數(shù)顯百分表輸出信號(hào)與其顯示數(shù)據(jù)之間的關(guān)系,有助于對(duì)容柵式傳感器原理的理解和軟件編程;合理選擇相關(guān)硬件搭建電路可有效地保證系統(tǒng)運(yùn)行穩(wěn)定性的同時(shí)降低成本。文中介紹的數(shù)據(jù)采集檢測(cè)系統(tǒng)是我校機(jī)械學(xué)院研究生綜合實(shí)驗(yàn)教學(xué)內(nèi)容的一部分,通過該實(shí)驗(yàn)的開設(shè)大大提高了學(xué)生綜合應(yīng)用能力和創(chuàng)新精神的培養(yǎng)。目前該測(cè)量系統(tǒng)也初步應(yīng)用于省教育廳科研項(xiàng)目下位機(jī)數(shù)據(jù)采集系統(tǒng)試驗(yàn)當(dāng)中。

[1] 王煜東.傳感器應(yīng)用技術(shù)[M].西安:電子科技大學(xué)出版社,2006:100-102.

[2] 徐科軍.容柵傳感器的研究與應(yīng)用[M].北京:清華大學(xué)出版社,1995:6-10.

[3] 王習(xí)文,齊 欣,宋玉泉.容柵傳感器及其發(fā)展前景[J].吉林大學(xué)學(xué)報(bào)(工學(xué)版),2003,33(2):89-94.

[4] 楊雪芳,蔡 萍,王衛(wèi)鋼,等.全數(shù)字式容柵位移傳感器[J].儀表技術(shù)與傳感器,2005(7):5-6.

[5] Dwight Larson.用于輔助電路分析的示波器數(shù)學(xué)功能[J].電子設(shè)計(jì)技術(shù),2012,19(7):40-40,42,44.

[6] 胥京宇.泰克推出專為教育行業(yè)而設(shè)計(jì)的示波器[J].世界電子元器件,2012(5):69-69.

[7] 李佳列,丁國(guó)清,顏國(guó)正,等.多路電子數(shù)顯百分表測(cè)量系統(tǒng)的研制[J].儀表技術(shù),2002(1):23-24,26.

[8] 王安敏,王辛立,崔 偉.基于AT89C52單片機(jī)的容柵傳感器測(cè)距系統(tǒng)[J].儀表技術(shù)與傳感器,2008(9):86-90.

[9] 王輝林,李莎莎.基于LabVIEW的數(shù)顯百分表測(cè)量系統(tǒng)[J].計(jì)量技術(shù),2008(6):37-39.

[10] 張國(guó)雄.測(cè)控電路[M].3版.北京:機(jī)械工業(yè)出版社,2008:40-78.

[11] 孫永泉,王振清.基于容柵傳感器和單片機(jī)的變形檢測(cè)系統(tǒng)[J].微計(jì)算機(jī)信息,2007,23(12-2):103-104.

[12] 陸 雯,王道波.容柵傳感器及其在目標(biāo)運(yùn)動(dòng)轉(zhuǎn)臺(tái)中的應(yīng)用[J].計(jì)算機(jī)仿真,2005,22(8):250-252.

[13] 鄔玉亭,李 勇.電容式數(shù)顯內(nèi)徑測(cè)微儀[J].工具技術(shù),1995,29(6):46-48.

[14] 胡 超,王 耀.鑒相式位移傳感器的計(jì)算機(jī)檢測(cè)[J].寧波大學(xué)學(xué)報(bào),1996,9(1):27-28.

[15] 凌銳鴻 王 佶.容柵角度測(cè)量裝置的精度分析[J].工具技術(shù),1996,30(4):24-27.

猜你喜歡
寄存器中斷移位
STM32和51單片機(jī)寄存器映射原理異同分析
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
再生核移位勒讓德基函數(shù)法求解分?jǐn)?shù)階微分方程
大型總段船塢建造、移位、定位工藝技術(shù)
Σ(X)上權(quán)移位算子的不變分布混沌性
跟蹤導(dǎo)練(二)(5)
千里移防,衛(wèi)勤保障不中斷
多指離斷手指移位再植拇指25例
AT89C51與中斷有關(guān)的寄存器功能表解
FPGA內(nèi)嵌PowerPC的中斷響應(yīng)分析
修武县| 土默特左旗| 饶河县| 舞阳县| 清水河县| 林甸县| 湘阴县| 昌黎县| 杭州市| 仪陇县| 泸水县| 津南区| 克东县| 东莞市| 庆城县| 娱乐| 沧源| 广河县| 靖州| 晋州市| 和林格尔县| 阳信县| 平邑县| 安福县| 铜陵市| 元江| 云浮市| 铁岭市| 千阳县| 同江市| 阜康市| 漳浦县| 岗巴县| 时尚| 桦川县| 襄城县| 泸州市| 新竹市| 于田县| 清水县| 曲松县|