<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 消費電子 > 基于PIC16F628單片機的便攜式電子秤

          基于PIC16F628單片機的便攜式電子秤

          ——
          作者:張海霞 滕召勝 時間:2007-11-14 來源:世界電子元器件 收藏
                 本文介紹了一種基于的測量原理,給出了原理框圖,重點介紹了傳感器單元、單元的硬件電路與重要的軟件程序流程圖.  

                 目前,臺式在商業(yè)貿易中的使用已相當普遍,但存在較大的局限性:體積大、成本高、需要工頻交流電源供應、攜帶不便、應用場所受到制約?,F(xiàn)有的秤為桿秤或以彈簧、拉伸變形來實現(xiàn)計量的彈簧秤,居民用戶使用的基本是桿秤。彈簧盤秤制造工藝要求較高,彈簧的疲勞問題無法徹底解決,一旦超過彈簧彈性限度,彈簧秤就會產(chǎn)生很大誤差,以至損壞,影響到稱重的準確性和可靠性,只是一種暫時的代用品,也被列入逐漸取消的行列。多年來,人們一直期待測量準確、攜帶方便、價格低廉的(袖珍電子秤)投放市場。 

                 基于電子秤的現(xiàn)狀,本項目擬研究一種用控制的高精度智能電子秤設計方案。這種高精度智能電子秤體積小、計量準確、攜帶方便,集質量稱量功能與價格計算功能于一體,能夠滿足商業(yè)貿易和居民家庭的使用需求。 

                  本項目研究的便攜式電子秤主要技術指標為:稱量范圍0~15kg;分度值0.01kg;精度等級Ⅲ級;電源DC1.5V(一節(jié)5號電池供電)。主要功能有自檢、去皮、計價、累計、單價設定、計量單位選擇、過載報警和弱電壓指示等。儀器若不進行稱量操作,5分鐘后自動進入休眠模式,降低電源消耗。 

                 儀器的測量原理 

                 本文采用電容傳感器進行稱重,有別于目前市場上使用的應變式稱重傳感器。應變式稱重傳感器設計成本很高,難以普及,而電容傳感器具有結構簡單、靈敏度高、動態(tài)特性好、無接觸測量、分辨力強、適應性強和抗干擾力強等優(yōu)點,最大特點是價格便宜,但它的主要缺點是電容量一般很小,僅幾十至幾百皮法,甚至只有幾個皮法,環(huán)境變化將影響電容量發(fā)生變化,因而應用受到一定程度的限制。

                 在電子稱重技術的應用中,可將電子線路緊靠傳感器的極板以減小電纜分布電容的影響,利用微處理技術對電容式傳感器的溫度特性和非線性特性進行補償。 本文采用變極距式電容傳感器,它由一對距離可變的平行極板構成。兩板以彈性元件相連,當向一活動板施加拉力時,兩極板距離發(fā)生變化,從而改變了平板電容器的電容量。經(jīng)電容-頻率轉換電路后,電路輸出頻率與電容成正比。被測物重量與電容量改變成正比,頻率的改變即頻差與在傳感器上所加重物的重量成正比,因而變極距式電容傳感器有良好的線性度。測質量時只須測出電容的變化量。然而,電容值的直接測量非常困難。因此,系統(tǒng)將不易測量的電容變化量轉換成易于測量的頻率信號的變化量,并采用高穩(wěn)定參考電容生成參考頻率信號,消除系統(tǒng)誤差,實現(xiàn)高精度測量。電容-頻率轉換框圖如圖1所示。兩路頻率分別送入后級處理電路,經(jīng)過數(shù)據(jù)選擇、帶通濾波傳入單片機系統(tǒng)。 



          圖1 電容頻率轉換框圖 

                 硬件電路設計 

                 儀器的構成 

                 本文研究的便攜式電子秤硬件系統(tǒng)由電源、電容傳感器、高穩(wěn)定參考電容、ICM7556定時器、MAX325多路開關、單片機系統(tǒng)、控制鍵盤、LCD顯示等組成。測量系統(tǒng)硬件電路框圖如圖2所示。 



          圖2 儀器結構框圖 

                 的主要功能特點 

                 PIC16F628單片機是Microchip公司的PIC系列單片機之一。PIC 8位單片機系列是該公司推出采用RISC(Reduced Instruction Set Computer)結構的控制器,具有執(zhí)行速度高、功耗低、體積小巧、工作電壓低、驅動能力強、品種豐富等優(yōu)越性能。其總線結構采取數(shù)據(jù)總線和指令線分離獨立的哈佛(Harvard)結構,具有很高的流水處理速度。與同類8位單片機相比,程序存儲器可節(jié)省一半,指令運行速度可以提高4倍左右。此外,PIC系列單片機集成了一系列外部功能模塊,例如:上電復位電路、I/O引腳上拉電路、看門狗定時器等。這樣,在組成系統(tǒng)時,就可以最大限度的簡化電路、降低成本,提高系統(tǒng)的可靠性。 

                 PIC16F628單片機具有直接驅動液晶顯示器的能力。輸入端口具有跳變中斷能力,能方便地接收按鍵輸入,另有多級外部及內部中斷,可通過程序禁止主晶振振蕩而使單片機進入低功耗狀態(tài),適合用于以電池作能源、需液晶驅動的應用場合。 

                 PIC16F628單片機的工作電壓范圍為3.0V~5.5V,時鐘頻率為DC~20MHz,內部具有1K 14(位)片內程序存儲器,224字節(jié)通用RAM,128字節(jié)EEPROM,15根雙向I/O線和10個中斷源,并帶有一個16位定時器/計數(shù)器(TMR1)和一個8位定時器/計數(shù)器(TMR0)。 

                 PIC16F628的精簡指令集僅有35條指令,除了地址分支跳轉指令(GOTO、CALL)為雙周期指令外,其余皆為單周期指令,執(zhí)行速度可調范圍寬(DC~200ns),具有8級硬件堆棧,3種尋址方式(直接、間接、相對)。 

                 PIC16F628的15個I/O口均是獨立雙向可編程的,并可直接驅動LED數(shù)碼管,最大拉電流和灌電流分別為25mA和20mA。TMR0帶有8位可編程預分頻器,可進行1~256分頻。 

                 PIC16F628信息處理單元電路的設計 

                 PIC16F628是整個系統(tǒng)的信息處理核心。它需要完成鍵盤輸入檢測、采樣通道選擇、信號分析處理、信息顯示、欠電報警和過載報警等多種智能功能。單片機信息處理單元電路如圖3所示。圖中采用的MAX325是MAXIM公司生產(chǎn)的精密單電源SPST(single-pole single-throw)模擬開關,它由一個常開型開關和一個常閉型開關組成,具有低功耗、低導通電阻等特點。該芯片兩控制端(IN1、IN2)均連接CPU的RB3引腳,系統(tǒng)兩路頻率信號輸入通道的選擇由CPU控制。

                低電壓檢測信號通過芯片6腳(INT)輸入,低壓時產(chǎn)生外部中斷。鍵盤檢測信號與芯片10~12腳(RB4~RB6)相連,有鍵按下,就產(chǎn)生RB口電平變換中斷,在中斷服務程序中,掃描鍵盤,取得鍵值。顯示緩沖區(qū)的寫入依靠芯片中通用同步/異步收發(fā)器(USART),顯示器LCD的數(shù)據(jù)端和時鐘端分別與芯片的7腳(DT)、8腳(CK)相接。 



          圖3 信息處理單元電路 

                 軟件設計 

                 作為便攜式儀器,系統(tǒng)在整個設計過程中遵循簡化硬件電路,以軟件設計代替硬件的設計原則,最大限度的減小儀器的體積和重量,因而系統(tǒng)的軟件實現(xiàn)功能豐富。軟件設計采用模塊化結構,主要有人工校正模塊、欠電報警模塊、鍵盤檢測模塊、采樣通道切換模塊和數(shù)據(jù)處理模塊。 

                 系統(tǒng)主程序 

                 系統(tǒng)主程序控制單片機系統(tǒng)按預定的操作方式運行,它是單片機系統(tǒng)程序的框架。系統(tǒng)上電后,對系統(tǒng)進行初始化。初始化程序主要完成對單片機內專用寄存器的設定,單片機工作方式及各端口的工作狀態(tài)的規(guī)定。系統(tǒng)初始化之后,進行計數(shù)器讀取、零點校正、過載檢測等工作。

                  主程序流程圖如圖4所示。 



          圖4 系統(tǒng)主程序流程圖 

                 中斷服務程序設計 

                 系統(tǒng)程序設計中,鍵盤檢測產(chǎn)生外部中斷,采樣通道產(chǎn)生內部定時中斷。在中斷優(yōu)先級的問題上,因為PIC16F628單片機只有一個中斷入口地址0004h,每種中斷都要由此進入中斷程序,所以中斷程序開始現(xiàn)場保護后,要進行各種中斷標志位的順序檢測和判斷。當判斷到中斷標志位時,轉到相應的中斷服務子程序中,根據(jù)檢測標志位的順序,定義中斷優(yōu)先級,先判斷定時中斷優(yōu)先級最高,其次是鍵盤檢測中斷。

                 中斷服務程序流程圖如圖5所示。 



          圖5中斷服務程序流程 

                 采樣通道切換模塊,系統(tǒng)傳感器單元含有兩個電容-頻率轉換電路,兩個電路輸出信號的獲取均通過單片機PIC16F628的計數(shù)器1實現(xiàn)。利用定時器0的定時中斷功能,每隔0.1s切換一次振蕩工作電路及模擬開關MAX325通道。

                 定時器0中斷服務程序流程圖如圖6所示。  


                        

           圖6 定時器0中斷服務程序流程圖                圖7 鍵盤中斷服務程序流程圖 

                  鍵盤檢測模塊,系統(tǒng)中按鍵組合成鍵盤后排列成3 5矩陣形式,采用RB口中斷的方式檢測鍵盤中有無按鍵。對各列線都送以低電平(稱為"全掃描"),若有鍵按下,則產(chǎn)生中斷。進入中斷程序后,通過"逐列掃描"(逐列送低電平),查看各行線電平值來鑒別被按下的鍵,返回鍵值。對按鍵的具體處理由主程序中鍵盤處理子程序完成。鍵盤檢測中斷服務程序流程圖如圖7所示。 

                 軟件抗干擾設計 

                 測量算法采用數(shù)字濾波、曲線擬合兩種數(shù)據(jù)處理方法。數(shù)字濾波(軟件濾波)復用性好、可實現(xiàn)超低頻濾波且修改方便。因此,在硬件濾波設計基礎上,系統(tǒng)通過軟件濾波進一步濾除有害干擾信號。同時,曲線擬合使系統(tǒng)對測量曲線進行不失真跟蹤處理,也保證了測量計算的準確性。 

                 PIC16F628片內帶有看門狗定時器(WDT),它是一個擁有獨立的RC 時鐘信號源、計時周期約為18ms的CPU片內自激式RC振蕩計時器。在燒寫程序時借助程序燒寫器啟用WDT,一旦程序跑飛,WDT將立即強迫程序返回到復位向量處(在復位向量處安排了一段出錯程序),即可將系統(tǒng)納入正軌。 

                 軟件低功耗設計 

                 因為系統(tǒng)功耗正比于CPU的工作時間,所以盡量縮短CPU的運行時間應是低功耗軟件設計的一條重要準則。 

                 (1) 使用單片機睡眠方式 

                 PIC16F628設有低功耗模式,即睡眠方式(SLEEP)。便攜式電子秤作為隨身攜帶的手持式稱量器具,一定不是常處在工作狀態(tài)。在未關斷電源的情況下,當器具閑置了預定的一段時間后,單片機將自動進入SLEEP模式,在"睡眠"方式,耗電小于1 A。 

                 (2) 使用單片機的中斷功能 

                 系統(tǒng)軟件設計應用了三個中斷:RB口中斷(用于檢測鍵盤輸入)、外部中斷(用于低電壓檢測)、定時器0中斷(用于切換頻率量輸入通道)。中斷的使用有效地減少了CPU的運行時間,從而降低功耗。 

                 本系統(tǒng)中,嚴格選用低功耗的CMOS器件,硬件上的配合簡單而有效,軟件上的設計周密而層次分明,整個系統(tǒng)能真正的實現(xiàn)低功耗工作。 

                 結束語 

                 本文設計研究的準確度等級Ⅲ級、最大稱量15kg并集多種智能功能于一體的便攜式電子秤,技術指標參考了目前國內市場上使用最多、國內外產(chǎn)量最大的電子衡器的技術指標,由此可預見產(chǎn)品投放市場后將有極大的競爭力。  

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
          稱重傳感器相關文章:稱重傳感器原理


          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();