基于PIC16F877單片機(jī)的簡(jiǎn)易測(cè)速計(jì)設(shè)計(jì)方案
0 引言
隨著微電子技術(shù)的迅猛發(fā)展,單片機(jī)在汽車(chē)、通信、辦公自動(dòng)化、工業(yè)控制、高級(jí)玩具、家用電器等方面都得到了廣泛的應(yīng)用。如果將Proteus 作為單片機(jī)系統(tǒng)仿真工具,則不用制作電路板,而可以使用Proteus 進(jìn)行系統(tǒng)虛擬實(shí)現(xiàn),這樣不僅能完成所需功能設(shè)計(jì)驗(yàn)證,還能降低硬件成本的耗用,從而縮短整個(gè)設(shè)計(jì)周期,從根本上提高了電子產(chǎn)品的開(kāi)發(fā)效率。
測(cè)速是工農(nóng)業(yè)生產(chǎn)中經(jīng)常遇到的問(wèn)題,基于單片機(jī)的各種優(yōu)勢(shì),將單片機(jī)應(yīng)用于測(cè)速系統(tǒng),具有很重要的意義。而對(duì)于測(cè)速技術(shù),首先要解決的就是采樣問(wèn)題。在使用模擬技術(shù)制作測(cè)速設(shè)備時(shí),常用測(cè)速發(fā)電機(jī)的方法,即將測(cè)速發(fā)電機(jī)的轉(zhuǎn)軸與待測(cè)軸相連,測(cè)速發(fā)電機(jī)的電壓高低反映了轉(zhuǎn)速的高低;而使用單片機(jī)進(jìn)行測(cè)速,則可以使用簡(jiǎn)單的脈沖計(jì)數(shù)法。
只要轉(zhuǎn)軸每旋轉(zhuǎn)一周,產(chǎn)生一個(gè)或固定的多個(gè)脈沖,并將脈沖送入單片機(jī)中進(jìn)行計(jì)數(shù),最終計(jì)算出單位時(shí)間內(nèi)的脈沖個(gè)數(shù),即可獲得轉(zhuǎn)速的相關(guān)信息。本文將基于PIC16F877 單片機(jī)的捕捉功能來(lái)完成脈沖計(jì)數(shù),利用軟件編程實(shí)現(xiàn)相關(guān)物理關(guān)系的轉(zhuǎn)換,最終得出齒輪線速度,并顯示在數(shù)碼管上。
1 測(cè)速計(jì)原理
1.1 CCP1 捕捉功能
PIC16F877 單片機(jī)中有兩個(gè)CCP 模塊,其構(gòu)造基本相同,分別記為CCP1 和CCP2.每個(gè)CCP 模塊可以任意配置為捕捉(Capture)、比較(Compare) 和脈寬調(diào)制(PWM)3 個(gè)功能模式之一。
CCP1 的捕捉模式具有如下三個(gè)功能:其一是可以捕捉RC2/CPP1引腳出現(xiàn)的跳變并保存當(dāng)時(shí)TMR1計(jì)數(shù)寄存器內(nèi)容;其二是具有預(yù)分頻器,可以實(shí)現(xiàn)每1 個(gè)脈沖、每4 個(gè)脈沖或16 個(gè)脈沖捕捉一次;其三是捕捉時(shí)間能產(chǎn)生中斷。
1.2 CCP 測(cè)速計(jì)原理
在捕捉模式下,單片機(jī)可以捕捉引腳電平變化時(shí)刻的時(shí)間值,即引腳輸入脈沖上升沿或下降沿出現(xiàn)時(shí)刻的精確時(shí)間值。
PIC16F877 的CCP1 模塊工作于捕捉模式時(shí),當(dāng)特定的跳變沿出現(xiàn)時(shí),TMR1 定時(shí)器的計(jì)數(shù)值會(huì)立即復(fù)制到CCPR1H 和CCPR1L 中并產(chǎn)生中斷信號(hào),通過(guò)在中斷服務(wù)程序中讀取這個(gè)16 位計(jì)數(shù)值。當(dāng)使用CCP1 模塊的捕捉功能實(shí)現(xiàn)相鄰兩次上升沿時(shí)間間隔的測(cè)量時(shí),此時(shí)間間隔就是輸入信號(hào)的周期g-Period.由于主頻是4 MHz, 即每個(gè)指令周期為1 μs, 將預(yù)分頻比設(shè)置為1:1,測(cè)得周期結(jié)果單位為微秒級(jí)。所以最終測(cè)得的速度值speed 通過(guò)以下公式得出:
speed=(1M*60s*0.01m*pi)/g_Period
其中,pi 為圓周率值;0.01m 為被測(cè)對(duì)象齒輪的直徑,通過(guò)物理方法測(cè)得。
speed=(1M*60s*0.01m*pi)/g_Period
其中,pi 為圓周率值;0.01m 為被測(cè)對(duì)象齒輪的直徑,通過(guò)物理方法測(cè)得。
2 功能實(shí)現(xiàn)
2.1 系統(tǒng)設(shè)計(jì)框圖
測(cè)速計(jì)功能的實(shí)現(xiàn)可由基于PIC16F877 的主控制模塊、顯示模塊、齒輪和光電傳感器構(gòu)成的被測(cè)模塊等幾部分構(gòu)成。
通過(guò)單片機(jī)的RC2/CCP1 引腳分別連接被測(cè)模塊和測(cè)量子模塊,在Proteus 軟件仿真時(shí),分別由信號(hào)發(fā)生器SG1 和頻率計(jì)作為硬件設(shè)備連接。SG1 用來(lái)模擬被測(cè)模塊產(chǎn)生信號(hào),F(xiàn)1 采用頻率計(jì)方式運(yùn)行,用來(lái)顯示當(dāng)前信號(hào)頻率,用來(lái)做參考值與顯示模塊數(shù)據(jù),即測(cè)速計(jì)測(cè)速結(jié)果值進(jìn)行比較,以驗(yàn)證測(cè)速計(jì)測(cè)速結(jié)果的正確與否。各模塊之間的連接關(guān)系如圖1 所示。
評(píng)論