基于STM32的多功能電能表的設計畢業(yè)設計_第1頁
基于STM32的多功能電能表的設計畢業(yè)設計_第2頁
基于STM32的多功能電能表的設計畢業(yè)設計_第3頁
基于STM32的多功能電能表的設計畢業(yè)設計_第4頁
基于STM32的多功能電能表的設計畢業(yè)設計_第5頁
已閱讀5頁,還剩49頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

自動化學院本科畢業(yè)設計(論文)題目:基于STM32的多功能電能表的設計專業(yè): 自動化 班級:自動化111學號:**********學生姓名: ******指導教師: ************起止日期: 2015,2?2015,6設計地點: GraduationDesign(Thesis)TheDesignofThree-phaseMulti-functionalPowerMeterBasedonSTM32By個個個個個個個個個個SupervisedbyProf.個個個個個個Prof.個個個個個個SchoolofAutomation*x**x**x**x**x**x**x**x**x*個個個個個個個個個個個個個個個個個個個June,2015*********自動化學院本科畢業(yè)設計(論文)摘要電能表作為測量電能的工具,是連接電力用戶和電能之間的一座“橋梁”,隨著電能在人們生活中的地位越來越重要,它與人們生活之間的聯(lián)系也更加地緊密。雖然電能表也在不斷地發(fā)展,但是局限于功能單一,傳統(tǒng)的電能表已經(jīng)滿足不了用戶對其越來越高的要求。本文采用STM32F103RC型號的微控制器作為主控芯片,設計了一款實用性強、結構簡單的多功能電能表。在設計電能表硬件和軟件的過程中,都采用了模塊化的設計思想。其中,多功能電能表的硬件部分主要包括主控模塊、電源轉(zhuǎn)換模塊、電壓電流采樣模塊、EEPROM存儲模塊、LCD段碼顯示模塊、按鍵輸入模塊和RS485通訊接口模塊。并且利用軟件編譯平臺MDK進行了軟件部分的設計,主要包括主程序、系統(tǒng)初始化程序、電量處理程序、鍵盤中斷程序以及LCD段碼顯示程序。本文最后完成了多功能電能表的系統(tǒng)調(diào)試,對經(jīng)過采樣和調(diào)理得到的電壓、電流信號進行計算,并完成顯示,而且通過按鍵的選擇實現(xiàn)了顯示屏的切換,基本實現(xiàn)了多功能定能表的預期功能。關鍵詞:電能表;STM32F103;段碼LCD;RS485*********自動化學院本科畢業(yè)設計(論文)ABSTRACTElectricitymeterconnectsa"bridge"betweenpowerusersandpowerthatusedasakindofmeasurementtool.Thelinkbetweenitandthepeople'slivesmoretoclosewiththepowerpositioninpeople'slivesincreasinglyimportant.Whilethemeterisconstantlyevolving,butlimitedtoasinglefunction,theconventionalmetershasfailedtomeetthegrowingdemandsofitsusers.Inthispaper,usingthetypemicrocontrollerofSTM32F103RCasthemasterchip,designedapractical,simplestructureofmulti-functionmeter.Intheprocessofthedesignofmeterinhardwareandsoftware,haveadoptedamodulardesignthinking.Amongthem,thehardwarepartofthemulti-functionmeterincludescontrolmodule,powerconversionmodules,voltageandcurrentsamplingmodule,EEPROMmemorymodule,LCDsegmentdisplaymodule,akeyinputmoduleandRS485communicationinterfacemodule.AndusingsoftwareplatformMDKdesignsthesoftwarepart,includingthemainprogram,thesysteminitializationprocedure,powerhandlerprogram,akeyboardinterruptprogramandLCDsegmentdisplayprogram.Finallycompletedthesystemdebuggingofthemulti-functionmeter,thevoltageandcurrentsignalsobtainedthroughsamplingandconditioningwerecalculated,andcompletethedisplay,butalsothroughtheselectbuttontoswitchthedisplay.Thebasicrealizationofthemulti-functionwillbeabletowatchtheintendedfunction.Keywords:PowerMeter;STM32F103;segmentLCD;RS485II*********自動化學院本科畢業(yè)設計(論文)目錄TOC\o"1-5"\h\z\o"CurrentDocument"第一章緒論 1\o"CurrentDocument"電能表 1\o"CurrentDocument"電能表的概念 1\o"CurrentDocument"電能表的發(fā)展 1\o"CurrentDocument"電能表的發(fā)展現(xiàn)狀 2\o"CurrentDocument"多功能電能表 3\o"CurrentDocument"多功能電能表的現(xiàn)狀 3\o"CurrentDocument"多功能電能表存在的問題 3\o"CurrentDocument"電能表的發(fā)展前景 4\o"CurrentDocument"課題研究背景及內(nèi)容 4\o"CurrentDocument"課題研究背景 4\o"CurrentDocument"課題研究內(nèi)容 4\o"CurrentDocument"第二章多功能電能表硬件設計 6\o"CurrentDocument"整體方案設計 6\o"CurrentDocument"主控芯片的選擇 6\o"CurrentDocument"STM32F芯片簡介 7\o"CurrentDocument"STM32F芯片優(yōu)勢 7\o"CurrentDocument"硬件電路設計 7\o"CurrentDocument"主控電路設計 7\o"CurrentDocument"采樣電路設計 10\o"CurrentDocument"按鍵顯示電路設計 12\o"CurrentDocument"RS485通訊電路設計 13\o"CurrentDocument"存儲電路設計 14\o"CurrentDocument"本章小結 15\o"CurrentDocument"第三章多功能電能表軟件設計 16\o"CurrentDocument"軟件設計 16\o"CurrentDocument"軟件開發(fā)平臺MDK 16\o"CurrentDocument"軟件設計流程 16\o"CurrentDocument"主程序設計 17\o"CurrentDocument"初始化子程序設計 18III*********自動化學院本科畢業(yè)設計(論文)TOC\o"1-5"\h\z\o"CurrentDocument"采樣程序設計 20\o"CurrentDocument"計量程序設計 21\o"CurrentDocument"計量算法的介紹 21\o"CurrentDocument"ADC數(shù)據(jù)轉(zhuǎn)換原理 22\o"CurrentDocument"計量算法程序設計 23\o"CurrentDocument"顯示程序設計 23\o"CurrentDocument"按鍵處理程序設計 24\o"CurrentDocument"本章小結 25\o"CurrentDocument"第四章系統(tǒng)測試及實驗 26\o"CurrentDocument"采樣電路模塊測試 26\o"CurrentDocument"采樣電路仿真測試 26\o"CurrentDocument"采樣電路測試 28\o"CurrentDocument"ADC模塊調(diào)試 29\o"CurrentDocument"顯示模塊調(diào)試 30\o"CurrentDocument"本章小結 31\o"CurrentDocument"第五章總結與展望 32\o"CurrentDocument"工作總結 32\o"CurrentDocument"展望 33\o"CurrentDocument"致謝 34\o"CurrentDocument"參考文獻 35附錄A:硬件設計原理圖與PCB圖 37IV南京工程學院自動化學院本科畢業(yè)設計(論文)第一章緒論電能表電能表的概念從概念上來說,電能表就是用來計算一段時間內(nèi)消耗電量值的專用儀表,通常也被叫做電度表和火表。電能表根據(jù)其他差異的方面也可以被劃分到不同的范疇,比如按照使用途徑進行分類,就可以將其分為單相電能表、有功電能表以及多功能電能表等等。此外還可以按照電能表的工作原理、接入電源的性質(zhì)以及接入的相線數(shù)來進行仔細的分類。電能表的發(fā)展隨著科技的快速進步,電能表在不斷地更新?lián)Q代,以應對人們對于功能和性能越來越高的要求??偨Y其發(fā)展的腳步,大致可以概括如下:(1)感應式電能表在人們還沒開始對于交流電進行開發(fā)和應用的時期,第一臺直流電能表就被科學家利用電解原理發(fā)明出來。盡管其測量精度不盡人意,并且只能局限于測量直流電,但是對于推動電能計量表的發(fā)展而言,意義重大。在人們掌握了交流電利用方法后,科學家們就依照旋轉(zhuǎn)磁場理論發(fā)明出了用于計量交流電量的感應式電能表。由于感應式電能表具有較為簡單的結構,制造成本低,安全性高,壽命長久,易于維修等特點,因而得到了普遍的應用。并且在接下來的很長時間里,人們都致力于感應式電能表性能和功能的完善。但是,隨著現(xiàn)代電力系統(tǒng)的不斷發(fā)展,高次諧波的出現(xiàn)對傳統(tǒng)感應式電能表提出了挑戰(zhàn)。在高次諧波的影響下,感應式電能表的優(yōu)點被“淡化”,原先“隱藏”在暗處的缺點得以放大。不僅測量精度和測量頻率不能滿足現(xiàn)代工業(yè)的要求,而且由于感應式電能表制作原理的局限性,功耗問題已經(jīng)變成一個不容忽視的事實。功能單一的感應式電能表漸漸被現(xiàn)代工業(yè)和現(xiàn)代的電力用戶所“拋棄”。(2)機電式電能表在人們對電能表功能和性能要求不斷提高的情況下,發(fā)現(xiàn)可以將電子電路應用到感應式電能表,保持制作的基本工作原理不變,使得感應式電能表功能得到進一步的改善,創(chuàng)造出機電式電能表。機電式的電能表又常常因為它的工作原理被稱為脈沖式的電能表,它是利用機體發(fā)出電脈沖,依據(jù)光電轉(zhuǎn)化原理進行工作,從而完南京工程學院自動化學院本科畢業(yè)設計(論文)成電能測量的。機電式電能表在傳統(tǒng)感應式電能表的基礎上進行了改進,突破了原先存在的部分局限性,使用壽命延長,抗干擾能力進一步加強。但是由于其制作和利用的工作原理及理論在本質(zhì)上與感應式電能表一致,因而仍然沒有辦法克服測量頻率范圍窄、測量精度不足的缺點。但是機電式電能表的出現(xiàn)和應用,激發(fā)了人們創(chuàng)造全電子式電能表的動力,并且提供了新的思路。(3)電子式電能表電子式電能表的發(fā)明得益于功率測量原理,這個原理是由日本科學家首先提出,并且很快就將其應用到實踐中。由于電子式電能表是在機電式電能表提出旋轉(zhuǎn)結構的基礎上得以實現(xiàn)的,因而又被叫做靜止式電能表。由于制作和工作原理得到了改進,電子式電能表能夠突破以往電能表的很多局限之處。測量精度得到了大幅度的提高,壽命進一步延長,測量的頻率范圍已經(jīng)從開始的窄頻帶得到了很大的拓展,可以實現(xiàn)幾千赫茲的頻率跨度。同時,對于高次諧波的抗干擾能力得到了大幅度的提高,高功耗問題也得到了一定的解決,迎合了現(xiàn)代工業(yè)的要求,因而電子式電能表很快就取代了其他的電能表,在全球范圍內(nèi)都得到了廣泛的應用,并且性能在不斷地得到改善。全球科技競爭愈演愈烈,電力電子技術以及通訊技術“全面開花”,科技越發(fā)達,電能表的性能越優(yōu)越。如今,電子式電能表有了更長久的壽命,更精巧的外形,更精確的測量精度,更強大的抗干擾能力。實用電能表向功能多元化發(fā)展前進是不可逆轉(zhuǎn)的一個大趨勢。電能表的發(fā)展現(xiàn)狀由于發(fā)展中國家和發(fā)達國家的科技發(fā)展水平不同,電子式電能表在發(fā)達國家的應用更為普遍。日本早在上個世紀70年代就首先研制出電子式電能表,歐美發(fā)達國家更是緊跟其后不斷研制出性能更加完善的電子式電能表,并且僅僅用了十年的發(fā)展時間,就推出了性能優(yōu)越、功能完善的全電子式多功能電能表?,F(xiàn)在的事實就是,工業(yè)發(fā)達的國家在電能表市場上占據(jù)了絕對性的不可撼動的位置。中國作為一個發(fā)展中國家,由于經(jīng)濟和科技的雙重原因,在電能表的自主研發(fā)領域起步較晚。直到上個世紀90年代,我國自主研發(fā)電能表的事業(yè)才真正起步。近年來,我國創(chuàng)新意識被喚醒,科技得到快速的發(fā)展。能夠自主研制電能表的企業(yè),無論是在數(shù)目上還是在技術上都有了質(zhì)的飛躍,在技術的改進與創(chuàng)新的過程中,已經(jīng)出現(xiàn)了少數(shù)可以在技術和口碑都領先于國際水平的企業(yè)。但是從整體角度出發(fā),我國的科技創(chuàng)新水平還是落后于發(fā)達國家和工業(yè)發(fā)達的西方國家,在電能表的研制方面還要做出更多的努力和創(chuàng)新。南京工程學院自動化學院本科畢業(yè)設計(論文)多功能電能表多功能電能表的現(xiàn)狀激烈的市場經(jīng)濟下,電能表只有不斷地改進和完善工作性能才能立足。單一功能的電能表早已不能滿足市場和用戶的需求,為了適應市場的發(fā)展、用戶的期望,多功能電能表很快就被創(chuàng)造出來并得到應用。從功能上講,多功能電能表就是指除基本電壓、電流等電量的測量、有功和無功功率的計量外,還應具有分時、通訊等兩種以上的功能,并且還要具有存儲、顯示、傳遞數(shù)據(jù)以及和上位機之間進行通訊的功能。多功能電能表在我國起步較晚,近幾年才開始有了長足的進步。另外我國地域廣闊,南北、東西經(jīng)濟發(fā)展水平差距大,在一些經(jīng)濟發(fā)達的主干城市已經(jīng)開始普及多功能電能表。但是在經(jīng)濟較為落后的農(nóng)村仍然沿用傳統(tǒng)的單一功能的電能表,負責抄表的工作人員工作強度大、工作量多,并且工作效率低,特別在外部環(huán)境惡劣的情況下。這就迫切要求制作電能表的廠商應該從實際出發(fā),研制出更加實用方便的多功能電能表,加大多功能電能表普及的力度。多功能電能表存在的問題盡管,我國大城市已經(jīng)在普遍使用多功能電能表,但是仍然存在一些問題。(1)成本高。多功能電能表使用方便,但是對于用戶來說價格卻偏高。隨著功能的進一步擴展,制作成本也在不斷抬升,銷售價格隨著制作成“水漲船高”。成本對于電能表生產(chǎn)商是一個負擔,而價格更是電力用戶考慮的因素。過高的制造成本使得制作商“望而卻步”,阻礙了廠商擴展多功能電能表生產(chǎn)規(guī)模的決策,不利于產(chǎn)品在市場上的大規(guī)模推廣。近幾年,由于電力電子器件的發(fā)展,制作成本不斷下降,成本的問題也會慢慢地得到解決。(2)安全性。多功能電能表需要實現(xiàn)的功能較多,傳輸?shù)臄?shù)據(jù)相應增多,如今市場自由競爭激烈,信息的安全性尤為重要。這對于傳輸數(shù)據(jù)的通信方式是一個嚴峻的考驗。為了保障電力用戶的利益,防竊電技術也將成為將來電能表發(fā)展的一種重要的技術支持。(3)靈活性差。多功能電能表早就宣稱已經(jīng)朝著智能化和網(wǎng)絡化的方向發(fā)展,但是智能化也只不過是人們事先將“預見”的可能事件寫入程序,不斷地進行實時的檢測,當發(fā)現(xiàn)此類事件發(fā)生時才會做出相應的響應,并“自行處理”出現(xiàn)的問題,排除潛在的危險。當出現(xiàn)人們無法預知的事件發(fā)生時,“有大腦”的電能表也就無能為力,失去抵抗的能力。南京工程學院自動化學院本科畢業(yè)設計(論文)電能表的發(fā)展前景電子技術的迅速發(fā)展,拉動了信息通訊、傳感器等技術的發(fā)展??焖侔l(fā)展的技術在滿足了電力用戶各種期望的同時,也使得其對于電能儀表的要求越來越高,這就要求電能表要在精度、可靠度、便捷性方面有進一步新的改進。未來多功能電能表的發(fā)展方向大致就是高精度化、高可靠性化、網(wǎng)絡化和智能化。(1)高精度。精度是評判電能表功能好壞的重要指標,精度的高低直接影響到電能表反饋信息的準確性。市場上大量流通的電能表的精度一般都位于0.2S的水平。在日程生活中,電能表是要作為測量電能的工具發(fā)揮作用的,需要長時間不間斷工作。因而在不同的外界環(huán)境下、不同的電能頻率下,保持電能表測量精度的穩(wěn)定性也是十分重要的。(2)高可靠性。電子式電能表的制造主要基于電力電子器件,因而電力電子器件的性能直接影響甚至決定了電能表的性能。因而要保證和提高電能表的可靠性,就必須解決電力電子器件的可靠性問題。電力電子器件的性能,將是攻破電能表在發(fā)展過程中“瓶頸”問題的關鍵因素。多功能電能表正在朝著高精度、高安全性、智能化和網(wǎng)絡化的方向上發(fā)展,關鍵的技術支持是必不可少的。這些技術主要有諧波測量技術,通訊技術,軟硬件冗余設計技術,抗飽和技術和線性補償技術等。課題研究背景及內(nèi)容課題研究背景社會經(jīng)濟的發(fā)展,帶動電能的迅猛發(fā)展;現(xiàn)如今電力系統(tǒng)的發(fā)展又成為了國家經(jīng)濟發(fā)展和國民生活質(zhì)量提高的決定性因素。作為測量電能的儀表,電能表的發(fā)展就變成了關系國家百姓生活舒適度的一個重要的工具。高精度的三相多功能電能表的研制和應用,是適應時代發(fā)展的重大項目,并且可以拉動整個儀器儀表業(yè)的發(fā)展,擁有不可估量的經(jīng)濟價值。研制功能強大、使用方便、功耗低的電能表也和國家建設“資源節(jié)約型、環(huán)境友好型”的社會理念相契合。課題研究內(nèi)容本課題旨在從實際需求出發(fā),設計一款經(jīng)濟實用且結構簡單的多功能電能表。首先要了解電能表的工作原理和在國內(nèi)外的發(fā)展歷程,從工作原理出發(fā)分析電能表存在的優(yōu)缺點;然后依照本課題要實現(xiàn)的功能,從實現(xiàn)功能的可行性、可能性和使用方便性等方面進行考慮,進行整體設計方案的選擇和論證。再依照模塊化思想的設計原則,將整個硬件設計方案分解為主控模塊、顯示和按鍵模塊、電流電壓采樣南京工程學院自動化學院本科畢業(yè)設計(論文)模塊以及RS485通訊接口模塊等模塊進行單獨地設計,最后通過連線將不同的板子進行整合,建立各個電路板之間的聯(lián)系,完成整個課題的硬件部分設計。同時要對軟件開發(fā)平臺進行認真地了解,同樣采用模塊化的思想,編寫各個模塊的軟件程序,實現(xiàn)相應模塊的預期功能。最后進行軟硬件部分之間的測試和實驗,如果發(fā)現(xiàn)存在問題,就及時地解決問題,不斷地完善軟件的程序設計和硬件電路設計。最終完成整個課題的設計工作。南京工程學院自動化學院本科畢業(yè)設計(論文)第二章多功能電能表硬件設計整體方案設計本文設計的三相多功能電能表的硬件,在整體結構上主要由主控模塊、電源轉(zhuǎn)換模塊、電流電壓采樣調(diào)理模塊、LCD段碼顯示模塊、RS485通訊接口模塊、按鍵輸出模塊以及EEPROM存儲模塊組成。其中系統(tǒng)的總體結構框圖,如圖2.1所示。電源模塊圖2.1系統(tǒng)總體結構框圖本文中主控芯片采用型號為STM32F103RC的微控制器,在保證電流、電壓采樣精度的前提下,使得結構盡可能的簡潔,避免了復雜多變的電路布局,更加方便PCB板的制作,并且成本較為低廉。其中,在采樣調(diào)理電路的設計中,采用電流互感器進行電流信號的采樣,而電壓采樣部分使用高精度電阻分壓網(wǎng)絡進行采樣設計。主控芯片的選擇在設計多功能電能表的過程中,確定主控芯片時,一般有兩種選擇方案。片上系統(tǒng)SoC往往會成為設計者的選擇,這是一種專用的電能計量芯片,內(nèi)部集成了CPU和一系列電能計量的功能模塊,自行對采集到的電量進行轉(zhuǎn)換和計算,軟件設計部分簡單,易于實現(xiàn)。但是片上系統(tǒng)Soc價格昂貴,會使得整個設計的成本大增,因而這種片上系統(tǒng)不適用本課題進行設計。本文選擇使用型號為STM32F103RC的微控制器作為主控芯片,其中電量計算的任務需要在軟件里完成,雖然加大了軟件編程的難度,但是在很大程度上控制了課題的設計成本,并且該型號的芯片也具有一系列顯著的優(yōu)點。南京工程學院自動化學院本科畢業(yè)設計(論文)STM32F芯片簡介基于ARM7和ARM9內(nèi)核進行設計是微控制器發(fā)展的一個典型趨勢,2006年第一個基于ARMCortex-M3內(nèi)核的微控制器STM32由意法半導體(STMicroelectronics,簡稱ST)推出。Cortex系列主要擁有3個不同的分支,分別是A分支,R分支和M分支。STM32隸屬于M分支,屬于微控制器系列產(chǎn)品,同時在結構組成上STM32也分為基本型和增強型兩個不同的版本。其中STM32的基本型外掛的設備數(shù)目少,最高只能承受36MHz的時鐘頻率,而增強型的STM32擁有完整的外部設備,同時CPU可以在最高72MHz的時鐘頻率下運行STM32F芯片優(yōu)勢最初研制STM32系列的微控制器就是以提高系統(tǒng)的性能和降低工作時的功率損耗為目標的,STM32的出現(xiàn)是微控制器領域的一個新的飛躍,與以往的微控制器相比較,具有突出的優(yōu)越性。(1)精密性。STM32是比較高端的一種微控制器,集中分布著完備的外設,布局精巧,器件放置緊密且不失獨特性。比如STM32具有兩個12位高精度的ADC轉(zhuǎn)換器,并且在一定的條件下可以實現(xiàn)同時工作,衍生出多種轉(zhuǎn)換模式,功能強大。(2)可靠性。STM32的外設布局越來越精密,但是對于可靠性的要求并沒有因此降低。為了在外掛的器件越來越多的情況下,依舊能夠保持高可靠性,STM32配備充足的硬件電路,主要包括低電壓監(jiān)測器、時鐘管理器和看門狗等。比如時鐘管理系統(tǒng)負責監(jiān)測外部時鐘的工作,一旦外部時鐘源發(fā)生問題,系統(tǒng)就會自動將內(nèi)部振蕩器切換為主時鐘源。(3)安全性。信息時代,最為激烈的就是信息競爭,確保信息在傳遞過程中的保密性,是實現(xiàn)信息安全的必要步驟。一旦數(shù)據(jù)中包含的信息泄露,整個信息的傳遞就沒有繼續(xù)下去的意義。STM32可以通過鎖定Flash引腳來確保信息不會泄露和被竊取,一旦出現(xiàn)想要獲取芯片內(nèi)部信息的行為,引腳狀態(tài)就會被拉高,STM32會自動清除芯片內(nèi)部信息。從而最終確保信息的安全性。(4)在線調(diào)試。STM32支持Thumb-2指令,可以在C語言環(huán)境下完成軟件的編譯、仿真和調(diào)試。在軟件平臺上編寫的程序可以通過下載口,下載到STM32芯片內(nèi)部,進行在線調(diào)試,方便實時發(fā)現(xiàn)錯誤并進行及時的修改,實用性強。硬件電路設計主控電路設計本課題以型號為STM32F103RC的微控制器作為主控芯片。要實現(xiàn)多功能電能南京工程學院自動化學院本科畢業(yè)設計(論文)表的預期功能,主控芯片必不可少,電量計量的任務、顯示和顯示屏切換的功能以及RS485的通訊功能都需要在主控芯片內(nèi)設計和進行。STM32F103RC微控制器的最小系統(tǒng)由復位電路、時鐘電路、電源轉(zhuǎn)換電路和下載電路組成。其中,復位電路就負責主控芯片的初始化;時鐘電路負責為系統(tǒng)提供時鐘基準,但是在本課題中,系統(tǒng)利用的是內(nèi)部時鐘,因而并沒有特意設計外部時鐘電路;電源轉(zhuǎn)換電路負責對給定的電源進行轉(zhuǎn)換,然后作為系統(tǒng)運行時的驅(qū)動源;下載端口是連接硬件和軟件的“橋梁”,負責將編寫的程序下載到制作好的電路板中,進行調(diào)試和驗證。其中主控芯片的原理圖,如圖2.2所示。圖2.2主控芯片原理圖STM32芯片自身攜帶內(nèi)部RC振蕩器,為芯片提供時鐘基準,本課題中采用的主控芯片屬于增強型的范疇,可以在72MHz的時鐘下運行。但是內(nèi)部RC振蕩器的不足之處是:準確性不夠,而且穩(wěn)定性不好,所以在設計時常采用外部的晶振時鐘源。通常情況下,外部時鐘源可以分為高速外部振蕩器、低速外部振蕩器和時鐘輸出。在本課題中,主控芯片選擇外接晶振電路,屬于高速外部振蕩器。該電路由C9、C10、Y1組成,由它為主控芯片提供時鐘基準。同時原理圖中分布的電容C8?C16存在的意義就是穩(wěn)定電源,使得整個系統(tǒng)的穩(wěn)定性得以提高。因為STM32F103RC的引腳可以承受的最高電壓的范圍為2.0V?3.6V,一般情況下選擇+3.3V,因此需要對給定的電源進行轉(zhuǎn)換。本課題中,設計的電源轉(zhuǎn)換電路采用的芯片型號是ASM1117-3.3,此電平轉(zhuǎn)換器件具有體積小、損耗低并且穩(wěn)定性能好等優(yōu)點,同時它最高可以輸出1A大小的電流,這一特性使得該芯片幾乎可以和全部的電子網(wǎng)絡芯片進行匹配,因此得到了普遍的應用。該系統(tǒng)中電源轉(zhuǎn)換電路的原理圖,如圖2.3所示。南京工程學院自動化學院本科畢業(yè)設計(論文)圖2.3電源轉(zhuǎn)換電路原理圖STM32F103RC型號的微控制器的驅(qū)動電源為+3.3V,實際中可以提供的是+5V的直流電源,所以本電源轉(zhuǎn)換電路實現(xiàn)的功能就是將+5V的直流電源通過芯片AMS1117-3.3轉(zhuǎn)化為+3.3V的直流電源,實現(xiàn)為主控芯片進行供電的功能。另一方面,電量計量單元作為多功能電能表的核心部分,計量的準確度和精度將直接影響電能表最終功能實現(xiàn)的程度,所以在硬件電路的設計中一定要排除影響采樣和計量精度的內(nèi)外部因素。如圖2.3所示,數(shù)字地GNDD和模擬地GNDA采用磁珠來進行連接,抑制電源線中涌動的高頻噪聲和干擾信號,使得系統(tǒng)更加穩(wěn)定。同時設計由0.1UF和10UF電容組成的并聯(lián)電路,將該電路置于電路輸出端,具有濾波和穩(wěn)定電壓的作用,進一步提高了輸出電壓的穩(wěn)定性。STM32F10XX系列的單片機支持系統(tǒng)復位、上電復位、備份區(qū)域復位三種復位模式。STM32F103RC芯片同時具有內(nèi)部復位的功能,當系統(tǒng)檢測到供電引腳上的電壓低于2V時,就會自動復位,但是會存在遲滯問題的局限性。故在進行本課題的設計時,為了保證安全性采用外部復位電路來實現(xiàn)系統(tǒng)的復位,最小系統(tǒng)的復位電路如圖2.4所示。圖2.4復位電路原理圖該復位電路屬于系統(tǒng)復位范疇的外部復位方式,當送入芯片引腳NRST的信號為低電平時,芯片進行復位。通常情況下,CPU在上電后需要處于一個確定的初始狀態(tài),并且經(jīng)歷短時間的復位后,芯片就要從這個初始狀態(tài)開始工作,這項工作要由復位電路得以實現(xiàn)。如圖2.4的復位電路所示,阻值為10K的電阻R5使得流入主控芯片引腳的電流只有0.33mA,保證芯片的安全,避免了電流過大將芯片毀壞的情

南京工程學院自動化學院本科畢業(yè)設計(論文)況發(fā)生。系統(tǒng)啟動時,按下按鍵KEY_rst時,Reset處的信號被拉低,芯片引腳NRST信號為低,芯片復位;當按鍵抬起時,Reset處的信號便會拉高,芯片引腳NRST信號為高,芯片不會復位。復位電路中的電容C17,有穩(wěn)定電路的作用,使電路性能更加的優(yōu)越。STM32支持不同的啟動模式,并且在進行軟硬件調(diào)試時離不開下載端口,系統(tǒng)的啟動模式和下載端口的電路原理圖如圖2.5所示。圖2.5啟動模式和下載端口原理圖首先,STM32主控芯片具有不同的啟動方式,啟動模式由BOOT0和BOOT1的取值組合決定,不同的啟動方式?jīng)Q定了主控芯片在進行復位后,從某一特定區(qū)域開始執(zhí)行系統(tǒng)程序。當編程完成,電路板制作結束后,就可以對程序進行下載,STM32支持的仿真和下載方式有兩種,分別為JTAG模式和SWD模式。其中,JTAG模式要用到5個I/O口,而SWD模式只要用到2個I/O口??紤]到節(jié)省資源以及結構的簡化,本設計采用SWD模式進行下載,下載端口只需要將2根線連到主控芯片,另外2根線連接到電源和地,這樣就可以進行程序的下載。采樣電路設計電量的采樣是實現(xiàn)電能表功能的關鍵技術,只有保證采樣的精度和準確度才能確保電能表功能實現(xiàn)的準確性。電流采樣調(diào)理原理圖如圖2.6所示。圖2.6電流采樣調(diào)理原理圖本課題采用電流互感器進行大電流的采樣過程,之所以選擇電流互感器而不選擇采樣線性范圍比較廣的電阻網(wǎng)絡取樣,是因為電阻在經(jīng)歷過長期工作后,阻值會10南京工程學院自動化學院本科畢業(yè)設計(論文)受到溫度以及其他一些外部因素的影響而發(fā)生變化;而采用電流互感器的方案就可以保證在長期工作條件下,其阻值穩(wěn)定性較好。圖2.6中的電流信號是取自電路中的大電流經(jīng)過電流互感器變換后產(chǎn)生的小電流信號。其中,經(jīng)過電源轉(zhuǎn)換電路后得到的+3.3V直流電源,再經(jīng)過分壓電路后變成+1.65V,得到基準電壓Vref,該信號用于抬升電流信號的基準。采集到的小電流信號I經(jīng)過LM358的輸出信號的計算公式(3-1)為:Uac=Qr-/x330 (3-1)其中Vref為+1.65V,由于I的值是毫安等級的,所以從LM358端輸出的信號會處于0?+3.3V的電壓范圍內(nèi),處于芯片可以承受的信號范圍內(nèi),保證了芯片的安全性。圖中電容C1的作用就是濾除采樣點的干擾信號,穩(wěn)定由分壓電路得到的電壓信號,去除雜波信號;最終將經(jīng)過調(diào)理的采樣電流送進STM32內(nèi)部自帶的A/D轉(zhuǎn)換通道口,之后的計量算法中,在減去基準電壓的基礎上,再進行相應電量計算的處理。涉及到算法選擇的部分,參照本論文軟件部分關于算法的詳細說明。系統(tǒng)要處理的電壓信號屬于大電壓,如果直接將大的電壓接到芯片引腳上,很容易就會將芯片主板燒毀,造成損失。所以要對采樣得到的電壓信號進行處理,這就需要電壓的調(diào)理電路,本篇論文運用電阻分壓網(wǎng)絡進行電壓采樣調(diào)理電路的設計,其中電壓采樣電路原理圖如圖2.7所示。圖2.7電壓采樣原理圖本課題中設計的電能表是三相多功能電能表,需要采集三相的電壓信號。以其中的A相電壓作為實例進行闡述。如上圖2.7所示,A相電壓采樣電路(以220V交流電為例)中,電阻R10?R14是分壓電阻,阻值都為200K。其中采用多電阻串聯(lián)代替單個大電阻的原因主要有:防止產(chǎn)生大的電壓降,更好地保證電路的安全性;降低電阻在工作時承受的電壓大小,減小電阻工作時的功率,因此就可以選取小功率的電阻。R15為采樣電阻,阻值為2K,接在放大器的正向輸入端。同時將經(jīng)過分壓處理的基準電壓接入放大器反向輸入端,從運算放大器輸出端引出的信號就是要送入主控芯片引腳的電壓信號。其中Av的計算公式(3-2)為:(3-2)11南京工程學院自動化學院本科畢業(yè)設計(論文)Av信號類似于經(jīng)過調(diào)理的電流信號,直接送到STM32F芯片自帶的A/D轉(zhuǎn)換通道口,進行模擬量到數(shù)字量的轉(zhuǎn)換,然后將基準電壓1.65V減去后,按照制定的計量算法在軟件中進行電量的計算。本分壓電路網(wǎng)絡中,用于分壓場合的電阻一般情況下阻值位于歐姆級和千歐姆級之間,采用的封裝也比較小,不用擔心占據(jù)電路板太多的空間。同時通過阻值為200K的電阻的電流計算公式(3-3)為:I兄焰”)]='"1002_reu_ (3-3)200X5X1000其中Av的最大值可以達到220x72*311(7),Vref為1.65V,則通過200K分壓電阻的最大電流約為0.31mA,所以每個電阻承受的功率計算公式(3-4)為:P=/2xR*0.02w (3-4)可知只要選用四分之一功率的電阻即可。按鍵顯示電路設計顯示模塊電路的作用就是將經(jīng)過采樣、調(diào)理和計算后得到的電流、電壓和功率在顯示屏上進行顯示,因而顯示功能的完成是電能表功能實現(xiàn)的重要指標;而按鍵電路的作用就是進行顯示屏切換和變量的設置,其中,按鍵電路的原理圖如圖2.8所示。圖2.8按鍵電路原理圖本課題在進行原理圖設計的過程中用到四個獨立按鍵,其中阻值為10K的電阻R1?R4,作為上拉電阻具有限流、保護電路的作用,而電容C3?C6的作用就是進行按鍵抖動的消除,抑制電路中的低頻干擾。其中K1鍵作為PageUp按鍵,進行向上翻頁的動作;K2鍵作為PageDown按鍵,進行向下翻頁的動作。K3和K4鍵作為預留的按鍵,用于以后的功能擴展。按鍵功能屬于顯示模塊的拓展功能,顯示模塊的電路原理圖如圖2.9所示。12南京工程學院自動化學院本科畢業(yè)設計(論文)圖2.9顯示電路原理圖在圖2.9顯示電路原理圖中,由10uF和0.1uF的電容組成的并聯(lián)電路的作用就是:穩(wěn)定電壓,消除存在的干擾信號,并聯(lián)的電容值存在倍數(shù)的差異,可以擴大抑制的干擾信號的頻率寬度,提高系統(tǒng)的穩(wěn)定性能。本課題采用了段碼LCD方式進行顯示功能的設計,LCD段碼顯示方式由來已久,在液晶顯示屏應用早期,段碼液晶的稱呼就已興起,它的出現(xiàn)主要是為了替代LED數(shù)碼管,LED數(shù)碼管主要應用于計算器、鐘表等簡單的儀器,結構簡單,功能易于實現(xiàn)。發(fā)展至今,非點陣類液晶顯示屏都被稱為段碼液晶屏。段碼LCD顯示和LCD液晶顯示的主要區(qū)別就在于LCD液晶顯示利用點陣進行編碼顯示,而LCD段碼顯示則是以段碼的形式進行編碼顯示。LCD段碼顯示屏一般可以采用HT1621系列的芯片進行驅(qū)動。由顯示電路的電路圖可知,HT1621B的結構簡單,和主控芯片的連線十分簡潔,只需要將CS,WR,DATA幾個引腳連接到主控芯片即可。下載程序方便可靠,并且HT1621B內(nèi)部自帶節(jié)電程序,在很大程度上降低了功率的消耗。由本芯片驅(qū)動的液晶屏顯示的主要內(nèi)容有電流有效值、電壓有效值、三相電的功率消耗情況。RS485通訊電路設計RS485是一種雙向半雙工的通信協(xié)議,具有經(jīng)濟高效、抗干擾能力強、傳輸速率快、傳輸距離遠的特點。通訊接口一般分為串行接口和并行接口,RS485接口隸屬于串行接口,在近距離傳輸數(shù)據(jù)領域應用較為成熟,特別是在平常的工業(yè)設計中應用更加廣泛。本文采用MAX13085E低功耗收發(fā)器,該芯片內(nèi)部集成驅(qū)動器和接收器,其中驅(qū)動器負責建立電氣特性電平和數(shù)字信號電平之間的聯(lián)系和轉(zhuǎn)換。RS48513南京工程學院自動化學院本科畢業(yè)設計(論文)通訊電路原理圖,如圖2.10所示。圖2.10RS485通訊電路原理圖圖2.10中的6N137是高速光耦合器芯片,用于電源和信號的隔離。該電路中采用獨立于主板的電源轉(zhuǎn)換電路設計,使得電路的運行更加的安全穩(wěn)定。MAX13085E的性能優(yōu)越,工作可靠,具有一個信號接收器和一個驅(qū)動器,為了保證芯片的抗干擾能力,在A、B端分別接有上拉電阻和下拉電阻,用來保護芯片的可靠運行。當前端為低電平時,如果引腳端(4-3)之-5064則RO端為高,接收信號;反之,RO端為低,DI端為高,發(fā)送信號。其中RO為數(shù)據(jù)接收端,通過光耦合芯片6N137接到主控芯片的RXD引腳,DI為數(shù)據(jù)發(fā)送端,通過光耦合器接到主控芯片的TXD引腳,A、B端負責接收和發(fā)送總線上傳送的信息。需要進行說明的一點是,為了方便功能的擴展和二次開發(fā),本課題在設計過程中只是預留了RS485的通訊接口。存儲電路設計因為檢測到的信號以及計算得到的數(shù)據(jù)都是以變量的形式儲存在STM32F的RAM區(qū)內(nèi),而RAM又是掉電易失性的,一旦電能表在運行的過程中失電,再次運行時,數(shù)據(jù)就已丟失,所以必須設計外部存儲電路進行數(shù)據(jù)的掉電保護。本課題選用24C02芯片進行EEPROM存儲電路的設計,24C02在儀器儀表和工業(yè)自動化設計中應用最為廣泛,主要得益于其具有電路簡單,接口方便,占用面積少,掉電數(shù)據(jù)不丟失等特點。EEPROM存儲電路如圖2.11所示。圖中的電容C14的作用是穩(wěn)定電壓。14南京工程學院自動化學院本科畢業(yè)設計(論文)圖2.11EEPROM存儲電路原理圖本章小結本章進行的介紹主要是圍繞多功能電能表硬件電路的設計。首先對課題的整體方案進行介紹,并且針對所用的主控芯片的選擇進行了論述,然后針對硬件電路的設計進行了大概的闡述,包括主控電路設計、電源轉(zhuǎn)換電路設計、采樣電路設計、顯示和按鍵電路設計、RS485通訊電路設計以及EEPROM存儲電路設計。并對其中幾個重要的電路進行了詳細的介紹和分析。15南京工程學院自動化學院本科畢業(yè)設計(論文)第三章多功能電能表軟件設計軟件設計軟件開發(fā)平臺MDKKeilMDK是著名的軟件公司Keil研制并開發(fā)的微控制器軟件開發(fā)平臺。Keil公司是一家在微控制器(MCU)軟件開發(fā)領域地位卓越的國際公司,并且于2005年被ARM公司收購,是目前針對ARM內(nèi)核單片機開發(fā)的主流平臺產(chǎn)品。Keil提供了一整套完整的開發(fā)方案,主要包括C語言編輯器、連接器、宏匯編、文件庫和一個功能強大的在線仿真調(diào)試器。這些功能通過uVision集成開發(fā)環(huán)境被集結在一起,目前正在使用的最高版本就是uVision4,該平臺所依附的編譯界面和C語言研發(fā)平臺的界面比較相似,界面環(huán)境設計人性化,易于初學者學習和應用,更適合深一步的研究和開發(fā)。不僅如此,在軟件在線調(diào)試和仿真方面功能也很強大。一般情況下,致力于ARM開發(fā)的工程師都將此開發(fā)平臺作為首選。KeilMDK軟件開發(fā)平臺的開發(fā)周期和其他的一些軟件開發(fā)平臺的周期大同小異,一般包括以下幾個步驟:(1)首先創(chuàng)建一個新的工程,選擇相應的芯片型號,同時將創(chuàng)建工程所需要的固定配置提前設置好。(2)編寫工程源代碼,一般采用C語言或者匯編語言,在本課題中采用的是C語言。(3)編譯程序,查找程序中的語法和邏輯錯誤。(4)修改在編譯過程中出現(xiàn)的問題。(5)編譯通過后,可以將程序下載到硬件開發(fā)板中,進行軟硬件的聯(lián)機調(diào)試。這就是利用MDK軟件開發(fā)平臺進行開發(fā)的主要周期。軟件設計流程為了提高系統(tǒng)的運行速度,改善系統(tǒng)的性能,在進行軟件設計時,也采用了模塊化的思路,本文中的軟件編程采用了調(diào)用固件庫函數(shù)的設計方法。不管使用的微處理器發(fā)展到何種地步,進行設計時,最終還是要對寄存器進行操作,但是STM32擁有數(shù)百個寄存器,要想對每個寄存器都了如指掌是及其困難的。調(diào)用固件庫函數(shù)進行編程就可以解決這個困難,STM32的固件庫就是函數(shù)的一種集合,固件庫函數(shù)16南京工程學院自動化學院本科畢業(yè)設計(論文)的作用就是一方面負責直接與寄存器建立聯(lián)系,另一方面為用戶提供函數(shù)調(diào)用的接口(API)。其中軟件整體的設計框圖如圖3.1所示。主程序在設計多功能電能表的主控電路時,考慮到外部晶體振蕩器速率較低,能夠更好地保證系統(tǒng)穩(wěn)定性,因而選用8MH的晶體振蕩器,同時在軟件中選用7倍頻的設置,很好地提高了系統(tǒng)處理程序的速度。主程序設計軟件的主程序負責整個系統(tǒng)初始化、各個模塊的固件庫函數(shù)以及中斷函數(shù)的調(diào)用,其中主函數(shù)的流程圖如圖3.2所示。由圖3.2可知主程序的設計思路為:系統(tǒng)上電后,首先進行各個模塊配置的初始化,設置100ms的定時刷新時間,實時監(jiān)測定時時間是否到達,如果定時時間到,進行數(shù)據(jù)的處理和保存;數(shù)據(jù)保存后,實時監(jiān)測顯示屏刷新時間是否到達,如果刷新時間到,就進行刷新顯示;同時,要不間斷地檢查是否有按鍵動作或者是否需要進行通信,只要檢測到有相應事件發(fā)生,就立即進入到相應程序里,進行處理。比如檢測到按鍵動作就要轉(zhuǎn)入相應的按鍵處理程序,進行頁面切換的選擇;檢測到通信請求信號時,就要轉(zhuǎn)入RS485通訊程序處進行處理,在本課題中,下位機并沒有實現(xiàn)和上位機的連接,同時為了功能的擴展,預留了RS485的通訊接口,方便以后功能的二次拓展。17南京工程學院自動化學院本科畢業(yè)設計(論文)N按鍵輸入Y接口呼叫Y顯示刷新定時到?開始圖3.2主程序流程圖NYN采樣定時器初始化Y數(shù)據(jù)處理 . 數(shù)據(jù)刷新 N時間到?N按鍵輸入Y接口呼叫Y顯示刷新定時到?開始圖3.2主程序流程圖NYN采樣定時器初始化Y數(shù)據(jù)處理 . 數(shù)據(jù)刷新 N時間到?刷新顯示系統(tǒng)初始化通訊處理按鍵處理保存數(shù)據(jù)初始化子程序設計ADC系統(tǒng)在運行之前需要進行初始化,包括系統(tǒng)時鐘的配置、定時器的初始化、初始化、GPIO口的配置、顯示初始化和鍵盤初始化。ADC(1)系統(tǒng)時鐘配置和定時器初始化:TIM_TimeBaseInitTypeDefTIMBaseStruct;TIM_ClearITPendingBit(TIM2,TIM」T_Update);〃清除TIM2的中斷源;TIMBaseStruct.TIM_Period=12500;//1.25ms的采樣時間周期;18南京工程學院自動化學院本科畢業(yè)設計(論文)TIMBaseStruct.TIM_Prescaler=72-1;//72分頻;TIMBaseStruct.TIM_ClockDivision=0;//未設置時鐘分割;TIMBaseStruct.TIM_CounterMode=TIM_CounterMode_Up;//向上計數(shù);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2,ENABLE);//掛接定時器2;TIM_TimeBaseInit(TIM2,&TIMBaseStruct);TIM_ITConfig(TIM2,TIM_IT_Update,ENABLE);//使能定時器2;TIM_Cmd(TIM2,ENABLE);〃使能TIM2;(2)ADC和GPIO初始化子程序:ADC_InitTypeDefADC_InitStructure;GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_ADC1,ENABLE);〃使能ADC1通道時鐘;RCC_ADCCLKConfig(RCC_PCLK2_Div6);〃設置ADC分頻因子6,72M/6=12,ADC最大時間不能超過14M;GPIO_InitStructure.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5|GPIO_Pin_6;//六路信號輸入;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AIN;〃模擬輸入弓|腳;GPIO」nit(GPIOA,&GPIO_InitStructure);//選擇A通道管腳;ADC_DeInit(ADC1);//復位ADC1,將外設ADC1的全部寄存器重設為缺省值;ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;//ADC工作模式:ADC1和ADC2工作在獨立模式;ADC_InitStructure.ADC_ScanConvMode=DISABLE;//模數(shù)轉(zhuǎn)換工作在單通道模式;ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;//模數(shù)轉(zhuǎn)換工作在單次轉(zhuǎn)換模式;ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigConv_None;//轉(zhuǎn)換由軟件而不是外部觸發(fā)啟動;ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;//ADC數(shù)據(jù)右對齊;ADC_InitStructure.ADC_NbrOfChannel=1;//順序進行規(guī)則轉(zhuǎn)換ADC通道的數(shù)目;ADC_Init(ADC1,&ADC」nitStructure);//根據(jù)ADC」nitStruct中指定的參數(shù)初始化外設ADCx的寄存器;ADC_Cmd(ADC1,ENABLE);〃使能指定的ADC1;ADC_ResetCalibration(ADC1);//使能復位校準;while(ADC_GetResetCalibrationStatus(ADC1));//等待復位校準結束;ADC_StartCalibration(ADC1);//開啟AD校準;19南京工程學院自動化學院本科畢業(yè)設計(論文)while(ADC_GetCalibrationStatus(ADC1));//等待校準結束;(3)顯示初始化程序:LCD_CS=1;LCD_DATA=QLCD_WR=0;Init_HT1621();(4)鍵盤初始化:GPIO_InitTypeDefGPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);GPIO_InitStructure.GPIO_Pin=GPIO_Pin_12|GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;〃鍵盤接在GPIOB12、B13、B14、B15管腳上;GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IPU;〃上拉輸入;GPIO」nit(GPIOB,&GPIO_InitStructure);采樣程序設計本課題使用六路通道采樣,將通過硬件電路調(diào)理得到的信號送進A/D轉(zhuǎn)換口進行處理,在程序執(zhí)行的過程中選擇中斷子程序調(diào)用的方式進行A/D對信號的采集過程,其設計流程圖如圖3.3所示。圖3.3采樣流程圖ADC采樣程序:staticu8s_sampTim=0;g_volA[s_sampTim]=Get_Adc(ADC_Channel_1)*(3.3/4095)-1.65;//通道1,A相電壓;g_curA[s_sampTim]=Get_Adc(ADC_Channel_4)*(3.3/4095)-1.65;//通道4,A相電流;g_volB[s_sampTim]=Get_Adc(ADC_Channel_2)*(3.3/4095)-1.65;//通道2,B相電壓;g_curB[s_sampTim]=Get_Adc(ADC_Channel_5)*(3.3/4095)-1.65;//通道5,B相電流;g_volC[s_sampTim]=Get_Adc(ADC_Channel_3)*(3.3/4095)-1.65;//通道3,C相電壓;g_curC[s_sampTim]=Get_Adc(ADC_Channel_6)*(3.3/4095)-1.65;//通道6,C相電流;s_sampTim++;if(s_sampTim>=16)s_sampTim=0;本采樣程序中,一個周期進行16組的數(shù)據(jù)采樣,每次得到最新一組的采樣數(shù)據(jù)20

南京工程學院自動化學院本科畢業(yè)設計(論文)時,就替換掉數(shù)組中最原始的那組數(shù)據(jù),保證進行計算的數(shù)據(jù)是最新的16組采樣數(shù)據(jù)。上述程序完成了六路信號的采樣。程序中減去1.65的原因是在設計采樣的硬件電路時,抬高了調(diào)理得到的信號基準,基準電壓采用的電壓是分壓得到的+1.65V。計量程序設計在本課題中,經(jīng)過采樣調(diào)理電路得到的調(diào)理信號,送進A/D轉(zhuǎn)換接口后得到一系列離散的電流、電壓數(shù)字序列,按照以下的算法處理得到真正的測量值。計量算法的介紹(1)電壓電流有效值計算本課題中的采樣電壓電路所用的方法為電阻分壓網(wǎng)絡,從A/D轉(zhuǎn)換口得到的電壓數(shù)字序列是經(jīng)過分壓過后的電壓信號u,電壓的有效值就等于其在一個周期內(nèi)的方均根值,用公式(3-1)來表示為:(3-1)(3-2)N是在采樣區(qū)

同時又有N(3-1)(3-2)N是在采樣區(qū)

同時又有N=(3-3)(3-4)將其離散化得到公式(3-2):U=1(1力〃2AT)7\Tn=1n nJ等式中的Tn是采樣時間間隔,un為在第n采樣點得到的瞬時電壓值間內(nèi)的總的采樣點個數(shù)。在計算過程中將A7;默認為一個不變的值乙工,可以得到公式(3-3):△TU=/(-SN〃2)

q〈Nn=1n)即得到電壓的有效值。同理可以得到電流有效值的公式(3-4)為:I=Jg/2)(2)功率因數(shù)測量交流電路中,功率因數(shù)在數(shù)值上等于有功功率和視在功率的比值,而視在功率可以用公式(3-5)來表示:(3-5)(3-6)S=;P2(3-5)(3-6)所以功率因數(shù)的表示公式(3-6)為:cos0=cos-[=^(3)無功功率測量對采樣到的電流進行數(shù)字式移相90度,再用類似于求取有功功率的方法進行計算就可以得到無功功率的值,單相的無功功率就等于公式(3-7):(3-7)Q=1En(3-7)VNn=1n(n+^4)那么三相的無功功率的值就等于公式(3-8): 421南京工程學院自動化學院本科畢業(yè)設計(論文)Q=1〃 i、鞏ixui、) (3-8)Nanan及) ^九匕九從) cncn及),4/ 4/ 4,其中的〃九和q為同一時刻的采樣電壓、電流采樣值。(4)有功功率測量有功功率的計算就是通過電壓、電流周期性的乘機獲得。其中單相有功功率的計算公式(3-9)為:P=」E^=i〃/九 (3-9)那么三相總的有功功率的計算公式(3-10)就為:P="nui 〃/ ui) (3-10)Nn=1ananbnbncncn/其中的〃九和q為同一時刻的電壓電流采樣值。ADC數(shù)據(jù)轉(zhuǎn)換原理STM32FXXX系列的微控制器自帶12位高精度的ADC轉(zhuǎn)換通道,是一種模擬數(shù)字轉(zhuǎn)換器,總共擁有18個轉(zhuǎn)換通道,可以分別用來測量外部信號(16路)和內(nèi)部信號(2路)。每一路A/D通道都具有單次、連續(xù)和間斷轉(zhuǎn)換模式三種,進行工作時,可以在三種模式中根據(jù)實際情況自由選取其中的一種模式進行工作,在本課題設計的過程中采用的是單次轉(zhuǎn)換模式。ADC轉(zhuǎn)換的數(shù)據(jù)結果有左對齊和右對齊兩種對齊方式。其中ADC的特征主要有:支持雙通道同時進行數(shù)據(jù)轉(zhuǎn)換;具有自校準功能;具有單次和連續(xù)轉(zhuǎn)換模式;12位高精度分辨率;數(shù)據(jù)轉(zhuǎn)換結束以及發(fā)生模擬看門狗事件時,自動產(chǎn)生中斷;注入組和規(guī)則組均可由外部信號觸發(fā);從通道0到通道X的自動掃描模式;ADC最高頻率為14MHz,要求2.4V?3.6V范圍內(nèi)的電源進行供電;將經(jīng)過采樣和調(diào)理過程得到的電壓、電流信號,送進ADC轉(zhuǎn)換通道,要在轉(zhuǎn)換通道內(nèi)進行模擬信號到數(shù)字信號的轉(zhuǎn)換。在本課題的設計中,因為要完成對三相電壓、電流的采樣,所以要采用6路ADC轉(zhuǎn)換通道,每隔1.25ms就進行一次采樣,在工頻50Hz的情況下,每經(jīng)過一個電壓、電流周期,就要設置16個信號采樣點,按照上文中介紹的算法進行有效值的轉(zhuǎn)換。ADC的基準電壓為+3.3V,則表示采樣得到的模擬信號和經(jīng)過AD轉(zhuǎn)換過后的數(shù)字信號之間關系的公式(3-11)為:(3-11)D=a”refPref)V2n1 何(3-11)其中,n為ADC的位數(shù),取值為12;Vref為ADC的正參考電壓,取+3.3V;Vref為22

南京工程學院自動化學院本科畢業(yè)設計(論文)ADC的負參考電壓,取0V,則公式(3-11)可以化簡為公式(3-12):2X3.340952X3.34095(3-12)計量算法程序設計在上文3.5.2節(jié)中介紹的計量算法,需要通過編寫程序的方式進行實現(xiàn),主要是對ADC采集轉(zhuǎn)化過的數(shù)字信號進行計算,得到電量的有效值、需要顯示的功率值和功率因數(shù)的大小。計量算法的程序設計如下所示。?計算有效值:doublevirVal=0.0,square=0.0,sum=0.0;u8i=0;for(i=0;i<16;i++){square=pow((*(pt+i)),2);〃求平方;sum=sum+square; 〃求平方和;)virVal=sqrt(sum/16.0); 〃開平方;開平方之后,轉(zhuǎn)化得到的電流和電壓信號分別乘以不同的系數(shù)的到真正采樣到的電量值。?計算有功功率:doubleP=0.0,sum=0.0,product=0.0;u8i;for(i=0;i<16;i++){product=vol[i]*cur[i];sum=sum+product;)使用類似的方法可以求得無功功率、和功率因數(shù)。顯示程序設計本文中采用的顯示屏在進行顯示工作時,使用型號為HT1621B的芯片進行驅(qū)動,在進行寫操作時主要有一般寫模式和連續(xù)寫模式,本文采用連續(xù)寫模式,其時序圖如圖3.4所示。CS 麗—川川川川皿嘰uuuuumnwuwmnjL1|oj1[A5A4ASA2Al DID2D3[D0D1口2D3|D0a32。*口0D132D3|D0圖3.4連續(xù)寫模式時序圖23

南京工程學院自動化學院本科畢業(yè)設計(論文)LCD_CS=0;delay_us(1);addr<<=2;Send_H_Bit(0xa0,3);Send_H_Bit(addr,6);Send_L_Bit(byte,4);delay_us(1);LCD_CS=1;在進行寫操作時,首先要使能芯片,然后寫入三位指令碼101進入寫模式,隨后給定6LCD_CS=0;delay_us(1);addr<<=2;Send_H_Bit(0xa0,3);Send_H_Bit(addr,6);Send_L_Bit(byte,4);delay_us(1);LCD_CS=1;〃使能芯片;〃延遲1us;〃地址左移2位;〃發(fā)送寫數(shù)據(jù)模式101;//發(fā)送地址的高6位;//發(fā)送低4位數(shù)據(jù);//延遲1us;//失能芯片;本課題中在顯示屏上呈現(xiàn)的是三行數(shù)字,每行四位數(shù)字,每位數(shù)字都有對應的段碼,其段碼程序如下所示,三行程序分別代表從上到下的三行0到9的數(shù)字代碼。u8Digital1[10]={0xaf,0x06,0x6d,0x4f,0xc6,0xcb,0xeb,0x0e,0xef,0xcf};u8Digital2[10]={0xaf,0x06,0x6d,0x4f,0xc6,0xcb,0xeb,0x0e,0xef,0xcf};u8Digital3[10]={0xf5,0x60,0xb6,0xf2,0x63,0xd3,0xd7,0x70,0xf7,0xf3};特定位置的特定數(shù)字的編寫代碼是有規(guī)律可循的,其中部分地址分配和代碼編寫規(guī)律,見表3.1所示。表3.1HT1621B部分管腳分配PIN1234567COM0COM0T11F1ACOM1COM1T21G1BCOM2COM2T31E1CCOM3COM3T4P11D例如現(xiàn)在進行第三行的第一個數(shù)字9的代碼編寫,先寫出它的首地址為0X01,再寫出其數(shù)字編碼為11110011,即0XF3。按鍵處理程序設計按鍵輸出模塊主要實現(xiàn)的功能就是進行顯示屏的切換,本設計原理圖中總共放置了四個按鍵,在按鍵被按下時,對應的GPIO口處的狀態(tài)被拉低,檢測到其狀態(tài)的變化后,進入按鍵處理程序處,產(chǎn)生相應的動作。在功能實現(xiàn)的過程中僅僅使用其中的兩個按鍵,分別設置為PageUp鍵和PageDown鍵,其他按鍵用于多功能電能表的功能擴展。其按鍵處理程序如下所示。if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0)//若鍵產(chǎn)生按下動作;{delay_ms(10);//延時消抖;24南京工程學院自動化學院本科畢業(yè)設計(論文)if(GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12)==0)//確定該鍵被按下;{//按鍵處理程序;if(g_keySta<2)g_keySta++;//按順序進行從第1頁到第3頁的向上翻頁動作elseg_keySta=0;}//從第3頁向上翻頁時,自動跳轉(zhuǎn)到第1頁;LCDUpdate();//LCD屏刷新;while(!GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_12));}本章小結本章涉及多功能電能表的軟件設計過程,首先進行了軟件開發(fā)平臺的介紹,然后概述了主程序的設計流程和電能計量的數(shù)學算法,針對其中主要部分的程序編寫進行了設計。其中,對于電能的數(shù)學計量算法進行了重點的介紹。同時針對ADC的采樣原理和芯片HT1621B的寫操作格式進行了簡要的介紹。25南京工程學院自動化學院本科畢業(yè)設計(論文)第四章系統(tǒng)測試及實驗采樣電路模塊測試采樣電路仿真測試課題中設計電壓、電流采樣電路的目的,是防止接入電路板的電壓、電流信號過大,對電路板和操作人員造成傷害。從上文的論述中可知,采樣電路要實現(xiàn)的功能就是將大的電壓、電流信號轉(zhuǎn)換為主控芯片引腳可以承受的小信號。一般在進行實物連接和測試之前,為了保證系統(tǒng)設計的安全可靠性,都會采用仿真軟件進行功能測試,本課題中針對重要的采樣模塊,利用PSIM仿真軟件進行了功能測試。電流采樣調(diào)理電路的仿真過程主要包括:(1)首先在仿真軟件平臺上,按照原理圖中設計的電流采樣電路進行創(chuàng)建,如圖4.1所示。330R7"AAArn(V)E)330R7"AAArn(V)E)圖4.1創(chuàng)建電流采樣電路(2)設置給定信號的參數(shù),該仿真電路中給定有效值為5A的正弦電流信號,設置頻率為50Hz,如圖4.2所示。26

南京工程學院自動化學院本科畢業(yè)設計(論文)圖4.2設置電流信號參數(shù)(3)完成電路搭建和參數(shù)設置后,進行仿真運行,其中圖4.2中的電流互感器的變比是1:2000,基準電壓設置為1.65V,該電路運行得到應該是圍繞1.65上下波動的正弦波,運行結果如圖4.3所示。圖4.3電流采樣仿真結果電壓采樣電路的仿真過程與上述電流的仿真步驟相似,首先搭建電壓采樣電路,如圖4.4所示。27南京工程學院自動化學院本科畢業(yè)設計(論文)圖4.4創(chuàng)建電壓采樣電路然后進行給定信號參數(shù)的設置,運行后得到結果。給定的電壓信號波形,如圖4.5所示。圖4.5給定電壓信號當基準電壓Vre=1.65V時,運行后得到的仿真結果是圍繞1.65上下波動的正弦波,如圖4.6所示。圖4.6仿真結果4.1.2采樣電路測試進行電流采樣電路的測試,假設測試的電流信號最大為+10A,在進行測試時,28南京工程學院自動化學院本科畢業(yè)設計(論文)將+10A的電流信號經(jīng)過變比為1:2000的電流互感器引出,送入電流采樣調(diào)理電路后,從LM358芯片輸出端引出的電壓信號為0V;如果將從電流互感器兩端引出的電流信號,經(jīng)過反向器反向后的電流再接進電流采樣調(diào)理電路,發(fā)現(xiàn)從LM358芯片輸出端引出的電壓信號約等于+3.3V。說明經(jīng)過電流采樣調(diào)理電路得到的電壓信號在0?+3.3V的范圍內(nèi)變化,功能可以按照預期得以實現(xiàn)。進行電壓采樣電路的測試,假設測試的電壓信號的最大值約為311V(三相交流電源的相電壓有效值為+220V,那么每相電壓的峰值就約為311V)。將該值的大電壓接入電阻分壓網(wǎng)絡,結合給定的基準電壓,最終得到送入芯片引腳的電壓信號在0.925V?2.275V的范圍內(nèi)變化,是主控芯片可以承受的范圍,說明電壓采樣調(diào)理電路的設計也是基本符合要求的。采樣電路模塊測試的結果如圖4.7所示。圖4.7采樣電路模塊測試ADC模塊調(diào)試進行ADC模塊的軟件調(diào)試時,首先將ADC模塊的程序編寫完整,然后當程序編譯通過后,將程序下載到硬件電路板中,采用單步調(diào)試Debugging方式進行調(diào)試。根據(jù)原理圖進行程序的編寫,選擇端口A1到A6的6個通道分別作為ADC1到ADC6轉(zhuǎn)換口,因為是對ADC轉(zhuǎn)換模塊的測試,可以選擇分別將A1到A6的六個接口分別接到+3.3V和GND端,比如將A1代表的ADC1口接到高電平+3.3丫,將A2代表的ADC2口接到低電平GND。當電路板接線完成后,進行單步調(diào)試后,在Watch窗口里就能實時觀察到變量的值,說明ADC轉(zhuǎn)換模塊是能完成其功能的。ADC模塊單步調(diào)試如圖4.8所示。29

南京工程學院自動化學院本科畢業(yè)設計(論文)圖4.8ADC模塊單步調(diào)試結果顯示模塊調(diào)試顯示模塊就是將通過ADC轉(zhuǎn)換通道轉(zhuǎn)換過的數(shù)據(jù)在顯示屏里進行顯示。在進行顯示程序的測試時,首先禁用其他部分的程序,只將ADC轉(zhuǎn)換模塊和顯示模塊的程序進行編譯,編譯無誤后,將程序下載到已經(jīng)和電腦連接好的硬件電路板中,本設計中采用的ADC轉(zhuǎn)換通道總共有6個,這里以通道ADC1為例進行說明,當A1口接到GND時,顯示屏顯示0.000;當A1口接+3.3V時,顯示屏顯示3.299,顯示數(shù)據(jù)保留3位小數(shù)點,說明采樣精度比較高,滿足設計指標的要求。當A1口懸空處理后,顯示屏顯示的數(shù)據(jù)穩(wěn)定,一般顯示的結果會在1.800V附近不斷跳躍。為了進一步測試顯示屏的效果,可以將ADC口出來的信號通過滑動變阻器后再接到硬件板中,改變滑動變阻器的阻值后,LCD顯示屏顯示的內(nèi)容就會發(fā)生改變。測試表明,LCD顯示模塊的功能基本符合要求。LCD顯示屏電流顯示的測試結果如圖4.9所示。圖4.9LCD段碼顯示測試結果30南京工程學院自動化學院本科畢業(yè)設計(論文)本章小結電能表的功能測試和軟硬件的聯(lián)合測試是整個設計的關鍵環(huán)節(jié),只有調(diào)試通過,才能基本保證電能表功能的實現(xiàn)。本章針對多功能電能表的軟硬件聯(lián)合調(diào)試進行了說明,重點介紹了采樣電路模塊、A/D轉(zhuǎn)化模塊和LCD段碼顯示模塊的功能調(diào)試過程,并且調(diào)試結果表明重點模塊實現(xiàn)的功能是基本符合要求的。31南京工程學院自動化學院本科畢業(yè)設計(論文)第五章總結與展望工作總結設計基于STM32F103RC的多功能電能表的這一課題,具有真正的實用價值。正如前文所論述的內(nèi)容,電能是人們生活中不可或缺的能源之一,現(xiàn)代生活節(jié)奏的加快更加促進了電能的發(fā)展,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論