基于PIC單片機(jī)的傾角傳感器的設(shè)計(jì)
摘 要:介紹傾角傳感器的工作原理,對(duì)pic16c72與傾角傳感器的硬件接口電路及其軟件進(jìn)行了設(shè)計(jì),并且該設(shè)計(jì)已經(jīng)由實(shí)驗(yàn)得到驗(yàn)證。0 前 言 設(shè)計(jì)中的傾角傳感器是新型變質(zhì)面積電容式傾角傳感器,該傾角傳感器技術(shù)是為數(shù)不多的、能夠兼有結(jié)構(gòu)簡(jiǎn)單、可靠性高、有通用傳感器集成電路等優(yōu)點(diǎn)的傾角傳感器技術(shù)之一。在測(cè)繪儀器儀表、建筑機(jī)械、天線定位、機(jī)器人技術(shù)、坦克和艦船火炮平臺(tái)控制、飛機(jī)姿態(tài)、汽車電子控制、石油勘探、海上平臺(tái)監(jiān)控等方面有廣泛應(yīng)用。 1 傾角傳感器的工作原理傾角傳感器的電路原理如圖1所示。圖1 傾角傳感器原理圖 檢測(cè)電路由比較器a1、a2、雙穩(wěn)態(tài)觸發(fā)器及電容充放電回路組成。c1、c2為可變介質(zhì)面積電容式傾角傳感器,其容量大小與傾角變化成比例。雙穩(wěn)態(tài)觸發(fā)器的兩個(gè)輸出端a、b作為差動(dòng)脈沖寬度調(diào)制電路的輸出。設(shè)電源接通時(shí),觸發(fā)器的a端為高電位,b端為低電位,因此a點(diǎn)通過r1對(duì)c1充電,直至m點(diǎn)的電位等于參考電壓uf時(shí),比較器a1產(chǎn)生一脈沖,觸發(fā)器翻轉(zhuǎn),則a點(diǎn)呈低電位,b點(diǎn)呈高電位。此時(shí)m點(diǎn)電位經(jīng)二級(jí)管d1迅速放電至零,而同時(shí)b點(diǎn)的高電位經(jīng)r2向c2充電,當(dāng)n點(diǎn)電位等于uf時(shí),比較器a2產(chǎn)生一脈沖,使觸發(fā)器又翻轉(zhuǎn)一次,則a點(diǎn)呈高電位,b點(diǎn)呈低電位,重復(fù)上述過程。如此周而復(fù)始,在雙穩(wěn)(a)(b) 態(tài)觸發(fā)器的兩輸出端各自產(chǎn)生一寬度受c1、c2調(diào)制的方波脈沖。 當(dāng)c1=c2時(shí),線路上各點(diǎn)電壓波形如圖2(a)所示,a、b兩點(diǎn)間平均電壓為零。當(dāng)c1≠c2時(shí),c1和c2充放電時(shí)間常數(shù)不同,電壓波形如圖2(b)所示,a、b兩點(diǎn)間平均電壓不再是零。輸出直流電壓usc由a、b兩點(diǎn)間電壓經(jīng)低通濾波后獲得,等于a、b兩點(diǎn)間電壓平均值uap和ubp之差。<!--[if !vml]--> 式中u1——觸發(fā)器輸出高電平。<!--[if !vml]--> 設(shè)充電電阻r1=r2=r,則得 圖2 各點(diǎn)電壓波形圖 當(dāng)傾角傳感器在-90°=-+90°之間轉(zhuǎn)動(dòng)變化時(shí),c1、c2的電容將隨之發(fā)生變化。由上面的等式可知,差動(dòng)電容的變化使充電時(shí)間不同,從而使雙穩(wěn)態(tài)觸發(fā)器輸出端的方波脈沖寬度不同,因此a、b兩點(diǎn)間輸出直流電壓usc也不同,而且具有線性輸出特性?!? 硬件設(shè)計(jì) 用芯片lm339 作為傾角傳感器的兩個(gè)電壓比較器,芯片hbf4013af作為傾角傳感器的rs觸發(fā)器,芯片lm324用作電壓跟隨器。觸發(fā)器的a點(diǎn)電壓經(jīng)低通濾波后,再由芯片lm324進(jìn)行電壓跟隨,然后作為pic16c72單片機(jī)ra0端口的模擬輸入量?;趐ic單片機(jī)的檢測(cè)電路如圖3所示。 圖3 pic硬件連接圖 pic16c72 芯片是一種具有28個(gè)引腳的雙列直插式芯片,有2k的程序存儲(chǔ)器和128 byte的ram,它提供22個(gè)i/o引腳與電源掉電復(fù)位功能,內(nèi)置的外圍包括3個(gè)定時(shí)器,一個(gè)捕捉/比較/pwm模塊和一個(gè)同步串行通信端口,這個(gè)通信端口可以設(shè)置為使用兩線的集成電路間通信模式,或是三線的串行外圍接口。pic16c72提供8個(gè)中斷源,并可由軟件來(lái)設(shè)置它們的優(yōu)先權(quán)。 pic16c72芯片的最大特點(diǎn)就是帶有8位a/d轉(zhuǎn)換部件,有5個(gè)a/d通道模擬輸入,這些多通道模擬輸入共用一個(gè)采樣/保持電路,用一個(gè)多路轉(zhuǎn)換開關(guān)進(jìn)行切換。使用a/d轉(zhuǎn)換功能時(shí),應(yīng)首先對(duì)a/d控制寄存器adcon0、adcon1進(jìn)行初始化定義,見圖4. pic16c72的ra1端接有一校零電鍵,當(dāng)pic16c72采樣時(shí),若電鍵按下,則把當(dāng)前傾角傳感器的傾斜角定為零度角。此時(shí),數(shù)碼管顯示的數(shù)據(jù)為零(000.0). 圖4 a/d控制寄存器 本設(shè)計(jì)中,由4 個(gè)led數(shù)碼管顯示傾角傳感器的傾斜角度。第一個(gè)數(shù)碼管顯示符號(hào)位,中間兩個(gè)