版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、編號2014020342B研究類型應用研究分類號TN7學士學位論文(設計)Bachelors Thesis論文題目智能電池充電器的設計作者姓名陳緒詞學號2010112020342所在院系物理與電子科學學院學科專業(yè)名稱電子信息科學與技術導師及職稱潘言全 副教授論文答辯時間2014年5月11日學士學位論文(設計)誠信承諾書中文題目:智能電池充電器的設計外文題目:The Design of Intelligent Battery Charger學生姓名陳緒詞學生學號2010112020342院系專業(yè)物理與電子科學學院電子信息科學與技術學生班級1003學 生 承 諾我承諾在學士學位論文(設計)活動中遵
2、守學校有關規(guī)定,恪守學術規(guī)范,本人學士學位論文(設計)內容除特別注明和引用外,均為本人觀點,不存在剽竊、抄襲他人學術成果,偽造、篡改實驗數(shù)據(jù)的情況。如有違規(guī)行為,我愿承擔一切責任,接受學校的處理。學生(簽名):2014年5月8日指導教師承諾我承諾在指導學生學士學位論文(設計)活動中遵守學校有關規(guī)定,恪守學術道德規(guī)范,經(jīng)過本人核查,該生學士學位論文(設計)內容除特別注明和引用外,均為該生本人觀點,不存在剽竊、抄襲他人學術成果,偽造、篡改實驗數(shù)據(jù)的現(xiàn)象。指導教師(簽名):2014年5月8日目 錄1. 前言12. 系統(tǒng)設計概述22.1設計內容和要求22.2總體設計方案23. 硬件電路設計63.1總體
3、電路設計63.2硬件功能模塊分析64. 系統(tǒng)軟件設計104.1主程序流程圖104.2數(shù)碼管顯示模塊114.3定時器模塊124.4按鍵處理器模塊124.5ADC采樣和PWM模塊134.6充電過程處理模塊135. 系統(tǒng)實物調試和效果146. 總結與展望167. 參考文獻17致謝學士學位論文(設計)評審表智能電池充電器的設計陳緒詞(指導老師,潘言全 副教授)(湖北師范學院物理與電子科學學院,湖北 黃石 435002)摘 要:本文所述的智能電池充電器,利用運放和場效應管構成的閉環(huán)控制組成恒流恒壓源,根據(jù)鋰電池的特性,通過恒流恒壓源對電池進行充電。單片機產(chǎn)生PWM波,通過濾波電路去調節(jié)恒流恒壓源,單片機
4、自帶的ADC功能,對恒流恒壓源的電流和電壓進行檢測,并且與之前設置最大電流和最大電壓進行比較,從而進行調節(jié)。按鍵設置充電器的最大電流和最大電壓,設置完成之后,充電器處于工作狀態(tài),數(shù)碼管顯示電池兩端的電壓和電流。整個過程實現(xiàn)智能調控。關鍵詞:單片機;充電器;恒流恒壓源;智能 中圖分類號: TN7The Design Of Intelligent Battery ChargerChen Xuci(Tutor:Pan Yanquan)(College of Physics and Electronic Science,Hubei Normal University, Huangshi, 435002
5、, China)Abstract: A intelligent battery charger described in this paper is a constant current and constant voltage source realized by closed-loop controls composed of operational amplifiers and FETs. According to the characteristics of lithium battery, a battery is charged by the charger. With the u
6、se of PWM wave by MCU, the charger is adjusted through the filter circuit. ADCs on MCU are able to detect the current and voltage and compare the maximum current and maximum voltage set before, so as to adjust. The maximum current and maximum voltage of the charger is set up by keys. After a one-tim
7、e setup, the charger is in working state, and digital pipes display battery voltage and current. The whole process is intelligently controlled.Key words:MCU;Charger;Constant current and constant voltage source;Intelligence湖北師范學院物理與電子科學學院2014屆學士學位論文智能電池充電器的設計陳緒詞(指導老師,潘言全 副教授)(湖北師范學院物理與電子科學學院,湖北 黃石 43
8、5002)1. 前言社會信息化進程的加快對電力、信息系統(tǒng)的安全穩(wěn)定運行提出了更高的要求。在人們的生產(chǎn)、生活中,各種電氣、電子設備的應用也越來越廣泛,與人們的工作、生活的關系日益密切,越來越多的工業(yè)生產(chǎn)、控制、信息等重要數(shù)據(jù)都要由電子信息系統(tǒng)來處理和存儲。而各種用電設備都離不開可靠的電源,如果在工作中間電源中斷,人們的生產(chǎn)和生活都將受到不可估量的經(jīng)濟損失1。對于由交流供電的用電設備,為了避免出現(xiàn)上述不利情況,必須設計一種電源系統(tǒng),它能不間斷地為人們的生產(chǎn)和生活提供以安全和操作為目的可靠的備用電源。為此,以安全和操作為目的的備用電源設備上都使用充電電池2。這樣,即使電力網(wǎng)停電,也可利用由充電電池構
9、成的安全和操作備用電源,從容地采用其他應急手段,避免重大損失的發(fā)生。而對于采用充電電池供電的用電設備,從生產(chǎn)、信息、供電安全角度來說,充電電池在系統(tǒng)中處于及其重要的地位。同時,具體到生活方面,隨著社會的快速發(fā)展,電子產(chǎn)品小型化、便攜化也使得充電電池越來越重要,鋰離子電池有較高的比能量,放電曲線平穩(wěn),自放電率低,循環(huán)壽命長,具有良好的充放電性能,可隨充隨放、快充深放,無記憶效應,不含鎘、鉛、汞等有害物質,對環(huán)境無污染,被稱為綠色電池?;谶@些特性,所以鋰電池得到了迅速的發(fā)展和廣泛的應用。鋰電池充電器是為鋰離子充電電池補充能源的靜止變流裝置,其性能的優(yōu)劣直接關系到整個用電系統(tǒng)的安全性和可靠性指標3
10、。本文對設計硬件電路的過程進行了詳細的描述,包括對方案的選擇和元器件的選擇。軟件控制流程也進行了詳細的敘述。充電器的技術已經(jīng)很成熟了,正好通過這次畢業(yè)設計,對大學四年所學的的知識進行整合,回顧。2. 系統(tǒng)設計概述2.1設計內容和要求一般市場上的萬能充電器只能對4.2V的鋰電池進行充電4,我們這次設計的可編程智能充電器,是在普通的萬能充基礎上進行升級,可以對充電的最大電壓和最大電流進行設定,這樣就可以使充電器的適用范圍更廣。要求:充電電壓的范圍為1V13V,最大充電電流為0.5A-2.5A;能實現(xiàn)電池的充電與顯示,顯示的結果夠精確,并且具備很好的穩(wěn)定性;電路簡單、成本要求低;操作簡單、方便、易懂
11、、數(shù)碼管顯示;2.2總體設計方案2.2.1設計思路本設計的關鍵就是要知道電池充電過程的三個階段,涓流充電,恒流充電,恒壓充電,然后需要設計一個電路,具有恒流恒壓功能。然后把這三個階段的電壓電流情況在數(shù)碼管上顯示出來。2.2.2方案論證與比較從設計思路出發(fā),可以提出以下三個方案:方案一:電路原理圖如圖2-1所示。這種方案主要用到了一個基準源TL431,它是一種三端可調分流基準源5。DA的輸出電壓通過一個電阻R4接至TL431的參考極。當調節(jié)DA的輸出電壓使參考極電壓高于2.5V時,三極管中有一個很大的電流通過。那么經(jīng)過三極管輸出的電流將會減小,電壓也會隨之下降。當調節(jié)DA的輸出電壓使參考極電壓低
12、于2.5V時,三極管相當于截止狀態(tài),通過R1經(jīng)TL431到地的電流就很小,接近于0。那么三極管輸出的電流將會增大,輸出電壓也會增加。當AD檢測到輸出電壓超過4.2V時,又會自動調整增加DA的輸出電壓,使TL431導通,從而使三極管的輸出電壓減小。整個充電過程中,單片機會通過AD檢測電池兩端的輸出電壓和充電電流,過大或者過小都會通過控制DA的輸出電壓對電路進行調整,使得輸出的電壓和電流保持在一個相對穩(wěn)定的狀態(tài)。DA的輸出電壓取決于電路中電阻R4的大小。圖2-1 方案一電路圖方案二:電路原理圖如圖2-2所示,此方案用運放構成比較器對電池兩端的電壓進行控制。圖2-2 方案二原理圖電路運行分析:單片機
13、的DA輸出接運放的同相端5,與運放的反相端6進行比較,當電池兩端的電壓過高時,6腳的電壓比5腳高,比較器輸出將三極管的拉低,使電池兩端電壓降低;當電池兩端電壓偏低時,6腳的電壓比5腳低,比較器輸出將復合管抬高,使電池兩端的電壓升高。這樣閉環(huán)控制使電池兩端的電壓維持不變,通過電壓和電流檢測的軟件反饋可以調整DA輸出。方案三:恒流源方案,采用硬件閉環(huán)控制方案。硬件閉環(huán)穩(wěn)流的典型電路如圖2-3所示,根據(jù)集成運算放大器的特性,可計算得:式中為負載電流,R1為取樣電阻,為運算放大器同相端輸入信號。若固定R1,則完全由決定,此時無論VCC或是RL發(fā)生變化,利用反饋環(huán)路的自動調節(jié)作用,都能使保持穩(wěn)定。這樣就
14、可保證恒流源具有良好的線性關系。圖2-3 恒流源產(chǎn)生電路對比三個方案可知,方案三更為合理,并且控制更為簡單,方案三直接通過硬件閉環(huán)控制,使電池兩端的電流恒定。方案二雖然能控制電流平衡,但是對AD的精度要求比較高,這樣就沒有硬件閉環(huán)控制實現(xiàn)恒流的方案好。方案一的TL431相對方案二中的運放來說,最大電壓的范圍就受限制了,所以此方案不是很好。最終選擇方案三。2.2.3系統(tǒng)設計總體框圖系統(tǒng)設計框圖如圖2-4所示。智能充電器采用單片機作為主控芯片,主要包括電源電路、恒流恒壓電路6、鍵盤響應電路以及狀態(tài)顯示電路。圖2-4 系統(tǒng)框圖3. 硬件電路設計3.1總體電路設計根據(jù)圖3-1,設計出如圖所示的硬件電路
15、,完整硬件電路包括以下幾個模塊:系統(tǒng)電源模塊7、以單片機STC12C5A60S2為控制核心的單片機最小系統(tǒng)、恒流恒壓源模塊、按鍵模塊、LED顯示模塊和數(shù)碼管顯示模塊。圖3-1 硬件電路圖3.2硬件功能模塊分析3.2.1單片機最小系統(tǒng)圖3-2單片機最小系統(tǒng)單片機最小系統(tǒng)不僅僅包括核心芯片STC12C5A60S2,還包括復位電路、晶振時鐘電路,單片機最小系統(tǒng)如圖3-2所示。對于單片機的選擇,只要它具備ADC功能和PWM功能,有足夠的I/O口及內部定時器,都可以拿來實現(xiàn)這個方案,我采用的是STC12C5A60S2單片機,該單片機單時鐘/機器周期(1T),有2路PWM8,8路高速10位A/D轉換(25
16、0K/S,即25萬次每秒)等,資源豐富、性價比高,可以和AVR單片機相媲美。3.2.2系統(tǒng)電源模塊圖3-3系統(tǒng)電源模塊如圖3-3所示。系統(tǒng)電源模塊包括給單片機供電模塊,用到芯片LM78059和ICL766010。LM7805是三端穩(wěn)壓芯片,可以給運放提供負電壓。3.2.3恒流恒壓源模塊圖3-4恒流恒壓源模塊如圖3-4所示。該電路是經(jīng)典的串聯(lián)型穩(wěn)壓電路,以穩(wěn)壓管穩(wěn)壓電路為基礎,利用晶體管的電流放大作用,增大負載電流;在電路中引入深度負反饋使輸出電壓穩(wěn)定;并且通過一路PWM對輸出電壓值進行設定,使輸出電壓可調,通過另一路PWM對輸出電流值進行設定,使輸出電流可調。如圖3-4所示,電壓值設定和電流值
17、設定為兩路PWM信號,在PWM信號頻率不變的情況下,通過調節(jié)PWM脈沖占空比,便可改變設定值。對于電池兩端電壓檢測,電池電壓值為電池正極電壓減去負極電壓;對于電流值檢測,由于本方案的采樣電阻為,即使經(jīng)過大電流時,采樣電阻兩端電壓也才,沒有充分利用ADC的轉換精度,不利于電流檢測的準確性,所以必須對采樣電阻兩端的電壓值進行線性放大。3.2.4按鍵模塊圖3-5 按鍵模塊按鍵模塊如圖3-5所示,通過按鍵對最大電壓最大電流進行設置,控制電池的最大充電電流和最大充電電壓。3.2.5數(shù)碼管顯示模塊圖3-6數(shù)碼管顯示電路數(shù)碼管顯示模塊如圖3-6所示。數(shù)碼管顯示充電器的最大充電電壓、最大充電電流、電池的電壓和
18、工作電流。數(shù)碼管驅動直接用IO口驅動,這樣單片機多余的IO口可以利用完全,減少成本。4. 系統(tǒng)軟件設計4.1主程序流程圖主程序流程圖如圖4-1所示,包含兩個部分,一部分為初始化段,另一部分為循環(huán)主體段。在主程序循環(huán)體中,并不是直接執(zhí)行程序,而是去調用一個個任務模塊。每個任務都是一個子函數(shù),這些任務的調度機制為輪詢機制。即:這些子函數(shù)功能的執(zhí)行與否取決于其條件標志是否滿足。比如:當某個子函數(shù)被主程序調用時,會先判斷其執(zhí)行條件是否成立(標志位是否有效),如果有效則執(zhí)行實際功能語句,否則不執(zhí)行任何動作直接返回。為了避免各個任務為了搶占系統(tǒng)CPU資源,造成時間沖突,我采取以下一些措施:根據(jù)任務的輕重緩
19、急分別給予以不同的時間調度。比如LCD顯示2ms掃描一個,8個數(shù)碼管掃描頻率為62Hz,經(jīng)調試掃描頻率太慢了會數(shù)碼管會閃,這個頻率剛好10。PWMD/A調節(jié)和A/D采樣速度不宜太快,我用的是200ms調用一次,因為它會影響到數(shù)碼管刷屏,調節(jié)和采樣太快,數(shù)碼管上的數(shù)值會跳變的厲害。按鍵處理則為10ms調用一次,當按鍵處理中,當首次檢測到按鍵閉合時,本來需要20ms左右的延時時間來進行消除抖動,這里如果用延時程序delay(20ms)來實現(xiàn),則會影響其他任務的執(zhí)行。應該把這個等待時間讓給其他任務程序去執(zhí)行。具體方法是可以先設置個標志后退出,待下次到了20ms再次進入按鍵處理程序,再做一個閉合檢測。
20、一個任務執(zhí)行過程中,不能影響其它任務的執(zhí)行,一旦一個任務執(zhí)行完成,就立刻釋放對CPU的控制權。 圖4-1 主程序流程圖4.2數(shù)碼管顯示模塊將數(shù)碼管各顯示狀態(tài)化分13種狀態(tài),給每個狀態(tài)編號:/工作模式 WK_MODE/WK_MODE=0 充電時,電壓值電流值顯示/WK_MODE=1 設定時,電壓值閃爍,電流值不閃爍/WK_MODE=2 設定時,電流值閃爍,電壓值不閃爍/WK_MODE=3 設定時,電壓值第一位閃爍/WK_MODE=4 設定時,電壓值第二位閃爍/WK_MODE=5 設定時,電壓值第三位閃爍/WK_MODE=6 設定時,電壓值第四位閃爍/WK_MODE=7 設定時,電流值第一位閃爍/
21、WK_MODE=8 設定時,電流值第二位閃爍/WK_MODE=9 設定時,電流值第三位閃爍/WK_MODE=10 設定時,電流值第四位閃爍 /WK_MODE=11 設定時,電壓值電流值顯示/WK_MODE=12 設定時,電壓值電流值顯示4.3定時器模塊/計數(shù)寄存器unsigned char JSQ_2MS;/2ms計數(shù)器unsigned char JSQ_10MS;/10ms計數(shù)器unsigned char JSQ_200MS;/200ms計數(shù)器unsigned char JSQ_500MS;/500ms計數(shù)器/標志位bit JS2MS_F;/計時5ms標志位bit JS10MS_F;/計時1
22、0ms標志位bit JS500MS_F;/計時50ms標志位bit JS200MS_F;/計時200ms標志位 設定系統(tǒng)時鐘任務時基1ms。比如:1ms 到,在中斷服務函數(shù) JSQ_2MS+;/計數(shù)器計數(shù)If(JSQ_2MS>1) /2ms到 JSQ_2MS=0;/計數(shù)器清零 JS2MS_F=1;/計時2ms標志位置1任務模塊通過查詢相應標志位執(zhí)行相應任務,沒到2ms退出釋放CPU控制權;到了2ms進入,獲得CPU使用權;一旦任務執(zhí)行完,立即釋放CPU控制權。這樣CPU工作效率很高。4.4按鍵處理器模塊常見按鍵處理是應該掌握的一項基本功。單擊;短擊+長擊;短擊+連擊。主要目的是通過按鍵對
23、最大電壓值和最大電流值進行設定。相應按鍵按下,執(zhí)行相應功能或者遷移到新的狀態(tài)。sbit Key_Dec=P32;/減鍵,支持短擊+連擊sbit Key_Left=P33;/左移鍵,支持單擊sbit Key_Set=P34;/設定鍵,支持短擊+長擊sbit Key_Right=P35;/右移鍵,支持單擊sbit Key_Add=P36;/加鍵,支持短擊+連擊4.5 ADC采樣和PWM模塊直接調用STC12C5A60S2系列單片機手冊里的現(xiàn)成函數(shù)。4.6充電過程處理模塊充電過程處理模塊如圖4-2所示,空閑狀態(tài),不進行電池充電的功作,主要任務是對電池接入識別,綠燈閃爍。預充狀態(tài),電池以最大設置電流的
24、五分之一充電,充電三分鐘,自動跳轉快充狀態(tài),紅燈亮??斐錉顟B(tài)用PWM方式控制充電電流和電壓,也就是根據(jù)A/D口采樣到的電壓和電流反饋,通過調節(jié)占空比來調節(jié)充電電流和電壓,紅燈亮。恒壓狀態(tài)快充狀態(tài)下,充電電壓大于4.2V時,跳轉到恒壓狀態(tài)。此時給電池4.2V充電,紅燈亮。停充狀態(tài)恒壓狀態(tài)下,I<1/5最大電流時,停止充電,綠燈亮。故障狀態(tài)空閑狀態(tài)下,當電池兩端電壓大于4.2V時,停止充電,紅燈閃爍。預充狀態(tài)三分鐘后,當電池兩端電壓大于4.2V時,停止充電,紅燈閃爍。圖4-2 充電過程處理模塊5. 系統(tǒng)實物調試和效果5.1實物調試和效果焊接好的實物如圖5-1所示。板子打烊回來之后,就開始檢測
25、板子打烊的時候有沒有問題,電源和地有沒有短路,這些都檢查好沒問題之后就開始焊接板子了。開始焊的是最小系統(tǒng),焊好之后,接上下載線,程序能夠下載進去。 圖5-1 焊接完成的實物圖充電之前電池電壓為3.836V,如圖5-2所示。圖5-2 充電之前的電池電壓系統(tǒng)上電如圖5-3所示。圖5-3 系統(tǒng)上電圖充滿電之后電池電壓為4.217V,如圖5-4所示。圖5-4 充滿電之后電池電壓5.2改善措施調試成功,不過還是有不足的地方,就是場效應管的散熱問題,場效應管用的是貼片,貼在PCB板子的背面,當場效應管一直工作在恒流充電的時候就會發(fā)熱,工作一段時間久發(fā)熱很厲害,上面的焊錫在高溫下也就起不了什么作用了,第一塊
26、板子因為發(fā)熱的原因,場效應管移動了,漏極和數(shù)碼管的的一個接單片機P01口的腳碰了一下,此時的漏極電壓為11V左右,P01口燒壞了,用示波器看,使P01=0,此時的波形電壓為3.5V,P01口不能輸出低電平,數(shù)碼管的b段時刻亮著的。最后就重新焊了一塊,沒有換單片機了,第一次焊的時候調試把板子搞得也不像個樣子。電池沒充幾分鐘這個場效管就掉下來了,所以要想成為一個真正的產(chǎn)品,硬件上必須解決的就是散熱問題??梢杂瞄_關電源的原理來解決這個散熱問題。6. 總結與展望本論文描述了鋰離子電池快速充電過程的基本原理,設計了對單節(jié)4.2V鋰離子電池充電的充電器,它能夠快速完成鋰離子電池的充電過程。根據(jù)對鋰離子電池
27、的充放電特性和充電控制方法的分析得出:鋰離子電池充電器常采用三段充電法,即預處理、恒流充電(快充)和恒壓充電(充滿)。開始以設定的恒流充電,鋰離子電池的電壓以較高的斜率增長,在充電過程中斜率逐步降低,充到接近4.2V時,恒流充電階段結束,接著以4.2V恒壓充電。在恒壓階段充電時,電壓幾乎不變(或稍有增加),充電電流不斷下降。當充電速率下降到0.1C時,表示電池已充滿,應終止充電。沒有及時終止的話,此后最明顯的特征是電池溫度升高,發(fā)熱,在整個快充電過程中都應當注意電池的溫度,尤其是過充電時,鋰離子電池溫度過高,會造成過熱而損壞電池或發(fā)生爆炸。在鋰離子電池進入恒壓充電狀態(tài)前,必須適時停止快速充電。
28、為此,設計了此種鋰離子電池快速充電器, 利用快速充電的方法,并在此基礎之上進行電壓、溫度的檢測和控制來保證該充電器能對鋰離子電池進行安全可靠而又快速的充電。本電路具有溫度保護功能,當電池溫度過高時, 即刻停止快速充電,這樣就能避免過充電對鋰離子電池造成的損害.根據(jù)鋰離子電池的充電特性可知,鋰電池或充電器在電池充滿后應當停止充電,并不存在鎳電充電器所謂的持續(xù)10幾小時的“涓流”充電。也就是說,如果你的鋰電池在充滿后,放在充電器上也是白充,反而會造成內壓升高、電池發(fā)熱等現(xiàn)象,而我們誰都無法保證電池的充放電保護電路的特性永不變化和質量的萬無一失,所以電池將長期處在危險的邊緣徘徊。這也是本次設計中當充
29、滿電后自動斷開充電的一個理由。此外,不可忽視的另外一個方面就是鋰電池同樣也不適合過放電,過放電對鋰電池同樣也很不利。目前一些大的廠家生產(chǎn)的手機充電器都具有以下特點:寬范圍AC輸入或多個電壓可選;具備限流保護,電流短路與反充保護線路設計;體積小、重量輕;自動、快速充電,充滿電后自動關斷等等。另外,有的充電器還有自動識別鋰離子、鎳氫、鎳鎘電池組;自動計算電池的已充電量和剩余的充電時間,也可以改變參數(shù)來適應各種不同電池的充電;具有放電功能;LED 或LCD充電狀態(tài)顯示;低噪聲;模擬微電腦控制系統(tǒng)等特點。因此,設計一款真正由微電腦控制單片機控制,且價格低廉的智能控制充電器,成為各廠家努力的方向。7.
30、參考文獻1 周志敏,周紀海,紀愛華.充電器電路設計與應用(第1版)M.北京:人民郵電出版社,2005,10: 5462.2 康華光.電子技術基礎數(shù)字部分(第五版)M.北京:高等教育出版社,2005: 103125.3 楊欣,王玉鳳.電路設計與仿真M.北京:清華大學出版社,2005: 7784.4 李建忠.單片機原理及運用J.西安:西安電子科技大學出版社,2003: 2225.5 何立民.MCS-51系列單片機應用系統(tǒng)設計系統(tǒng)配置與接口技術M.北京:北京航空航天大學出版社,1990.3: 4670.6 譚浩強.C語言程序設計第三版M.北京:清華大學出版社,2005: 5568.7 張家怡.圖像識
31、別的技術現(xiàn)狀和發(fā)展趨勢J.電腦知識與技術,2010,16(21): 6045-6046.8 Gary Bradski Adrian Kaehler,于仕琪,劉瑞被.學習OpenCV(中文版)M.北京:清華大學出版社,2009: 1-14.9 靳艷紅.一種基于Canny算子改進的邊緣檢測算法J.重慶文理學院學報(自然科學版),2011,30(2): 27-30.10 楊碧石,陳兵飛.ICL7660/7662變極性DC-DC變換器的原理與應用J.國外電子元器件,2003.2: 51-52.16致謝論文在選題及研究過程中得到潘言全老師的悉心指導。感謝潘老師給我提供了寶貴的學習機會和良好的科研環(huán)境。感
32、謝潘老師在我做實驗期間及撰寫論文期間給我提供寶貴建議,并為我指點迷津,幫助我開拓思路。潘老師治學嚴謹、實事求是、兢兢業(yè)業(yè),這種做事的態(tài)度讓我終生受益無窮。也感謝給予我?guī)椭钠渌蠋熀秃糜?。我會帶著這份求學精神,帶著老師和同學們寄予我的厚望,好好地把握機會,在以后的生活、工作崗位上發(fā)揮自己最大的優(yōu)勢,實現(xiàn)自己的人生價值。最后,感謝在百忙之中抽出時間為我評閱論文的諸位前輩和專家!附錄:/-/項目:智能電池充電器的設計/說明:1.該項目使用的CPU是STC12C5A60S2,晶振22.1184MHz/ 2.可通過按鍵設置充電最大電壓,充電最大電流/ 3.對于充電過程智能化,無須人為操作,充滿后自動停
33、止充電/ 4.充電器處于空閑狀態(tài)時綠燈閃爍,充電狀態(tài)時紅燈亮,充電停止時綠燈亮/ 用戶可通過燈的顯示狀態(tài),識別充電的過程/-#include"reg51.h"#include"DISPLAY_LCD.h"#include"TIMER.h"#include"KEYSCAN.h"#include"READ_ADC.h"#include"PWM_DAC.h"#include"CHARGE_PRO.h"extern bit JS2MS_F;/計時1ms標志位ext
34、ern bit JS10MS_F;/計時10ms標志位extern bit JS200MS_F;/計時200ms標志位extern unsigned char ch;/A/D通道選擇extern unsigned char Charge_Mode;/充電狀態(tài)extern unsigned char WK_MODE;/設定系統(tǒng)工作模式extern unsigned char PWM0_TEMP = 179,PWM1_TEMP = 127;/PWM脈沖占空比設定/2ms處理程序void DS2MS_CNT(void) if( JS2MS_F )/2ms到 JS2MS_F = 0; /標志位清零 N
35、ew_Display();/待顯示字符串 Display_Lcd();/LCD顯示 /10ms處理程序void DS10MS_CNT(void) if( JS10MS_F )/10ms到 JS10MS_F = 0;/標志位清零 KEYSCAN();/按鍵處理 /200ms處理程序void DS200MS_CNT(void)if( JS200MS_F )/200ms到 JS200MS_F = 0;/標志位清零 ADC_CONTR = ADC_POWER|ADC_SPEEDLL|ADC_START|ch; /啟動A/D采樣 Charge_Pro(); /充電過程處理 PWM_DAC( PWM0_T
36、EMP,PWM1_TEMP ); /PWMD/A調節(jié)/主程序void main(void) Timer0_Init();/定時器初始化 PWM_Init();/PWMD/A初始化 Adc_Init();/A/D采樣初始化 IE |= 0XA0;/開總中斷和開ADC中斷 Charge_Mode = 0;/充電狀態(tài)初始化 WK_MODE = 0;/設定系統(tǒng)工作模式 while(1) DS2MS_CNT();/2ms定時處理 DS10MS_CNT();/10ms定時處理 DS200MS_CNT();/200ms定時處理 /定時器模塊(晶振22.1184MHz,12分頻)#include"T
37、IMER.h"#include"reg51.h"/計數(shù)寄存器unsigned char JSQ_2MS;/2ms計數(shù)器unsigned char JSQ_10MS;/10ms計數(shù)器unsigned char JSQ_500MS;/500ms計數(shù)器unsigned char JSQ_200MS;/200ms計數(shù)器unsigned int JSQ_3MINUTE;/3分鐘計數(shù)器/標志位bit JS2MS_F;/計時5ms標志位bit JS10MS_F;/計時10ms標志位bit JS500MS_F;/計時50ms標志位bit JS200MS_F;/計時200ms標志位
38、bit JS3MINUTE_F;/計時3分鐘標志位bit Flag_S;/閃爍標志位,閃爍頻率2HZbit LED_Flag_S;/LED閃爍標志位,閃爍頻率2HZextern bit Key_Scan_F;/計時10ms標志位/定時器0初始化,設定時基1ms;/定時器1初始化,設定時基20ms(專供預充電定時3分鐘,便于控制)void Timer0_Init(void) TMOD = 0X11;/定時器0和定時器1工作在模式1,16Bit定時器模式 TH0 = 255-CLOCK/TIMER0_PER_SEC/12/256;/時基頻率1000HZ TL0 = 255-CLOCK/TIMER0
39、_PER_SEC/12%256; TR0 = 1;/啟動 ET0 = 1;/允許中斷 TH1 = 255-CLOCK/TIMER1_PER_SEC/12/256;/時基頻率50HZ TL1 = 255-CLOCK/TIMER1_PER_SEC/12%256; TR1 = 0;/不啟動 ET1 = 1;/允許中斷/定時器0溢出中斷服務函數(shù)void Timer0(void)interrupt 1 TH0 = 255-CLOCK/TIMER0_PER_SEC/12/256;/重裝 TL0 = 255-CLOCK/TIMER0_PER_SEC/12%256; JSQ_2MS+; JSQ_10MS+;
40、if( JSQ_2MS>1 )/2ms到 JSQ_2MS = 0; JS2MS_F = 1; if(JSQ_10MS>9)/10ms到 JSQ_10MS=0; JS10MS_F = 1; Key_Scan_F = 1; JSQ_500MS+; JSQ_200MS+; if( JSQ_200MS>19 )/200ms到 JSQ_200MS = 0; JS200MS_F = 1; if( JSQ_500MS>49 )/500ms到 JSQ_500MS = 0; JS500MS_F = 1; Flag_S = Flag_S;/數(shù)碼管閃爍標志位取反 LED_Flag_S = L
41、ED_Flag_S;/LED閃爍標志位取反 /定時器1溢出中斷服務函數(shù)void Timer1(void)interrupt 3 TH1=255-CLOCK/TIMER1_PER_SEC/12/256;/重裝 TL1=255-CLOCK/TIMER1_PER_SEC/12%256; JSQ_3MINUTE+; if(JSQ_3MINUTE>8999)/3分鐘到 JSQ_3MINUTE=0; JS3MINUTE_F=1; /數(shù)碼管顯示模塊/工作模式 WK_MODE/WK_MODE=0 充電時,電壓值電流值顯示/WK_MODE=1 設定時,電壓值閃爍,電流值不閃爍/WK_MODE=2 設定時,
42、電流值閃爍,電壓值不閃爍/WK_MODE=3 設定時,電壓值第一位閃爍/WK_MODE=4 設定時,電壓值第二位閃爍/WK_MODE=5 設定時,電壓值第三位閃爍/WK_MODE=6 設定時,電壓值第四位閃爍/WK_MODE=7 設定時,電流值第一位閃爍/WK_MODE=8 設定時,電流值第二位閃爍/WK_MODE=9 設定時,電流值第三位閃爍/WK_MODE=10 設定時,電流值第四位閃爍/WK_MODE=11 設定時,電壓值電流值顯示/WK_MODE=12 設定時,電壓值電流值顯示#include"reg51.h"#include"DISPLAY_LCD.h&
43、quot;unsigned char table_d = 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10,0xff;/段碼值unsigned char table_w = 0xf7,0xfb,0xfd,0xfe,0x7f,0xbf,0xdf,0xef;/位選值/顯緩區(qū)unsigned char Disp_Queue8;/待顯示字符隊列extern unsigned int MCU_ADC0,MCU_ADC1;/通道0電壓值,通道1電壓值unsi
44、gned int Voltage_Val,Current_Val;/電壓值,電流值extern unsigned int Voltage_Max,Current_Max;/設定最大電壓值,最大電流值char voltage_q,voltage_b,voltage_s,voltage_g;/最大電壓值第一位,第二位,第三位,第四位char current_q,current_b,current_s,current_g;/最大電流值第一位,第二位,第三位,第四位unsigned char WK_MODE;/設定系統(tǒng)工作模式extern bit Flag_S;/閃爍標志位,閃爍頻率500HZexte
45、rn unsigned char PWM0_TEMP,PWM1_TEMP;/反饋數(shù)據(jù)處理void BackData_Pro( unsigned int Voltage_V,unsigned int Current_V )Voltage_Val=(long)(Voltage_V)*5*1000/256-(long)Current_V*5*1000/256/21-70;Current_Val = (float)(Current_V)*5*1000/256.0/2.1;/設定數(shù)據(jù)處理void SetData_Pro( unsigned int voltage_set,unsigned int cur
46、rent_set ) voltage_q = voltage_set/1000; voltage_b = voltage_set%1000/100; voltage_s = voltage_set%100/10; voltage_g = voltage_set%10; current_q = current_set/1000; current_b = current_set%1000/100; current_s = current_set%100/10; current_g = current_set%10;/刷新待顯示字符串void New_Display(void) BackData_P
47、ro( MCU_ADC0,MCU_ADC1 ); SetData_Pro( Voltage_Max,Current_Max ); switch( WK_MODE ) case 0:/充電時,電壓值電流值顯示 Disp_Queue0 = Voltage_Val/1000+10 ; Disp_Queue1 = Voltage_Val%1000/100 ; Disp_Queue2 = Voltage_Val%100/10; Disp_Queue3 = Voltage_Val%10; Disp_Queue4 = Current_Val/1000+10; Disp_Queue5 = Current_Va
48、l%1000/100 ; Disp_Queue6 = Current_Val%100/10; Disp_Queue7 = Current_Val%10; break;case 1:/設定時,電壓值閃爍,電流值不閃爍 if( Flag_S )/滅 Disp_Queue0 = 20; Disp_Queue1 = 20; Disp_Queue2 = 20; Disp_Queue3 = 20; else /亮 Disp_Queue0 = voltage_q+10; Disp_Queue1 = voltage_b; Disp_Queue2 = voltage_s; Disp_Queue3 = volta
49、ge_g; Disp_Queue4 = current_q+10; Disp_Queue5 = current_b; Disp_Queue6 = current_s; Disp_Queue7 = current_g; break; case 2: /設定時,電流值閃爍,電壓值不閃爍 if( Flag_S ) Disp_Queue4 = 20; Disp_Queue5 = 20; Disp_Queue6 = 20; Disp_Queue7 = 20; else Disp_Queue4 = current_q+10; Disp_Queue5 = current_b; Disp_Queue6 = c
50、urrent_s; Disp_Queue7 = current_g; Disp_Queue0 = voltage_q+10; Disp_Queue1 = voltage_b; Disp_Queue2 = voltage_s; Disp_Queue3 = voltage_g; break; case 3:/設定時,電壓值第一位閃爍 if( Flag_S ) Disp_Queue0 = 20; else Disp_Queue0 = voltage_q+10; Disp_Queue1 = voltage_b; Disp_Queue2 = voltage_s; Disp_Queue3 = voltage_g; Disp_Queue4 = current_q+10; Disp_Queue5 = current_b; Disp_Queue6 = current_s; Disp_Queue7 = current_g; break; case 4:/設定時,電壓值第二位閃爍 if( Flag_S )
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年能源管理與企業(yè)節(jié)能策略
- 第2單元雙休必讀經(jīng)典書
- 2026年劇本殺運營公司質量問題整改管理制度
- 2026年劇本殺運營公司員工跨部門培訓管理制度
- 生成式人工智能在初中歷史課堂個性化教學中的應用探討教學研究課題報告
- 高中生對基因編輯技術科學證據(jù)的批判性思維訓練課題報告教學研究課題報告
- 護理部護理工作信息化建設匯報
- 健全消防安全制度
- 體育消費券制度
- 會員管理制度
- HG/T 3809-2023 工業(yè)溴化鈉 (正式版)
- 220kv輸變電工程項目實施方案
- 中國近代學前教育
- 海上風電機組基礎結構-第三章課件
- 家庭教育講師培訓方法研究
- 《英語面試指南》招聘求職必備手冊
- DB12-T 601-2022 城市軌道交通運營服務規(guī)范
- 白油化學品安全技術說明書
- 砼澆筑工程技術交底
- 重慶園林工程師園林理論
- CTM-DI(B)磁力儀使用說明書
評論
0/150
提交評論