太陽能光伏存儲(chǔ)技術(shù)研究——工作總結(jié)
畢業(yè)設(shè)計(jì)工作總結(jié)表6
工作任務(wù)完成情況(包括任務(wù)書中規(guī)定的工作內(nèi)容、研究目標(biāo)等,如未能完成須說明原因):在李田澤教授的精心指導(dǎo)下,經(jīng)過一個(gè)學(xué)期的時(shí)間,我上網(wǎng)搜集資料、查閱了大量的相關(guān)書籍、請(qǐng)教老師和同學(xué),確定了研究內(nèi)容并按照任務(wù)書要求完成了相關(guān)的工作,依據(jù)。本文針對(duì)光伏電池轉(zhuǎn)化效率低以及并網(wǎng)逆變系統(tǒng)存在的孤島效應(yīng)對(duì)并網(wǎng)光伏發(fā)電系統(tǒng)進(jìn)行了研究,主要工作如下:基于光伏陣列單元等效電路模型,分析了太陽能電池輸出特性與太陽光照強(qiáng)度、環(huán)境溫度之間的關(guān)系;在分析太陽能電池輸出特性的基礎(chǔ)上,采用多鏡面組成的拋物面聚光器提高光伏電池的轉(zhuǎn)化效率,并給出了該聚光器的設(shè)計(jì)理論與相關(guān)計(jì)算;在了解光伏逆變器基本知識(shí)的基礎(chǔ)上分析了光伏并網(wǎng)逆變電路工作原理,闡述了孤島狀態(tài)的定義,并介紹了對(duì)孤島狀態(tài)檢測(cè)方法的要求,在此基礎(chǔ)上,對(duì)目前常用的逆變系統(tǒng)孤島檢測(cè)方法進(jìn)行了分析比較,針對(duì)有功干擾法在孤島中存在多個(gè)光伏并網(wǎng)系統(tǒng)并聯(lián)供電時(shí)的失效問題,提出了一種基于正反饋有功干擾的孤島檢測(cè)方法。由于本人的水平有限、閱歷尚淺,設(shè)計(jì)中很多地方都不盡完美,但總的來說,在老師的幫助下基本完成了各項(xiàng)任務(wù)并撰寫了畢業(yè)設(shè)計(jì)論文。在這里衷心的對(duì)李田澤老師表示感謝!主要?jiǎng)?chuàng)新點(diǎn):本論文的創(chuàng)新點(diǎn)是針對(duì)有功干擾法在孤島中存在多個(gè)光伏并網(wǎng)系統(tǒng)并聯(lián)供電時(shí)的失效問題,提出了一種基于正反饋有功干擾的孤島檢測(cè)方法,加入正反饋環(huán)節(jié)后,該方法對(duì)孤島中存在多個(gè)光伏并網(wǎng)的情況也具有一定的適用性。該檢測(cè)方法控制簡(jiǎn)單,對(duì)傳感器精度要求不高,在光伏并網(wǎng)逆變器中實(shí)現(xiàn)不需額外的硬件成本。
工作狀況(包括工作態(tài)度、刻苦精神、協(xié)作精神、個(gè)人精力投入、出勤等情況):拿到任務(wù)書后兩周內(nèi),首先通過網(wǎng)上、實(shí)驗(yàn)室、圖書館等查閱各種資料,包括設(shè)計(jì)所需要的材料、外文文獻(xiàn)和翻譯資料,與指導(dǎo)老師交流,確定設(shè)計(jì)方案,再將這些資料整理并加以融合,在此基礎(chǔ)上根據(jù)設(shè)計(jì)任務(wù)書的具體指標(biāo)稍作修改,基本上滿足本次設(shè)計(jì)的要求。在設(shè)計(jì)過程中,我深知自己所學(xué)知識(shí)有限,積極與其他同學(xué)及老師請(qǐng)教遇到的問題,正是由于老師的精心解答,同學(xué)的熱心幫助,我才如期完成畢業(yè)設(shè)計(jì)。對(duì)每次老師集中指導(dǎo)我都非常重視,按時(shí)出勤,認(rèn)真聽取老師的指導(dǎo),及時(shí)和老師交流設(shè)計(jì)心得,報(bào)告設(shè)計(jì)進(jìn)度。收獲、體會(huì)及建議:一個(gè)學(xué)期緊張而充實(shí)的畢業(yè)設(shè)計(jì)工作,我受益匪淺。通過本次設(shè)計(jì),我鞏固了所學(xué)專業(yè)知識(shí),拓展了自己的知識(shí)結(jié)構(gòu),學(xué)到了許多新的技術(shù)。通過老師的悉心指導(dǎo),我不僅將自己所學(xué)的知識(shí)在實(shí)踐中得以運(yùn)用,加強(qiáng)了對(duì)知識(shí)的理解、運(yùn)用能力,而且接觸了很多新觀念、新方法,拓寬了知識(shí)面,為將來的工作打下良好的基礎(chǔ)。本次畢業(yè)設(shè)計(jì),培養(yǎng)了我嚴(yán)謹(jǐn)認(rèn)真的態(tài)度和獨(dú)立解決分析問題的能力,自我約束能力也進(jìn)一步增強(qiáng)。在漫長的設(shè)計(jì)過程中我克服了浮躁心理,踏踏實(shí)實(shí)用心做好每一步設(shè)計(jì)。同時(shí),我還認(rèn)識(shí)到了和他人的協(xié)作對(duì)于一個(gè)人的成功是多么的重要,在與同學(xué)的交流協(xié)作中,我也學(xué)到了很多為人處事的方法,使得自己的交際能力有了很大的提高。本文是在導(dǎo)師李田澤教授的悉心指導(dǎo)下完成的。他淵博的知識(shí),嚴(yán)謹(jǐn)?shù)闹螌W(xué)態(tài)度,鞭策我不斷努力探索;他敏銳的洞察力和孜孜不倦的教誨使我受益終身,無論是現(xiàn)在還是將來,都將激勵(lì)我奮發(fā)向上。學(xué)生簽字:201*年6月12日
擴(kuò)展閱讀:太陽能光伏存儲(chǔ)技術(shù)的研究——畢業(yè)論文
畢業(yè)設(shè)計(jì)說明書
太陽能光伏儲(chǔ)存技術(shù)研究
學(xué)院:電氣與電子工程學(xué)院專業(yè):電子信息科學(xué)與技術(shù)姓名:學(xué)號(hào):指導(dǎo)教師:
201*年6月
摘要
摘要
目前,太陽能能源在生活中的利用越來越頻繁,如何更好儲(chǔ)存太陽能就成為利用太陽能的一個(gè)重要環(huán)節(jié),而蓄電池正是太陽能儲(chǔ)存的重要器件。面對(duì)目前許多蓄電池充放電控制不合理和保護(hù)不夠充分等情況,本文設(shè)計(jì)了一套太陽能充電控制器,控制蓄電池的充放電,從而達(dá)到更有效的存儲(chǔ)太陽能。
在總體方案的指導(dǎo)下,本設(shè)計(jì)使用低功耗、高性能、超強(qiáng)抗干擾的STC89C52單片機(jī)作為核心器件進(jìn)行控制。系統(tǒng)硬件電路由太陽能電池充放電電路,電壓采集和顯示電路,單片機(jī)控制電路和RS232串口通信電路組成,主要實(shí)現(xiàn)對(duì)蓄電池電壓的采集和顯示。軟件部分依據(jù)PWM(PulseWidthModulation)脈寬調(diào)制控制策略,編制程序使單片機(jī)輸出PWM控制信號(hào),通過控制光電耦合器通斷進(jìn)而控制MOSFET管開啟和關(guān)閉,達(dá)到控制蓄電池充放電的目的,同時(shí)按照功能要求實(shí)現(xiàn)了對(duì)蓄電池過充、過放保護(hù)和短路保護(hù)。
實(shí)驗(yàn)表明,該控制器性能優(yōu)良,可靠性高,可以時(shí)刻監(jiān)視太陽能電池板和蓄電池狀態(tài),實(shí)現(xiàn)控制蓄電池最優(yōu)充放電,既能達(dá)到延長蓄電池使用壽命,也能夠更好的對(duì)太陽能進(jìn)行存儲(chǔ)。
關(guān)鍵詞:充電控制器;太陽能儲(chǔ)存;PWM脈寬調(diào)制;
IAbstract
Abstract
Atpresent,thesolarenergyutilizationinthelifeofpeoplemoreandmorefrequent,howtostoresolarenergyhasbecomeanimportantpartofthat,andthestoragebatteryisanimportantcomponentofsolarenergystorage.Inthefaceofmanyofthecurrentbatterychargeanddischargecontrolunreasonableandinadequateprotection,thispaperdesignsasolarchargecontroller,batterychargeanddischargecontrol,soastoachievethestorageofsolarenergymoreeffectively.
Undertheguidanceoftheoverallprogram,thedesignoflowpowerconsumption,highperformance,stronganti-interferenceofSTC89C52microcontrollerasthecoredevicecontrol.Thesystemhardwarecircuitbythecircuitofcharginganddischargingsolarbattery,voltageacquisitionanddisplaycircuit,SCMcontrolcircuitandRS232serialcommunicationcircuit,mainlyrealizestheacquisitionanddisplayofthebatteryvoltage.ThesoftwarepartbasedonPWM(PulseWidthModulation)pulsewidthmodulationcontrolstrategy,programmingthemicrocontrolleroutputPWMcontrolsignal,throughthecontrolofphotoelectriccoupleron-offandcontrolofMOSFETopeningandclosing,tocontrolthebatterycharginganddischargingoftheobjective,atthesametime,accordingtothefunctionalrequirementsoftherealizationofthebatteryovercharge,overdischargeprotectionandshortcircuitprotection.
Experimentsshowthat,thecontrollerhasexcellentperformance,highreliability,canconstantlymonitorthesolarpanelsandthestateofthebattery,batterychargeanddischargecontroloptimal,toprolongtheservicelifeofstoragebatteryatthesametime,alsocanbetterforstorageofsolarenergy.
Keywords:solarchargecontroller;storage;PWMpulsewidthmodulation;
II目錄
目錄
摘要..............................................................IAbstract..........................................................Ⅱ目錄.............................................................Ⅲ第一章緒論........................................................1
1.1太陽能儲(chǔ)存現(xiàn)狀.............................................11.2課題研究背景和意義.........................................11.3主要設(shè)計(jì)內(nèi)容...............................................3第二章太陽能儲(chǔ)存的總體設(shè)計(jì)方案...................................42.1太陽能儲(chǔ)存的控制策略.......................................42.1.1太陽能電池.............................................42.1.2蓄電池.................................................42.1.3控制策略..............................................72.2總體設(shè)計(jì)方案...............................................7第三章系統(tǒng)硬件電路設(shè)計(jì)...........................................93.1單片機(jī)最小系統(tǒng).............................................9
3.1.1STC89C52的簡(jiǎn)介......................................93.1.2單片機(jī)的最小系統(tǒng)及擴(kuò)展電路..........................113.2充放電電路................................................133.3光耦驅(qū)動(dòng)電路..............................................143.4A/D轉(zhuǎn)換電路..............................................15
3.4.1ADC0804的簡(jiǎn)介......................................153.4.2ADC0804外圍接線電路...............................173.5LCD顯示電路..............................................183.6E2PROM數(shù)據(jù)存儲(chǔ)電路.......................................203.7串口通信電路..............................................213.8系統(tǒng)總機(jī)電路圖............................................24第四章系統(tǒng)軟件設(shè)計(jì)..............................................244.1系統(tǒng)主程序設(shè)計(jì)............................................244.2電壓采集轉(zhuǎn)換模塊..........................................25
4.2.1ADC804時(shí)序圖.......................................254.2.2A/D轉(zhuǎn)換子程序......................................254.3顯示模塊..................................................26
4.3.11602液晶寫操作時(shí)序圖...............................264.3.2電壓顯示流程圖......................................274.4數(shù)據(jù)存儲(chǔ)模塊..............................................28
III
目錄
24.4.1IC總線模擬時(shí)序圖.................................28
4.4.2數(shù)據(jù)存儲(chǔ)流程圖......................................304.5軟件調(diào)試和仿真............................................30結(jié)論...........................................................33參考文獻(xiàn).........................................................34致謝...........................................................36附錄Ⅰ系統(tǒng)程序..................................................37附錄Ⅱ總機(jī)電路圖................................................51
IV第一章緒論
第一章緒論
1.1太陽能儲(chǔ)存現(xiàn)況
太陽能作為新能源有著巨大的優(yōu)勢(shì),所以世界各國都在努力研發(fā)新技術(shù),比較成熟的是太陽能光伏發(fā)電技術(shù)。太陽能光伏發(fā)電現(xiàn)已成為新能源和可再生能源的重要組成部分,也被認(rèn)為是當(dāng)前世界最有發(fā)展前景的新能源技術(shù)。目前太陽能光伏發(fā)電裝置已廣泛應(yīng)用于通訊,交通,電力等各個(gè)方面。
在進(jìn)行太陽能光伏發(fā)電時(shí),由于一般太陽能極板輸出電壓不穩(wěn)定,不能直接將太陽能極板應(yīng)用于負(fù)載,需要將太陽能轉(zhuǎn)變?yōu)殡娔芎蟠鎯?chǔ)到一定的儲(chǔ)能設(shè)備中,如鉛酸蓄電池。但只有當(dāng)太陽能光伏發(fā)電系統(tǒng)工作過程中保持蓄電池沒有過充電,也沒有過放電,才能使蓄電池的使用壽命延長,效率也得以提高,因此必須對(duì)工作過程加以研究分析而予以控制,這種情況下太陽能充電控制器應(yīng)運(yùn)而生。
1.2課題研究背景和意義
能源資源是國民經(jīng)濟(jì)發(fā)展的重要基礎(chǔ)之一,隨著人民生活水平的不斷提高和科學(xué)技術(shù)的迅速發(fā)展,能源的缺口增大,能源問題作為困擾人類長期穩(wěn)定發(fā)展的一大因素?cái)[在了人們面前。伴隨著世界能源危機(jī)的日益嚴(yán)重,石油價(jià)格不斷上漲,利用常規(guī)能源已經(jīng)不能適應(yīng)世界經(jīng)濟(jì)快速增長的需要,如何解決能源問題,是每個(gè)國家都必須面臨的問題。同時(shí),以煤、石油作為燃料在燃燒過程中產(chǎn)生的有害物質(zhì)已經(jīng)開始造成全球變暖,即“溫室效應(yīng)",人類的生活將會(huì)由此受到很大的威脅。這些難題迫使政府和社會(huì)在發(fā)展常規(guī)能源的同時(shí)必須加大對(duì)新能源的開發(fā)和利用。
新能源包括水能、風(fēng)能、太陽能等。雖然風(fēng)能或水能等更加便宜,但是大多數(shù)的自家用戶卻都不可能找到適當(dāng)場(chǎng)合進(jìn)行架設(shè),架設(shè)成本較高。而太陽能則不同,任何自家用戶只要找到一個(gè)有陽光照射到的窗戶都可以裝置太陽能極板作輔助能源,幾百元投資便可以架設(shè)。所以綜合考慮,太陽能無疑是符合我
-1-
第一章緒論
國可持續(xù)發(fā)展戰(zhàn)略的理想綠色能源,全球能源專家也認(rèn)為,太陽能將成為21世紀(jì)最重要也最有前景的能源之一。
而且太陽輻射能與煤炭、石油等常規(guī)能源相比較,更有如下的優(yōu)點(diǎn):(1)普遍性。
地球上處處都有太陽能,不需要到處去尋找,去運(yùn)輸,容易獲取。(2)無害性。
利用太陽能作為能源,沒有廢渣,廢料,廢氣,廢水的排放,沒有噪聲,不會(huì)污染環(huán)境,沒有公害,清潔干凈。
(3)長久性。
只要有太陽,就有太陽能,因此太陽能可以說是取之不盡,用之不竭。(4)巨大性。
一年內(nèi)到達(dá)地面的太陽輻射能總量要比現(xiàn)在地球上消耗的各種能量的總和大幾萬倍。
我國幅員遼闊,有著十分豐富的太陽能資源。全國各地的年太陽輻射總量3340.8400MJ/m2,中值為5852MJ/m2。年日照時(shí)數(shù)在2200小時(shí)以上的地區(qū)約占國土面積的2/3以上。我國的西部地區(qū),包括西藏、新疆、青海、內(nèi)蒙古等省,年日照時(shí)間長,這些地區(qū)面積寬廣、人口密集低,在一些偏僻的地區(qū)傳統(tǒng)的供電設(shè)施建設(shè)成本高,電能的供需矛盾顯得十分突出,因此當(dāng)?shù)卣浞掷锰柲馨l(fā)電解決無電地區(qū)的用電具有重大的戰(zhàn)略意義。為了更高效的利用太陽能,白天可將太陽能轉(zhuǎn)化為電能,利用蓄電池將電能儲(chǔ)存起來,需要用電時(shí)即可由蓄電池供電。
總體看來我國太陽能資源比較豐富,因此充分利用豐富的太陽能資源,采用太陽能光伏發(fā)電技術(shù),可以節(jié)約能源,發(fā)展經(jīng)濟(jì),提高人民生活水平。
-2-
第一章緒論
1.3主要設(shè)計(jì)內(nèi)容
本設(shè)計(jì)研究確定了一種基于STC單片機(jī)的太陽能充電控制器的方案,在太陽能對(duì)蓄電池的充電方式、控制器的功能要求和電路保護(hù)方面做了分析,完成了系統(tǒng)硬件電路設(shè)計(jì)和軟件編程,實(shí)現(xiàn)了對(duì)蓄電池的科學(xué)管理。這里以充/放電最大電流10A,額定電壓12V控制器系統(tǒng)為例,其實(shí)現(xiàn)的主要功能如下。
(1)要能自動(dòng)檢測(cè)太陽能電池板電壓是否高于蓄電池電壓,若高于蓄電池電壓,則可開啟充電;若低于蓄電池電壓,則不能開啟充電,否則蓄電池電流會(huì)反向流向太陽能電池板而造成點(diǎn)亮損耗。
(2)當(dāng)蓄電池電壓低于10.8V時(shí),自動(dòng)關(guān)斷負(fù)載(欠壓關(guān)斷),同時(shí)有報(bào)警功能;
(3)當(dāng)蓄電池電壓高于14.5V,自動(dòng)關(guān)斷負(fù)載(過壓關(guān)斷)和充電電路,同時(shí)有報(bào)警功能。
(4)當(dāng)蓄電池處于浮充充電狀態(tài)時(shí)電壓值控制在13.5V左右。
(5)當(dāng)用戶將太陽能電池板接反至控制器時(shí),具有保護(hù)控制器不被毀壞的功能;
(6)當(dāng)用戶將蓄電池接反至控制器時(shí),要有報(bào)警功能,并且具有保護(hù)控制器不被毀壞的功能。
-3-
第二章太陽能儲(chǔ)存的總體設(shè)計(jì)方案
第二章太陽能儲(chǔ)存的總體設(shè)計(jì)方案
2.1太陽能儲(chǔ)存的控制策略
2.1.1太陽能電池板
如圖2-1所示,太陽能電池板是利用半導(dǎo)體光伏效應(yīng)制成的,能夠直接將太陽輻射轉(zhuǎn)換成電能的器件。具有很強(qiáng)的光伏效應(yīng)半導(dǎo)體材料,當(dāng)吸收一定能量的光子后其內(nèi)部導(dǎo)電的載流子電子和空穴分布和濃度發(fā)生變化。光照在半導(dǎo)體P/N結(jié)上,就會(huì)在其兩端產(chǎn)生光生電壓,當(dāng)外部接通電路時(shí),在該電壓的作用下,將會(huì)有電流流過外部電路產(chǎn)生一定的輸出功率。在這個(gè)過程中,光電池本身不發(fā)生任何化學(xué)反應(yīng),也沒有轉(zhuǎn)動(dòng)磨損,因此使用太陽能電池的過程中沒有噪聲,沒有環(huán)境污染,這是其他方式發(fā)電所不能比擬的。
圖2-1太陽能電池產(chǎn)生光伏效應(yīng)
2.1.2蓄電池
(1)蓄電池工作原理
太陽能充電控制器最主要的功能是控制太陽能極板對(duì)蓄電池的充電,蓄電池的性能和充放電的方式有很大的關(guān)系,所以在設(shè)計(jì)控制器之前需要對(duì)蓄電池的原理、充放電過程做一個(gè)分析。
一般鉛酸蓄電池是由正極板、負(fù)極板、隔板、電池槽、電解液和接線端子等部分組成,極板主要有鉛制成,電解液是硫酸溶液。依據(jù)化學(xué)基礎(chǔ)理論:鉛酸蓄電池釋放化學(xué)能的過程(放電過程)是負(fù)極進(jìn)行氧化,正極進(jìn)行還原的過程;
-4-
第二章太陽能儲(chǔ)存的總體設(shè)計(jì)方案
電池補(bǔ)充化學(xué)能的過程(充電過程)是負(fù)極進(jìn)行還原,正極進(jìn)行氧化的過程。分析可知,蓄電池的充電過程和放電過程是可逆的。實(shí)際上,蓄電池最重要的指標(biāo)就是電解液中硫酸根的濃度,因此可以用電池中硫酸溶液的密度(比重)來衡量電池充放電的程度。
(2)蓄電池在光伏發(fā)電系統(tǒng)中的作用
在獨(dú)立的太陽能光伏發(fā)電系統(tǒng)中,蓄電池是整個(gè)系統(tǒng)的重要組成部分,是對(duì)整個(gè)系統(tǒng)性能可靠性影響比較大的部分。在光伏發(fā)電系統(tǒng)中,蓄電池的主要作用有:儲(chǔ)存能量、對(duì)太陽能極板的工作電壓的進(jìn)行鉗位、給負(fù)載提供啟動(dòng)電流等。蓄電池的存在,可以解決太陽能產(chǎn)生電能和負(fù)載用電時(shí)間不一致不同步的問題,太陽能極板和負(fù)載兩者之間電壓不匹配的問題等。(3)蓄電池常規(guī)充放電方式
目前,市場(chǎng)上常規(guī)的蓄電池充電法包括三種:恒流充電法、階段充電法和恒壓充電法。
恒流充電法:是通過保持充電電流強(qiáng)度不變進(jìn)行充電的方法。這種充電控制方法簡(jiǎn)單,但由于電池的可接受電流能力是隨著充電過程的進(jìn)行而逐漸下降的,到充電后期,充電電流多用于電解水,產(chǎn)生氣體,使出氣過多,影響蓄電池的使用壽命。
階段充電法:這種充電方法包括二階段充電法和三階段充電法。二階段充電法是先用恒定電流充電至預(yù)定的電壓值,然后改為恒定電壓完成剩余的充電,一般兩階段之間的轉(zhuǎn)換電壓就是第二階段的恒電壓;三階段充電法是指在充電開始和結(jié)束時(shí)采用恒定的電流充電,中間用恒定的電壓進(jìn)行充電。階段充電法這種方法雖然可以將出氣量減到最少,但作為一種快速充電方法使用,實(shí)際應(yīng)用中受到一定的限制。
恒壓充電法:恒壓充電時(shí)要嚴(yán)格掌握充電電壓,電壓在全部充電時(shí)間里保持恒定的數(shù)值,充電電壓過低,蓄電池會(huì)充不滿,過高則會(huì)造成過量充電。由于充電初期蓄電池電動(dòng)勢(shì)較低,充電電流很大,隨著充電的進(jìn)行,電流將逐漸減少。這種充電方法在充電初期電流過大,對(duì)蓄電池壽命造成很大影響,且容
-5-
第二章太陽能儲(chǔ)存的總體設(shè)計(jì)方案
易使蓄電池極板彎曲,將會(huì)影響蓄電池的使用。
改進(jìn)的充放電方式:針對(duì)目前市場(chǎng)上控制器的主要問題是由于對(duì)于蓄電池的保護(hù)不夠充分,不合適的充電方式容易導(dǎo)致蓄電池的損壞,同時(shí)通過對(duì)蓄電池的工作原理和對(duì)影響蓄電池使用壽命因素的分析,本論文提出了PWM(PulseWidthModulation)脈寬調(diào)制充電方法。PWM是利用微處理器的數(shù)字輸出來對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。這種充電法不僅遵循蓄電池固有的充電接受率,而且能夠提高蓄電池充電接受率,這也是蓄電池充電理論的進(jìn)一步發(fā)展。
PWM脈沖調(diào)制充電方式首先對(duì)電池充電一段時(shí)間,然后讓電池停止充電一段時(shí)間,如此循環(huán)往復(fù)。充電脈沖使蓄電池充滿電量,而間歇期使蓄電池經(jīng)化學(xué)反應(yīng)產(chǎn)生的氧氣和氫氣有時(shí)間重新化合而被吸收掉,從而減輕了蓄電池的內(nèi)壓,使下一輪的充電能夠更加順利地進(jìn)行,使蓄電池可以吸收更多的電量。PWM調(diào)制充電方式使蓄電池有較充分的反應(yīng)時(shí)間,減少了析氣量,提高了蓄電池的充電效率。脈寬調(diào)制方式是指在固定時(shí)鐘頻率下,通過調(diào)節(jié)開關(guān)的通斷時(shí)間來控制信號(hào)的占空比,從而實(shí)現(xiàn)對(duì)輸出電壓的調(diào)整。實(shí)際也就是以一直流電壓經(jīng)過以一定頻率打開與閉合開關(guān)的控制來改變電壓。輸出電壓波形如圖2-2所示。
針對(duì)目前市場(chǎng)上的太陽能充電控制器當(dāng)蓄電池給負(fù)載供電時(shí),沒有時(shí)刻檢測(cè)蓄電池的電壓,很容易導(dǎo)致蓄電池的深度放電這個(gè)問題,本論文提出時(shí)刻在線檢測(cè)蓄電池電壓來避免蓄電池發(fā)生過放現(xiàn)象,保護(hù)蓄電池,提高其使用壽命。
作為光伏發(fā)電系統(tǒng)中的關(guān)鍵部件,蓄電池的壽命短是阻礙整個(gè)光伏發(fā)電系統(tǒng)性能和推廣的主要原因之一。根據(jù)蓄電池的工作原理,結(jié)合實(shí)際應(yīng)用情況,在光伏發(fā)電系統(tǒng)中,影響鉛酸蓄電池壽命的主要因素有:充電電壓的設(shè)置、過放控制點(diǎn)的設(shè)置、溫度、運(yùn)行環(huán)境等。依據(jù)這些影響因素,分析蓄電池常見充放電方式局限性,對(duì)充放電方式進(jìn)行了一定的改進(jìn)。
-6-
第二章太陽能儲(chǔ)存的總體設(shè)計(jì)方案
電壓U0tT時(shí)間
圖2-2輸出電壓波形
2.1.3控制策略
一般太陽能極板輸出電壓的不穩(wěn)定,不能直接應(yīng)用于負(fù)載,需要將太陽能轉(zhuǎn)變?yōu)殡娔芎蟠鎯?chǔ)到儲(chǔ)能設(shè)備如蓄電池中,而控制器在這個(gè)過程中起著樞紐作用,其性能的好壞將會(huì)直接影響實(shí)際應(yīng)用的使用效果?刂破骺刂铺柲軜O板對(duì)蓄電池的充電,為了延長蓄電池的使用壽命,必須對(duì)它的充放電條件加以限制,防止蓄電池過充電及深度充電?刂破魍瑫r(shí)負(fù)責(zé)蓄電池是否對(duì)負(fù)載供電,當(dāng)蓄電池的電壓在正常范圍內(nèi)時(shí),控制器控制開關(guān)接通,蓄電池給負(fù)載供電;當(dāng)蓄電池的電壓處于欠壓或是過放狀態(tài)時(shí),控制器控制開關(guān)截止,蓄電池停止對(duì)負(fù)載的供電,在這個(gè)過程中控制器起著至關(guān)重要的作用,保護(hù)負(fù)載和蓄電池。
2.2總體設(shè)計(jì)方案
通過以上對(duì)各種分析,明確太陽能充電控制器的重要性和作用,依照應(yīng)該具有的功能,制訂出控制策略,最后確定了整體設(shè)計(jì)方案。
本系統(tǒng)以STC89C52單片機(jī)為主控芯片,利用分壓電路對(duì)蓄電池的電壓、進(jìn)行采樣,然后經(jīng)過A/D轉(zhuǎn)換將檢測(cè)電壓數(shù)據(jù)輸入到單片機(jī)中進(jìn)行處理,通過液晶芯片把電壓值顯示出來方便調(diào)整。單片機(jī)在軟件程序的控制下輸出PWM控制信號(hào),經(jīng)光耦驅(qū)動(dòng)MOSFET管開啟與關(guān)閉來控制充放電電路。該系統(tǒng)可以實(shí)現(xiàn)控制蓄電池的最優(yōu)充放電,有效的延長蓄電池的壽命。系統(tǒng)整體結(jié)構(gòu)框圖如圖2-3所示。
-7-
第二章太陽能儲(chǔ)存的總體設(shè)計(jì)方案
太陽能電池板充電電路光耦驅(qū)動(dòng)電路液晶1602電壓顯示電路鉛酸蓄電池A/D轉(zhuǎn)換電路主控芯片STC89C52單片機(jī)AT24C02數(shù)據(jù)存儲(chǔ)電路負(fù)載放電電路光耦驅(qū)動(dòng)電路RS232串口通信電路圖2-3系統(tǒng)整體結(jié)構(gòu)框圖
以上通過對(duì)太陽能電池、被控對(duì)象蓄電池的分析,結(jié)合硬件資源和軟件控制策略,進(jìn)行了硬件電路設(shè)計(jì)和軟件編程設(shè)計(jì),最終確定整體設(shè)計(jì)方案。整體方案設(shè)計(jì),講述了光伏發(fā)電技術(shù)中控制器和蓄電池的作用,控制器主要負(fù)責(zé)控制太陽能極板對(duì)蓄電池的充電以及控制蓄電池對(duì)負(fù)載的供電。由于不合適的充放電方式會(huì)導(dǎo)致蓄電池的損壞,縮短蓄電池的使用壽命,本論文提出了PWM脈寬調(diào)制充電方法,這種充電方法能夠使蓄電池有較充分的反應(yīng)時(shí)間,與以前的充電方式相比,提高了蓄電池的充電效率。同時(shí)提出了時(shí)刻在線檢測(cè)蓄電池電壓的放電控制方法,避免蓄電池發(fā)生過放現(xiàn)象,保護(hù)蓄電池。各個(gè)部分的控制功能通過對(duì)單片機(jī)進(jìn)行軟件編程來實(shí)現(xiàn)。。
-8-
第三章系統(tǒng)硬件電路設(shè)計(jì)
第三章系統(tǒng)硬件電路設(shè)計(jì)
在整體方案的指導(dǎo)下,依據(jù)工程設(shè)計(jì)的常見思路,本論文從硬件電路設(shè)計(jì)和軟件設(shè)計(jì)兩個(gè)方面入手,運(yùn)用模塊化的設(shè)計(jì)方法去進(jìn)行控制器的設(shè)計(jì)。
硬件電路主要由以下幾部分組成:?jiǎn)纹瑱C(jī)最小系統(tǒng)、充放電電路、光耦驅(qū)動(dòng)電路、A/D轉(zhuǎn)換電路、LCD顯示電路、E2PROM數(shù)據(jù)存儲(chǔ)電路、串口通信電路等。下面先從系統(tǒng)層次原理圖入手,對(duì)系統(tǒng)原理進(jìn)行詳細(xì)的分析,然后再對(duì)具體電路地進(jìn)行一一介紹。
3.1單片機(jī)最小系統(tǒng)
3.1.1STC89C52的簡(jiǎn)介
STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲(chǔ)器。使用STC公司高密度非易失性高加密性存儲(chǔ)器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。在芯片內(nèi)部,擁有很高頻率8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、有效的解決方案。
STC89C52具有以下標(biāo)準(zhǔn)功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時(shí)器,2個(gè)數(shù)據(jù)指針,三個(gè)16位定時(shí)器/計(jì)數(shù)器,一個(gè)6向量2級(jí)中斷結(jié)構(gòu),全雙工串行口,片內(nèi)晶振及時(shí)鐘電路。另外,STC89C52具有低功耗設(shè)計(jì),支持2種軟件可選擇節(jié)電模式?臻e模式下,CPU停止工作,允許RAM、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工作。掉電保護(hù)方式下,RAM內(nèi)容被保存,振蕩器被凍結(jié),單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。同時(shí)該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應(yīng)不同產(chǎn)品的需求。而且STC89C52的工作頻率很寬,可以在0~35MHz之間選擇,芯片具有超強(qiáng)抗干擾性,加密性強(qiáng)。
STC89C52常見的是PDIP封裝,是一個(gè)有40個(gè)引腳的芯片,引腳如圖3-1所示。按其功能類別將它們分為三類:
(1)電源和時(shí)鐘引腳。如VCC、GND、XTAL1、XTAL2。
-9-
第三章系統(tǒng)硬件電路設(shè)計(jì)
(2)編程控制引腳。RST、PSEN、ALE/PROG、EA/VPP。(3)I/O口引腳。如P0、P1、P2、P3。
圖3-1STC89C52引腳圖
這里僅詳細(xì)介紹編程引腳:
(1)RST:復(fù)位輸入。晶振工作時(shí),RST引腳持續(xù)2個(gè)機(jī)器周期高電平將使單片機(jī)復(fù)位?撮T狗計(jì)時(shí)完成后,RST腳輸出96個(gè)晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認(rèn)狀態(tài)下,復(fù)位高電平有效。
(2)ALE/PROG:地址鎖存控制信號(hào)(ALE)是訪問外部程序存儲(chǔ)器時(shí),鎖存低8位地址的輸出脈沖。在flash編程時(shí),此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的振蕩頻率輸出脈沖,可作為外部定時(shí)器或時(shí)鐘使用。
如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時(shí)有效。否則,ALE將被微弱拉高。這個(gè)ALE使能標(biāo)志位(地址為8EH的SFR的第0位)的設(shè)置對(duì)微控制器處于外部執(zhí)行模式下無效。
-10-
第三章系統(tǒng)硬件電路設(shè)計(jì)
PSEN:(3)外部程序存儲(chǔ)器選通信號(hào)(PSEN)是外部程序存儲(chǔ)器選通信號(hào)。當(dāng)STC89C52從外部程序存儲(chǔ)器執(zhí)行外部代碼時(shí),PSEN在每個(gè)機(jī)器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲(chǔ)器時(shí),PSEN將不被激活。
(4)EA/VPP:訪問外部程序存儲(chǔ)器控制信號(hào)。為使能從0000H到FFFFH的外部程序存儲(chǔ)器指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應(yīng)該接VCC。在flash編程期間,EA也接收12伏Vpp電壓。
3.1.2單片機(jī)的最小系統(tǒng)及擴(kuò)展電路
單片機(jī)是系統(tǒng)的主控芯片,為了使整個(gè)電路得到很好的控制,首先必須構(gòu)建最小系統(tǒng)是單片機(jī)可以工作起來。本設(shè)計(jì)單片機(jī)最小系統(tǒng)擴(kuò)展電路包括上電復(fù)位電路,時(shí)鐘電路,工作指示燈和蜂鳴器報(bào)警電路等。
(1)時(shí)鐘電路
單片機(jī)內(nèi)部有一個(gè)用于構(gòu)成振蕩器的高增益反相放大器,此放大器的輸入端和輸出端分別是引腳XTAL1和XTAL2,在XTAL1和XTAL2上外接時(shí)鐘源即可構(gòu)成時(shí)鐘電路,CPU的所有操作均在時(shí)鐘脈沖同步下進(jìn)行。片內(nèi)振蕩器的振蕩頻率非常接近晶振頻率,一般多在1.2MHz~12MHz之間選取。時(shí)鐘電路如圖3-2所示。電路中C6、C7是反饋電容,其值在5pF~30pF之間選取,本電路選用的電容為30pF,晶振頻率為11.0952MHz。
(2)復(fù)位電路
復(fù)位是單片機(jī)的初始化操作。其主要功能是把PC初始化為0000H,使單片機(jī)從0000H單元開始執(zhí)行程序。除了進(jìn)入系統(tǒng)的正常初始化之外,當(dāng)由于程序運(yùn)行出錯(cuò)或操作錯(cuò)誤使系統(tǒng)處于死鎖狀態(tài)時(shí),為擺脫困境,也需按復(fù)位鍵重新啟動(dòng)。
單片機(jī)的復(fù)位電路如圖3-3所示。本系統(tǒng)采用的是上電+電平按鈕復(fù)位,上電復(fù)位是通過外部復(fù)位電路的電容充電來實(shí)現(xiàn)的。按鈕復(fù)位是當(dāng)按鈕按下后,
-11-
第三章系統(tǒng)硬件電路設(shè)計(jì)
電源通過電阻R14施加到復(fù)位端上,實(shí)現(xiàn)單片機(jī)復(fù)位。
復(fù)位電路雖然簡(jiǎn)單,但其作用非常重要。一個(gè)單片機(jī)系統(tǒng)能否正常運(yùn)行,首先要檢查是否能復(fù)位成功。初步檢查可用示波器探頭監(jiān)視RST引腳,按下復(fù)位鍵,觀察是否有足夠幅度的波形輸出(瞬時(shí)的),還可以通過改變復(fù)位電路電阻和電容值進(jìn)行實(shí)驗(yàn)。
圖3-2時(shí)鐘電路
圖3-3復(fù)位電路
(3)工作狀態(tài)指示燈電路
本設(shè)計(jì)可以時(shí)刻檢測(cè)蓄電池電壓,為了更好的進(jìn)行監(jiān)控,要對(duì)整個(gè)電路的
工作狀態(tài)進(jìn)行指示,這是很有必要的。工作狀態(tài)指示燈電路如圖3-4所示。其中LED1為正常充電指示燈,LED2為過壓指示燈,LED3為欠壓指示燈。串聯(lián)的電阻的目的是為了限制通過發(fā)光二極管的電流太大而將其燒毀。
(4)蜂鳴器報(bào)警電路
報(bào)警電路采用蜂鳴器來發(fā)出報(bào)警聲音,由于STC89C52輸出引腳的驅(qū)動(dòng)能力較弱,所以蜂鳴器要加三極管進(jìn)行驅(qū)動(dòng)。
在對(duì)蓄電池電壓實(shí)時(shí)監(jiān)測(cè)的過程中,一旦發(fā)現(xiàn)檢測(cè)電壓值連續(xù)超出閾值范圍,便啟動(dòng)自身報(bào)警電路,即當(dāng)電壓超過程序設(shè)定的最高值或最低值時(shí),單片機(jī)的P2.6引腳(beep端)輸出低電平,三極管隨之導(dǎo)通,驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警信號(hào)。蜂鳴器報(bào)警電路圖如圖3-5所示。
-12-
第三章系統(tǒng)硬件電路設(shè)計(jì)
圖3-5工作狀態(tài)指示燈電路
圖3-5蜂鳴器報(bào)警電路
3.2充放電電路
充放電電路如圖3-6所示,電路由防反充二極管D1、濾波電容C4和C5、穩(wěn)壓管D2、續(xù)流二極管D3、MOSFET管Q1和Q2等構(gòu)成。二極管D1是為了防止反充,當(dāng)陰天或晚上蓄電池的電壓高于太陽能電池板的電壓時(shí),D1就生效,可以防止蓄電池電流流向太陽能電池板。分析可知,通過控制MOSFET管閉合和斷開的時(shí)間(即PWM脈沖寬度調(diào)制),就可以控制輸出電壓。所使用的MOSFET是電壓控制單極性金屬氧化物半導(dǎo)體場(chǎng)效應(yīng)晶體管,所需驅(qū)動(dòng)功率較小。而且MOSFET只有多數(shù)載流子參與導(dǎo)電,不存在少數(shù)載流子的復(fù)合時(shí)間,因而開關(guān)頻率可以很高,非常適合作控制充放電開關(guān)。設(shè)計(jì)中采用IRL2703-N溝道MOSFET管,N溝道MOSFET的導(dǎo)通電壓Vth>0。當(dāng)光耦U2斷開時(shí),由于Q1的G極電壓接近蓄電池電壓,S極是接地,使得Vgs>0,當(dāng)G極電壓達(dá)到一定值時(shí),Q1導(dǎo)通。電容C4是太陽能電池板輸出電壓濾波,使得更穩(wěn)定地給蓄電池充電。電容C5是對(duì)蓄電池輸出電壓進(jìn)行濾波,以保證負(fù)載供電電路的穩(wěn)定性。圖中穩(wěn)壓管D2用來對(duì)蓄電池進(jìn)行穩(wěn)壓作用。當(dāng)用戶將蓄電池反接至控制器時(shí),續(xù)流二極管D3可以進(jìn)行續(xù)流,從而保護(hù)控制器不被毀壞。
按程序設(shè)計(jì)當(dāng)檢測(cè)到蓄電池的電壓低于12V,充電模式為均充,Q1為完全導(dǎo)通狀態(tài),也就是導(dǎo)通的脈沖占空比最大;當(dāng)檢測(cè)到蓄電池的電壓在12V-14.5V,
-13-
第三章系統(tǒng)硬件電路設(shè)計(jì)
圖3-6充放電電路
充電模式為浮充,Q1導(dǎo)通與不導(dǎo)通的占空比例變小,當(dāng)檢測(cè)到蓄電池的電壓等于15V左右,Q1截止使充電停止,同時(shí)Q2也關(guān)閉來關(guān)斷負(fù)載。當(dāng)檢測(cè)到蓄電池的電壓低于10.8V,Q2關(guān)閉停止放電,關(guān)斷負(fù)載來實(shí)現(xiàn)欠壓關(guān)斷。
3.3光耦驅(qū)動(dòng)電路
為了增加系統(tǒng)的可靠性,本設(shè)計(jì)用光電耦合器實(shí)現(xiàn)單片機(jī)控制電路和充放電電路的隔離。光耦驅(qū)動(dòng)電路如圖3-7所示。M0S管Q1控制著充電電路,當(dāng)充電控制信號(hào)PWM為低電平時(shí),光耦內(nèi)部的發(fā)光二極管的電流近似為零,右側(cè)三極管不導(dǎo)通,輸出端兩管腳間的電阻很大,相當(dāng)于開關(guān)—斷開‖,輸出端K1被抬高,電阻R9右側(cè)被穩(wěn)壓管D2穩(wěn)壓到12V左右,MOSEFT的Vgs>0,MOS管Q1開啟,太陽能極板開始對(duì)蓄電池充電;當(dāng)充電控制器信號(hào)為高電平時(shí),光耦內(nèi)部的發(fā)光二極管發(fā)光,三極管導(dǎo)通,輸出端兩管腳間的電阻變小,相當(dāng)于開關(guān)—接通‖,此時(shí)從U2輸入的電壓經(jīng)光耦流向接地端,K1處的電壓接近為零,MOSEFT的Vgs第三章系統(tǒng)硬件電路設(shè)計(jì)
圖3-7光耦驅(qū)動(dòng)電路
3.4A/D轉(zhuǎn)換電路
本系統(tǒng)設(shè)計(jì)的STC89C52單片機(jī)沒有內(nèi)置的A/D轉(zhuǎn)換模塊,因此需要先采集蓄電池的電壓,然后經(jīng)A/D轉(zhuǎn)換才可接入單片機(jī)。市場(chǎng)中集成的A/D轉(zhuǎn)換器品種很多,選用時(shí)需要綜合考慮各種因素進(jìn)行選取。一般逐次比較型A/D轉(zhuǎn)換器用到較多,本設(shè)計(jì)采用8位并行A/D轉(zhuǎn)換器芯片ADC0804。因?yàn)樾铍姵仉妷旱牟杉D(zhuǎn)換在系統(tǒng)中極為重要,所以下面對(duì)所選ADC0804芯片及在本系統(tǒng)中是典型連接電路予以介紹。
3.4.1ADC0804的簡(jiǎn)介
AD轉(zhuǎn)換就是模數(shù)轉(zhuǎn)換,顧名思義,就是把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)。AD轉(zhuǎn)換器最主要的技術(shù)參數(shù)是轉(zhuǎn)換速度和轉(zhuǎn)換精度,由于逐次比較型兼有并行A/D轉(zhuǎn)換器轉(zhuǎn)換速度高和雙積分型轉(zhuǎn)換精度高的優(yōu)點(diǎn),所以得到普遍應(yīng)用。ADC0804就是這類集成A/D轉(zhuǎn)換器。
ADC0804為一只具有20引腳并行8位CMOS工藝逐次比較型的集成A/D轉(zhuǎn)換器,其規(guī)格如下:
-15-
第三章系統(tǒng)硬件電路設(shè)計(jì)
(1)高阻抗?fàn)顟B(tài)輸出,分辨率:8位(0~255)(2)存取時(shí)間:135us;轉(zhuǎn)換時(shí)間:100us(3)總誤差:正負(fù)1LSB
(4)工作溫度:0度~70度;(5)模擬輸入電壓范圍:0V~5V(6)參考電壓:2.5V;工作電壓:5V
(7)輸出為三態(tài)結(jié)構(gòu),可直接連接在數(shù)據(jù)總線上。ADC0804引腳圖如圖3-8所示,其各個(gè)引腳的功能:
CS芯片片選信號(hào)輸入端,低電平有效,一旦CS有效,表明A/D轉(zhuǎn)換器別選中,可啟動(dòng)工作。
RD外部讀取轉(zhuǎn)換結(jié)果的控制輸出信號(hào)。RD為1時(shí),DB0~DB7處理高阻抗:RD為0時(shí),數(shù)字?jǐn)?shù)據(jù)才會(huì)輸出。
WR用來啟動(dòng)轉(zhuǎn)換的控制輸入,相當(dāng)于ADC的轉(zhuǎn)換開始(CS=0時(shí)),當(dāng)WR由1變?yōu)?時(shí),轉(zhuǎn)換器被清除:當(dāng)WR回到1時(shí),轉(zhuǎn)換正式開始。
圖3-8ADC0804引腳圖
CLKIN時(shí)鐘信號(hào)輸入端
-16-
第三章系統(tǒng)硬件電路設(shè)計(jì)
CLKR:內(nèi)部時(shí)鐘發(fā)生器的外接電阻端,與CLK配合可有芯片自身產(chǎn)生時(shí)鐘脈沖,其振蕩頻率為1/(1.1RC)
INTR中斷請(qǐng)求信號(hào)輸出,端,低地平動(dòng)作.,表明本次轉(zhuǎn)換已完成。VIN(+)VIN(-)差動(dòng)模擬電壓輸入。輸入單端正電壓時(shí),VIN(-)接地:而差動(dòng)輸入時(shí),直接加入VIN(+)VIN(-).
AGND,DGND模擬信號(hào)以及數(shù)字信號(hào)的接地.VREF/2參考電平輸入,決定量化單位。DB0~DB7三態(tài)特性數(shù)字信號(hào)輸出端.VCC:電源供應(yīng)以及作為電路的參考電壓.
3.4.2ADC0804外圍接線電路
(1)電壓采集電路
如圖3-9所示,電壓采集電路使用兩個(gè)串聯(lián)的電阻,大小比例為2:1,然后并聯(lián)在需要檢測(cè)的電壓兩端,從兩個(gè)電阻中間采集電壓。由分壓公式得出采集的電壓為ADIN,當(dāng)蓄電池充滿電時(shí)電壓大概為14.5V,計(jì)算出采集到的電壓為4.8V,符合A/D轉(zhuǎn)換芯片的ADC0804的輸入值。
圖3-9電壓采集電路
(2)ADC0804構(gòu)成的典型A/D轉(zhuǎn)換電路
-17-
第三章系統(tǒng)硬件電路設(shè)計(jì)
按照芯片手冊(cè)中ADC0804的典型接法,系統(tǒng)中設(shè)計(jì)的A/D轉(zhuǎn)換電路如3-11所示。單片機(jī)的P2.7引腳,用來實(shí)現(xiàn)片選;RD、WR分別接單片機(jī)的P3.6和P3.7引腳,進(jìn)行讀寫控制;CLK、CLKR、GND之間用電阻和電容構(gòu)成RC振蕩電路,用來給ADC0804提供工作所需的脈沖。
蓄電池的電壓采集信號(hào)ADIN從6腳引入,在內(nèi)部采集轉(zhuǎn)換后,從數(shù)字輸出端輸出到單片機(jī)的P1口,通過讀P1口數(shù)據(jù),便可以得到蓄電池的電壓,實(shí)現(xiàn)實(shí)時(shí)在線檢測(cè)。
圖3-12A/D轉(zhuǎn)換電路
3.5LCD顯示電路
液晶具有體積小、功耗低,顯示清晰的優(yōu)點(diǎn),所以比較適合作顯示使用。為了更好的顯示電壓值,同時(shí)擴(kuò)展自己學(xué)習(xí)芯片的能力,本設(shè)計(jì)用液晶1602來顯示蓄電池的電壓值。在使用1602之前,我們首先查閱其使用手冊(cè),對(duì)其進(jìn)行一定的了解。從芯片手冊(cè)中,可以得到1602液晶的主要技術(shù)資料,如表3-1所示,通過此表我們可以知道1602工作電壓和顯示容量,可以驗(yàn)證設(shè)計(jì)選擇的是否合適。
表3-11602的主要技術(shù)參數(shù)
顯示容量芯片工作電壓工作電流
模塊最佳工作電壓
162個(gè)字符4.5~5.5V
2.0mA(5.0V)5.0V
第三章系統(tǒng)硬件電路設(shè)計(jì)
字符尺寸
2.954.35(WH)mm
顯然,1602液晶可以滿足要求,接下來介紹其各個(gè)引腳的功能,為后面設(shè)計(jì)電壓顯示電路做準(zhǔn)備。1602引腳功能如表3-2所示。
表3-21602引腳功能表
引腳1234567-14
符號(hào)VssVDDVORSR/WEDB0-DB7
名稱接地電路電源
0V功能5V±10%
液晶顯示對(duì)比度調(diào)
用于調(diào)節(jié)對(duì)比度
節(jié)端
寄存器選擇信號(hào)讀/寫信號(hào)片選信號(hào)數(shù)據(jù)線
H:數(shù)據(jù)寄存器L:指令寄存器H:讀L:寫下降沿觸發(fā),鎖存數(shù)據(jù)數(shù)據(jù)傳輸
根據(jù)1602的技術(shù)參數(shù)和引腳功能,1602與單片機(jī)連接構(gòu)成的電壓顯示電路如圖3-12所示。EN使能端接單片機(jī)的P2.2引腳,用來實(shí)現(xiàn)片選;RS接單片機(jī)P2.0引腳,進(jìn)行數(shù)據(jù)和命令選擇;R/W接單片機(jī)P2.1引腳,進(jìn)行讀寫控制;為防止直接加5V電壓燒壞背光燈,在15腳串接一個(gè)10的電阻用于限流。液晶3端通過接一個(gè)10K電位器接地來調(diào)節(jié)顯示對(duì)比度。數(shù)據(jù)輸入端D0-D7接單片機(jī)的P0口用于電壓數(shù)據(jù)的傳送。
圖3-11電壓顯示電路
-19-
第三章系統(tǒng)硬件電路設(shè)計(jì)
3.6E2PROM數(shù)據(jù)存儲(chǔ)電路
為了把電路發(fā)生異常時(shí)的蓄電池電壓記錄下來,需要用存儲(chǔ)芯片進(jìn)行數(shù)據(jù)保存。若采用普通存儲(chǔ)器,在掉電時(shí)需要備用電池供電,并需要在硬件上增加掉電檢測(cè)電路,但存在電池不可靠及擴(kuò)展芯片占用單片機(jī)過多口線的缺點(diǎn)。為了解決這一難題,本設(shè)計(jì)采用具有I2C總線接口的串行E2PROM器件,這里選擇AT24C02芯片。AT24C02可有效解決掉電數(shù)據(jù)保存問題,可對(duì)所存在數(shù)據(jù)保存100年,并可多次擦寫,擦寫次數(shù)可達(dá)10萬次以上。
AT24C02是一個(gè)2K位串行CMOSE2PROM,內(nèi)部含有256個(gè)字節(jié),采用先進(jìn)CMOS技術(shù)實(shí)質(zhì)上減少了器件的功耗。AT24C02內(nèi)部有一個(gè)8字節(jié)頁寫入數(shù)據(jù)緩沖器。該器件通過I2C總線接口進(jìn)行操作,有一個(gè)專門的寫保護(hù)功能。為了更好的使用AT24C02,首先來介紹其各個(gè)引腳功能,如表3-3所示。
I2C串行總線一般有兩根信號(hào)線,一根是雙向的數(shù)據(jù)線SDA,另一根是時(shí)鐘線SCL。所有接到I2C總線設(shè)備上的串行數(shù)據(jù)SDA都接到總線的SDA上,
2各設(shè)備的時(shí)鐘線SCL接到總線的SCL上。根據(jù)各引腳的功能,依據(jù)IC總線
系統(tǒng)的典型硬件連接圖,AT24C02與單片機(jī)連接構(gòu)成的數(shù)據(jù)存儲(chǔ)電路如圖3-1所示。
表3-3AT24C02管腳描述
管腳名稱A0A1A2SDASCLWP
功能
可編程地址輸入端串行數(shù)據(jù)/地址串行時(shí)鐘寫保護(hù)
電源端,+1.8V~6.0V工作電壓地
VccGND
-20-
第三章系統(tǒng)硬件電路設(shè)計(jì)
圖3-12數(shù)據(jù)存儲(chǔ)電路
3.7串口通信電路
隨著單片機(jī)系統(tǒng)的廣泛應(yīng)用和計(jì)算機(jī)網(wǎng)路技術(shù)的普及,單片機(jī)的通信功能愈來愈顯得重要。單片機(jī)通信是指單片機(jī)與計(jì)算機(jī)或單片機(jī)與單片機(jī)之間的信息交換,不過通常使用的是單片機(jī)與計(jì)算機(jī)之間的通信。通信有并行和串行兩種方式。由于并行通信存在使用傳輸線較多,長距離傳送成本高且收、發(fā)方的各位同時(shí)接受存在困難等諸多問題,所以在現(xiàn)代單片機(jī)測(cè)控系統(tǒng)中,信息的交換多采用串行通信方式。
本設(shè)計(jì)中加入串行通信電路的目的主要有三個(gè):一是方便給單片機(jī)下載程序;二是使控制器具有遠(yuǎn)程通信或遠(yuǎn)程監(jiān)控的功能;三是將控制器每天采集到數(shù)據(jù)的極限值和發(fā)生異常狀態(tài)時(shí)的數(shù)據(jù)記錄下來,供用戶查看。由于單片機(jī)的電平和計(jì)算機(jī)電平不兼容,設(shè)計(jì)中采用MAX232芯片進(jìn)行TTL電平和RS-232電平之間的轉(zhuǎn)換。而且系統(tǒng)采用易于實(shí)現(xiàn)的異步串行通信方式,用最簡(jiǎn)單也最實(shí)用的奇偶校驗(yàn)作為串行通信錯(cuò)誤校驗(yàn)方式。
MAX232芯片是專門為電腦的RS-232標(biāo)準(zhǔn)串口設(shè)計(jì)的單電源電平轉(zhuǎn)換芯片,使用+5v單電源供電。其主要特點(diǎn):
(1)符合所有的RS-232C技術(shù)標(biāo)準(zhǔn)(2)只需要單一+5V電源供電(3)片載
-21-
+10V和-10V第三章系統(tǒng)硬件電路設(shè)計(jì)
電壓V+、V-
(4)功耗低,典型供電電流5mA(5)內(nèi)部集成2個(gè)RS-232C驅(qū)動(dòng)器(6)內(nèi)部集成兩個(gè)RS-232C接收器
(7)高集成度,片外最低只需4個(gè)電容即可工作。
了解芯片的主要特點(diǎn)之后,接下來我們來認(rèn)識(shí)MAX232它的各個(gè)引腳的功能,即有什么作用,以更好地設(shè)計(jì)串口通信電路。其引腳圖如圖3-13所示。
第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構(gòu)成。功能是產(chǎn)生+12v和-12v兩個(gè)電源,提供給RS-232串口電平的需要。
第二部分是數(shù)據(jù)轉(zhuǎn)換通道。由7、8、9、10、11、12、13、14腳構(gòu)成兩個(gè)數(shù)據(jù)通道。
其中13腳(R1IN)、12腳(R1OUT)、11腳(T1IN)、14腳(T1OUT)為第一數(shù)據(jù)通道。8腳(R2IN)、9腳(R2OUT)、10腳(T2IN)、7腳(T2OUT)為第二數(shù)據(jù)通道。
TTL/CMOS電平從T1IN、T2IN輸入轉(zhuǎn)換成RS-232電平從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉(zhuǎn)換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。
第三部分是供電。15腳GND、16腳VCC(+5v)
圖3-13MAX232的引腳圖
按照串行通信原理,根據(jù)RS-232串口協(xié)議和MAX232芯片的引腳功能,
-22-
第三章系統(tǒng)硬件電路設(shè)計(jì)
結(jié)合STC89C52單片機(jī)串行中斷方式,本設(shè)計(jì)采用串口方式1(10位數(shù)據(jù)的異步通信)來構(gòu)建串口通信電路。電路如下圖3-14所示。
圖3-14串口通信電路
設(shè)計(jì)中T1IN連接CMOS電平的單片機(jī)的串行發(fā)送端;T1OUT連接電腦的RS-232C串口的接收端PCRXD;同理,R1IN連接電腦的RS-232C串口的發(fā)送端PCTXD;R1OUT連接CMOS電平的單片機(jī)的串行接收端。當(dāng)然單片機(jī)和DB9要共地,這是實(shí)現(xiàn)串行通信的前提條件。
3.8系統(tǒng)總機(jī)電路圖
本章對(duì)充放電控制器的原理以及具體的硬件實(shí)現(xiàn)電路進(jìn)行了詳細(xì)的介紹,并對(duì)電路中使用到的芯片也予以描述,使讀者通過閱讀可以清晰的明白控制器的設(shè)計(jì)思路和實(shí)現(xiàn)過程。最后得出系統(tǒng)的總機(jī)電路圖,見附錄二。
-23-
第四章系統(tǒng)軟件設(shè)計(jì)
第四章系統(tǒng)軟件設(shè)計(jì)
軟件設(shè)計(jì)采用C語言來實(shí)現(xiàn),受C語言模塊化編程設(shè)計(jì)思想的啟發(fā),本系統(tǒng)軟件設(shè)計(jì)采用模塊化設(shè)計(jì)思路,即整個(gè)控制軟件由許多獨(dú)立的子程序(子函數(shù))模塊組成,它們之間通過函數(shù)調(diào)用實(shí)現(xiàn)連接。既便于調(diào)試,連接,又便于移植、修改。系統(tǒng)軟件主要完成蓄電池電壓采集轉(zhuǎn)換,PWM脈沖充電控制、實(shí)時(shí)LCD顯示,異常報(bào)警等。包括以下幾部分:系統(tǒng)主程序設(shè)計(jì),電壓采集轉(zhuǎn)換模塊,顯示模塊和異常數(shù)據(jù)存儲(chǔ)模塊。
4.1系統(tǒng)主程序設(shè)計(jì)
系統(tǒng)主程序流程圖如圖4-1所示。
開始初始化主函數(shù)和子函數(shù)蓄電池電壓采集轉(zhuǎn)換蓄電池反接關(guān)閉充放電電路Vbat14.5VNVbat>12VNYVbat>10.8V直充充電N關(guān)斷負(fù)載開啟充電結(jié)束圖4-1系統(tǒng)主程序流程圖
-24-
NY停止充電關(guān)斷負(fù)載YPWM浮充充電第四章系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)主程序是整個(gè)電壓測(cè)控系統(tǒng)中最重要的程序,是一個(gè)順序執(zhí)行的無限循環(huán)程序。蓄電池電壓的采集、轉(zhuǎn)換顯示和異常數(shù)據(jù)的存儲(chǔ)都在測(cè)控子程序中進(jìn)行,系統(tǒng)應(yīng)用主程序采用模塊化結(jié)構(gòu),首先完成初始化,然后就開始按順序調(diào)用各個(gè)模塊子程序,通過系統(tǒng)自檢和控制指令來實(shí)現(xiàn)數(shù)據(jù)處理和電路控制,有效的控制蓄電池充放電。
4.2電壓采集轉(zhuǎn)換模塊
4.2.1ADC804時(shí)序圖
為了更好理解模數(shù)轉(zhuǎn)換器的對(duì)蓄電池電壓采集轉(zhuǎn)換過程,下面首先對(duì)ADC0804的啟動(dòng)和讀取時(shí)序圖予以介紹。時(shí)序圖如圖4-2所示。
圖4-2ADC804時(shí)序圖
如圖,當(dāng)CS與WR同時(shí)置低,為低電平時(shí),A/D轉(zhuǎn)換器被啟動(dòng),且在WR上升沿后,經(jīng)過約100uS后,模數(shù)完成轉(zhuǎn)換,轉(zhuǎn)換結(jié)果存入數(shù)據(jù)鎖存器,同時(shí),INTR自動(dòng)變?yōu)榈碗娖,表示本次轉(zhuǎn)換已結(jié)束。在INTR變?yōu)榈碗娖胶,若CS、RD同時(shí)來低電平,則數(shù)據(jù)鎖存器的三態(tài)門打開,把數(shù)字信號(hào)送出,此時(shí)直接讀取數(shù)字端口數(shù)據(jù),便可得到轉(zhuǎn)換后的數(shù)字信號(hào)。反之,若RD為高電平,三態(tài)門處于高阻狀態(tài),數(shù)據(jù)被鎖存。
4.2.2A/D轉(zhuǎn)換子程序
-25-
第四章系統(tǒng)軟件設(shè)計(jì)
芯片的時(shí)序圖是對(duì)芯片的操作的關(guān)鍵依據(jù)。按照ADC0804芯片的時(shí)序圖,此模塊通過對(duì)其進(jìn)行啟動(dòng)和讀取操作,主要來完成對(duì)蓄電池電壓的采集轉(zhuǎn)換,并對(duì)結(jié)果進(jìn)行數(shù)據(jù)處理,送給后面的顯示模塊予以顯示。由于ADC0804的轉(zhuǎn)換時(shí)間很短,本設(shè)計(jì)未用中斷讀取A/D的數(shù)據(jù),而是在啟動(dòng)A/D轉(zhuǎn)換后,稍等一會(huì)時(shí)間(程序中用延時(shí)函數(shù)實(shí)現(xiàn)),直接讀取A/D的數(shù)字輸出口即可。軟件設(shè)計(jì)中AD轉(zhuǎn)換模塊的流程圖如圖4-3所示。
開始CS置低片選芯片RD置低電平讀使能WR置低啟動(dòng)AD轉(zhuǎn)換讀取AD轉(zhuǎn)換結(jié)果延時(shí)等待轉(zhuǎn)換成實(shí)際電壓值轉(zhuǎn)換完成?Y結(jié)束N圖4-3A/D轉(zhuǎn)換子程序
4.3顯示模塊
4.3.11602液晶寫操作時(shí)序圖
通過電壓采集轉(zhuǎn)換子程序,通過單片機(jī)處理就可以得到蓄電池的實(shí)際電壓值,本設(shè)計(jì)用液晶1602作顯示器來進(jìn)行顯示。液晶1602通常用并行操作,作為一款顯示芯片,為了使其能夠正常的工作,首先必須對(duì)其進(jìn)行初始化,然后按照其時(shí)序圖進(jìn)行正確操作,才能夠得到滿意的顯示效果,這就是軟件設(shè)計(jì)中顯示模塊的任務(wù)。下面就1602的初始化指令和操作時(shí)序進(jìn)行介紹。
液晶1602的初始化,是讓其正確顯示的前提,其初始化通常如下:EN=0;首先關(guān)閉使能,防止開始時(shí)顯示亂碼,同時(shí)為以后高脈沖寫入數(shù)據(jù)做
-26-
N第四章系統(tǒng)軟件設(shè)計(jì)
準(zhǔn)備。
write_com(0x38);//設(shè)置16X2顯示,5X7點(diǎn)陣,8位數(shù)據(jù)接口write_com(0x0c);//設(shè)置開顯示,不顯示光標(biāo)write_com(0x06);//寫一個(gè)字符后地址指針加1write_com(0x01);//顯示清零,數(shù)據(jù)指針清零
了解液晶1602的基本操作時(shí)序,讀懂其操作時(shí)序圖,是對(duì)其讀寫操作的關(guān)鍵。1602的基本時(shí)序如下:
讀狀態(tài)輸入:RS=L,輸出:DO~D7=狀態(tài)字讀數(shù)據(jù)輸入:RS=H,輸出:無
寫指令輸入:RS=L,R/W=L,DO~D7=指令碼,E=H高脈沖輸出:DO~D7=狀態(tài)字
寫數(shù)據(jù)輸入:RS=H,R/W=L,DO~D7=數(shù)據(jù),E=H高脈沖輸出:無
作為顯示用的芯片,通常對(duì)其進(jìn)行寫操作,1602液晶寫操作時(shí)序圖如圖4-4所示。
R/W=H,E=H
R/W=H,E=H
圖4-41602液晶寫操作時(shí)序圖
-27-
第四章系統(tǒng)軟件設(shè)計(jì)
4.3.2電壓顯示流程圖
分析時(shí)序圖可知,對(duì)1602液晶進(jìn)行寫操作的流程如下:
(1)通過RS確定是寫數(shù)據(jù)還是寫操作,寫命令包括使液晶的光標(biāo)顯示/不顯示、光標(biāo)是否閃爍、需/不需要移屏、在液晶的什么位置顯示,等等。寫數(shù)據(jù)是指要顯示什么內(nèi)容。
(2)讀/寫控制端設(shè)置為寫模式,即低電平。(3)將數(shù)據(jù)或命令送到達(dá)數(shù)據(jù)線上。
(4)給使能端E一個(gè)高脈沖將數(shù)據(jù)送入到液晶控制器,完成寫操作。關(guān)于時(shí)序圖中的各個(gè)延時(shí),不同廠家生產(chǎn)的液晶延時(shí)不同,不過大多數(shù)基本為納秒級(jí),而單片機(jī)操作最小單位為微秒級(jí),因此在寫程序是可不做延時(shí),不過為了使液晶運(yùn)行穩(wěn)定,最好做簡(jiǎn)短延時(shí)即可。本設(shè)計(jì)采用C51庫中自帶的延時(shí)函數(shù)_nop_()(延時(shí)一個(gè)機(jī)器周期的意思)來實(shí)現(xiàn)簡(jiǎn)短延時(shí)。
按照1602液晶的寫操作時(shí)序圖,結(jié)合硬件連接電路,軟件設(shè)計(jì)中電壓顯示模塊的流程圖如圖4-5所示。
4.4數(shù)據(jù)存儲(chǔ)模塊
24.4.1IC總線模擬時(shí)序圖
在對(duì)蓄電池充放電控制過程中,會(huì)出現(xiàn)電壓值過高或過低的異常情況,很有必要對(duì)其進(jìn)行存儲(chǔ),作為以后分析優(yōu)化使用;同時(shí)我們可以按一定周期間隔性的對(duì)蓄電池電壓進(jìn)行采集,然后求取電壓的平均值,通過分析每天的平均值情況,可以大致了解蓄電池的充電情況,這對(duì)以后優(yōu)化充放電很有用。本設(shè)計(jì)用常見E2PROM器件AT24C02作為存儲(chǔ)器對(duì)數(shù)據(jù)進(jìn)行保存記錄。AT24C02芯片的優(yōu)點(diǎn):
2IC總線標(biāo)準(zhǔn),串行操作,可以簡(jiǎn)化硬件電路;同時(shí)具有很好的掉電保護(hù)采用
功能。
2由于STC89C52單片機(jī)沒有IC總線接口,所以使用時(shí)要先通過軟件模擬
I2C總線的工作時(shí)序,正確的調(diào)用函數(shù)就可方便的擴(kuò)展I2C總線接口部件。
-28-
第四章系統(tǒng)軟件設(shè)計(jì)
I2C總線模擬時(shí)序圖如圖4-6所示。
開始初始化設(shè)置讀取AD轉(zhuǎn)換模塊處理結(jié)果,得到實(shí)際電壓值分離出十位、個(gè)位和十分位,送給1602液晶具體位置顯示調(diào)用寫命令函數(shù),定位第一行顯示的數(shù)據(jù)指針調(diào)用寫數(shù)據(jù)函數(shù),進(jìn)行第一行數(shù)據(jù)顯示調(diào)用寫命令函數(shù),定位第二行顯示的數(shù)據(jù)指針調(diào)用寫數(shù)據(jù)函數(shù),進(jìn)行第二行數(shù)據(jù)顯示移屏顯示結(jié)束圖4-5電壓顯示流程圖
SCL>4.7us>4.7usSCL>4usSDA啟動(dòng)信號(hào)S終止信號(hào)P>4usSDA4usSCLSCLSDASDA應(yīng)答信號(hào)初始化信號(hào)
2圖4-6IC總線模擬時(shí)序圖
-29-
第四章系統(tǒng)軟件設(shè)計(jì)
2按照時(shí)序圖,設(shè)計(jì)中為了模擬IC總線通信,寫出了幾個(gè)關(guān)鍵部分的程序:
總線初始化、啟動(dòng)信號(hào)、應(yīng)答信號(hào)、停止信號(hào)等。下面以啟動(dòng)信號(hào)為例進(jìn)行介紹。
啟動(dòng)信號(hào)的程序如下:在SCL為高電平期間,SDA一個(gè)下降沿為啟動(dòng)信號(hào)。voidstart()//啟動(dòng)信號(hào){}
sda=1;scl=1;sda=0;
delay1();delay1();delay1();
4.4.2數(shù)據(jù)存儲(chǔ)流程圖
2作為存儲(chǔ)芯片最重要的是對(duì)其進(jìn)行寫操作,下面將給出IC總線發(fā)送一個(gè)2IC總線時(shí)字節(jié)的流程圖如圖4-7所示。并根據(jù)AT24C02字節(jié)寫入方式,結(jié)合
序圖,軟件中實(shí)現(xiàn)異常數(shù)據(jù)存儲(chǔ)的流程圖如圖4-8所示。
開始開始時(shí)鐘信號(hào)SCL置低總線初始化,初始化地址指針傳送數(shù)據(jù)左移一位異常電壓值送給變量a將此位送到數(shù)據(jù)線上時(shí)鐘信號(hào)置高標(biāo)志位是否有效?NN8位送完否?Y清除標(biāo)志位,調(diào)用AT24C02寫字節(jié)函數(shù)Y一個(gè)應(yīng)答信號(hào)的周期地址指針加1結(jié)束
結(jié)束
2圖4-7IC發(fā)送字節(jié)流程圖
圖4-8異常數(shù)據(jù)存儲(chǔ)流程圖
-30-
第四章系統(tǒng)軟件設(shè)計(jì)
當(dāng)檢測(cè)蓄電池充電使電壓值超過14.5v造成過充電時(shí),首先蜂鳴器報(bào)警,標(biāo)志位置1,然后調(diào)用數(shù)據(jù)存儲(chǔ)函數(shù)把此時(shí)刻的電壓值保存下來;當(dāng)發(fā)生過放電時(shí),同理如此。由于單片機(jī)的處理速度很快,因此很容易實(shí)現(xiàn)循環(huán)檢測(cè),做到對(duì)蓄電池狀態(tài)的實(shí)時(shí)監(jiān)控。
4.5軟件調(diào)試和仿真
為了檢驗(yàn)自己設(shè)計(jì)的單片機(jī)系統(tǒng)是否可以正常工作以及設(shè)計(jì)合理性,很有必要對(duì)系統(tǒng)進(jìn)行模擬仿真。通過仿真可以看出系統(tǒng)硬件設(shè)計(jì)的不合理部分,以方便改善使得系統(tǒng)更加合理;同時(shí)更重要的是驗(yàn)證自己編寫的軟件程序是否已經(jīng)實(shí)現(xiàn)其功能,完成了相應(yīng)的設(shè)計(jì)要求和設(shè)計(jì)任務(wù)。
軟件調(diào)試的過程:首先根據(jù)太陽能充電控制器軟件設(shè)計(jì)要完成的設(shè)計(jì)任務(wù),然后按照C語言模塊化設(shè)計(jì)的編程方法,設(shè)計(jì)出各個(gè)子模塊和主程序的算法流程圖,最后在KEILC51中去編寫相應(yīng)的程序去實(shí)現(xiàn)。當(dāng)然在編寫程序進(jìn)行軟件實(shí)現(xiàn)過程中,遇到的第一個(gè)問題就是:程序的調(diào)試。程序編寫后,進(jìn)行編譯,一開始發(fā)現(xiàn)了很多錯(cuò)誤,一下子把自己卡住了;后來通過查看相關(guān)資料,同時(shí)咨詢指導(dǎo)老師和同學(xué)的經(jīng)驗(yàn),,在軟件的提示下,慢慢地修改,最終把出現(xiàn)的錯(cuò)誤都改正過來了。最終在顯示輸出信息窗口出現(xiàn)了一下信息:
Buildtarget"Target1"
//創(chuàng)建目標(biāo)"Target1"http://編譯文件控制器移屏.c
compiling控制器移屏.c...linking...
//鏈接
ProgramSize:data=21.1xdata=0code=1572//項(xiàng)目大。捍鎯(chǔ)空間RAM和
ROM的數(shù)據(jù)存儲(chǔ)量
creatinghexfilefrom"充放電控制器"...//創(chuàng)建了十六進(jìn)制的目標(biāo)文件"充放電控制器"-0Error(s),0Warning(s).//工程“充放電控制器”,編譯結(jié)果,0錯(cuò)誤,0警告。
當(dāng)看到這個(gè)信息時(shí),我很激動(dòng),知道自己編寫的程序終于調(diào)試成功了。通過編寫和調(diào)試程序,深深的體會(huì)到了程序編寫的不易和艱辛,同時(shí)積累了很多的經(jīng)驗(yàn),收益匪淺。更十分地感謝我的同學(xué)和指導(dǎo)老師的無私幫助,是在他們的指導(dǎo)
-31-
第四章系統(tǒng)軟件設(shè)計(jì)
下,我才把程序調(diào)試無誤完成了軟件調(diào)試工作。
程序調(diào)試成功后,下一步就是軟件仿真,是檢驗(yàn)程序運(yùn)行是否正確的關(guān)鍵所在,更是優(yōu)化系統(tǒng)所必須的。Proteus軟件為單片機(jī)系統(tǒng)提供了良好的仿真環(huán)境,所以程序調(diào)試完成后,把在KEIL中生成的目標(biāo)文件HEX文件,下載在仿真系統(tǒng)的單片機(jī)中,進(jìn)行KEIL和proteus聯(lián)合調(diào)試,看系統(tǒng)是否能正常工作。
和自己當(dāng)初預(yù)料的一樣,在剛開始仿真時(shí),遇到了許多的問題,如1602液晶不顯示,系統(tǒng)工作狀態(tài)指示燈指示狀態(tài)不正確等等,調(diào)試很久找不到關(guān)鍵所在。無奈之下,最后去咨詢指導(dǎo)老師該怎么辦,老師說可以在模擬的電池板和蓄電池附近并聯(lián)虛擬的電壓表,通過電壓表的示數(shù),用以時(shí)刻監(jiān)測(cè)蓄電池的充放電狀態(tài)。果然加上虛擬電壓表,通過監(jiān)測(cè)后發(fā)現(xiàn)蓄電池兩端電壓表的示數(shù)一直顯示為零,明白是AD轉(zhuǎn)換部分出現(xiàn)問題,然后通過修改AD轉(zhuǎn)換模塊的子程序,同時(shí)調(diào)整硬件引腳部分與軟件相一致,慢慢的調(diào)試,最終蓄電池兩端電壓表有了示數(shù),液晶1602也正確的顯示了。然后再慢慢調(diào)試主程序,修改控制指令,最終三個(gè)工作狀態(tài)指示燈也正確指示了。
系統(tǒng)共三種狀態(tài):正常充電、過充、過放。這里僅列出系統(tǒng)在正常工作狀態(tài)下的仿真圖,如下圖4-9所示,以便更形象的看出充電控制器內(nèi)部結(jié)構(gòu)設(shè)計(jì)和實(shí)現(xiàn)功能。
正常工作時(shí)的狀態(tài):(此時(shí)電壓13.4V)
其工作原理如下,單片機(jī)在軟件程序控制下,控制著各個(gè)部分硬件電路有序工作,把從模數(shù)轉(zhuǎn)換器得到的蓄電池的電壓值,用1602液晶去顯示,同時(shí)綠燈亮起表示系統(tǒng)正在充電。(注:這里為了得到更加逼真效果,仿真時(shí)采用直流電機(jī)作為負(fù)載)。
由于利用C語言開發(fā)單片機(jī)與匯編語言相比,具有易于操作、規(guī)范性好、適合模塊化處理且容易移植的優(yōu)點(diǎn),所以本設(shè)計(jì)采用C語言作為編程語言。按照C語言模塊化程序設(shè)計(jì)方法,論文編制了系統(tǒng)主程序和各個(gè)子程序模塊來實(shí)現(xiàn)PWM脈寬調(diào)制控制策略和各種保護(hù),完成了軟件設(shè)計(jì)任務(wù)。
-32-
第四章系統(tǒng)軟件設(shè)計(jì)蓄電池1U3VI7805VOGND3負(fù)載2太陽能電池板20kB112VC11DW12V100uF2R8R920kC12100uFC130.1uFK2+4.01VoltsR14+366V1+15.0VoltsRV110kC10D2+15.0Volts220uF10110k15v2100uF+4.50VoltsQ2D11LCD1602GND1N4148PV+Q1RSRWE456RSR/WEND0D1D2D3D4D5D6D7R510k65PWM1R15200K1123VSSVDDVEEU6324C122pFU1X112M18XTAL219XTAL1STC89C52P0.0/AD0P0.1/AD1P0.2/AD2P0.3/AD3P0.4/AD4P0.5/AD5P0.6/AD6P0.7/AD7P2.0/A8P2.1/A9P2.2/A10P2.3/A11P2.4/A12P2.5/A13P2.6/A14P2.7/A15P3.0/RXDP3.1/TXDP3.2/INT0P3.3/INT1P3.4/T0P3.5/T1P3.6/WRP3.7/RDD3393837363534333221222324252627281011121314151617D0D1D2D3D4D5D6D7RP1123456789RV2D0D1D2D3D4D5D6D7BV+R610k65C2R16200K230pFU7FUZAI110kbeepQ3R110k249RSTC310uF293031PSENALEEAU2CSADRDWRR410kADC0804VCCDB0(LSB)DB1DB2DB3DB4DB5DB6DB7(MSB)201*17161514131211R310kC4330PFR210k1234581091967RSR/WENLEDLED1LED2beepCSADTXDRXDPWMFUZAISCKSDAWRRDU4SCK6SDA57SCKSDAWPAT24C02CA0A1A2123CSRDWRCLKININTRAGNDDGNDVREF/2CLKRVIN+VIN-12345678P1.0P1.1P1.2P1.3P1.4P1.5P1.6P1.71C1+TXD11RXD12109T1INR1OUTT2INR2OUT1uFC53C1-U5T1OUTR1INT2OUTR2INVS+VS-C2-14137826ADLEDR7330R18330R19330MAX232C2+4LED1D4C7C81uF1uFLED-GREENLED2D5LED-REDC61uF578910111213143R10C9ADK1P116273849DCDDSRRXDRTSTXDCTSDTRRIERRORCOMPIMLED-RED圖4-9正常工作狀態(tài)仿真
-33-
結(jié)論
結(jié)論
本論文為了更好的對(duì)太陽能進(jìn)行儲(chǔ)存,設(shè)計(jì)了一個(gè)太陽能充電控制器,把硬件電路和軟件編程有效結(jié)合在一起來完成設(shè)計(jì)任務(wù)。
系統(tǒng)硬件電路設(shè)計(jì)包括單片機(jī)及外圍電路設(shè)計(jì)、充放電電路設(shè)計(jì)、光耦驅(qū)動(dòng)電路設(shè)計(jì)、電壓顯示電路設(shè)計(jì)、數(shù)據(jù)存儲(chǔ)電路設(shè)計(jì)、串口通信電路設(shè)計(jì)等。所涉及的相關(guān)模塊的電路設(shè)計(jì),有的采用的是常見的經(jīng)典電路的結(jié)構(gòu),有些是在原有結(jié)構(gòu)的基礎(chǔ)上,采用了集成度更高的現(xiàn)代芯片,從而使電路變得更加簡(jiǎn)單、可靠。
而軟件系統(tǒng)是基于STC89C52,對(duì)太陽能充放電控制器進(jìn)行了算法分析并編制了程序,軟件編程實(shí)現(xiàn)對(duì)蓄電池的過充、反接等保護(hù)。
本太陽能充電控制電路,對(duì)蓄電池的充放電等全程進(jìn)行控制,可以使蓄電池始終處在最佳狀態(tài),從而使太陽能的存儲(chǔ)效率大大提高,實(shí)現(xiàn)了提高太陽能儲(chǔ)存的課題目標(biāo)。
由于實(shí)踐經(jīng)驗(yàn)缺乏,以及技術(shù)水平和實(shí)驗(yàn)條件的限制,本系統(tǒng)部分功能尚未完成,需要進(jìn)一步完善,主要表現(xiàn)在以下幾個(gè)方面:
(1)對(duì)系統(tǒng)中的單片機(jī)控制功能需要進(jìn)一步研究,以便找到功能更加強(qiáng)大的主控芯片去代替,從而更好更快的實(shí)現(xiàn)設(shè)計(jì)要求。
(2)對(duì)蓄電池電壓的采集方式過于簡(jiǎn)單,精度較低,需要探索采集精度更加精準(zhǔn)的經(jīng)典電路,使得對(duì)蓄電池的充電控制更加準(zhǔn)確。
(3)系統(tǒng)軟件設(shè)計(jì)可增加串行中斷控制方式,從而方便用上位機(jī)(如微機(jī))通過串行通信進(jìn)行有效的監(jiān)控,增強(qiáng)對(duì)系統(tǒng)的在線檢測(cè)和控制功能。
-33-
參考文獻(xiàn)
參考文獻(xiàn)
1.馬廣偉,景有泉,甘林川.蓄電池內(nèi)阻測(cè)量及其應(yīng)用[J].通信電源技術(shù),201*,24(2):63-64
2.HariP.DharSwadesK.Chaudhuri.Measurementsoffuelcellinternalresistancesforthedetectionofelectrodeflooding[J].SolidStateElectrochem,201*,(13):99910023.ArenstAndreasArie,OlegM.Vovk,JinO.Song.CarbonfilmcoveringoriginatedfromfullereneC60onthesurfaceoflithiummetalanodeforlithiumsecondarybatteries[J].Electroceram,201*
4.ByungWonCho&JoongKeeLee.CarbonfilmcoveringoriginatedfromfullereneC60onthesurfaceoflithiummetalanodeforlithiumsecondarybatteries[J].Electroceram,201*,025.桂長清等.動(dòng)力電池[M].北京:機(jī)械工業(yè)出版社,201*.4.151~1526.袁芬.太陽能電池板與蓄電池如何匹配[J].無線電,201*,09.957.肖強(qiáng),鄭玉甫.混沌振子實(shí)現(xiàn)微弱周期小信號(hào)的檢測(cè)[J].網(wǎng)絡(luò)與通信,201*,23(1/3):147-149.
8.曹建平,江國棟.直流充電法在蓄電池內(nèi)阻分析中的實(shí)用性研究[J].電子工程師.201*.34(12)
9.桂長清.風(fēng)能和太陽能發(fā)電系統(tǒng)中的儲(chǔ)能電池[J].電池工業(yè),201*,2:50-54
10.M.ElMokadem1,C.Nichita1,B.Dakyo,W.Koczara.Maximumwindpowercontrolusingtorquecharacteristicinawinddieselsystemwithbatterystorage[J].DevelopmentsofElectricalDrives,201*:385396
11.WeiChen,HuiShen,BifenShu,HongQin,TaoDeng.EvaluationofperformanceofMPPTdevicesinPVsystemswithstoragebatteries[J].RenewableEnergy201*(32):1611162212.V.Salas,E.Olias,M.Alonso-Abella,F.Chenlo.Analysisofthemaximumpowerpointtrackinginthephotovoltaicgridinverterslowerthen5kw[J].ProceedingsofISESSolarWorldCongress,201*:1376-1380
-34-
參考文獻(xiàn)
13.MehranHabibiandAlirezaYazdizadeh.NewMPPTControllerDesignforPVArraysUsingNeuralNetworks(ZanjanCityCaseStudy)[J].LNCS201*:1050-1058
14.李忠實(shí).風(fēng)光互補(bǔ)發(fā)電控制系統(tǒng)不同負(fù)載對(duì)蓄電池控制電壓的影響[D].天津大學(xué)碩士論文,201*,03:10-13
15.DimosthenisPeftitsis,GeorgiosAdamidisandAnastasiosBalouktsis.AninvestigationofnewcontrolmethodforMPPTinPVarrayusingDC-DCbuck-boostconverter[J].IEEEPowerElectronicsconference,201*,6
16.MohamedAzab.ANewMaximumPowerPointTrackingforPhotovoltaicSystems[J].WorldAcademyofScience,EngineeringandTechnology,201*(44):571-574
17.A.Lay-Ekuakille,G.Vendramin,A.Fedele,L.Vasanelli,A.Trotta.PVMaximumpowerPointTrackingThroughPyranometricSensor:ModellingandCharacterization[J].InternationalJournalonSmartSensingandIntelligentSystems,201*,9(3):659-678
18.黃瑤,黃洪全.電導(dǎo)增量法實(shí)現(xiàn)光伏系統(tǒng)的最大功率點(diǎn)跟蹤控制[J].電路設(shè)計(jì),201*,03:18-19
19.車孝軒著.太陽能光伏系統(tǒng)概論【M】.武漢大學(xué)出版出版社,201*
20.主編左然,施明恒,王希麟.可再生能源概論【M】.21世紀(jì)高等教育建筑環(huán)境與設(shè)備
工程系列規(guī)劃教材.北京:機(jī)械工業(yè)出版社,201*
21.侯玉寶,陳忠平,李成群等編著.基于Proteus的51系列單片機(jī)設(shè)計(jì)與仿真.北京:電子工業(yè)出版社,201*.9
22.邢運(yùn)民,陶永紅主編.現(xiàn)代能源與發(fā)電技術(shù)【M】.西安:西安電子科技大學(xué)出版社,201*23.(美)RussellLMeade,RobertDiffenderfer著.電子學(xué)基礎(chǔ)【M】.北京:清華人學(xué)出
版社,201*
24.郭天祥.新概念51單片機(jī)C語言教程入門、提高、開發(fā)、拓展全攻略.北京:電子工業(yè)
出版社,201*.1
25.艾永樂,付子義.模擬電子技術(shù)基礎(chǔ).北京:中國電力出版社,201*.11
-35-
致謝
致謝
緊張的畢業(yè)設(shè)計(jì)終于畫上了句號(hào),這次的畢業(yè)設(shè)計(jì)即檢驗(yàn)了我對(duì)四年來所學(xué)知識(shí)的掌握程度,又使我對(duì)自己知識(shí)體系的漏洞進(jìn)行了及時(shí)的發(fā)現(xiàn)與彌補(bǔ)。盡管此次的畢業(yè)設(shè)計(jì)已經(jīng)基本完成,但仍然存在很多不完善的地方,不詳盡甚至不當(dāng)之處,希望各位老師給予批評(píng)和諒解。
值此畢業(yè)學(xué)位論文完成之際,在此要特別感謝我的指導(dǎo)老師李田澤老師。在整個(gè)畢業(yè)設(shè)計(jì)期間,老師精心指導(dǎo)我選題、設(shè)計(jì)、撰寫論文等工作。老師不但給予我指導(dǎo)和大力支持,而且在我遇到困難時(shí)他們悉心教導(dǎo)、指導(dǎo)我解決困難,在解決問題的同時(shí)我更學(xué)會(huì)了很多實(shí)用的知識(shí)。在此,我由衷地感謝他們并致意崇高的敬意。
同時(shí),也非常感謝同學(xué)們對(duì)我的幫助,感謝山東理工大學(xué)大學(xué)為我提供學(xué)習(xí)成長的環(huán)境,感謝老師們四年來對(duì)我孜孜不倦之教誨,讓我能夠順利完成畢業(yè)設(shè)計(jì),更為我將來進(jìn)入社會(huì)工作打下了良好的專業(yè)基礎(chǔ)。感謝所有在幫助過我,關(guān)心過我的良師益友。
-36-
附錄一系統(tǒng)程序
附錄一系統(tǒng)程序
系統(tǒng)主程序代碼controller.c:#include
#include//庫函數(shù)頭文件,代碼中引用了_nop_()函數(shù)#include"define.h"#include"init.h"#include"AD.h"
//變量定義和函數(shù)的聲明
//初始化模塊
//AD轉(zhuǎn)換模塊//液晶1602顯示模塊//數(shù)據(jù)存儲(chǔ)模塊
#include"yj1602.h"#include"AT24C02.h"/*主函數(shù)*/voidmain(){
init();init1602();init24c02();battery_v=get_ad();yj1602();
if(battery_v附錄一系統(tǒng)程序
}if(battery_v>=108)//蓄電池電壓大于10.8V{
if(145附錄一系統(tǒng)程序
}elseif(battery_v附錄一系統(tǒng)程序
}TL0=(65536-50000)%256;//定時(shí)時(shí)間為50ms,每50ms中斷一次count++;
以下代碼為define.h#defineucharunsignedchar#defineuintunsignedint//定義控制信號(hào)端口//充放電控制端口
//變量定義和函數(shù)的聲明
sbitPWM=P3^2;//蓄電池開關(guān)sbitFuZai=P3^3;//負(fù)載開關(guān)
sbitLED=P2^3;//充電指示燈sbitLED1=P2^4;//充電指示燈sbitLED2=P2^5;//欠壓指示燈sbitbeep=P2^6;//蜂鳴器控制位ucharcount,battery_v;//AD轉(zhuǎn)換sbitcsad=P2^7;sbitadwr=P3^6;sbitadrd=P3^7;
//定義AD的片選位//定義AD的WR端口//定義AD的RD端口
unsignedcharV1,V2,V3,adval,ad_vo;//1602液晶顯示sbitRS=P2^0;//P2.0sbitRW=P2^1;//P2.1sbitEN=P2^2;//P2.2
unsignedcharcodetable1[]="TYNCFDKZQXTSJ";unsignedcharcodetable2[]="D:12.0N:";
-40-
附錄一系統(tǒng)程序
unsignedcharcodelcdd[]="0123456789";ucharxs_vo,num;//AT24c02保存數(shù)據(jù)
bitwrite=0;//寫24C02的標(biāo)志;sbitscl=P2^4;sbitsda=P2^5;ucharp=2,a1;RS232串口通信sbitRXD=P3^0;sbitTXD=P3^1;/*聲明調(diào)用函數(shù)*/voidinit();//初始化主函數(shù)
voiddelay(unsignedintt);//可控延時(shí)函數(shù)
voiddelay1();//軟件實(shí)現(xiàn)延時(shí)函數(shù),5個(gè)機(jī)器周期voidbuzzer();ucharget_ad();
//AD程序
//1602液晶顯示部分voidwrite_com(ucharcom);voidwrite_data(uchardate);voidinit1602();voidyj1602();//AT24c02保存數(shù)據(jù)voidinit24c02();voidstart();//啟動(dòng)voidstop();//停止voidrespons();//應(yīng)答voidwrite_byte(uchardate);//ucharread_byte();
-41-
附錄一系統(tǒng)程序
voidwrite_add(ucharaddress,uchardate);//ucharread_add(ucharaddress);voidAT24c02();
以下代碼為init.h
//初始化模塊
voidinit()//初始化主函數(shù){}
/*延時(shí)函數(shù)*/
voiddelay(unsignedintt){
unsignedintj,i;for(i=0;i附錄一系統(tǒng)程序
/*延時(shí)函數(shù)1*/voiddelay1(){
_nop_();_nop_();_nop_();}
//蜂鳴器報(bào)警函數(shù)voidbuzzer(){}
以下代碼為AD.h//ad轉(zhuǎn)換程序ucharget_ad(){
csad=0;//置CSAD為0,adwr=1;_nop_();adwr=0;_nop_();adwr=1;
//啟動(dòng)AD轉(zhuǎn)換//AD程序
//AD轉(zhuǎn)換模塊
beep=0;beep=1;
delay(10);_nop_();_nop_();
delay(2);//AD轉(zhuǎn)換時(shí)間
P1=0xff;//讀取P1口之前先給其寫全1
附錄一系統(tǒng)程序
adrd=1;//選通ADCS
_nop_();
adrd=0;//AD讀使能_nop_();adval=P1;adrd=1;
//AD數(shù)據(jù)讀取賦給P1口,得到ad轉(zhuǎn)換的結(jié)果
ad_vo=(float)adval*150.0/256.0;//得到蓄電池的電壓}
以下代碼為yj1602.h
//液晶1602顯示模塊
return(ad_vo);
/*LCD1602顯示部分子函數(shù)*/voidinit1602()//LCD初始化函數(shù){}
voidwrite_com(ucharcom)//1602寫命令函數(shù){
EN=0;
write_com(0x38);//設(shè)置16X2顯示,5X7點(diǎn)陣,8位數(shù)據(jù)接口write_com(0x0c);//設(shè)置開顯示,不顯示光標(biāo)write_com(0x06);//寫一個(gè)字符后地址指針加1write_com(0x01);//顯示清零,數(shù)據(jù)指針清零
RW=0;delay1();
RS=0;//RW=0,RS=0,寫LCD命令字delay1();
友情提示:本文中關(guān)于《太陽能光伏存儲(chǔ)技術(shù)研究——工作總結(jié)》給出的范例僅供您參考拓展思維使用,太陽能光伏存儲(chǔ)技術(shù)研究——工作總結(jié):該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡(luò)整理 免責(zé)聲明:本文僅限學(xué)習(xí)分享,如產(chǎn)生版權(quán)問題,請(qǐng)聯(lián)系我們及時(shí)刪除。