《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 模擬設(shè)計(jì) > 業(yè)界動(dòng)態(tài) > 三位轉(zhuǎn)速計(jì)測(cè)量超低頻率設(shè)計(jì)

三位轉(zhuǎn)速計(jì)測(cè)量超低頻率設(shè)計(jì)

2017-08-07

  圖中所示的電路是一個(gè)三位轉(zhuǎn)速計(jì),用來(lái)測(cè)量重復(fù)時(shí)間間隔為0.235至15秒內(nèi)的低頻信號(hào),。轉(zhuǎn)速計(jì)的轉(zhuǎn)速為每分鐘4至255轉(zhuǎn),,它應(yīng)用在那些醫(yī)療設(shè)備,這些醫(yī)療設(shè)備中,,用來(lái)測(cè)量心跳率,、呼吸率、電解磨削,、腦電圖,、低轉(zhuǎn)速電機(jī)轉(zhuǎn)速或機(jī)械裝置轉(zhuǎn)速之類的低頻信號(hào)。

  PIC16F872微處理控制處理轉(zhuǎn)速計(jì)的數(shù)據(jù),。PIC感應(yīng)輸入頻率(fin)的周期,,計(jì)算出每秒產(chǎn)生的相應(yīng)的脈沖數(shù),并相應(yīng)的更新LED顯示器,。輸入信號(hào)需被預(yù)處理成0到5V的直流電壓,,脈沖高電平的寬度至少為4μs。

  MCU所用等式為RPM = 60/T,。T指感應(yīng)輸入的周期,,常數(shù)60代表一分鐘(60秒內(nèi))脈沖的讀數(shù)或每分鐘的旋轉(zhuǎn)數(shù)。該電路的時(shí)間基準(zhǔn)是出一個(gè)32kHz的晶振(愛(ài)普生C-001R32.768K-A ±20 ppm)來(lái)提供的,這個(gè)時(shí)間基數(shù)反過(guò)來(lái)觸發(fā)T1(PIC的內(nèi)部定時(shí)器),。T1有一個(gè)可編程的已將其設(shè)為1/8的因子,。這一因子產(chǎn)一個(gè)4 kHz的分頻。定時(shí)器T1為16位的定時(shí)器,,產(chǎn)生一個(gè)0.00025秒(250 μs)的變化周期,。

  定時(shí)器T1通過(guò)軟件被輸入端RC2的輸入信號(hào)的上升沿使能,。當(dāng)下一個(gè)上升沿到來(lái)時(shí),,T1被禁止。這樣,,T1就有了一個(gè)與輸入信號(hào)周期對(duì)應(yīng)的二進(jìn)制計(jì)數(shù),。因其變化周期為0.00025秒(250 μs),,我們必須將其右移三位以獲得0.25秒的時(shí)間。這樣,,新的rpm等式將為RPM = 60000/T,。

  表中顯示如何獲得轉(zhuǎn)數(shù)/分(rpm)讀數(shù),從包含了周期讀數(shù)的計(jì)數(shù)器(T1)開(kāi)始,。例如,,若PIC檢測(cè)到一個(gè)周期為1秒的信號(hào),因?yàn)閮?nèi)部頻率分配器被設(shè)為4,,所以計(jì)數(shù)器的讀數(shù)將等于1000(十進(jìn)制),。這個(gè)信號(hào)的最終rpm讀數(shù)將等于60。

50b8cbbae225d.jpg

50b8cbbb28ff4.jpg

  它是這樣工作的:PIC監(jiān)測(cè)輸入端RC2,,等待一個(gè)下降沿,。當(dāng)檢測(cè)下降沿時(shí),定時(shí)器T1被TMR1ON位使能,。然后,,PIC等待下一個(gè)定時(shí)器T1。當(dāng)下一個(gè)定時(shí)器T1到來(lái)時(shí),,PIC禁止TMR1ON位以停止讀數(shù),。這時(shí),各自周期的讀數(shù)被存于寄存器TMR1H和TMR1L中,。

  為避免范圍外的讀數(shù),,需要檢測(cè)溢出位TMR1F。如果該位被設(shè)置了,,則表明信號(hào)的周期太長(zhǎng)以致不能被測(cè)量,。在這種情況下,,程序跳至UNDF標(biāo)位,,顯示“OUF”或overflow信息。這表明輸入信號(hào)的周期比16.384秒要高。

  若沒(méi)有溢出,,我們就要校驗(yàn)檢測(cè)周期,,使其等于或高于940(相當(dāng)于 255 rpm)。如果讀數(shù)低于940,,程序就要跳到OVERF標(biāo)位,,顯示信息將為"00F",這表明讀數(shù)高于255 rpm,。

  若這一值大于940,,則利用常規(guī)DIVS被4除。DIVS帶有產(chǎn)生兩個(gè)16位數(shù)字的兩對(duì)寄存器(ACCb和 ACCa),。為了獲得這一周期,,所用公式為ACCb/ACCa = ACCb,60,000 (EA60H)再一次利用常規(guī)DIVS被ACCb除,。這樣我們就得到了二進(jìn)制的rpm值,。我們必須將這個(gè)二進(jìn)制轉(zhuǎn)換為BCD碼。

  為了實(shí)現(xiàn)這一操作,,我們將讀數(shù)轉(zhuǎn)移至W,,然后調(diào)用常規(guī)的BINBCE。BINBCE通過(guò)寄存器R0, R1, 和R2(R2是最具意義的信號(hào)數(shù))將二進(jìn)制轉(zhuǎn)換為BCD碼,。最后,,將每一個(gè)寄存器內(nèi)的數(shù)據(jù)轉(zhuǎn)換成七段碼,使之能在LED顯示屏上顯示,。兩個(gè)計(jì)算表SEGM 和 SEGM2完成這個(gè)七段碼操作,,其中SEGM2負(fù)責(zé)處理百位數(shù)位。


本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章,、圖片,、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容,、版權(quán)和其它問(wèn)題,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118,;郵箱:[email protected],。