




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
精選優(yōu)質(zhì)文檔-----傾情為你奉上精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)專心---專注---專業(yè)精選優(yōu)質(zhì)文檔-----傾情為你奉上專心---專注---專業(yè)XXXXXXXXXX本科畢業(yè)設(shè)計(jì)(論文)QQ: 作者:冷星基于低功耗msp430無(wú)磁水表單片系統(tǒng)開(kāi)發(fā)DesignofNon-magneticWaterMeterMCUsystemBaseonLowPowerConsumptionMSP430學(xué)生姓名XXXX學(xué)號(hào)XXXXXXXXXX學(xué)生專業(yè)XXXXXXXX班級(jí)XXXXXXX二級(jí)學(xué)院XXXXXXXX指導(dǎo)教師XXXXXXXXXXXXXXXXX2015年5月鄭重聲明本人呈交的畢業(yè)設(shè)計(jì)論文,是在導(dǎo)師的指導(dǎo)下,獨(dú)立進(jìn)行研究工作所取得的成果,所有數(shù)據(jù)、圖片資料真實(shí)可靠。盡我所知,除文中已經(jīng)注明引用的內(nèi)容外,本學(xué)位論文的研究成果不包含他人享有著作權(quán)的內(nèi)容。對(duì)本論文所涉及的研究工作做出貢獻(xiàn)的其他個(gè)人和集體,均已在文中以明確的方式標(biāo)明。本學(xué)位論文的知識(shí)產(chǎn)權(quán)歸屬于培養(yǎng)單位。學(xué)生簽名:XXXXXXXX日期:2015年5月分類號(hào):TP2密級(jí):公開(kāi)UDC:621學(xué)校代碼:xxxxXXXXXXXX本科畢業(yè)設(shè)計(jì)(論文)基于低功耗msp430無(wú)磁水表單片系統(tǒng)開(kāi)發(fā)DesignofNon-magneticWaterMeterMCUsystemBaseonLowPowerConsumptionMSP430作者XX學(xué)號(hào)XXXXXXxxx申請(qǐng)學(xué)位工學(xué)學(xué)士指導(dǎo)教師XX副教授學(xué)科專業(yè)XXXXXX培養(yǎng)單位XXXXXXXX答辯委員會(huì)主席XX評(píng)閱人XX2015年5月致謝時(shí)光流逝,大學(xué)四年已在指間流逝殆盡,作為最后一個(gè)學(xué)期的課程,從年底著手準(zhǔn)備,這次的畢業(yè)設(shè)計(jì)是以我所在實(shí)習(xí)公司的一個(gè)項(xiàng)目為題展開(kāi)的。在此我要感謝XX老師細(xì)致、耐心的講解和教導(dǎo),感謝我的同事對(duì)我的幫助,還有同學(xué)的鼓勵(lì),正是有了你們的幫助,才能使我順利地完成畢業(yè)設(shè)計(jì),在此,我再次向你們表示由衷的感謝。本論文是在我的導(dǎo)師XX老師的悉心指導(dǎo)下完成的,感謝XX老師能在百忙之中給予我悉心的指導(dǎo)。當(dāng)我在畢業(yè)設(shè)計(jì)遇到困難時(shí),吳老師總是主動(dòng)幫助我,幫我解決一些問(wèn)題,尤其是在寫(xiě)論文的時(shí)候,告訴了我許多該注意的地方。最后,我還要感謝我的父母對(duì)我生活上的無(wú)私關(guān)愛(ài),感謝我的同學(xué)以及其他分院的朋友對(duì)我的學(xué)習(xí)和生活的幫助與支持,我將一如既往,繼續(xù)努力,保持高昂的斗志,在未來(lái)的天空里展翅翱翔。XXX2015年5月基于低功耗msp430無(wú)磁水表單片系統(tǒng)開(kāi)發(fā)摘要:設(shè)計(jì)了以MSP430為核心的低功耗無(wú)磁水表系統(tǒng)。以MSP430FW427為主控器,通過(guò)內(nèi)部集成的SCANIF模塊對(duì)水流量進(jìn)行計(jì)數(shù),使用帶捕獲比較功能的定時(shí)器軟件模擬串口收發(fā)數(shù)據(jù)。詳細(xì)分析了無(wú)磁水表使用LC振蕩電路來(lái)測(cè)量流量的原理,分析了SCANIF模塊中PSM狀態(tài)機(jī)的工作原理及狀態(tài)表的編寫(xiě),分析了SCANIF模塊參考電壓自校準(zhǔn)的工作流程,重點(diǎn)介紹了使用MSP430FW427單片機(jī)相關(guān)部分的軟硬件設(shè)計(jì)及系統(tǒng)的低功耗設(shè)計(jì),硬件部分包括主控芯片的選型,LC振蕩電路的設(shè)計(jì),液晶顯示硬件的設(shè)計(jì),電機(jī)驅(qū)動(dòng)電路的設(shè)計(jì),電流比較電路的設(shè)計(jì),E2PROM電路的設(shè)計(jì)。軟件部分包括主程序的設(shè)計(jì),初始化程序的設(shè)計(jì),SCANIF模塊,軟件模擬串口,上位機(jī)通訊,液晶顯示,電機(jī)控制,E2PROM存儲(chǔ)。對(duì)實(shí)驗(yàn)成果及本次設(shè)計(jì)的不足進(jìn)行了分析。關(guān)鍵詞:無(wú)磁水表;MSP430;低功耗;中圖分類號(hào):TP273
DesignofNon-magneticWaterMeterMCUsystemBaseonLowPowerConsumptionMSP430Abstract:DesignedwithlowpowerMSP430coreofnon-magneticwatermetersystem.InMSP430FW427maincontroller,throughtheinternalintegrationofSCANIFmoduleforwaterflowwerecountedusingatimerwithcapture-comparefunctionanalogserialdatatransceiver.Adetailedanalysisoftheprinciplesofnon-magneticsensorstomeasureflowLCoscillatorcircuit,adetailedanalysisofthepreparationprincipleSCANIFmodulePSMstatemachineandthestatetable,analyzedtheSCANIFmodulereferencevoltageself-calibrationprocess,focusingontheuseofMSP430FW427low-powersingle-chipdesign,hardwareandsystemsoftwareandhardwaredesign,includingtherelevantpartofthemasterchipselection,LCoscillatorcircuitdesign,LCDdesignhardwaredesign,designmotordrivecircuit,acurrentcomparisoncircuits,E2PROMcircuitdesign.Softwareincludesthemainprogramdesign,designinitializationprocedure,SCANIFmodule,softwaresimulationserialPCcommunication,LCD,motorcontrol,E2PROMmemory.Theexperimentalresultsanddesigndeficiencieswereanalyzed.Keywords:Non-magneticWaterMeter;msp430;LowPowerConsumptionClassification:TP273
目次前言選題背景與意義從第一個(gè)平衡罐式水表算起,水表已經(jīng)有了近兩百年的歷史。我國(guó)的水表行業(yè)從1930年開(kāi)始起步,但是發(fā)展緩慢。直到九十年代,隨著科技的進(jìn)步,水表行業(yè)也有了較快的發(fā)展。進(jìn)入新世紀(jì)以來(lái),智能水表成為了急速發(fā)展的水表種類,品種越來(lái)越多,性能越來(lái)越好。水表產(chǎn)品按結(jié)構(gòu)特征分類主要有:機(jī)械水表,帶電子的機(jī)械水表,電子水表。機(jī)械水表:是指依靠機(jī)械原理來(lái)計(jì)數(shù)的水表。優(yōu)點(diǎn):售價(jià)便宜,不需要供電,缺點(diǎn):計(jì)量不準(zhǔn)確,磨損較嚴(yán)重,壽命不長(zhǎng),無(wú)法遠(yuǎn)程集抄等。帶電子的機(jī)械水表:是指在機(jī)械式的水表上安裝機(jī)電轉(zhuǎn)換模塊,將水表中葉輪或其他設(shè)備的旋轉(zhuǎn)量轉(zhuǎn)化為可以識(shí)別的電信號(hào),或?qū)C(jī)械示數(shù)裝置的字輪讀數(shù)位置量轉(zhuǎn)換成絕對(duì)編碼形式的數(shù)字電信號(hào)。水表上通常安裝有信號(hào)處理器件和電控閥門等器件。電子水表:是指流量檢測(cè)不使用機(jī)械原理進(jìn)行計(jì)數(shù)的水表。比如超聲水表,電磁水表等。盡管電子水表有很多優(yōu)點(diǎn),但電子水表也有它的局限性,例如:易受管振、電磁環(huán)境干擾,容易造成計(jì)量誤差。還有量程較小,使用范圍也跟著變小了。再者就是大口徑流量計(jì)的現(xiàn)場(chǎng)測(cè)試和周期檢定,這方面始終沒(méi)有有效的辦法來(lái)解決。不僅如此,此類水表的標(biāo)準(zhǔn)化和計(jì)量管理也需要提高。長(zhǎng)遠(yuǎn)看來(lái),電子水表和機(jī)械式水表將會(huì)共存,機(jī)械水表暫時(shí)不會(huì)被電子水表取代。在用水的管理上,過(guò)去“先用水后付費(fèi)”這種模式容易造成欠繳水費(fèi)等現(xiàn)象的發(fā)生。在我國(guó)一般使用人工入戶的方式完成能耗表的抄寫(xiě),數(shù)據(jù)由相關(guān)部門統(tǒng)計(jì)管理。抄表工作的隨著勞動(dòng)力成本的增加,導(dǎo)致人工抄表的成本也大大增加,直接導(dǎo)致自來(lái)水公司利潤(rùn)減少,且存在安全隱患等,也加重了消費(fèi)者和自來(lái)水公司的矛盾。隨著智能水表的出現(xiàn),以往用水的管理模式也得到了改變。智能水表結(jié)合了多種現(xiàn)代科學(xué)來(lái)對(duì)用水量進(jìn)行計(jì)量,并管理用水的新型水表。智能水表可以完成遠(yuǎn)程開(kāi)關(guān)閥、預(yù)付費(fèi)用水、遠(yuǎn)程抄表等功能。智能水表的類型多種多樣。從控制方式可以分為預(yù)付費(fèi)式水表和遠(yuǎn)傳水表等。從傳感器類型可以分為干簧管傳感器、霍爾元件、韋根傳感器、LC傳感器等。從供電方式分類有:電池供電,市電供電等。有磁傳感器容易受到強(qiáng)磁場(chǎng)的影響,造成漏計(jì),甚至不計(jì)的情況,容易被人為利用。而且有磁水表中的永磁體會(huì)吸附水中雜質(zhì),日積月累,造成計(jì)量誤差。無(wú)磁水表以其計(jì)量精度高,無(wú)磁性,不會(huì)吸附水中雜質(zhì),不易被人為干擾等優(yōu)點(diǎn),長(zhǎng)期使用仍能保持高精度,越來(lái)越被廣大表廠重視。有些單片機(jī)廠商也把目光集中在這塊,推出專用于流量檢測(cè)儀表的單片機(jī)。美國(guó)德州儀器(TI,TEXASINSTRUMENT)公司的MSP430FW42x系列單片機(jī),片上集成了一個(gè)SCAN接口,96段LCD驅(qū)動(dòng)器,48個(gè)IO口,一個(gè)比較器,2個(gè)16位定時(shí)器,32KROM,1KRAM??梢哉f(shuō)是為無(wú)磁水表量身定做的,不僅大大的方便了開(kāi)發(fā)人員,而且延長(zhǎng)了電池的使用壽命,提高了儀表的精度。在儀表計(jì)量方面得到了各方認(rèn)可。隨著城市化發(fā)展的進(jìn)程,智能化設(shè)備也越來(lái)越被重視,越來(lái)越多的新建筑選擇智能水表,而且“一戶一表”的需求量巨大,這也迎來(lái)了智能水表發(fā)展的春天。并且大多數(shù)旋轉(zhuǎn)式表記的工作原理都是相同的,所以對(duì)無(wú)磁水表的研究及使用不僅僅局限在水表上,更是可以推廣到熱表,氣表等其他表記上,使用一套系統(tǒng),完成不同表記的使用,具有很大的推廣價(jià)值。研究的主要內(nèi)容MSP430FW427作為主控中心,既要接收外部信號(hào),又要對(duì)接收到的信號(hào)進(jìn)行處理,還得對(duì)被控設(shè)備進(jìn)行控制。測(cè)量的準(zhǔn)確性,遠(yuǎn)程傳輸?shù)臏?zhǔn)確性,電機(jī)的控制,低功耗的設(shè)計(jì)成為了我們的主要研究?jī)?nèi)容,擬解決的主要問(wèn)題:模擬前端信號(hào)的采集:使用LC傳感器,通過(guò)振蕩波形確定電感是處在金屬區(qū)還是非金屬區(qū),再根據(jù)兩個(gè)電感所在區(qū)域以及前后狀態(tài)進(jìn)行方向的判斷和計(jì)數(shù)。難點(diǎn)在于如何正確產(chǎn)生LC振蕩波形,并能夠準(zhǔn)確采集到電感所在區(qū)域。SCANIF內(nèi)部比較器參考電壓的設(shè)置:在確定電感處在金屬區(qū)還是非金屬區(qū)時(shí),主要是檢測(cè)經(jīng)延時(shí)后,衰減波形的包絡(luò)線是在參考電壓上,還是參考電壓下。參考電壓是一個(gè)范圍值,通常找到它的上下限,再求它的平均值作為實(shí)際使用的參考電壓,正確的參考電壓是準(zhǔn)確計(jì)數(shù)的前提條件。LCD顯示:定制液晶顯示的內(nèi)容,使顯示內(nèi)容直觀明了,讓消費(fèi)者能夠直觀的得到所需信息。遠(yuǎn)程抄表及控制:如何進(jìn)行上位機(jī)和下位機(jī)的通訊,在預(yù)防錯(cuò)誤幀產(chǎn)生的前提下進(jìn)行正確的接收和解碼,并根據(jù)命令進(jìn)行操作。電機(jī)開(kāi)關(guān)閥控制:使用H橋式電路來(lái)控制電機(jī)。通過(guò)檢測(cè)電機(jī)電流是否大于設(shè)定值判斷電機(jī)是否堵轉(zhuǎn)。所以電機(jī)到達(dá)極限位置時(shí)停止轉(zhuǎn)動(dòng)也是電機(jī)開(kāi)關(guān)閥控制的難點(diǎn)。數(shù)據(jù)存儲(chǔ):使用E2PROM進(jìn)行數(shù)據(jù)存儲(chǔ),在電源停止供電前把數(shù)據(jù)存儲(chǔ)在E2PROM中,當(dāng)電池恢復(fù)供電時(shí)把數(shù)據(jù)讀取出來(lái),這樣不會(huì)因?yàn)楦鼡Q電池造成數(shù)據(jù)的丟失。低功耗設(shè)計(jì):需要最大限度的做到低功耗,可以做到一節(jié)鋰電池使用6年。本章小結(jié)本章主要介紹了選題的背景和意義,介紹了水表現(xiàn)有的分類及用水的管理模式,介紹了研究?jī)?nèi)容及擬解決的主要問(wèn)題。
傳感器原理及無(wú)磁水表總體設(shè)計(jì)LC傳感器工作原理圖2.1LC振蕩電路上圖是LC振蕩電路,首先電池組給電容充電,當(dāng)電容充滿電后撥動(dòng)開(kāi)關(guān),電池組斷開(kāi),電容和電感構(gòu)成一個(gè)LC震蕩電路,如果忽略功率的損耗,此時(shí)在電容兩端可以得到一個(gè)正弦波,因?yàn)榇嬖诠β实膿p耗,實(shí)際波形是一個(gè)衰減的正弦波。衰減的快慢與許多因素有關(guān)。圖2.2SCANIF模塊原理圖上圖是SCANIF模塊的原理圖,SCANIF模塊可以給電容充電,并檢測(cè)電容兩端的波形,左邊的電容和右邊的電感構(gòu)成LC震蕩電路,右邊的圓盤代表水表的轉(zhuǎn)子,顏色深的一半為金屬區(qū),另一半為非金屬區(qū),LC震蕩產(chǎn)生時(shí)會(huì)產(chǎn)生電磁波,在金屬區(qū)形成渦流,造成能量的損耗,導(dǎo)致正弦波衰減的更快,而非金屬區(qū)則衰減更慢。兩個(gè)電感分別出于金屬區(qū),非金屬區(qū)時(shí),可以產(chǎn)生以下幾種情況:圖2.3位置波形圖我們把衰減更快的情況記作0,衰減更慢的情況記作1。當(dāng)我們只使用一個(gè)LC傳感器時(shí),轉(zhuǎn)子轉(zhuǎn)動(dòng),我們不斷得到0,1的信號(hào),根據(jù)信號(hào)變化快慢,可以測(cè)出轉(zhuǎn)子轉(zhuǎn)動(dòng)的速度。當(dāng)我們使用兩個(gè)LC傳感器,并使他們成90°,我們可以得到4種情況:00,01,10,11。根據(jù)四種情況的交替變化,我們不僅可以得到轉(zhuǎn)子的轉(zhuǎn)速,也可以得到轉(zhuǎn)子運(yùn)動(dòng)的方向。圖2.4位置轉(zhuǎn)換圖上圖是抽象的位置轉(zhuǎn)換圖,00代表兩個(gè)傳感器都處于金屬區(qū),01和10代表一個(gè)傳感器處于非金屬區(qū),另一個(gè)傳感器處于金屬區(qū),11代表兩個(gè)傳感器都處于非金屬區(qū)。對(duì)應(yīng)這個(gè)位置轉(zhuǎn)換圖能知道轉(zhuǎn)子轉(zhuǎn)動(dòng)的方向,從變換快慢可以知道轉(zhuǎn)子轉(zhuǎn)動(dòng)的快慢,此處我們需要的是轉(zhuǎn)子轉(zhuǎn)動(dòng)的圈數(shù),從圈數(shù)我們可以得到用水量。圖2.5傳感器位置相序圖 以上就是使用LC振蕩電路原理進(jìn)行流量檢測(cè)的基本邏輯。流量檢測(cè)傳感器的選型LC振蕩的公式:fr=12π1LC其中:fr:振蕩頻率;L:電感;C:電容;下圖中列出了不同電感和電容互相組合后的頻率。表2.1電感電容組合表SCANIF模塊工作過(guò)程SCANIF模塊是一個(gè)接口,外部只需連接一個(gè)合適的電容和電感即可完成檢測(cè)。從時(shí)序上對(duì)SCANIF模塊進(jìn)行分析:1.激勵(lì):激勵(lì)過(guò)程很短,SCANIF模塊給電容充電,然后馬上斷開(kāi)。2.延時(shí):這時(shí)LC振蕩電路開(kāi)始振蕩,產(chǎn)生衰減的正弦波。正弦波需要振蕩一段時(shí)間才會(huì)有明顯的衰減。3.檢測(cè):此時(shí)檢測(cè)波形,根據(jù)波形可以得出傳感器是出于金屬區(qū)還是非金屬區(qū)。4.計(jì)數(shù):由當(dāng)前傳感器的位置和上一次檢測(cè)時(shí)傳感器的位置,可以知道轉(zhuǎn)子轉(zhuǎn)動(dòng)的方向和圈數(shù)。經(jīng)過(guò)以上幾個(gè)時(shí)序完成一次檢測(cè)。內(nèi)部DAC了設(shè)定一條參考電壓,在檢測(cè)時(shí)間內(nèi),即圖中tgate,如果正弦波的包絡(luò)線在參考電壓之下則為0,如果在參考電壓之上則為1。由于電壓的遲滯,通常使用兩個(gè)成對(duì)的DAC寄存器完成對(duì)傳感器信號(hào)的判斷。這部分在手冊(cè)中有詳細(xì)說(shuō)明。圖2.6波形檢測(cè)原理圖MSP430單片機(jī)中的SCANIF模塊能夠在低功耗下自動(dòng)檢測(cè)振蕩信號(hào)的振幅或者包絡(luò)線,它由模擬前端(AFE)、信號(hào)處理狀態(tài)機(jī)(PSM)、定時(shí)狀態(tài)機(jī)(TSM)3部分組成。[2]圖2.7SCANIF模塊框圖模擬前端(AFE)完成對(duì)輸入信號(hào)的采集,并通過(guò)和內(nèi)部DAC比較得到檢測(cè)信號(hào),并轉(zhuǎn)化為可識(shí)別的數(shù)字信號(hào)傳遞到信號(hào)處理狀態(tài)機(jī)(PSM),信號(hào)處理狀態(tài)機(jī)(PSM)根據(jù)用戶軟件編寫(xiě)的向量表完成計(jì)數(shù)操作,定時(shí)狀態(tài)機(jī)(TSM)按順序執(zhí)行,定時(shí)執(zhí)行操作。PSM狀態(tài)機(jī)設(shè)置PSM狀態(tài)機(jī)工作流程:PSM根據(jù)上一次采樣到的S1S2和這次采樣到的S1S2決定取表中哪的數(shù)據(jù)。然后根據(jù)表中的Q1和Q2的值,和SIFCTL的設(shè)置來(lái)修改SIFCNT的值。為此,這張表的編寫(xiě)至關(guān)重要。圖2.8PSM狀態(tài)機(jī)工作框圖PSM狀態(tài)表原理在下表中:NoRotation表示S1、S2沒(méi)有變化,Turnsright表示向右運(yùn)動(dòng)了90度,Turnsleft表示向左運(yùn)動(dòng)了90度。Error:表示發(fā)生了錯(cuò)誤的運(yùn)動(dòng)。以初始狀態(tài)00為例,下一次是01,則表示取PSM狀態(tài)表的第二行,第二行的數(shù)據(jù)是0x03,則Q1位是1,所以SIFCNT計(jì)數(shù)器加一。以此類推。 表2.2PSM狀態(tài)機(jī)狀態(tài)表PSM狀態(tài)表編寫(xiě)PSM狀態(tài)表是由用戶編寫(xiě)的,因此它有很高的靈活性。正確的狀態(tài)表是無(wú)磁水表正確計(jì)數(shù)的前提條件。使用兩個(gè)LC傳感器最少需要編一張16個(gè)成員的表。每一個(gè)成員是一個(gè)8位數(shù)據(jù),從最低到最高位是Q1-Q7,在簡(jiǎn)化的表中,Q4-Q7是沒(méi)有使用到的。Q3和Q0表示當(dāng)前S1和S2的值。Q1和Q2表示當(dāng)該值為1時(shí)對(duì)計(jì)數(shù)器進(jìn)行加一或者減一的操作。即運(yùn)行到該行時(shí),如果Q1的值是1,則計(jì)數(shù)器加一,Q2的值是1則計(jì)數(shù)器減一。SIFPSMV指針通過(guò)地址來(lái)指向下一個(gè)成員。初始化時(shí),我們把狀態(tài)表的首地址賦值給了SIFPSMV,下一個(gè)值的地址是: Q7 Q6 Q5 Q4 Q3 Q0 S2 S1下一次運(yùn)行的狀態(tài)表中的成員就是首地址偏移該值后的成員。以S1S2為00為例,由于未使用Q7-Q4,所以Q7-Q4等于0,又Q3、Q0等于0,S1S2等于0時(shí),計(jì)數(shù)器不操作,即Q1、Q2等于0,所以狀態(tài)表第一個(gè)數(shù)是0x00,S1S2是01時(shí),取的是狀態(tài)表的第二個(gè)成員,我們認(rèn)為從00到01是向右轉(zhuǎn),此時(shí)我們需要計(jì)數(shù)器加一,所以Q1等于1,所以第二個(gè)成員的值是0x03.以此可以得到一張狀態(tài)表。參考電壓自校準(zhǔn)流程參考電壓自校準(zhǔn)也就是通過(guò)程序自動(dòng)尋找到合適的參考電壓,是SCANIF編程中最重要的一部分。自校準(zhǔn)完成后,SCANIF的參考電壓就確定了。自校準(zhǔn)的過(guò)程如下:初始給一個(gè)最大值0x3ff,此時(shí)檢測(cè)SIFCTL3的SIF0OUT位,該位為只讀的,當(dāng)SIFDAC的值在波形之上時(shí),SIFOUT等于0;當(dāng)SIFDAC的值在波形之下時(shí),SIFOUT等于1。當(dāng)給出的是最大值時(shí),波形必然在參考電壓之下,SIFOUT必然等于0。延時(shí)一段時(shí)間后,減小SIFDAC的值,再次檢測(cè),直到SIFOUT等于1,否則執(zhí)行步驟2。記錄下SIFOUT等于1時(shí)的SIFDAC的值,多次循環(huán)后保留最大值。然后從最小值開(kāi)始,減小SIFDAC的值,再次檢測(cè),直到SIFOUT等于0,仿照前幾步,尋找到最小值。檢測(cè)UpperDAC1-LowerDAC1大于設(shè)定范圍時(shí),跳出循環(huán),否則再?gòu)牟襟E1開(kāi)始。這時(shí),我們得到的UpperDAC1和LowerDAC1,這兩個(gè)值就是可用SIFDAC的上下限。得到UpperDAC1和LowerDAC1后,UpperDAC1+LowerDAC1除以2就是中間值。使用中間值加減5給SIFDAC賦值。傳感器1和傳感器2是一樣的,只需更改指定的寄存器即可。圖2.9自校準(zhǔn)程序流程圖總體設(shè)計(jì)思路以MSP430FW427作為主控設(shè)備。初始化各個(gè)模塊后,立即進(jìn)入到低功耗模式,外設(shè)脫離CPU工作于低功耗模式。SCANIF工作時(shí),自動(dòng)計(jì)數(shù),適時(shí)喚醒CPU,處理計(jì)數(shù)器中的值。Timer_3等待中斷產(chǎn)生,當(dāng)產(chǎn)生中斷時(shí),作為串口接收數(shù)據(jù),處理數(shù)據(jù)。根據(jù)接收到的數(shù)據(jù)做出相應(yīng)的動(dòng)作,如:抄表,開(kāi)關(guān)閥等。結(jié)構(gòu)框圖下圖是本課題的結(jié)構(gòu)框圖。本次課題以msp430fw427做主控器,配合其他外設(shè),完成無(wú)磁水表的系統(tǒng)設(shè)計(jì)。圖2.10系統(tǒng)設(shè)計(jì)結(jié)構(gòu)框圖本章小結(jié)本章主要介紹了無(wú)磁傳感器的工作原理,從LC振蕩電路到無(wú)磁水表的計(jì)數(shù)邏輯,再深入分析了SACNIF模塊的工作原理,其中主要分析了PSM的狀態(tài)機(jī)設(shè)計(jì),分析了PSM狀態(tài)表的原理和編寫(xiě)。介紹了自校準(zhǔn)的相關(guān)知識(shí)及邏輯。以結(jié)構(gòu)框圖的形式展示了無(wú)磁水表的設(shè)計(jì)思路。
硬件設(shè)計(jì)根據(jù)總體設(shè)計(jì)的需求進(jìn)行元件的選型,并完成原理圖,再根據(jù)原理圖完成PCB圖,最后制成實(shí)物。主控芯片的選型MSP430系列單片機(jī)是TI公司1996年推出的一種16位低功耗單片機(jī),具有精簡(jiǎn)指令集(RISC)的混合信號(hào)處理器(MixedSignalProcessor)。MSP430FW42x系列單片機(jī)是TI公司針對(duì)電子式流量與旋轉(zhuǎn)運(yùn)動(dòng)檢測(cè)最新開(kāi)發(fā)的專用MCU芯片,它將超低功耗MCU、旋轉(zhuǎn)掃描接口(SCANIF)和液晶顯示LCD驅(qū)動(dòng)模塊完美地結(jié)合在一起。[6]該器件的超低功耗結(jié)構(gòu)和流量檢測(cè)模塊不僅延長(zhǎng)了電池壽命,同時(shí)還提高了儀表的精度與性能。[6]MSP430FW42x的典型應(yīng)用包括熱量?jī)x表、熱水和冷水儀表、氣體儀表和工業(yè)流量計(jì)、風(fēng)力計(jì)以及其他旋轉(zhuǎn)檢測(cè)應(yīng)用。[6]其中MSP430FW427有32K的Flash存儲(chǔ)器和1KB的RAM,芯片大約2美元一片,在能完成所需功能的情況下盡量控制成本。下圖為MSP430FW42x的內(nèi)部結(jié)構(gòu)框圖。圖3.1MSP430FW42x系列單片機(jī)內(nèi)部結(jié)構(gòu)框圖LC振蕩電路設(shè)計(jì)在第二章中已經(jīng)介紹了LC振蕩電路的原理。本小節(jié)主要介紹LC振蕩電路外圍器件的連接,下圖中J4連接LC傳感器1的一端,LC傳感器1的另一端接到J5,J6連接LC傳感器2的一段,LC傳感器2的另一端也接到J5上。單片機(jī)的SIFCOM,SIFCH0,SIFCH1對(duì)應(yīng)連接圖中SIFCOM,SIFCH0,SIFCH1。圖3.2SCANIF外圍原理圖液晶顯示硬件連接MSP430FW427的液晶模塊最大驅(qū)動(dòng)為96段。其中公共端為1到4段可以編程選擇。本次設(shè)計(jì)中,我們使用4個(gè)公共端,20個(gè)LCD管腳,總計(jì)24個(gè)IO口,圖中S0-S19,分別連接單片機(jī)S0-S19的IO口。圖3.3液晶接線原理圖電機(jī)驅(qū)動(dòng)電路電機(jī)驅(qū)動(dòng)電路使用的是H橋式電路,使用IO口來(lái)控制三極管的導(dǎo)通和截止,從而控制電流通過(guò)電機(jī)的方向。當(dāng)K1等于1,K2等于0時(shí),Q7截止,Q8導(dǎo)通,所以Q12和Q3導(dǎo)通,電流方向?yàn)镴11到J12;當(dāng)K1等于0,K2等于1時(shí),Q7導(dǎo)通,Q8截止,所以Q11和Q2導(dǎo)通,電流方向?yàn)镴12到J11,當(dāng)K1K2都等于0時(shí),則沒(méi)有電流。由于水表閥門使用的電機(jī)并不需要電機(jī)調(diào)速,所以我們給出的信號(hào)只需是一個(gè)穩(wěn)定的高低電平即可。在遇到需要電機(jī)調(diào)速的情況時(shí),在K1和K2端給出一個(gè)可調(diào)占空比的PWM方波。圖3.4電機(jī)H橋驅(qū)動(dòng)電路原理圖電流比較電路設(shè)計(jì)當(dāng)開(kāi)始執(zhí)行開(kāi)關(guān)閥門動(dòng)作時(shí),打開(kāi)比較器和VREF,圖中CA0和CA1連接在比較器兩端。D5是一個(gè)二極管,由于二極管的鉗位,D5末端的電壓為0.7V。可以算出CA1處的電壓為0.19V。當(dāng)電機(jī)正常轉(zhuǎn)動(dòng)時(shí),H橋流出的電流大約20mA,則CA0處的電壓小于CA1,約為0.02V,當(dāng)電機(jī)堵轉(zhuǎn)而產(chǎn)生大電流時(shí),橋式電路下端的電流大約是300mA,則CA0處的電壓為0.30V,CA0大于CA1。當(dāng)CA0的電壓大于CA1的電壓時(shí),我們可以判斷電機(jī)已經(jīng)到達(dá)指定位置,為了防止電流過(guò)大燒壞電路,此時(shí)讓K1和K2等于0關(guān)斷H橋電路,使電機(jī)停止轉(zhuǎn)動(dòng)。圖3.5電機(jī)電流比較原理圖下圖是實(shí)測(cè)的電機(jī)開(kāi)始轉(zhuǎn)動(dòng)到電機(jī)堵轉(zhuǎn)的電流檢測(cè)圖。檢測(cè)點(diǎn)是上圖R34的上端,R34是一個(gè)1歐的電阻。電機(jī)剛啟動(dòng)時(shí)有一個(gè)較大的啟動(dòng)電流,隨后穩(wěn)定在較低的值,當(dāng)電機(jī)堵轉(zhuǎn)后,電流又急劇增加,并不再變化。圖3.6電機(jī)電流檢測(cè)波形圖E2PROM電路設(shè)計(jì)圖中WP標(biāo)號(hào)是單片機(jī)的一個(gè)IO口,連接在E2PROM的VCC引腳上,可以通過(guò)控制IO口的高低電平來(lái)控制E2PROM的電源開(kāi)關(guān),當(dāng)我們不使用E2PROM時(shí),WP拉低,這時(shí)該模塊的功耗為0,可以降低功耗。圖3.7E2PROM原理圖低功耗設(shè)計(jì)單片機(jī)的功耗與單片機(jī)控制,軟件設(shè)計(jì),工作模式這幾個(gè)方面有關(guān)。對(duì)單片機(jī)的低功耗設(shè)計(jì)而言,有以下幾點(diǎn)需要注意:?jiǎn)纹瑱C(jī)的工作頻率越低,單片機(jī)的功耗越低。手冊(cè)中通常給出每MHz的功耗。例如:100uA/1MHz,1.8v。通常單片機(jī)會(huì)有三個(gè)參數(shù),分別是運(yùn)行模式功耗、空閑模式功耗和掉電模式功耗。單片機(jī)的功耗和單片機(jī)的工作頻率正相關(guān)。所以在低功耗設(shè)計(jì)時(shí),在單片機(jī)正常運(yùn)行的前提下,單片機(jī)的工作頻率越低功耗就越低。單片機(jī)的工作電壓越低,單片機(jī)的功耗越低。一般來(lái)說(shuō),單片機(jī)的功耗和單片機(jī)的工作電壓成正比,數(shù)據(jù)手冊(cè)通常給出單片機(jī)的最低工作電壓。但是事實(shí)上因?yàn)榉N種原因,單片機(jī)的實(shí)際工作電壓往往高于最低電壓。所以參考手冊(cè)給出的參數(shù),只可以用作對(duì)比,提供的參考作用。單片機(jī)的工作的外設(shè)越少,單片機(jī)的功耗越低。數(shù)據(jù)手冊(cè)上給出的最低功耗通常是在單片機(jī)處于低功耗模式,其他的外設(shè)全部關(guān)閉時(shí)的功耗。還有就是使用外設(shè)時(shí)要使用低功耗外設(shè),注意外設(shè)的低功耗用法。根據(jù)GPIO的外部電路設(shè)置GPIO的工作狀態(tài)。對(duì)于沒(méi)有使用的GPIO應(yīng)進(jìn)行如下處理:把沒(méi)有使用的GPIO設(shè)置為輸出模式,根據(jù)外部電路決定拉低拉高?;蛘咴O(shè)置為輸入,通過(guò)使能內(nèi)部上(下)拉電阻將管腳的電平固定,也可以通過(guò)外部電路將GPIO連接到VCC或者GND。對(duì)于單片機(jī)來(lái)說(shuō),通常檢測(cè)到的功耗與數(shù)據(jù)手冊(cè)相差較大是因?yàn)閷?duì)單片機(jī)未使用的GPIO處理不正確造成的。默認(rèn)情況下,MSP430的GPIO是作為輸入的。當(dāng)GPIO管腳配置為輸入管腳且外部電平處于浮空狀態(tài)時(shí),那么內(nèi)部的MOS管的導(dǎo)通電流本身就處于一個(gè)不穩(wěn)定的值,會(huì)導(dǎo)致整體功耗的升高。另外過(guò)高或過(guò)低的溫度更會(huì)加劇電流的不穩(wěn)定。且在供電電壓變大時(shí),自身MOS管的導(dǎo)通電流也會(huì)變大。單片機(jī)處于低溫和高溫兩種狀態(tài)時(shí),容易會(huì)出現(xiàn)功耗攀升的現(xiàn)象。根據(jù)單片機(jī)的需要選擇合適的低功耗模式。單片機(jī)往往有有多種低功耗模式。MSP430FW42x系列的單片機(jī)有5種低功耗模式,分別是:LPM0,LPM1,LPM2,LPM3,LPM4。其中LPM4為RAM保存模式,所以應(yīng)該使MCU盡量工作在LPM3模式下。工作在LPM3模式下時(shí),只有ACLK的時(shí)鐘源處于工作狀態(tài),CPU處于停止?fàn)顟B(tài),外設(shè)正常工作,當(dāng)檢測(cè)到中斷時(shí),退出低功耗模式,進(jìn)入中斷。在執(zhí)行完中斷后,退出中斷時(shí)立刻進(jìn)入低功耗模式。圖3.8MSP430功耗圖下圖是MSP430工作模式的對(duì)比圖,從下圖中我們可以看出在不同的工作模式下有什么區(qū)別,從而選擇自己需要的工作模式。圖3.9MSP430工作模式對(duì)比圖本章小結(jié)本章以模塊的形式介紹了無(wú)磁水表硬件部分的設(shè)計(jì)。主要介紹了主控芯片的選型,LC振蕩電路設(shè)計(jì),液晶顯示電路,電機(jī)驅(qū)動(dòng)電路,電流比較電路,E2PROM電路設(shè)計(jì)。還介紹了MSP430單片機(jī)低功耗的設(shè)計(jì)思想,低功耗是電池供電設(shè)備最重要的部分,也是它的難點(diǎn),為此,需要我們花費(fèi)大量的精力來(lái)調(diào)試功耗問(wèn)題。
軟件設(shè)計(jì)在一個(gè)產(chǎn)品設(shè)計(jì)中,硬件往往相對(duì)固定,而軟件要靈活很多。所以在硬件條件相同的情況下,軟件的設(shè)計(jì)是非常重要的,好的軟件不僅僅在于滿足功能,還可以使功能更穩(wěn)定,功耗更低。主程序設(shè)計(jì)主程序設(shè)計(jì)思路:無(wú)磁水表的主要功能是計(jì)數(shù)和通訊,輔以電機(jī)控制,液晶顯示,E2PROM存儲(chǔ)等功能。在主程序中,首先應(yīng)該對(duì)單片機(jī)進(jìn)行初始化,并把所需要的模塊也進(jìn)行初始化。然后就進(jìn)入LPM3,在低功耗模式下,單片機(jī)等待中斷信號(hào)喚醒,喚醒后執(zhí)行中斷服務(wù)程序。在接收到上位機(jī)發(fā)出的正確指令后,退出低功耗模式,然后處理相應(yīng)命令,執(zhí)行完以后立刻進(jìn)入低功耗模式。圖4.1主函數(shù)程序流程圖初始化程序設(shè)計(jì)程序設(shè)計(jì)中,必須對(duì)單片機(jī)的運(yùn)行環(huán)境進(jìn)行初始化處理。在本程序中主要是:系統(tǒng)時(shí)鐘初始化,GPIO初始化,SCANIF模塊初始化,液晶初始化,AT24C64初始化,軟件模擬串口初始化,比較器初始化,電機(jī)初始化,基本定時(shí)器初始化。程序中充分利用模塊化的思想,使用條件編譯,在包含該部分頭文件時(shí)才編譯該部分的初始化程序,不包含時(shí)就不編譯。所以只需要設(shè)置是否包含頭文件就可以控制是否編譯這部分程序。這樣可以方便開(kāi)發(fā)人員調(diào)試。voidMSP430_Init(void){ System_Init(); //系統(tǒng)初始化 GPIO_Init(); //GPIO初始化#ifdefSCANIF_H_ ScanIF_Init(); //SCANIF模塊初始化#endif……#ifdefBASICTIMER_H_ BT_Init(); //基本定時(shí)器初始化#endif}SCANIF模塊軟件設(shè)計(jì)部分關(guān)于SCANIF模塊的設(shè)置如下:對(duì)SCANIF模塊使用的幾個(gè)IO口設(shè)置為第二功能模式(SCANIF功能)P6SEL|=(BIT0|BIT1);P6DIR&=~(BIT0|BIT1);規(guī)劃時(shí)間狀態(tài)機(jī)(SIFTSMx):時(shí)間狀態(tài)機(jī)是一個(gè)從序號(hào)0(SIFTSM0)開(kāi)始,順序執(zhí)行,只到執(zhí)行到結(jié)束命令為止,然后又會(huì)開(kāi)始執(zhí)行序號(hào)0,一直循環(huán)下去。在時(shí)間狀態(tài)機(jī)(SIFTSMx)的控制下,SCANIF模塊可以執(zhí)行如激勵(lì)、延時(shí)、打開(kāi)DAC、比較器、測(cè)量、結(jié)束等操作。時(shí)間狀態(tài)機(jī)是一個(gè)獨(dú)立于CPU的部分,只好給每一個(gè)時(shí)間狀態(tài)機(jī)賦值好,并打開(kāi)SCANIF模塊,該時(shí)間狀態(tài)機(jī)就會(huì)自己運(yùn)行,不需要CPU干預(yù)。設(shè)置代碼如下: SIFTSM0=0x8800; //空閑狀態(tài),18xSIFCLK SIFTSM1=0x002c; //傳感器1激勵(lì),1xSIFCLK SIFTSM2=0x0424; //延時(shí),1xACLK(實(shí)際為:11.5xSIFCLK) SIFTSM3=0x6934; //打開(kāi)DAC和比較器,13xSIFCLK SIFTSM4=0x1974; //輸出,5xSIFCLK, SIFTSM5=0x002d; //傳感器2激勵(lì),1xSIFCLK SIFTSM6=0x0425; //延時(shí),1xACLK(實(shí)際為10.5xSIFCLK) SIFTSM7=0x6935; //打開(kāi)DAC和比較器,13xSIFCLK SIFTSM8=0x1975; //輸出,5xSIFCLK SIFTSM9=0x0220; //結(jié)束,1xSIFCLK控制寄存器(SIFCTLx):控制寄存器包含諸多內(nèi)容,其中有中斷的設(shè)置,計(jì)數(shù)器的設(shè)置,信號(hào)源的選擇,采樣頻率等。該部分較為特殊的兩點(diǎn)在于:1.SCANIF的使能,需要在設(shè)置好其他寄存器之后才使能。2.在SIFCOM端加載VCC/2電壓時(shí)需要延時(shí)一段時(shí)間,使電壓穩(wěn)定。程序上一般設(shè)置為: SIFCTL2=0x0150; for(i=0;i<=857;i++); //延時(shí)一段時(shí)間使SIFCOM端加載VCC/2電壓穩(wěn)定 SIFCTL3=0x4500; SIFCTL4=0x53f0; SIFCTL5=0x0045;設(shè)置信號(hào)處理狀態(tài)機(jī)(SIFPSMV):配置信號(hào)處理狀態(tài)機(jī),也就是編寫(xiě)一張信號(hào)處理狀態(tài)表。然后把表的首地址復(fù)制給SIFPSMV寄存器,SCANIF模塊使用時(shí)間狀態(tài)機(jī)傳遞過(guò)來(lái)的測(cè)量值,然后根據(jù)信號(hào)處理狀態(tài)機(jī)的值對(duì)計(jì)數(shù)器進(jìn)行加減等操作。SIFPSMV=(unsignedint)&PSM;使能SCANIF模塊:SIFCTL1=SIFEN; //使能SCANIF模塊或:SIFCTL1=SIFEN|SIFIE3|SIFIE4; //使能SCANIF模塊,并使能相應(yīng)中斷自校準(zhǔn):自校準(zhǔn)是指通過(guò)程序自動(dòng)尋找到可用的SIFDACRx的值。關(guān)于SIFDACRx的使用在2.5節(jié)有詳細(xì)介紹。圖4.2SCANIF模塊初始化程序流程圖串口因?yàn)镸SP430FW427單片機(jī)內(nèi)部沒(méi)有硬件串口模塊,所以需要軟件模擬串口進(jìn)行通訊。本次課題我們使用MSP430FW427內(nèi)部集成的捕獲比較模塊(Timer_A)。這里Timer_A被用來(lái)產(chǎn)生精確定時(shí),構(gòu)造一個(gè)精確的波特率發(fā)生器,為串行通訊提供一個(gè)良好的時(shí)間基準(zhǔn)。Timer_A還可以用來(lái)捕獲指定引腳的沿變化,使用該特性可以用來(lái)捕獲串口通訊的起始位信號(hào)。串口的通訊原理下圖是串口通訊的時(shí)序圖??臻e狀態(tài)線上是高電平,下降沿表示接收到起始信號(hào),緊跟著8位數(shù)據(jù)位,可選擇的校驗(yàn)位和停止位,然后又進(jìn)入空閑狀態(tài)。每一位的持續(xù)時(shí)間由波特率控制。圖4.3串口通訊時(shí)序圖軟件模擬串口工作原理發(fā)送模式:我們通過(guò)串口發(fā)送的是一個(gè)8位的數(shù)據(jù),但是一個(gè)字符幀實(shí)際上有10位二進(jìn)制碼。所以我們要把8位的數(shù)據(jù)修改為一個(gè)10位的字符幀。我們先把要發(fā)送的數(shù)據(jù)寫(xiě)入RXTXData中,RXTXData在此處充當(dāng)?shù)氖且粋€(gè)緩存器,RXTXData的類型是16位無(wú)符號(hào)整形。把8位的無(wú)符號(hào)整形賦值給16位無(wú)符號(hào)整形,就是把8位的數(shù)據(jù)寫(xiě)入16位數(shù)據(jù)的低八位。然后執(zhí)行下面兩步:RXTXData|=0x0100; //RXTXData的第8位寫(xiě)1RXTXData=RXTXData<<1; //RXTXData左移一位,最低位為0當(dāng)我們發(fā)送數(shù)據(jù)時(shí),我們從最低位開(kāi)始,第一個(gè)發(fā)送的位是我們后來(lái)移位出來(lái)的0,也就是起始位,然后跟著的是8個(gè)數(shù)據(jù)位,最后一位寫(xiě)1,也就是結(jié)束位。每次發(fā)送之前我們會(huì)通過(guò)設(shè)置一個(gè)BitCnt的全局變量來(lái)設(shè)置需要發(fā)送的字符數(shù)。在執(zhí)行一個(gè)發(fā)送函數(shù)時(shí),我們給BitCnt賦值為10,每次發(fā)送一位BitCnt就減一,當(dāng)BitCnt等于0的時(shí)候就代表發(fā)送結(jié)束了。接收模式:接收模式時(shí),需要接收8位有效的二進(jìn)制數(shù)。我們給BitCnt賦值為8,并把模塊設(shè)置為捕獲模式,捕獲一個(gè)下降沿,因?yàn)樵诳臻e狀態(tài)時(shí)是高電平,當(dāng)捕獲到下降沿時(shí)就說(shuō)明可以開(kāi)始接收數(shù)據(jù)。每接收到一位數(shù)據(jù)BitCnt就減一,當(dāng)BitCnt等于0時(shí)就代表接收到了8位的數(shù)據(jù)。這里可以根據(jù)個(gè)人設(shè)計(jì)選擇之后的操作。波特率的設(shè)計(jì):水表的通訊中我們一般選用2400的波特率。波特率指的是數(shù)字信號(hào)的傳輸速率。使用單位時(shí)間內(nèi)傳輸二進(jìn)制代碼的有效位(bit)數(shù)來(lái)表示。波特率2400,即一秒鐘發(fā)送2400位二進(jìn)制代碼,發(fā)送一位二進(jìn)制代碼的時(shí)間為1/2400=416.7us,所以Timer_A要做成一個(gè)約等于416.7us的中斷來(lái)做波特率發(fā)生器。Timer_A模塊使用的是外部32.768KHz的外部晶振,所以一位的時(shí)間為1/32768=30.5us。所以需要13.7個(gè)機(jī)器周期發(fā)送以為二進(jìn)制代碼,13.7四舍五入等于14即0x0e。Timer_A內(nèi)部有一個(gè)TAR(Timer_ARegister),TAR是Timer_A的計(jì)數(shù)器,它隨著晶振一直計(jì)數(shù),當(dāng)它的值等于TACCRx時(shí)就會(huì)產(chǎn)生中斷,此時(shí),我們讓TACCRx計(jì)數(shù)器的值加0x0e,那么14個(gè)時(shí)鐘周期后TAR又會(huì)再次等于TACCRx產(chǎn)生中斷。重復(fù)這個(gè)過(guò)程,直到我們接收8位數(shù)據(jù)位,或者發(fā)送完10位數(shù)據(jù)幀,關(guān)閉Timer_A的中斷。在接收時(shí)有一處需要注意,我們檢測(cè)到下降沿時(shí)進(jìn)入中斷,然后我們給TACCRx裝載一位需要的時(shí)間。下一次觸發(fā)中斷時(shí)是處在數(shù)據(jù)的邊緣位置,此時(shí)很有可能發(fā)生誤讀,所以我們應(yīng)該在一位數(shù)據(jù)的中間位置采樣高低電平,在起始位完后,給TACCRx加載發(fā)送半位需要的時(shí)間,發(fā)送一位是13.7個(gè)機(jī)器周期,半位為6.35個(gè)機(jī)器周期,6.35約等于6。圖4.4軟件模擬串口程序流程圖上位機(jī)通訊上位機(jī)通訊是指通過(guò)PC程序和單片機(jī)通訊,給單片機(jī)發(fā)送一些指令,然后單片機(jī)完成相應(yīng)操作。本次設(shè)計(jì)中制作的上位機(jī)軟件主要包括閥門控制,液晶控制,讀取或設(shè)置用水量,E2PROM讀取或存儲(chǔ)用水量等功能,如有需要還可以添加其他功能。上位機(jī)的編程使用的是VS2013,語(yǔ)言是C#。使用自帶的組建完成界面的繪制,只要用到的控件包括:button,RadioButton,ComboBox,label,serialPort等。繪制出來(lái)效果圖如下圖。刪除圖4.5上位機(jī)界面圖程序部分主要通過(guò)事件來(lái)完成,例如按下按鍵以后執(zhí)行發(fā)送命令,編程全部采用面向?qū)ο笫降脑O(shè)計(jì)方法,主要程序如下圖所示。共5個(gè)事件,分別是按鍵1按下,按鍵2按下,按鍵3按下,下拉菜單選擇,串口接收到數(shù)據(jù)。根據(jù)這5個(gè)事件,配合上上位機(jī)的界面完成了上位機(jī)應(yīng)用程序的制作。圖4.6上位機(jī)開(kāi)發(fā)部分代碼液晶顯示液晶使用的是自己開(kāi)模的液晶,然后與MSP430FW427相應(yīng)的IO口相連,使用MSP430FW427自帶的液晶實(shí)現(xiàn)低功耗顯示。LCD模塊配置靈活,使用方便。只需要設(shè)置LCDCTL寄存器和BTCTL寄存器中的Bit4-3即可完成配置。然后只需在LCDM1中寫(xiě)入數(shù)據(jù)即可完成每一位的顯示。根據(jù)原理圖我們可以很輕松的完成LCD模塊的編程。圖4.7液晶界面圖下表是液晶段碼表,結(jié)合上圖可以完成對(duì)顯示內(nèi)容的編程。表4.1液晶段碼表電機(jī)控制電機(jī)的控制是使用H橋電路,通過(guò)設(shè)置圖中K1,K2的高低電平來(lái)控制電機(jī)的開(kāi)關(guān)和方向。當(dāng)電機(jī)轉(zhuǎn)動(dòng)到極限位置堵轉(zhuǎn)時(shí),會(huì)產(chǎn)生很大的電流,通過(guò)電流比較電路,觸發(fā)比較器中斷,在中斷中使電機(jī)停止轉(zhuǎn)動(dòng),防止燒壞電機(jī)。當(dāng)我們接收到開(kāi)閥或者關(guān)閥指令時(shí)才使能比較器,當(dāng)電機(jī)堵轉(zhuǎn)后,立即停止電機(jī),并關(guān)閉比較器,這樣可以降低功耗。而且,因?yàn)殡姍C(jī)的啟動(dòng)電流很大,為了防止電機(jī)剛啟動(dòng)就立刻關(guān)閉,我們應(yīng)該在啟動(dòng)電機(jī)后延時(shí)一段時(shí)間后再打開(kāi)比較器,這樣可以避免錯(cuò)誤操作的產(chǎn)生。圖4.8電機(jī)控制程序流程圖E2PROM存儲(chǔ)我們的無(wú)磁水表是使用電磁供電的,所以在換電池時(shí)單片機(jī)是斷電的,但是我們不希望之前的數(shù)據(jù)丟失,所以我們使用了E2PROM在換電池時(shí)記錄下當(dāng)前的用水信息,在通電時(shí)再把信息從E2PROM中讀回去。本次課題中,E2PROM通過(guò)一個(gè)IO口供電,當(dāng)不使用E2PROM時(shí)只需要把IO口拉低即可,這樣可以降低功耗。由于MSP430沒(méi)有硬件的I2C,所以這里使用了軟件模擬I2C協(xié)議。本章小結(jié)本章詳細(xì)說(shuō)明了無(wú)磁水表軟件設(shè)計(jì)思路。軟件主要是MSP430的基礎(chǔ)配置,及主程序設(shè)計(jì),初始化程序,SCANIF模塊驅(qū)動(dòng),軟件模擬串口程序,液晶驅(qū)動(dòng),電機(jī)控制程序,E2PROM驅(qū)動(dòng),及上位機(jī)應(yīng)用程序開(kāi)發(fā)。
實(shí)驗(yàn)分析結(jié)果SCANIF測(cè)試使用下圖設(shè)定1的代碼,SCANIF模塊大約4μA的功耗。使用設(shè)定2的代碼,SCANIF模塊大約2μA左右。由此可見(jiàn),使用第二段代碼可以節(jié)約近一半的功耗。圖5.1SCANIFTSM狀態(tài)機(jī)設(shè)定1圖5.2SCANIFTSM狀態(tài)機(jī)設(shè)定2圖5.3設(shè)定2波形圖電容電感測(cè)試以下是使用不同電感進(jìn)行波形測(cè)試的實(shí)驗(yàn)波形圖。根據(jù)對(duì)比,最后選擇140μH大體積電感。圖5.4電容電感測(cè)試1:80UH大體積電感正常波形圖5.5電容電感測(cè)試2:80UH小體積電感正常波形圖5.6電容電感測(cè)試3:100UH大體積電感正常波形圖5.7電容電感測(cè)試4:100UH小體積電感正常波形圖5.8電容電感測(cè)試5:140UH大體積電感正常波形液晶測(cè)試液晶測(cè)試主要在設(shè)置液晶的刷新頻率,即修改BTCTL寄存器的Bits3-4,00:fACLK/32,01:fACLK/64,10:fACLK/128,11:fACLK/256。經(jīng)過(guò)測(cè)試,這兩位設(shè)置為10時(shí),液晶不會(huì)閃爍且功耗最低。圖5.9液晶顯示圖本章小結(jié)本章主要給出了SCANIF模塊,電容電感,液晶實(shí)驗(yàn)過(guò)程中的測(cè)試數(shù)據(jù)及實(shí)驗(yàn)截圖。
本文總結(jié)本文廣泛的查閱了國(guó)內(nèi)外的相關(guān)手冊(cè),官方資料,期刊,文獻(xiàn)等。經(jīng)深入研究,選擇TI公司生產(chǎn)的MSP430FW427單片機(jī)為主控芯片,制作了無(wú)磁水表,這是一種新型的水表,能為客戶用水提供準(zhǔn)確的計(jì)量。本文詳細(xì)介紹了基于MSP430FW427單片機(jī)無(wú)磁水表系統(tǒng)設(shè)計(jì)過(guò)程,硬件方面我司自主設(shè)計(jì)電路,器件選型,繪制原理圖和PCB板。遵循模塊化的設(shè)計(jì)原則,完成整個(gè)系統(tǒng)設(shè)計(jì)。本次課題需要完成的任務(wù)主要有:了解無(wú)磁傳感器的工作原理,深入研究SCANIF模塊,了解SCANIF模塊如何通過(guò)無(wú)磁傳感器完成對(duì)流量的檢測(cè)。和普通的有磁傳感器相比,無(wú)磁傳感器不會(huì)吸附水中雜質(zhì),長(zhǎng)期使用可以保持高精度。內(nèi)部集成的SCANIF模塊,可以在初始化后脫離CPU工作,使功耗大大降低。LCD顯示,使用自己開(kāi)模的液晶,定制顯示的內(nèi)容。該系列單片機(jī)的內(nèi)部集成了LCD模塊,最高支持96段顯示。操作簡(jiǎn)單,功耗低,顯示內(nèi)容定制且直觀。軟件模擬串口,使用起來(lái)靈活,可以輕松切換到M-BUS總線協(xié)議上,在水表實(shí)際抄表中是使用的M-BUS總線協(xié)議,只需把串口輸出的高低電平取反即可。上位機(jī)開(kāi)發(fā),使用C#和VS2013開(kāi)發(fā)的windows桌面應(yīng)用程序,使數(shù)據(jù)通訊變得直觀、簡(jiǎn)單、美觀?,F(xiàn)實(shí)項(xiàng)目中使用的功能更加復(fù)雜的大型系統(tǒng),一般使用網(wǎng)頁(yè)開(kāi)發(fā)。但現(xiàn)在開(kāi)發(fā)的windows桌面應(yīng)用程序仍可以作為測(cè)試之用。系統(tǒng)的低功耗設(shè)計(jì),無(wú)磁水表一般工作在電池供電的情況下,使用3.6V,2000mA/h的鋰電池供電。主控芯片在不打開(kāi)模塊功能的情況下,工作電壓3V時(shí),功耗低于1μA,使用模塊功能時(shí),一般在1到4個(gè)μA不等,整體低于10個(gè)μA。傳輸數(shù)據(jù)時(shí),開(kāi)關(guān)電機(jī)時(shí),讀寫(xiě)E2PROM時(shí)功耗相對(duì)來(lái)說(shuō)大很多,會(huì)達(dá)到毫安級(jí),但是這類操作相對(duì)較少。抄表一般一天或者數(shù)天一次,開(kāi)關(guān)電機(jī)一般只在沒(méi)電的時(shí)候一次,因此對(duì)水表的低功耗影響不大。本次課題的不足及需要改進(jìn)的地方:有些器件選型不好,硬件部分的功耗降不下來(lái)。如復(fù)位電路使用的那個(gè)元器件,需要幾個(gè)μA,而且多處使用了這個(gè)期間,這會(huì)導(dǎo)致功耗急劇增加。還有電機(jī)電源部分的電路也沒(méi)設(shè)計(jì)好,功耗會(huì)增加到6個(gè)mA,因此硬件部分需要修改。液晶的對(duì)比度電阻選擇也有問(wèn)題,功耗超過(guò)預(yù)期,預(yù)期在2μA左右,實(shí)際使用中超過(guò)50μA,因此功耗問(wèn)題還有很多地方需要改進(jìn)。表記現(xiàn)在是獨(dú)立的,沒(méi)有地址管理的概念,下一步就是建立地址的概念,在抄表時(shí)至關(guān)重要,實(shí)際使用中不可能點(diǎn)對(duì)點(diǎn),而應(yīng)該是對(duì)一塊區(qū)域的所有表進(jìn)行一次集抄。參考文獻(xiàn)[1]王云平,邵定國(guó),李朝東.MSP430單片機(jī)在新型智能水表開(kāi)發(fā)中的應(yīng)用[J].計(jì)量技術(shù),2005,10:11-12.[2]徐愛(ài)華,羅琴.MSP430單片機(jī)中SCANIF模塊在流量檢測(cè)中的應(yīng)用[J].湖南農(nóng)業(yè)大學(xué)學(xué)報(bào)(自然科學(xué)版),2007,04:510-512.[3]周金治,范富宏.以MSP430FW427為核心的遠(yuǎn)程數(shù)字水表設(shè)計(jì)[J].西南科技大學(xué)學(xué)報(bào),2007,03:79-82.[4]吳志成,肇啟明,馬步青,郭紅軍.國(guó)內(nèi)智能化水表的應(yīng)用現(xiàn)狀與發(fā)展方向[J].中國(guó)給水排水,2003,09:19-21.[5]黎洪生,張英.基于單片機(jī)的無(wú)磁傳感水表的設(shè)計(jì)[J].傳感器與微系統(tǒng),2006,03:54-56.[6]賈靈.基于MSP430FW427的無(wú)磁水表設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006,05:84-85.[7]楊雪巖.基于MSP430單片機(jī)的電子式水表設(shè)計(jì)[J].計(jì)算機(jī)工程與應(yīng)用,2006,18:92-94+119.[8]王丁磊,吳杰.智能水表的發(fā)展現(xiàn)狀[J].工業(yè)計(jì)量,2010,01:21-23.[9]陳秋陽(yáng),陳春平.基于MSP430FW427無(wú)磁熱能表的設(shè)計(jì)[J].青島大學(xué)學(xué)報(bào)(工程技術(shù)版),2010,01:81-85.[10]周雪峰.我國(guó)水表現(xiàn)狀與發(fā)展趨勢(shì)分析[J].中國(guó)高新技術(shù)企業(yè),2010,25:99-100.[11]江文鑫,汪建曉.基于MSP430單片機(jī)的旋轉(zhuǎn)機(jī)械轉(zhuǎn)速測(cè)量[J].佛山科學(xué)技術(shù)學(xué)院學(xué)報(bào)(自然科學(xué)版),2009,03:17-20.[12]唐美芹,趙輝,劉偉佳.基于MSP430的無(wú)磁熱量表設(shè)計(jì)及實(shí)現(xiàn)[J].自動(dòng)化與儀表,2009,12:9-12.[13]羅琴.基于MSP430單片機(jī)的智能熱量表的研究[D].南昌大學(xué),2007.[14]武斌,忻龍彪.基于PIC單片機(jī)的低功耗無(wú)磁IC卡水表設(shè)計(jì)[J].低壓電器,2008,10:11-13+41.[15]祝向輝,王讓定,姚靈,孫廣清.無(wú)磁水表中參考電壓自校準(zhǔn)方法研究[A].中國(guó)儀器儀表學(xué)會(huì).第七屆全國(guó)信息獲取與處理學(xué)術(shù)會(huì)議論文集[C].中國(guó)儀器儀表學(xué)會(huì):,2009:5.[16]王宗輝,張世豪,姚靈.智能水表技術(shù)及發(fā)展趨勢(shì)[J].儀表技術(shù),2014,06:45-48.[17]ApplicationReport.RotationDetectionwiththeMSP430ScanIF.SLAA222–November2004[18]User’sGuide.MSP430x4xxFamily.TEXASINSTRUMENT,2003:61.67[19]ApplicationReport.MSP430FW42xScanIFDemoBoxHardwareandSoftware.TEXASINSTRUMENT,SLAA578–April2013[20]Datasheet.MSP430FW42xMixed-SignalMicrocontroller.TEXASINSTRUMENT,SLAS383EOCTOBER2003–REVISEDDECEMBER2013[21]ZhouYingLiHongsheng.DesignofNewLowPowerLossNonmagneticWaterMeter.TheEighthInternationalConferenceonElectronicMeasurementandInstruments.2007[22]QiShi-qingShiChang-qingPangKe-xinLiuYu.DesignofRFNon-magneticHeatMeterFeaturingLowPowerConsumptionBasingonFloodingRoute.2010InternationalConferenceonComputerDesignAndAppliations.2010
附錄A下位機(jī)程序:/*文件名:main.c*/#include"includes.h"voidmain(void){ MSP430_Init(); _EINT(); WaterVolume=0; while(1) { LPM3; Frame_Work(); }}__interruptvoidBT_IRQ(void)__interruptvoidCMP_ISR(void)__interruptvoidScanIF_ISR(void)__interruptvoidTimer_A(void)/*文件名:Init.h*/voidMSP430_Init(void);voidSystem_Init(void);voidGPIO_Init(void);/*文件名:24C64.h*/voidI2C_24C64_Init(void);unsignedcharI2C_24C64_Write(unsignedintaddr,unsignedchar*pdate,unsignedcharlen);unsignedcharI2C_24C64_Read(unsignedintaddr,unsignedchar*pdate,unsignedcharlen);/*文件名:LCD.h*/#defi
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 四川寬窄優(yōu)品商貿(mào)有限責(zé)任公司成都分公司招聘筆試參考題庫(kù)附帶答案詳解
- 2025廣西出版?zhèn)髅郊瘓F(tuán)有限公司招聘199人筆試參考題庫(kù)附帶答案詳解
- 交通工程學(xué)知到智慧樹(shù)章節(jié)測(cè)試課后答案2024年秋長(zhǎng)安大學(xué)
- 2025年中金匯通信技術(shù)有限公司甘肅分公司招聘60人筆試參考題庫(kù)附帶答案詳解
- 2025安徽阜陽(yáng)市阜合產(chǎn)投集團(tuán)中層管理人員競(jìng)聘3人筆試參考題庫(kù)附帶答案詳解
- 室外總體施工方案
- 2025上半年云南日?qǐng)?bào)報(bào)業(yè)集團(tuán)招聘34人筆試參考題庫(kù)附帶答案詳解
- 2024福建福州市可持續(xù)發(fā)展城市研究院有限公司招聘1人筆試參考題庫(kù)附帶答案詳解
- 2025年上半年共青團(tuán)長(zhǎng)春市委所屬事業(yè)單位招考工作人員易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025年上半年云南紅河紅河縣事業(yè)單位急需緊缺人才招聘40人易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2024年上海煙草集團(tuán)有限責(zé)任公司招聘筆試真題
- 加油站合作經(jīng)營(yíng)協(xié)議書(shū)范本
- 人工智能對(duì)輿情管理的價(jià)值
- 地理-河南省部分重點(diǎn)高中九師聯(lián)盟2024-2025學(xué)年高三下學(xué)期2月開(kāi)學(xué)考試試題和答案
- 化工原理完整(天大版)課件
- 《淞滬會(huì)戰(zhàn)》課件
- 麻風(fēng)病防治知識(shí)課件
- 部編2023版道德與法治六年級(jí)下冊(cè)活動(dòng)園問(wèn)題及答案
- GB/T 2951.12-2008電纜和光纜絕緣和護(hù)套材料通用試驗(yàn)方法第12部分:通用試驗(yàn)方法-熱老化試驗(yàn)方法
- 拖拉管工程專項(xiàng)施工方案(完整版)
- 企業(yè)安全用電管理培訓(xùn) (觸電危害觸電方式預(yù)防措施急救時(shí)間就是生命安全自省五步法安全用電常識(shí)38頁(yè))
評(píng)論
0/150
提交評(píng)論