東北林業(yè)大學(xué)信息與計(jì)算機(jī)工程學(xué)院 李建源
本文介紹了幾種基于單片機(jī)系統(tǒng)的紙張計(jì)數(shù)裝置,并進(jìn)行了分析和總結(jié),這些裝置的共同特點(diǎn)是將電容值的變化轉(zhuǎn)變?yōu)轭l率值的變化,最終通過(guò)頻率和紙張數(shù)目的對(duì)應(yīng)關(guān)系得出紙張數(shù)目。本設(shè)計(jì)基于STM32嵌入式單片機(jī)提出一種新的紙張計(jì)數(shù)方案,該方案利用STM32嵌入式單片機(jī)通用定時(shí)器的輸入捕獲功能,對(duì)電容充電高電平捕獲,獲得高電平的建立時(shí)間,并將捕獲的時(shí)間換算為紙張數(shù)目,是一種簡(jiǎn)單、可行的設(shè)計(jì)方案。
許多行業(yè)及辦公場(chǎng)所需要對(duì)紙張進(jìn)行計(jì)數(shù),傳統(tǒng)的測(cè)量方法是先測(cè)量出一疊紙張厚度,再除以單張紙張厚度,從而得出紙張數(shù)量;這種傳統(tǒng)方法效率低、測(cè)量不精確,已經(jīng)不能滿足現(xiàn)代辦公的需求。隨著計(jì)算機(jī)技術(shù)的發(fā)展,尤其是嵌入式單片機(jī)的發(fā)展,許多科技工作者著手研究效率更高、測(cè)量更加精確的紙張計(jì)數(shù)裝置,針對(duì)紙張計(jì)數(shù)模型都提出了很多可行的、合理的設(shè)計(jì)方案。本文提出了一種基于STM32F4嵌入式單片機(jī),利用高電平邊沿捕獲技術(shù),實(shí)現(xiàn)紙張計(jì)數(shù)的一種設(shè)計(jì)方案。
由平板電容器和CD4069非門(mén)構(gòu)成非對(duì)稱式多諧振蕩器,平板電容器的容量值隨著紙張數(shù)量的變化而變化,從而使振蕩器的輸出頻率發(fā)生變化,通過(guò)單片機(jī)對(duì)頻率的檢測(cè),間接得到測(cè)試紙張的數(shù)目。由CD4069非門(mén)構(gòu)成的非對(duì)稱式多諧振蕩器的振蕩頻率,理論上可以高達(dá)4M,實(shí)際應(yīng)用在2M左右,對(duì)紙張的區(qū)分度較好。
555定時(shí)器是一種模擬和數(shù)字功能相結(jié)合的中規(guī)模集成器件,555定時(shí)電路用途廣泛,用于脈沖波形的產(chǎn)生與轉(zhuǎn)換、測(cè)量與控制等方面。利用平板電容器和555定時(shí)電路組成脈沖波形發(fā)生器,將脈沖傳送到單片機(jī)中,由于不同的紙張數(shù)量可以產(chǎn)生不同的波形,所以可以通過(guò)采集不同的頻率的波形,并計(jì)算頻率值來(lái)計(jì)算紙張數(shù)量。通過(guò)設(shè)置合適的電路參數(shù),振蕩頻率范圍廣,當(dāng)紙張數(shù)目發(fā)生變化,頻率會(huì)明顯變化,也能夠較好的區(qū)別紙張數(shù)目。
CAV444是一個(gè)多種電容式傳感器信號(hào)測(cè)量集成電路,基于CAV444芯片的電容測(cè)量電路,能夠?qū)y(cè)得的電容量轉(zhuǎn)變?yōu)橄鄳?yīng)頻率輸出。根據(jù)實(shí)際電路測(cè)量發(fā)現(xiàn),其電容信號(hào)和輸出頻率為線性關(guān)系。因此,以CAV444為核心的紙張計(jì)數(shù)裝置,能夠根據(jù)不同的紙張數(shù)目,輸出不同的頻率值,再經(jīng)過(guò)單片機(jī)系統(tǒng)得到紙張數(shù)目,具有較好的測(cè)量精度。
FDC2214是TI公司設(shè)計(jì)的一款高精度電容傳感器,電容傳感器分辨率可達(dá)28位,具有抗噪聲、高分辨率、高速等多種特性,可以用于接近傳感、手勢(shì)識(shí)別、液位檢測(cè)等多種應(yīng)用場(chǎng)景,它具有四個(gè)通道,可以同時(shí)采樣四路電容數(shù)據(jù),并通過(guò)IIC接口與單片機(jī)相連。FDC2214同測(cè)量紙張數(shù)目的平板電容器可以構(gòu)成振蕩器,并產(chǎn)生諧振頻率,單片機(jī)通過(guò)讀取諧振頻率值間接計(jì)算紙張數(shù)目。
綜合以上幾種設(shè)計(jì)方案,設(shè)計(jì)思想是利用一種傳感器裝置和測(cè)量平板電容構(gòu)成一個(gè)振蕩器,當(dāng)紙張數(shù)目發(fā)生變化時(shí),平板電容器的容量值也發(fā)生改變,從而使該裝置的輸出頻率變化,單片機(jī)通過(guò)讀取變化的頻率值從而間接的計(jì)算出所測(cè)量的紙張數(shù)目。
綜合以上幾種紙張計(jì)數(shù)裝置的設(shè)計(jì)方案,其設(shè)計(jì)方案的共同特點(diǎn)是利用平板電容器作為檢測(cè)器件,測(cè)試紙張放在平板電容器的兩個(gè)極板之間,由于紙張總厚度的不同,所以平板電容器的容量值不同,利用容量值的變化從而測(cè)量出紙張數(shù)量。本紙張計(jì)數(shù)裝置模型由兩塊5cm×5cm的正方形覆銅板組成,裝置模型如圖1所示。
圖1 紙張計(jì)數(shù)裝置模型
STM32F4系列是意法半導(dǎo)體公司生產(chǎn)的,基于ARM Cortex內(nèi)核,專為要求高性能、低成本和低功耗的集成應(yīng)用而設(shè)計(jì)的高性能嵌入式芯片,工作頻率高達(dá)168 MHz。具有豐富的內(nèi)部外設(shè),功能非常強(qiáng)大,廣泛應(yīng)用于電機(jī)驅(qū)動(dòng)和應(yīng)用控制、醫(yī)療設(shè)備、打印機(jī)和掃描儀等眾多應(yīng)用場(chǎng)合,是目前主流芯片之一。
STM32F4的定時(shí)器功能十分強(qiáng)大,有兩個(gè)高級(jí)定時(shí)器、兩個(gè)基本定時(shí)器,還有多個(gè)通用定時(shí)器。STM32F4的通用定時(shí)器包含一個(gè)16位或32位自動(dòng)重載計(jì)數(shù)器(CNT),該計(jì)數(shù)器由可編程預(yù)分頻器(PSC)驅(qū)動(dòng)。STM32F4的通用定時(shí)器除了簡(jiǎn)單的定時(shí)計(jì)數(shù)功能外,還可以被用于測(cè)量輸入信號(hào)的脈沖長(zhǎng)度、輸入捕獲功能或者產(chǎn)生輸出比較信號(hào)。本文利用STM32F4定時(shí)器的輸入捕獲能力進(jìn)行設(shè)計(jì),完成紙張計(jì)數(shù)裝置的功能實(shí)現(xiàn)。
STM32F4的通用定時(shí)器具有輸入捕獲功能,即可以利用定時(shí)器檢測(cè)高電平的建立時(shí)間,如圖2所示,T1、T2為不同紙張數(shù)目的高電平捕獲時(shí)間。外接阻容電路接入STM32F4的通用定時(shí)器輸入捕獲引腳,開(kāi)始測(cè)量時(shí)定時(shí)器引腳首先輸出低電平,對(duì)電容放電,保證電容兩端電壓從零伏開(kāi)始充電。由于所測(cè)紙張厚度的不同,平板電容器的容量值也不同,因此,引腳處電容至高電平的充電時(shí)間不同,通過(guò)對(duì)不同厚度的平板電容器充電至高電平建立時(shí)間的捕獲,就可以間接計(jì)算出平板電容器之間紙張的數(shù)目。
圖2 高電平輸入捕獲原理
圖3 硬件電路
紙張計(jì)數(shù)裝置的硬件電路主要由阻容電路、STM32F4最小系統(tǒng)、OLED顯示屏、獨(dú)立按鍵四部分組成,如圖3所示。由檢測(cè)紙張數(shù)目的平板電容器和充電電阻構(gòu)成阻容電路;STM32F4最小系統(tǒng)主要完成對(duì)芯片的供電、晶振及下載接口的設(shè)計(jì)任務(wù);OLED采用SPI接口與單片機(jī)連接,用于顯示最終測(cè)得的紙張數(shù)目;獨(dú)立按鍵直接與單片機(jī)的GPIO端口相連接,用于測(cè)試時(shí)的控制按鍵。
基于模塊化設(shè)計(jì)思想對(duì)該計(jì)數(shù)裝置進(jìn)行軟件設(shè)計(jì)。獨(dú)立按鍵軟件設(shè)計(jì)中,為避免干擾,采取軟件消抖程序,用于測(cè)試啟動(dòng)和校準(zhǔn),測(cè)試時(shí)首先控制平板電容器引腳輸出低電平,使之完全放電,然后啟動(dòng)定時(shí)器,由輸入捕獲模塊對(duì)平板電容器引腳的高電平進(jìn)行捕獲。當(dāng)捕獲到高電平時(shí),讀取自動(dòng)重載計(jì)數(shù)器(CNT)的計(jì)數(shù)值,換算成所測(cè)紙張數(shù)目,由OLED顯示模塊顯示紙張數(shù)目。程序流程圖如圖4所示。
圖4 程序流程圖
結(jié)論:本文概括總結(jié)了幾種紙張計(jì)數(shù)裝置的技術(shù)方案,這些方案的共同思想是借助一種檢測(cè)裝置將電容容量的變化轉(zhuǎn)換為頻率的變化,再通過(guò)單片機(jī)系統(tǒng)檢測(cè)頻率值,間接的計(jì)算出所測(cè)紙張的數(shù)目。本方案設(shè)計(jì)了一種效率較高的紙張計(jì)數(shù)方案,其基于STM32F4嵌入式單片機(jī),利用單片機(jī)通用定時(shí)器的輸入捕獲功能,實(shí)現(xiàn)電容器充電的高電平邊沿捕獲,通過(guò)對(duì)充電時(shí)間的捕獲,獲得充電時(shí)間值,可以直接、方便地計(jì)算出所測(cè)紙張數(shù)目,實(shí)驗(yàn)證明本文提出的方案是一種可行的、測(cè)量精確度高的低成本紙張計(jì)數(shù)設(shè)計(jì)方案。