利用PIC16F877單片機(jī)設(shè)計(jì)一種簡易的測速計(jì)

2013-11-20 14:51 來源:互聯(lián)網(wǎng) 作者:和靜

仿真工具在設(shè)計(jì)當(dāng)中已經(jīng)起到了越來越重要的作用。其中單片機(jī)的仿真應(yīng)用領(lǐng)域最多,在各行各業(yè)都有所涉及。Proteus作為一款單片機(jī)仿真軟件,其最大特點(diǎn)就是不需要電路板的支持就能夠?qū)崿F(xiàn)系統(tǒng)的模擬。這樣不但加快了整體產(chǎn)品的研究進(jìn)度,還能大幅度下調(diào)硬件的成本功耗,從而為開發(fā)人員和研發(fā)商降低整體成本。

測速是工農(nóng)業(yè)生產(chǎn)中經(jīng)常遇到的問題,基于單片機(jī)的各種優(yōu)勢,將單片機(jī)應(yīng)用于測速系統(tǒng),具有很重要的意義。而對于測速技術(shù),首先要解決的就是采樣問題。在使用模擬技術(shù)制作測速設(shè)備時(shí),常用測速發(fā)電機(jī)的方法,即將測速發(fā)電機(jī)的轉(zhuǎn)軸與待測軸相連,測速發(fā)電機(jī)的電壓高低反映了轉(zhuǎn)速的高低;而使用單片機(jī)進(jì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ī)的捕捉功能來完成脈沖計(jì)數(shù),利用軟件編程實(shí)現(xiàn)相關(guān)物理關(guān)系的轉(zhuǎn)換,最終得出齒輪線速度,并顯示在數(shù)碼管上。

1 測速計(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 測速計(jì)原理

在捕捉模式下,單片機(jī)可以捕捉引腳電平變化時(shí)刻的時(shí)間值,即引腳輸入脈沖上升沿或下降沿出現(xiàn)時(shí)刻的精確時(shí)間值。

PIC16F877 的CCP1 模塊工作于捕捉模式時(shí),當(dāng)特定的跳變沿出現(xiàn)時(shí),TMR1 定時(shí)器的計(jì)數(shù)值會立即復(fù)制到CCPR1H 和CCPR1L 中并產(chǎn)生中斷信號,通過在中斷服務(wù)程序中讀取這個(gè)16 位計(jì)數(shù)值。當(dāng)使用CCP1 模塊的捕捉功能實(shí)現(xiàn)相鄰兩次上升沿時(shí)間間隔的測量時(shí),此時(shí)間間隔就是輸入信號的周期g-Period.由于主頻是4 MHz, 即每個(gè)指令周期為1 μs, 將預(yù)分頻比設(shè)置為1:1,測得周期結(jié)果單位為微秒級。所以最終測得的速度值speed 通過以下公式得出:

speed=(1M*60s*0.01m*pi)/g_Period

其中,pi 為圓周率值;0.01m 為被測對象齒輪的直徑,通過物理方法測得。

speed=(1M*60s*0.01m*pi)/g_Period

其中,pi 為圓周率值;0.01m 為被測對象齒輪的直徑,通過物理方法測得。

1 2 3 4 > 
單片機(jī) PIC16F877 測速計(jì)

相關(guān)閱讀

暫無數(shù)據(jù)

一周熱門