毛片在线视频观看,一级日韩免费大片,在线网站黄色,澳门在线高清一级毛片

薈聚奇文、博采眾長、見賢思齊
當前位置:公文素材庫 > 計劃總結 > 工作總結 > 太陽能光伏存儲技術研究——工作總結

太陽能光伏存儲技術研究——工作總結

網(wǎng)站:公文素材庫 | 時間:2019-05-28 20:16:03 | 移動端:太陽能光伏存儲技術研究——工作總結

太陽能光伏存儲技術研究——工作總結

畢業(yè)設計工作總結表6

工作任務完成情況(包括任務書中規(guī)定的工作內(nèi)容、研究目標等,如未能完成須說明原因):在李田澤教授的精心指導下,經(jīng)過一個學期的時間,我上網(wǎng)搜集資料、查閱了大量的相關書籍、請教老師和同學,確定了研究內(nèi)容并按照任務書要求完成了相關的工作,依據(jù)。本文針對光伏電池轉化效率低以及并網(wǎng)逆變系統(tǒng)存在的孤島效應對并網(wǎng)光伏發(fā)電系統(tǒng)進行了研究,主要工作如下:基于光伏陣列單元等效電路模型,分析了太陽能電池輸出特性與太陽光照強度、環(huán)境溫度之間的關系;在分析太陽能電池輸出特性的基礎上,采用多鏡面組成的拋物面聚光器提高光伏電池的轉化效率,并給出了該聚光器的設計理論與相關計算;在了解光伏逆變器基本知識的基礎上分析了光伏并網(wǎng)逆變電路工作原理,闡述了孤島狀態(tài)的定義,并介紹了對孤島狀態(tài)檢測方法的要求,在此基礎上,對目前常用的逆變系統(tǒng)孤島檢測方法進行了分析比較,針對有功干擾法在孤島中存在多個光伏并網(wǎng)系統(tǒng)并聯(lián)供電時的失效問題,提出了一種基于正反饋有功干擾的孤島檢測方法。由于本人的水平有限、閱歷尚淺,設計中很多地方都不盡完美,但總的來說,在老師的幫助下基本完成了各項任務并撰寫了畢業(yè)設計論文。在這里衷心的對李田澤老師表示感謝!主要創(chuàng)新點:本論文的創(chuàng)新點是針對有功干擾法在孤島中存在多個光伏并網(wǎng)系統(tǒng)并聯(lián)供電時的失效問題,提出了一種基于正反饋有功干擾的孤島檢測方法,加入正反饋環(huán)節(jié)后,該方法對孤島中存在多個光伏并網(wǎng)的情況也具有一定的適用性。該檢測方法控制簡單,對傳感器精度要求不高,在光伏并網(wǎng)逆變器中實現(xiàn)不需額外的硬件成本。

工作狀況(包括工作態(tài)度、刻苦精神、協(xié)作精神、個人精力投入、出勤等情況):拿到任務書后兩周內(nèi),首先通過網(wǎng)上、實驗室、圖書館等查閱各種資料,包括設計所需要的材料、外文文獻和翻譯資料,與指導老師交流,確定設計方案,再將這些資料整理并加以融合,在此基礎上根據(jù)設計任務書的具體指標稍作修改,基本上滿足本次設計的要求。在設計過程中,我深知自己所學知識有限,積極與其他同學及老師請教遇到的問題,正是由于老師的精心解答,同學的熱心幫助,我才如期完成畢業(yè)設計。對每次老師集中指導我都非常重視,按時出勤,認真聽取老師的指導,及時和老師交流設計心得,報告設計進度。收獲、體會及建議:一個學期緊張而充實的畢業(yè)設計工作,我受益匪淺。通過本次設計,我鞏固了所學專業(yè)知識,拓展了自己的知識結構,學到了許多新的技術。通過老師的悉心指導,我不僅將自己所學的知識在實踐中得以運用,加強了對知識的理解、運用能力,而且接觸了很多新觀念、新方法,拓寬了知識面,為將來的工作打下良好的基礎。本次畢業(yè)設計,培養(yǎng)了我嚴謹認真的態(tài)度和獨立解決分析問題的能力,自我約束能力也進一步增強。在漫長的設計過程中我克服了浮躁心理,踏踏實實用心做好每一步設計。同時,我還認識到了和他人的協(xié)作對于一個人的成功是多么的重要,在與同學的交流協(xié)作中,我也學到了很多為人處事的方法,使得自己的交際能力有了很大的提高。本文是在導師李田澤教授的悉心指導下完成的。他淵博的知識,嚴謹?shù)闹螌W態(tài)度,鞭策我不斷努力探索;他敏銳的洞察力和孜孜不倦的教誨使我受益終身,無論是現(xiàn)在還是將來,都將激勵我奮發(fā)向上。學生簽字:201*年6月12日

擴展閱讀:太陽能光伏存儲技術的研究——畢業(yè)論文

畢業(yè)設計說明書

太陽能光伏儲存技術研究

學院:電氣與電子工程學院專業(yè):電子信息科學與技術姓名:學號:指導教師:

201*年6月

摘要

摘要

目前,太陽能能源在生活中的利用越來越頻繁,如何更好儲存太陽能就成為利用太陽能的一個重要環(huán)節(jié),而蓄電池正是太陽能儲存的重要器件。面對目前許多蓄電池充放電控制不合理和保護不夠充分等情況,本文設計了一套太陽能充電控制器,控制蓄電池的充放電,從而達到更有效的存儲太陽能。

在總體方案的指導下,本設計使用低功耗、高性能、超強抗干擾的STC89C52單片機作為核心器件進行控制。系統(tǒng)硬件電路由太陽能電池充放電電路,電壓采集和顯示電路,單片機控制電路和RS232串口通信電路組成,主要實現(xiàn)對蓄電池電壓的采集和顯示。軟件部分依據(jù)PWM(PulseWidthModulation)脈寬調(diào)制控制策略,編制程序使單片機輸出PWM控制信號,通過控制光電耦合器通斷進而控制MOSFET管開啟和關閉,達到控制蓄電池充放電的目的,同時按照功能要求實現(xiàn)了對蓄電池過充、過放保護和短路保護。

實驗表明,該控制器性能優(yōu)良,可靠性高,可以時刻監(jiān)視太陽能電池板和蓄電池狀態(tài),實現(xiàn)控制蓄電池最優(yōu)充放電,既能達到延長蓄電池使用壽命,也能夠更好的對太陽能進行存儲。

關鍵詞:充電控制器;太陽能儲存;PWM脈寬調(diào)制;

I

Abstract

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太陽能儲存現(xiàn)狀.............................................11.2課題研究背景和意義.........................................11.3主要設計內(nèi)容...............................................3第二章太陽能儲存的總體設計方案...................................42.1太陽能儲存的控制策略.......................................42.1.1太陽能電池.............................................42.1.2蓄電池.................................................42.1.3控制策略..............................................72.2總體設計方案...............................................7第三章系統(tǒng)硬件電路設計...........................................93.1單片機最小系統(tǒng).............................................9

3.1.1STC89C52的簡介......................................93.1.2單片機的最小系統(tǒng)及擴展電路..........................113.2充放電電路................................................133.3光耦驅動電路..............................................143.4A/D轉換電路..............................................15

3.4.1ADC0804的簡介......................................153.4.2ADC0804外圍接線電路...............................173.5LCD顯示電路..............................................183.6E2PROM數(shù)據(jù)存儲電路.......................................203.7串口通信電路..............................................213.8系統(tǒng)總機電路圖............................................24第四章系統(tǒng)軟件設計..............................................244.1系統(tǒng)主程序設計............................................244.2電壓采集轉換模塊..........................................25

4.2.1ADC804時序圖.......................................254.2.2A/D轉換子程序......................................254.3顯示模塊..................................................26

4.3.11602液晶寫操作時序圖...............................264.3.2電壓顯示流程圖......................................274.4數(shù)據(jù)存儲模塊..............................................28

III

目錄

24.4.1IC總線模擬時序圖.................................28

4.4.2數(shù)據(jù)存儲流程圖......................................304.5軟件調(diào)試和仿真............................................30結論...........................................................33參考文獻.........................................................34致謝...........................................................36附錄Ⅰ系統(tǒng)程序..................................................37附錄Ⅱ總機電路圖................................................51

IV

第一章緒論

第一章緒論

1.1太陽能儲存現(xiàn)況

太陽能作為新能源有著巨大的優(yōu)勢,所以世界各國都在努力研發(fā)新技術,比較成熟的是太陽能光伏發(fā)電技術。太陽能光伏發(fā)電現(xiàn)已成為新能源和可再生能源的重要組成部分,也被認為是當前世界最有發(fā)展前景的新能源技術。目前太陽能光伏發(fā)電裝置已廣泛應用于通訊,交通,電力等各個方面。

在進行太陽能光伏發(fā)電時,由于一般太陽能極板輸出電壓不穩(wěn)定,不能直接將太陽能極板應用于負載,需要將太陽能轉變?yōu)殡娔芎蟠鎯Φ揭欢ǖ膬δ茉O備中,如鉛酸蓄電池。但只有當太陽能光伏發(fā)電系統(tǒng)工作過程中保持蓄電池沒有過充電,也沒有過放電,才能使蓄電池的使用壽命延長,效率也得以提高,因此必須對工作過程加以研究分析而予以控制,這種情況下太陽能充電控制器應運而生。

1.2課題研究背景和意義

能源資源是國民經(jīng)濟發(fā)展的重要基礎之一,隨著人民生活水平的不斷提高和科學技術的迅速發(fā)展,能源的缺口增大,能源問題作為困擾人類長期穩(wěn)定發(fā)展的一大因素擺在了人們面前。伴隨著世界能源危機的日益嚴重,石油價格不斷上漲,利用常規(guī)能源已經(jīng)不能適應世界經(jīng)濟快速增長的需要,如何解決能源問題,是每個國家都必須面臨的問題。同時,以煤、石油作為燃料在燃燒過程中產(chǎn)生的有害物質(zhì)已經(jīng)開始造成全球變暖,即“溫室效應",人類的生活將會由此受到很大的威脅。這些難題迫使政府和社會在發(fā)展常規(guī)能源的同時必須加大對新能源的開發(fā)和利用。

新能源包括水能、風能、太陽能等。雖然風能或水能等更加便宜,但是大多數(shù)的自家用戶卻都不可能找到適當場合進行架設,架設成本較高。而太陽能則不同,任何自家用戶只要找到一個有陽光照射到的窗戶都可以裝置太陽能極板作輔助能源,幾百元投資便可以架設。所以綜合考慮,太陽能無疑是符合我

-1-

第一章緒論

國可持續(xù)發(fā)展戰(zhàn)略的理想綠色能源,全球能源專家也認為,太陽能將成為21世紀最重要也最有前景的能源之一。

而且太陽輻射能與煤炭、石油等常規(guī)能源相比較,更有如下的優(yōu)點:(1)普遍性。

地球上處處都有太陽能,不需要到處去尋找,去運輸,容易獲取。(2)無害性。

利用太陽能作為能源,沒有廢渣,廢料,廢氣,廢水的排放,沒有噪聲,不會污染環(huán)境,沒有公害,清潔干凈。

(3)長久性。

只要有太陽,就有太陽能,因此太陽能可以說是取之不盡,用之不竭。(4)巨大性。

一年內(nèi)到達地面的太陽輻射能總量要比現(xiàn)在地球上消耗的各種能量的總和大幾萬倍。

我國幅員遼闊,有著十分豐富的太陽能資源。全國各地的年太陽輻射總量3340.8400MJ/m2,中值為5852MJ/m2。年日照時數(shù)在2200小時以上的地區(qū)約占國土面積的2/3以上。我國的西部地區(qū),包括西藏、新疆、青海、內(nèi)蒙古等省,年日照時間長,這些地區(qū)面積寬廣、人口密集低,在一些偏僻的地區(qū)傳統(tǒng)的供電設施建設成本高,電能的供需矛盾顯得十分突出,因此當?shù)卣浞掷锰柲馨l(fā)電解決無電地區(qū)的用電具有重大的戰(zhàn)略意義。為了更高效的利用太陽能,白天可將太陽能轉化為電能,利用蓄電池將電能儲存起來,需要用電時即可由蓄電池供電。

總體看來我國太陽能資源比較豐富,因此充分利用豐富的太陽能資源,采用太陽能光伏發(fā)電技術,可以節(jié)約能源,發(fā)展經(jīng)濟,提高人民生活水平。

-2-

第一章緒論

1.3主要設計內(nèi)容

本設計研究確定了一種基于STC單片機的太陽能充電控制器的方案,在太陽能對蓄電池的充電方式、控制器的功能要求和電路保護方面做了分析,完成了系統(tǒng)硬件電路設計和軟件編程,實現(xiàn)了對蓄電池的科學管理。這里以充/放電最大電流10A,額定電壓12V控制器系統(tǒng)為例,其實現(xiàn)的主要功能如下。

(1)要能自動檢測太陽能電池板電壓是否高于蓄電池電壓,若高于蓄電池電壓,則可開啟充電;若低于蓄電池電壓,則不能開啟充電,否則蓄電池電流會反向流向太陽能電池板而造成點亮損耗。

(2)當蓄電池電壓低于10.8V時,自動關斷負載(欠壓關斷),同時有報警功能;

(3)當蓄電池電壓高于14.5V,自動關斷負載(過壓關斷)和充電電路,同時有報警功能。

(4)當蓄電池處于浮充充電狀態(tài)時電壓值控制在13.5V左右。

(5)當用戶將太陽能電池板接反至控制器時,具有保護控制器不被毀壞的功能;

(6)當用戶將蓄電池接反至控制器時,要有報警功能,并且具有保護控制器不被毀壞的功能。

-3-

第二章太陽能儲存的總體設計方案

第二章太陽能儲存的總體設計方案

2.1太陽能儲存的控制策略

2.1.1太陽能電池板

如圖2-1所示,太陽能電池板是利用半導體光伏效應制成的,能夠直接將太陽輻射轉換成電能的器件。具有很強的光伏效應半導體材料,當吸收一定能量的光子后其內(nèi)部導電的載流子電子和空穴分布和濃度發(fā)生變化。光照在半導體P/N結上,就會在其兩端產(chǎn)生光生電壓,當外部接通電路時,在該電壓的作用下,將會有電流流過外部電路產(chǎn)生一定的輸出功率。在這個過程中,光電池本身不發(fā)生任何化學反應,也沒有轉動磨損,因此使用太陽能電池的過程中沒有噪聲,沒有環(huán)境污染,這是其他方式發(fā)電所不能比擬的。

圖2-1太陽能電池產(chǎn)生光伏效應

2.1.2蓄電池

(1)蓄電池工作原理

太陽能充電控制器最主要的功能是控制太陽能極板對蓄電池的充電,蓄電池的性能和充放電的方式有很大的關系,所以在設計控制器之前需要對蓄電池的原理、充放電過程做一個分析。

一般鉛酸蓄電池是由正極板、負極板、隔板、電池槽、電解液和接線端子等部分組成,極板主要有鉛制成,電解液是硫酸溶液。依據(jù)化學基礎理論:鉛酸蓄電池釋放化學能的過程(放電過程)是負極進行氧化,正極進行還原的過程;

-4-

第二章太陽能儲存的總體設計方案

電池補充化學能的過程(充電過程)是負極進行還原,正極進行氧化的過程。分析可知,蓄電池的充電過程和放電過程是可逆的。實際上,蓄電池最重要的指標就是電解液中硫酸根的濃度,因此可以用電池中硫酸溶液的密度(比重)來衡量電池充放電的程度。

(2)蓄電池在光伏發(fā)電系統(tǒng)中的作用

在獨立的太陽能光伏發(fā)電系統(tǒng)中,蓄電池是整個系統(tǒng)的重要組成部分,是對整個系統(tǒng)性能可靠性影響比較大的部分。在光伏發(fā)電系統(tǒng)中,蓄電池的主要作用有:儲存能量、對太陽能極板的工作電壓的進行鉗位、給負載提供啟動電流等。蓄電池的存在,可以解決太陽能產(chǎn)生電能和負載用電時間不一致不同步的問題,太陽能極板和負載兩者之間電壓不匹配的問題等。(3)蓄電池常規(guī)充放電方式

目前,市場上常規(guī)的蓄電池充電法包括三種:恒流充電法、階段充電法和恒壓充電法。

恒流充電法:是通過保持充電電流強度不變進行充電的方法。這種充電控制方法簡單,但由于電池的可接受電流能力是隨著充電過程的進行而逐漸下降的,到充電后期,充電電流多用于電解水,產(chǎn)生氣體,使出氣過多,影響蓄電池的使用壽命。

階段充電法:這種充電方法包括二階段充電法和三階段充電法。二階段充電法是先用恒定電流充電至預定的電壓值,然后改為恒定電壓完成剩余的充電,一般兩階段之間的轉換電壓就是第二階段的恒電壓;三階段充電法是指在充電開始和結束時采用恒定的電流充電,中間用恒定的電壓進行充電。階段充電法這種方法雖然可以將出氣量減到最少,但作為一種快速充電方法使用,實際應用中受到一定的限制。

恒壓充電法:恒壓充電時要嚴格掌握充電電壓,電壓在全部充電時間里保持恒定的數(shù)值,充電電壓過低,蓄電池會充不滿,過高則會造成過量充電。由于充電初期蓄電池電動勢較低,充電電流很大,隨著充電的進行,電流將逐漸減少。這種充電方法在充電初期電流過大,對蓄電池壽命造成很大影響,且容

-5-

第二章太陽能儲存的總體設計方案

易使蓄電池極板彎曲,將會影響蓄電池的使用。

改進的充放電方式:針對目前市場上控制器的主要問題是由于對于蓄電池的保護不夠充分,不合適的充電方式容易導致蓄電池的損壞,同時通過對蓄電池的工作原理和對影響蓄電池使用壽命因素的分析,本論文提出了PWM(PulseWidthModulation)脈寬調(diào)制充電方法。PWM是利用微處理器的數(shù)字輸出來對模擬電路進行控制的一種非常有效的技術,廣泛應用在從測量、通信到功率控制與變換的許多領域中。這種充電法不僅遵循蓄電池固有的充電接受率,而且能夠提高蓄電池充電接受率,這也是蓄電池充電理論的進一步發(fā)展。

PWM脈沖調(diào)制充電方式首先對電池充電一段時間,然后讓電池停止充電一段時間,如此循環(huán)往復。充電脈沖使蓄電池充滿電量,而間歇期使蓄電池經(jīng)化學反應產(chǎn)生的氧氣和氫氣有時間重新化合而被吸收掉,從而減輕了蓄電池的內(nèi)壓,使下一輪的充電能夠更加順利地進行,使蓄電池可以吸收更多的電量。PWM調(diào)制充電方式使蓄電池有較充分的反應時間,減少了析氣量,提高了蓄電池的充電效率。脈寬調(diào)制方式是指在固定時鐘頻率下,通過調(diào)節(jié)開關的通斷時間來控制信號的占空比,從而實現(xiàn)對輸出電壓的調(diào)整。實際也就是以一直流電壓經(jīng)過以一定頻率打開與閉合開關的控制來改變電壓。輸出電壓波形如圖2-2所示。

針對目前市場上的太陽能充電控制器當蓄電池給負載供電時,沒有時刻檢測蓄電池的電壓,很容易導致蓄電池的深度放電這個問題,本論文提出時刻在線檢測蓄電池電壓來避免蓄電池發(fā)生過放現(xiàn)象,保護蓄電池,提高其使用壽命。

作為光伏發(fā)電系統(tǒng)中的關鍵部件,蓄電池的壽命短是阻礙整個光伏發(fā)電系統(tǒng)性能和推廣的主要原因之一。根據(jù)蓄電池的工作原理,結合實際應用情況,在光伏發(fā)電系統(tǒng)中,影響鉛酸蓄電池壽命的主要因素有:充電電壓的設置、過放控制點的設置、溫度、運行環(huán)境等。依據(jù)這些影響因素,分析蓄電池常見充放電方式局限性,對充放電方式進行了一定的改進。

-6-

第二章太陽能儲存的總體設計方案

電壓U0tT時間

圖2-2輸出電壓波形

2.1.3控制策略

一般太陽能極板輸出電壓的不穩(wěn)定,不能直接應用于負載,需要將太陽能轉變?yōu)殡娔芎蟠鎯Φ絻δ茉O備如蓄電池中,而控制器在這個過程中起著樞紐作用,其性能的好壞將會直接影響實際應用的使用效果?刂破骺刂铺柲軜O板對蓄電池的充電,為了延長蓄電池的使用壽命,必須對它的充放電條件加以限制,防止蓄電池過充電及深度充電?刂破魍瑫r負責蓄電池是否對負載供電,當蓄電池的電壓在正常范圍內(nèi)時,控制器控制開關接通,蓄電池給負載供電;當蓄電池的電壓處于欠壓或是過放狀態(tài)時,控制器控制開關截止,蓄電池停止對負載的供電,在這個過程中控制器起著至關重要的作用,保護負載和蓄電池。

2.2總體設計方案

通過以上對各種分析,明確太陽能充電控制器的重要性和作用,依照應該具有的功能,制訂出控制策略,最后確定了整體設計方案。

本系統(tǒng)以STC89C52單片機為主控芯片,利用分壓電路對蓄電池的電壓、進行采樣,然后經(jīng)過A/D轉換將檢測電壓數(shù)據(jù)輸入到單片機中進行處理,通過液晶芯片把電壓值顯示出來方便調(diào)整。單片機在軟件程序的控制下輸出PWM控制信號,經(jīng)光耦驅動MOSFET管開啟與關閉來控制充放電電路。該系統(tǒng)可以實現(xiàn)控制蓄電池的最優(yōu)充放電,有效的延長蓄電池的壽命。系統(tǒng)整體結構框圖如圖2-3所示。

-7-

第二章太陽能儲存的總體設計方案

太陽能電池板充電電路光耦驅動電路液晶1602電壓顯示電路鉛酸蓄電池A/D轉換電路主控芯片STC89C52單片機AT24C02數(shù)據(jù)存儲電路負載放電電路光耦驅動電路RS232串口通信電路圖2-3系統(tǒng)整體結構框圖

以上通過對太陽能電池、被控對象蓄電池的分析,結合硬件資源和軟件控制策略,進行了硬件電路設計和軟件編程設計,最終確定整體設計方案。整體方案設計,講述了光伏發(fā)電技術中控制器和蓄電池的作用,控制器主要負責控制太陽能極板對蓄電池的充電以及控制蓄電池對負載的供電。由于不合適的充放電方式會導致蓄電池的損壞,縮短蓄電池的使用壽命,本論文提出了PWM脈寬調(diào)制充電方法,這種充電方法能夠使蓄電池有較充分的反應時間,與以前的充電方式相比,提高了蓄電池的充電效率。同時提出了時刻在線檢測蓄電池電壓的放電控制方法,避免蓄電池發(fā)生過放現(xiàn)象,保護蓄電池。各個部分的控制功能通過對單片機進行軟件編程來實現(xiàn)。。

-8-

第三章系統(tǒng)硬件電路設計

第三章系統(tǒng)硬件電路設計

在整體方案的指導下,依據(jù)工程設計的常見思路,本論文從硬件電路設計和軟件設計兩個方面入手,運用模塊化的設計方法去進行控制器的設計。

硬件電路主要由以下幾部分組成:單片機最小系統(tǒng)、充放電電路、光耦驅動電路、A/D轉換電路、LCD顯示電路、E2PROM數(shù)據(jù)存儲電路、串口通信電路等。下面先從系統(tǒng)層次原理圖入手,對系統(tǒng)原理進行詳細的分析,然后再對具體電路地進行一一介紹。

3.1單片機最小系統(tǒng)

3.1.1STC89C52的簡介

STC89C52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器。使用STC公司高密度非易失性高加密性存儲器技術制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。在芯片內(nèi)部,擁有很高頻率8位CPU和在系統(tǒng)可編程Flash,使得STC89C52為眾多嵌入式控制應用系統(tǒng)提供高靈活、有效的解決方案。

STC89C52具有以下標準功能:8k字節(jié)Flash,256字節(jié)RAM,32位I/O口線,看門狗定時器,2個數(shù)據(jù)指針,三個16位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內(nèi)晶振及時鐘電路。另外,STC89C52具有低功耗設計,支持2種軟件可選擇節(jié)電模式?臻e模式下,CPU停止工作,允許RAM、定時器/計數(shù)器、串口、中斷繼續(xù)工作。掉電保護方式下,RAM內(nèi)容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產(chǎn)品的需求。而且STC89C52的工作頻率很寬,可以在0~35MHz之間選擇,芯片具有超強抗干擾性,加密性強。

STC89C52常見的是PDIP封裝,是一個有40個引腳的芯片,引腳如圖3-1所示。按其功能類別將它們分為三類:

(1)電源和時鐘引腳。如VCC、GND、XTAL1、XTAL2。

-9-

第三章系統(tǒng)硬件電路設計

(2)編程控制引腳。RST、PSEN、ALE/PROG、EA/VPP。(3)I/O口引腳。如P0、P1、P2、P3。

圖3-1STC89C52引腳圖

這里僅詳細介紹編程引腳:

(1)RST:復位輸入。晶振工作時,RST引腳持續(xù)2個機器周期高電平將使單片機復位?撮T狗計時完成后,RST腳輸出96個晶振周期的高電平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能無效。DISRTO默認狀態(tài)下,復位高電平有效。

(2)ALE/PROG:地址鎖存控制信號(ALE)是訪問外部程序存儲器時,鎖存低8位地址的輸出脈沖。在flash編程時,此引腳(PROG)也用作編程輸入脈沖。在一般情況下,ALE以晶振六分之一的振蕩頻率輸出脈沖,可作為外部定時器或時鐘使用。

如果需要,通過將地址為8EH的SFR的第0位置“1”,ALE操作將無效。這一位置“1”,ALE僅在執(zhí)行MOVX或MOVC指令時有效。否則,ALE將被微弱拉高。這個ALE使能標志位(地址為8EH的SFR的第0位)的設置對微控制器處于外部執(zhí)行模式下無效。

-10-

第三章系統(tǒng)硬件電路設計

PSEN:(3)外部程序存儲器選通信號(PSEN)是外部程序存儲器選通信號。當STC89C52從外部程序存儲器執(zhí)行外部代碼時,PSEN在每個機器周期被激活兩次,而在訪問外部數(shù)據(jù)存儲器時,PSEN將不被激活。

(4)EA/VPP:訪問外部程序存儲器控制信號。為使能從0000H到FFFFH的外部程序存儲器指令,EA必須接GND。為了執(zhí)行內(nèi)部程序指令,EA應該接VCC。在flash編程期間,EA也接收12伏Vpp電壓。

3.1.2單片機的最小系統(tǒng)及擴展電路

單片機是系統(tǒng)的主控芯片,為了使整個電路得到很好的控制,首先必須構建最小系統(tǒng)是單片機可以工作起來。本設計單片機最小系統(tǒng)擴展電路包括上電復位電路,時鐘電路,工作指示燈和蜂鳴器報警電路等。

(1)時鐘電路

單片機內(nèi)部有一個用于構成振蕩器的高增益反相放大器,此放大器的輸入端和輸出端分別是引腳XTAL1和XTAL2,在XTAL1和XTAL2上外接時鐘源即可構成時鐘電路,CPU的所有操作均在時鐘脈沖同步下進行。片內(nèi)振蕩器的振蕩頻率非常接近晶振頻率,一般多在1.2MHz~12MHz之間選取。時鐘電路如圖3-2所示。電路中C6、C7是反饋電容,其值在5pF~30pF之間選取,本電路選用的電容為30pF,晶振頻率為11.0952MHz。

(2)復位電路

復位是單片機的初始化操作。其主要功能是把PC初始化為0000H,使單片機從0000H單元開始執(zhí)行程序。除了進入系統(tǒng)的正常初始化之外,當由于程序運行出錯或操作錯誤使系統(tǒng)處于死鎖狀態(tài)時,為擺脫困境,也需按復位鍵重新啟動。

單片機的復位電路如圖3-3所示。本系統(tǒng)采用的是上電+電平按鈕復位,上電復位是通過外部復位電路的電容充電來實現(xiàn)的。按鈕復位是當按鈕按下后,

-11-

第三章系統(tǒng)硬件電路設計

電源通過電阻R14施加到復位端上,實現(xiàn)單片機復位。

復位電路雖然簡單,但其作用非常重要。一個單片機系統(tǒng)能否正常運行,首先要檢查是否能復位成功。初步檢查可用示波器探頭監(jiān)視RST引腳,按下復位鍵,觀察是否有足夠幅度的波形輸出(瞬時的),還可以通過改變復位電路電阻和電容值進行實驗。

圖3-2時鐘電路

圖3-3復位電路

(3)工作狀態(tài)指示燈電路

本設計可以時刻檢測蓄電池電壓,為了更好的進行監(jiān)控,要對整個電路的

工作狀態(tài)進行指示,這是很有必要的。工作狀態(tài)指示燈電路如圖3-4所示。其中LED1為正常充電指示燈,LED2為過壓指示燈,LED3為欠壓指示燈。串聯(lián)的電阻的目的是為了限制通過發(fā)光二極管的電流太大而將其燒毀。

(4)蜂鳴器報警電路

報警電路采用蜂鳴器來發(fā)出報警聲音,由于STC89C52輸出引腳的驅動能力較弱,所以蜂鳴器要加三極管進行驅動。

在對蓄電池電壓實時監(jiān)測的過程中,一旦發(fā)現(xiàn)檢測電壓值連續(xù)超出閾值范圍,便啟動自身報警電路,即當電壓超過程序設定的最高值或最低值時,單片機的P2.6引腳(beep端)輸出低電平,三極管隨之導通,驅動蜂鳴器發(fā)出報警信號。蜂鳴器報警電路圖如圖3-5所示。

-12-

第三章系統(tǒng)硬件電路設計

圖3-5工作狀態(tài)指示燈電路

圖3-5蜂鳴器報警電路

3.2充放電電路

充放電電路如圖3-6所示,電路由防反充二極管D1、濾波電容C4和C5、穩(wěn)壓管D2、續(xù)流二極管D3、MOSFET管Q1和Q2等構成。二極管D1是為了防止反充,當陰天或晚上蓄電池的電壓高于太陽能電池板的電壓時,D1就生效,可以防止蓄電池電流流向太陽能電池板。分析可知,通過控制MOSFET管閉合和斷開的時間(即PWM脈沖寬度調(diào)制),就可以控制輸出電壓。所使用的MOSFET是電壓控制單極性金屬氧化物半導體場效應晶體管,所需驅動功率較小。而且MOSFET只有多數(shù)載流子參與導電,不存在少數(shù)載流子的復合時間,因而開關頻率可以很高,非常適合作控制充放電開關。設計中采用IRL2703-N溝道MOSFET管,N溝道MOSFET的導通電壓Vth>0。當光耦U2斷開時,由于Q1的G極電壓接近蓄電池電壓,S極是接地,使得Vgs>0,當G極電壓達到一定值時,Q1導通。電容C4是太陽能電池板輸出電壓濾波,使得更穩(wěn)定地給蓄電池充電。電容C5是對蓄電池輸出電壓進行濾波,以保證負載供電電路的穩(wěn)定性。圖中穩(wěn)壓管D2用來對蓄電池進行穩(wěn)壓作用。當用戶將蓄電池反接至控制器時,續(xù)流二極管D3可以進行續(xù)流,從而保護控制器不被毀壞。

按程序設計當檢測到蓄電池的電壓低于12V,充電模式為均充,Q1為完全導通狀態(tài),也就是導通的脈沖占空比最大;當檢測到蓄電池的電壓在12V-14.5V,

-13-

第三章系統(tǒng)硬件電路設計

圖3-6充放電電路

充電模式為浮充,Q1導通與不導通的占空比例變小,當檢測到蓄電池的電壓等于15V左右,Q1截止使充電停止,同時Q2也關閉來關斷負載。當檢測到蓄電池的電壓低于10.8V,Q2關閉停止放電,關斷負載來實現(xiàn)欠壓關斷。

3.3光耦驅動電路

為了增加系統(tǒng)的可靠性,本設計用光電耦合器實現(xiàn)單片機控制電路和充放電電路的隔離。光耦驅動電路如圖3-7所示。M0S管Q1控制著充電電路,當充電控制信號PWM為低電平時,光耦內(nèi)部的發(fā)光二極管的電流近似為零,右側三極管不導通,輸出端兩管腳間的電阻很大,相當于開關—斷開‖,輸出端K1被抬高,電阻R9右側被穩(wěn)壓管D2穩(wěn)壓到12V左右,MOSEFT的Vgs>0,MOS管Q1開啟,太陽能極板開始對蓄電池充電;當充電控制器信號為高電平時,光耦內(nèi)部的發(fā)光二極管發(fā)光,三極管導通,輸出端兩管腳間的電阻變小,相當于開關—接通‖,此時從U2輸入的電壓經(jīng)光耦流向接地端,K1處的電壓接近為零,MOSEFT的Vgs第三章系統(tǒng)硬件電路設計

圖3-7光耦驅動電路

3.4A/D轉換電路

本系統(tǒng)設計的STC89C52單片機沒有內(nèi)置的A/D轉換模塊,因此需要先采集蓄電池的電壓,然后經(jīng)A/D轉換才可接入單片機。市場中集成的A/D轉換器品種很多,選用時需要綜合考慮各種因素進行選取。一般逐次比較型A/D轉換器用到較多,本設計采用8位并行A/D轉換器芯片ADC0804。因為蓄電池電壓的采集轉換在系統(tǒng)中極為重要,所以下面對所選ADC0804芯片及在本系統(tǒng)中是典型連接電路予以介紹。

3.4.1ADC0804的簡介

AD轉換就是模數(shù)轉換,顧名思義,就是把模擬信號轉換成數(shù)字信號。AD轉換器最主要的技術參數(shù)是轉換速度和轉換精度,由于逐次比較型兼有并行A/D轉換器轉換速度高和雙積分型轉換精度高的優(yōu)點,所以得到普遍應用。ADC0804就是這類集成A/D轉換器。

ADC0804為一只具有20引腳并行8位CMOS工藝逐次比較型的集成A/D轉換器,其規(guī)格如下:

-15-

第三章系統(tǒng)硬件電路設計

(1)高阻抗狀態(tài)輸出,分辨率:8位(0~255)(2)存取時間:135us;轉換時間:100us(3)總誤差:正負1LSB

(4)工作溫度:0度~70度;(5)模擬輸入電壓范圍:0V~5V(6)參考電壓:2.5V;工作電壓:5V

(7)輸出為三態(tài)結構,可直接連接在數(shù)據(jù)總線上。ADC0804引腳圖如圖3-8所示,其各個引腳的功能:

CS芯片片選信號輸入端,低電平有效,一旦CS有效,表明A/D轉換器別選中,可啟動工作。

RD外部讀取轉換結果的控制輸出信號。RD為1時,DB0~DB7處理高阻抗:RD為0時,數(shù)字數(shù)據(jù)才會輸出。

WR用來啟動轉換的控制輸入,相當于ADC的轉換開始(CS=0時),當WR由1變?yōu)?時,轉換器被清除:當WR回到1時,轉換正式開始。

圖3-8ADC0804引腳圖

CLKIN時鐘信號輸入端

-16-

第三章系統(tǒng)硬件電路設計

CLKR:內(nèi)部時鐘發(fā)生器的外接電阻端,與CLK配合可有芯片自身產(chǎn)生時鐘脈沖,其振蕩頻率為1/(1.1RC)

INTR中斷請求信號輸出,端,低地平動作.,表明本次轉換已完成。VIN(+)VIN(-)差動模擬電壓輸入。輸入單端正電壓時,VIN(-)接地:而差動輸入時,直接加入VIN(+)VIN(-).

AGND,DGND模擬信號以及數(shù)字信號的接地.VREF/2參考電平輸入,決定量化單位。DB0~DB7三態(tài)特性數(shù)字信號輸出端.VCC:電源供應以及作為電路的參考電壓.

3.4.2ADC0804外圍接線電路

(1)電壓采集電路

如圖3-9所示,電壓采集電路使用兩個串聯(lián)的電阻,大小比例為2:1,然后并聯(lián)在需要檢測的電壓兩端,從兩個電阻中間采集電壓。由分壓公式得出采集的電壓為ADIN,當蓄電池充滿電時電壓大概為14.5V,計算出采集到的電壓為4.8V,符合A/D轉換芯片的ADC0804的輸入值。

圖3-9電壓采集電路

(2)ADC0804構成的典型A/D轉換電路

-17-

第三章系統(tǒng)硬件電路設計

按照芯片手冊中ADC0804的典型接法,系統(tǒng)中設計的A/D轉換電路如3-11所示。單片機的P2.7引腳,用來實現(xiàn)片選;RD、WR分別接單片機的P3.6和P3.7引腳,進行讀寫控制;CLK、CLKR、GND之間用電阻和電容構成RC振蕩電路,用來給ADC0804提供工作所需的脈沖。

蓄電池的電壓采集信號ADIN從6腳引入,在內(nèi)部采集轉換后,從數(shù)字輸出端輸出到單片機的P1口,通過讀P1口數(shù)據(jù),便可以得到蓄電池的電壓,實現(xiàn)實時在線檢測。

圖3-12A/D轉換電路

3.5LCD顯示電路

液晶具有體積小、功耗低,顯示清晰的優(yōu)點,所以比較適合作顯示使用。為了更好的顯示電壓值,同時擴展自己學習芯片的能力,本設計用液晶1602來顯示蓄電池的電壓值。在使用1602之前,我們首先查閱其使用手冊,對其進行一定的了解。從芯片手冊中,可以得到1602液晶的主要技術資料,如表3-1所示,通過此表我們可以知道1602工作電壓和顯示容量,可以驗證設計選擇的是否合適。

表3-11602的主要技術參數(shù)

顯示容量芯片工作電壓工作電流

模塊最佳工作電壓

162個字符4.5~5.5V

2.0mA(5.0V)5.0V

第三章系統(tǒng)硬件電路設計

字符尺寸

2.954.35(WH)mm

顯然,1602液晶可以滿足要求,接下來介紹其各個引腳的功能,為后面設計電壓顯示電路做準備。1602引腳功能如表3-2所示。

表3-21602引腳功能表

引腳1234567-14

符號VssVDDVORSR/WEDB0-DB7

名稱接地電路電源

0V

功能5V±10%

液晶顯示對比度調(diào)

用于調(diào)節(jié)對比度

節(jié)端

寄存器選擇信號讀/寫信號片選信號數(shù)據(jù)線

H:數(shù)據(jù)寄存器L:指令寄存器H:讀L:寫下降沿觸發(fā),鎖存數(shù)據(jù)數(shù)據(jù)傳輸

根據(jù)1602的技術參數(shù)和引腳功能,1602與單片機連接構成的電壓顯示電路如圖3-12所示。EN使能端接單片機的P2.2引腳,用來實現(xiàn)片選;RS接單片機P2.0引腳,進行數(shù)據(jù)和命令選擇;R/W接單片機P2.1引腳,進行讀寫控制;為防止直接加5V電壓燒壞背光燈,在15腳串接一個10的電阻用于限流。液晶3端通過接一個10K電位器接地來調(diào)節(jié)顯示對比度。數(shù)據(jù)輸入端D0-D7接單片機的P0口用于電壓數(shù)據(jù)的傳送。

圖3-11電壓顯示電路

-19-

第三章系統(tǒng)硬件電路設計

3.6E2PROM數(shù)據(jù)存儲電路

為了把電路發(fā)生異常時的蓄電池電壓記錄下來,需要用存儲芯片進行數(shù)據(jù)保存。若采用普通存儲器,在掉電時需要備用電池供電,并需要在硬件上增加掉電檢測電路,但存在電池不可靠及擴展芯片占用單片機過多口線的缺點。為了解決這一難題,本設計采用具有I2C總線接口的串行E2PROM器件,這里選擇AT24C02芯片。AT24C02可有效解決掉電數(shù)據(jù)保存問題,可對所存在數(shù)據(jù)保存100年,并可多次擦寫,擦寫次數(shù)可達10萬次以上。

AT24C02是一個2K位串行CMOSE2PROM,內(nèi)部含有256個字節(jié),采用先進CMOS技術實質(zhì)上減少了器件的功耗。AT24C02內(nèi)部有一個8字節(jié)頁寫入數(shù)據(jù)緩沖器。該器件通過I2C總線接口進行操作,有一個專門的寫保護功能。為了更好的使用AT24C02,首先來介紹其各個引腳功能,如表3-3所示。

I2C串行總線一般有兩根信號線,一根是雙向的數(shù)據(jù)線SDA,另一根是時鐘線SCL。所有接到I2C總線設備上的串行數(shù)據(jù)SDA都接到總線的SDA上,

2各設備的時鐘線SCL接到總線的SCL上。根據(jù)各引腳的功能,依據(jù)IC總線

系統(tǒng)的典型硬件連接圖,AT24C02與單片機連接構成的數(shù)據(jù)存儲電路如圖3-1所示。

表3-3AT24C02管腳描述

管腳名稱A0A1A2SDASCLWP

功能

可編程地址輸入端串行數(shù)據(jù)/地址串行時鐘寫保護

電源端,+1.8V~6.0V工作電壓地

VccGND

-20-

第三章系統(tǒng)硬件電路設計

圖3-12數(shù)據(jù)存儲電路

3.7串口通信電路

隨著單片機系統(tǒng)的廣泛應用和計算機網(wǎng)路技術的普及,單片機的通信功能愈來愈顯得重要。單片機通信是指單片機與計算機或單片機與單片機之間的信息交換,不過通常使用的是單片機與計算機之間的通信。通信有并行和串行兩種方式。由于并行通信存在使用傳輸線較多,長距離傳送成本高且收、發(fā)方的各位同時接受存在困難等諸多問題,所以在現(xiàn)代單片機測控系統(tǒng)中,信息的交換多采用串行通信方式。

本設計中加入串行通信電路的目的主要有三個:一是方便給單片機下載程序;二是使控制器具有遠程通信或遠程監(jiān)控的功能;三是將控制器每天采集到數(shù)據(jù)的極限值和發(fā)生異常狀態(tài)時的數(shù)據(jù)記錄下來,供用戶查看。由于單片機的電平和計算機電平不兼容,設計中采用MAX232芯片進行TTL電平和RS-232電平之間的轉換。而且系統(tǒng)采用易于實現(xiàn)的異步串行通信方式,用最簡單也最實用的奇偶校驗作為串行通信錯誤校驗方式。

MAX232芯片是專門為電腦的RS-232標準串口設計的單電源電平轉換芯片,使用+5v單電源供電。其主要特點:

(1)符合所有的RS-232C技術標準(2)只需要單一+5V電源供電(3)片載

-21-

+10V和-10V第三章系統(tǒng)硬件電路設計

電壓V+、V-

(4)功耗低,典型供電電流5mA(5)內(nèi)部集成2個RS-232C驅動器(6)內(nèi)部集成兩個RS-232C接收器

(7)高集成度,片外最低只需4個電容即可工作。

了解芯片的主要特點之后,接下來我們來認識MAX232它的各個引腳的功能,即有什么作用,以更好地設計串口通信電路。其引腳圖如圖3-13所示。

第一部分是電荷泵電路。由1、2、3、4、5、6腳和4只電容構成。功能是產(chǎn)生+12v和-12v兩個電源,提供給RS-232串口電平的需要。

第二部分是數(shù)據(jù)轉換通道。由7、8、9、10、11、12、13、14腳構成兩個數(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輸入轉換成RS-232電平從T1OUT、T2OUT送到電腦DB9插頭;DB9插頭的RS-232數(shù)據(jù)從R1IN、R2IN輸入轉換成TTL/CMOS數(shù)據(jù)后從R1OUT、R2OUT輸出。

第三部分是供電。15腳GND、16腳VCC(+5v)

圖3-13MAX232的引腳圖

按照串行通信原理,根據(jù)RS-232串口協(xié)議和MAX232芯片的引腳功能,

-22-

第三章系統(tǒng)硬件電路設計

結合STC89C52單片機串行中斷方式,本設計采用串口方式1(10位數(shù)據(jù)的異步通信)來構建串口通信電路。電路如下圖3-14所示。

圖3-14串口通信電路

設計中T1IN連接CMOS電平的單片機的串行發(fā)送端;T1OUT連接電腦的RS-232C串口的接收端PCRXD;同理,R1IN連接電腦的RS-232C串口的發(fā)送端PCTXD;R1OUT連接CMOS電平的單片機的串行接收端。當然單片機和DB9要共地,這是實現(xiàn)串行通信的前提條件。

3.8系統(tǒng)總機電路圖

本章對充放電控制器的原理以及具體的硬件實現(xiàn)電路進行了詳細的介紹,并對電路中使用到的芯片也予以描述,使讀者通過閱讀可以清晰的明白控制器的設計思路和實現(xiàn)過程。最后得出系統(tǒng)的總機電路圖,見附錄二。

-23-

第四章系統(tǒng)軟件設計

第四章系統(tǒng)軟件設計

軟件設計采用C語言來實現(xiàn),受C語言模塊化編程設計思想的啟發(fā),本系統(tǒng)軟件設計采用模塊化設計思路,即整個控制軟件由許多獨立的子程序(子函數(shù))模塊組成,它們之間通過函數(shù)調(diào)用實現(xiàn)連接。既便于調(diào)試,連接,又便于移植、修改。系統(tǒng)軟件主要完成蓄電池電壓采集轉換,PWM脈沖充電控制、實時LCD顯示,異常報警等。包括以下幾部分:系統(tǒng)主程序設計,電壓采集轉換模塊,顯示模塊和異常數(shù)據(jù)存儲模塊。

4.1系統(tǒng)主程序設計

系統(tǒng)主程序流程圖如圖4-1所示。

開始初始化主函數(shù)和子函數(shù)蓄電池電壓采集轉換蓄電池反接關閉充放電電路Vbat14.5VNVbat>12VNYVbat>10.8V直充充電N關斷負載開啟充電結束圖4-1系統(tǒng)主程序流程圖

-24-

NY停止充電關斷負載YPWM浮充充電第四章系統(tǒng)軟件設計

系統(tǒng)主程序是整個電壓測控系統(tǒng)中最重要的程序,是一個順序執(zhí)行的無限循環(huán)程序。蓄電池電壓的采集、轉換顯示和異常數(shù)據(jù)的存儲都在測控子程序中進行,系統(tǒng)應用主程序采用模塊化結構,首先完成初始化,然后就開始按順序調(diào)用各個模塊子程序,通過系統(tǒng)自檢和控制指令來實現(xiàn)數(shù)據(jù)處理和電路控制,有效的控制蓄電池充放電。

4.2電壓采集轉換模塊

4.2.1ADC804時序圖

為了更好理解模數(shù)轉換器的對蓄電池電壓采集轉換過程,下面首先對ADC0804的啟動和讀取時序圖予以介紹。時序圖如圖4-2所示。

圖4-2ADC804時序圖

如圖,當CS與WR同時置低,為低電平時,A/D轉換器被啟動,且在WR上升沿后,經(jīng)過約100uS后,模數(shù)完成轉換,轉換結果存入數(shù)據(jù)鎖存器,同時,INTR自動變?yōu)榈碗娖,表示本次轉換已結束。在INTR變?yōu)榈碗娖胶,若CS、RD同時來低電平,則數(shù)據(jù)鎖存器的三態(tài)門打開,把數(shù)字信號送出,此時直接讀取數(shù)字端口數(shù)據(jù),便可得到轉換后的數(shù)字信號。反之,若RD為高電平,三態(tài)門處于高阻狀態(tài),數(shù)據(jù)被鎖存。

4.2.2A/D轉換子程序

-25-

第四章系統(tǒng)軟件設計

芯片的時序圖是對芯片的操作的關鍵依據(jù)。按照ADC0804芯片的時序圖,此模塊通過對其進行啟動和讀取操作,主要來完成對蓄電池電壓的采集轉換,并對結果進行數(shù)據(jù)處理,送給后面的顯示模塊予以顯示。由于ADC0804的轉換時間很短,本設計未用中斷讀取A/D的數(shù)據(jù),而是在啟動A/D轉換后,稍等一會時間(程序中用延時函數(shù)實現(xiàn)),直接讀取A/D的數(shù)字輸出口即可。軟件設計中AD轉換模塊的流程圖如圖4-3所示。

開始CS置低片選芯片RD置低電平讀使能WR置低啟動AD轉換讀取AD轉換結果延時等待轉換成實際電壓值轉換完成?Y結束N圖4-3A/D轉換子程序

4.3顯示模塊

4.3.11602液晶寫操作時序圖

通過電壓采集轉換子程序,通過單片機處理就可以得到蓄電池的實際電壓值,本設計用液晶1602作顯示器來進行顯示。液晶1602通常用并行操作,作為一款顯示芯片,為了使其能夠正常的工作,首先必須對其進行初始化,然后按照其時序圖進行正確操作,才能夠得到滿意的顯示效果,這就是軟件設計中顯示模塊的任務。下面就1602的初始化指令和操作時序進行介紹。

液晶1602的初始化,是讓其正確顯示的前提,其初始化通常如下:EN=0;首先關閉使能,防止開始時顯示亂碼,同時為以后高脈沖寫入數(shù)據(jù)做

-26-

N第四章系統(tǒng)軟件設計

準備。

write_com(0x38);//設置16X2顯示,5X7點陣,8位數(shù)據(jù)接口write_com(0x0c);//設置開顯示,不顯示光標write_com(0x06);//寫一個字符后地址指針加1write_com(0x01);//顯示清零,數(shù)據(jù)指針清零

了解液晶1602的基本操作時序,讀懂其操作時序圖,是對其讀寫操作的關鍵。1602的基本時序如下:

讀狀態(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高脈沖輸出:無

作為顯示用的芯片,通常對其進行寫操作,1602液晶寫操作時序圖如圖4-4所示。

R/W=H,E=H

R/W=H,E=H

圖4-41602液晶寫操作時序圖

-27-

第四章系統(tǒng)軟件設計

4.3.2電壓顯示流程圖

分析時序圖可知,對1602液晶進行寫操作的流程如下:

(1)通過RS確定是寫數(shù)據(jù)還是寫操作,寫命令包括使液晶的光標顯示/不顯示、光標是否閃爍、需/不需要移屏、在液晶的什么位置顯示,等等。寫數(shù)據(jù)是指要顯示什么內(nèi)容。

(2)讀/寫控制端設置為寫模式,即低電平。(3)將數(shù)據(jù)或命令送到達數(shù)據(jù)線上。

(4)給使能端E一個高脈沖將數(shù)據(jù)送入到液晶控制器,完成寫操作。關于時序圖中的各個延時,不同廠家生產(chǎn)的液晶延時不同,不過大多數(shù)基本為納秒級,而單片機操作最小單位為微秒級,因此在寫程序是可不做延時,不過為了使液晶運行穩(wěn)定,最好做簡短延時即可。本設計采用C51庫中自帶的延時函數(shù)_nop_()(延時一個機器周期的意思)來實現(xiàn)簡短延時。

按照1602液晶的寫操作時序圖,結合硬件連接電路,軟件設計中電壓顯示模塊的流程圖如圖4-5所示。

4.4數(shù)據(jù)存儲模塊

24.4.1IC總線模擬時序圖

在對蓄電池充放電控制過程中,會出現(xiàn)電壓值過高或過低的異常情況,很有必要對其進行存儲,作為以后分析優(yōu)化使用;同時我們可以按一定周期間隔性的對蓄電池電壓進行采集,然后求取電壓的平均值,通過分析每天的平均值情況,可以大致了解蓄電池的充電情況,這對以后優(yōu)化充放電很有用。本設計用常見E2PROM器件AT24C02作為存儲器對數(shù)據(jù)進行保存記錄。AT24C02芯片的優(yōu)點:

2IC總線標準,串行操作,可以簡化硬件電路;同時具有很好的掉電保護采用

功能。

2由于STC89C52單片機沒有IC總線接口,所以使用時要先通過軟件模擬

I2C總線的工作時序,正確的調(diào)用函數(shù)就可方便的擴展I2C總線接口部件。

-28-

第四章系統(tǒng)軟件設計

I2C總線模擬時序圖如圖4-6所示。

開始初始化設置讀取AD轉換模塊處理結果,得到實際電壓值分離出十位、個位和十分位,送給1602液晶具體位置顯示調(diào)用寫命令函數(shù),定位第一行顯示的數(shù)據(jù)指針調(diào)用寫數(shù)據(jù)函數(shù),進行第一行數(shù)據(jù)顯示調(diào)用寫命令函數(shù),定位第二行顯示的數(shù)據(jù)指針調(diào)用寫數(shù)據(jù)函數(shù),進行第二行數(shù)據(jù)顯示移屏顯示結束圖4-5電壓顯示流程圖

SCL>4.7us>4.7usSCL>4usSDA啟動信號S終止信號P>4usSDA4usSCLSCLSDASDA應答信號初始化信號

2圖4-6IC總線模擬時序圖

-29-

第四章系統(tǒng)軟件設計

2按照時序圖,設計中為了模擬IC總線通信,寫出了幾個關鍵部分的程序:

總線初始化、啟動信號、應答信號、停止信號等。下面以啟動信號為例進行介紹。

啟動信號的程序如下:在SCL為高電平期間,SDA一個下降沿為啟動信號。voidstart()//啟動信號{}

sda=1;scl=1;sda=0;

delay1();delay1();delay1();

4.4.2數(shù)據(jù)存儲流程圖

2作為存儲芯片最重要的是對其進行寫操作,下面將給出IC總線發(fā)送一個2IC總線時字節(jié)的流程圖如圖4-7所示。并根據(jù)AT24C02字節(jié)寫入方式,結合

序圖,軟件中實現(xiàn)異常數(shù)據(jù)存儲的流程圖如圖4-8所示。

開始開始時鐘信號SCL置低總線初始化,初始化地址指針傳送數(shù)據(jù)左移一位異常電壓值送給變量a將此位送到數(shù)據(jù)線上時鐘信號置高標志位是否有效?NN8位送完否?Y清除標志位,調(diào)用AT24C02寫字節(jié)函數(shù)Y一個應答信號的周期地址指針加1結束

結束

2圖4-7IC發(fā)送字節(jié)流程圖

圖4-8異常數(shù)據(jù)存儲流程圖

-30-

第四章系統(tǒng)軟件設計

當檢測蓄電池充電使電壓值超過14.5v造成過充電時,首先蜂鳴器報警,標志位置1,然后調(diào)用數(shù)據(jù)存儲函數(shù)把此時刻的電壓值保存下來;當發(fā)生過放電時,同理如此。由于單片機的處理速度很快,因此很容易實現(xiàn)循環(huán)檢測,做到對蓄電池狀態(tài)的實時監(jiān)控。

4.5軟件調(diào)試和仿真

為了檢驗自己設計的單片機系統(tǒng)是否可以正常工作以及設計合理性,很有必要對系統(tǒng)進行模擬仿真。通過仿真可以看出系統(tǒng)硬件設計的不合理部分,以方便改善使得系統(tǒng)更加合理;同時更重要的是驗證自己編寫的軟件程序是否已經(jīng)實現(xiàn)其功能,完成了相應的設計要求和設計任務。

軟件調(diào)試的過程:首先根據(jù)太陽能充電控制器軟件設計要完成的設計任務,然后按照C語言模塊化設計的編程方法,設計出各個子模塊和主程序的算法流程圖,最后在KEILC51中去編寫相應的程序去實現(xiàn)。當然在編寫程序進行軟件實現(xiàn)過程中,遇到的第一個問題就是:程序的調(diào)試。程序編寫后,進行編譯,一開始發(fā)現(xiàn)了很多錯誤,一下子把自己卡住了;后來通過查看相關資料,同時咨詢指導老師和同學的經(jīng)驗,,在軟件的提示下,慢慢地修改,最終把出現(xiàn)的錯誤都改正過來了。最終在顯示輸出信息窗口出現(xiàn)了一下信息:

Buildtarget"Target1"

//創(chuàng)建目標"Target1"http://編譯文件控制器移屏.c

compiling控制器移屏.c...linking...

//鏈接

ProgramSize:data=21.1xdata=0code=1572//項目大。捍鎯臻gRAM和

ROM的數(shù)據(jù)存儲量

creatinghexfilefrom"充放電控制器"...//創(chuàng)建了十六進制的目標文件"充放電控制器"-0Error(s),0Warning(s).//工程“充放電控制器”,編譯結果,0錯誤,0警告。

當看到這個信息時,我很激動,知道自己編寫的程序終于調(diào)試成功了。通過編寫和調(diào)試程序,深深的體會到了程序編寫的不易和艱辛,同時積累了很多的經(jīng)驗,收益匪淺。更十分地感謝我的同學和指導老師的無私幫助,是在他們的指導

-31-

第四章系統(tǒng)軟件設計

下,我才把程序調(diào)試無誤完成了軟件調(diào)試工作。

程序調(diào)試成功后,下一步就是軟件仿真,是檢驗程序運行是否正確的關鍵所在,更是優(yōu)化系統(tǒng)所必須的。Proteus軟件為單片機系統(tǒng)提供了良好的仿真環(huán)境,所以程序調(diào)試完成后,把在KEIL中生成的目標文件HEX文件,下載在仿真系統(tǒng)的單片機中,進行KEIL和proteus聯(lián)合調(diào)試,看系統(tǒng)是否能正常工作。

和自己當初預料的一樣,在剛開始仿真時,遇到了許多的問題,如1602液晶不顯示,系統(tǒng)工作狀態(tài)指示燈指示狀態(tài)不正確等等,調(diào)試很久找不到關鍵所在。無奈之下,最后去咨詢指導老師該怎么辦,老師說可以在模擬的電池板和蓄電池附近并聯(lián)虛擬的電壓表,通過電壓表的示數(shù),用以時刻監(jiān)測蓄電池的充放電狀態(tài)。果然加上虛擬電壓表,通過監(jiān)測后發(fā)現(xiàn)蓄電池兩端電壓表的示數(shù)一直顯示為零,明白是AD轉換部分出現(xiàn)問題,然后通過修改AD轉換模塊的子程序,同時調(diào)整硬件引腳部分與軟件相一致,慢慢的調(diào)試,最終蓄電池兩端電壓表有了示數(shù),液晶1602也正確的顯示了。然后再慢慢調(diào)試主程序,修改控制指令,最終三個工作狀態(tài)指示燈也正確指示了。

系統(tǒng)共三種狀態(tài):正常充電、過充、過放。這里僅列出系統(tǒng)在正常工作狀態(tài)下的仿真圖,如下圖4-9所示,以便更形象的看出充電控制器內(nèi)部結構設計和實現(xiàn)功能。

正常工作時的狀態(tài):(此時電壓13.4V)

其工作原理如下,單片機在軟件程序控制下,控制著各個部分硬件電路有序工作,把從模數(shù)轉換器得到的蓄電池的電壓值,用1602液晶去顯示,同時綠燈亮起表示系統(tǒng)正在充電。(注:這里為了得到更加逼真效果,仿真時采用直流電機作為負載)。

由于利用C語言開發(fā)單片機與匯編語言相比,具有易于操作、規(guī)范性好、適合模塊化處理且容易移植的優(yōu)點,所以本設計采用C語言作為編程語言。按照C語言模塊化程序設計方法,論文編制了系統(tǒng)主程序和各個子程序模塊來實現(xiàn)PWM脈寬調(diào)制控制策略和各種保護,完成了軟件設計任務。

-32-

第四章系統(tǒng)軟件設計蓄電池1U3VI7805VOGND3負載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-

結論

結論

本論文為了更好的對太陽能進行儲存,設計了一個太陽能充電控制器,把硬件電路和軟件編程有效結合在一起來完成設計任務。

系統(tǒng)硬件電路設計包括單片機及外圍電路設計、充放電電路設計、光耦驅動電路設計、電壓顯示電路設計、數(shù)據(jù)存儲電路設計、串口通信電路設計等。所涉及的相關模塊的電路設計,有的采用的是常見的經(jīng)典電路的結構,有些是在原有結構的基礎上,采用了集成度更高的現(xiàn)代芯片,從而使電路變得更加簡單、可靠。

而軟件系統(tǒng)是基于STC89C52,對太陽能充放電控制器進行了算法分析并編制了程序,軟件編程實現(xiàn)對蓄電池的過充、反接等保護。

本太陽能充電控制電路,對蓄電池的充放電等全程進行控制,可以使蓄電池始終處在最佳狀態(tài),從而使太陽能的存儲效率大大提高,實現(xiàn)了提高太陽能儲存的課題目標。

由于實踐經(jīng)驗缺乏,以及技術水平和實驗條件的限制,本系統(tǒng)部分功能尚未完成,需要進一步完善,主要表現(xiàn)在以下幾個方面:

(1)對系統(tǒng)中的單片機控制功能需要進一步研究,以便找到功能更加強大的主控芯片去代替,從而更好更快的實現(xiàn)設計要求。

(2)對蓄電池電壓的采集方式過于簡單,精度較低,需要探索采集精度更加精準的經(jīng)典電路,使得對蓄電池的充電控制更加準確。

(3)系統(tǒng)軟件設計可增加串行中斷控制方式,從而方便用上位機(如微機)通過串行通信進行有效的監(jiān)控,增強對系統(tǒng)的在線檢測和控制功能。

-33-

參考文獻

參考文獻

1.馬廣偉,景有泉,甘林川.蓄電池內(nèi)阻測量及其應用[J].通信電源技術,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.桂長清等.動力電池[M].北京:機械工業(yè)出版社,201*.4.151~1526.袁芬.太陽能電池板與蓄電池如何匹配[J].無線電,201*,09.957.肖強,鄭玉甫.混沌振子實現(xiàn)微弱周期小信號的檢測[J].網(wǎng)絡與通信,201*,23(1/3):147-149.

8.曹建平,江國棟.直流充電法在蓄電池內(nèi)阻分析中的實用性研究[J].電子工程師.201*.34(12)

9.桂長清.風能和太陽能發(fā)電系統(tǒng)中的儲能電池[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-

參考文獻

13.MehranHabibiandAlirezaYazdizadeh.NewMPPTControllerDesignforPVArraysUsingNeuralNetworks(ZanjanCityCaseStudy)[J].LNCS201*:1050-1058

14.李忠實.風光互補發(fā)電控制系統(tǒng)不同負載對蓄電池控制電壓的影響[D].天津大學碩士論文,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.黃瑤,黃洪全.電導增量法實現(xiàn)光伏系統(tǒng)的最大功率點跟蹤控制[J].電路設計,201*,03:18-19

19.車孝軒著.太陽能光伏系統(tǒng)概論【M】.武漢大學出版出版社,201*

20.主編左然,施明恒,王希麟.可再生能源概論【M】.21世紀高等教育建筑環(huán)境與設備

工程系列規(guī)劃教材.北京:機械工業(yè)出版社,201*

21.侯玉寶,陳忠平,李成群等編著.基于Proteus的51系列單片機設計與仿真.北京:電子工業(yè)出版社,201*.9

22.邢運民,陶永紅主編.現(xiàn)代能源與發(fā)電技術【M】.西安:西安電子科技大學出版社,201*23.(美)RussellLMeade,RobertDiffenderfer著.電子學基礎【M】.北京:清華人學出

版社,201*

24.郭天祥.新概念51單片機C語言教程入門、提高、開發(fā)、拓展全攻略.北京:電子工業(yè)

出版社,201*.1

25.艾永樂,付子義.模擬電子技術基礎.北京:中國電力出版社,201*.11

-35-

致謝

致謝

緊張的畢業(yè)設計終于畫上了句號,這次的畢業(yè)設計即檢驗了我對四年來所學知識的掌握程度,又使我對自己知識體系的漏洞進行了及時的發(fā)現(xiàn)與彌補。盡管此次的畢業(yè)設計已經(jīng)基本完成,但仍然存在很多不完善的地方,不詳盡甚至不當之處,希望各位老師給予批評和諒解。

值此畢業(yè)學位論文完成之際,在此要特別感謝我的指導老師李田澤老師。在整個畢業(yè)設計期間,老師精心指導我選題、設計、撰寫論文等工作。老師不但給予我指導和大力支持,而且在我遇到困難時他們悉心教導、指導我解決困難,在解決問題的同時我更學會了很多實用的知識。在此,我由衷地感謝他們并致意崇高的敬意。

同時,也非常感謝同學們對我的幫助,感謝山東理工大學大學為我提供學習成長的環(huán)境,感謝老師們四年來對我孜孜不倦之教誨,讓我能夠順利完成畢業(yè)設計,更為我將來進入社會工作打下了良好的專業(yè)基礎。感謝所有在幫助過我,關心過我的良師益友。

-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轉換模塊//液晶1602顯示模塊//數(shù)據(jù)存儲模塊

#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;//定時時間為50ms,每50ms中斷一次count++;

以下代碼為define.h#defineucharunsignedchar#defineuintunsignedint//定義控制信號端口//充放電控制端口

//變量定義和函數(shù)的聲明

sbitPWM=P3^2;//蓄電池開關sbitFuZai=P3^3;//負載開關

sbitLED=P2^3;//充電指示燈sbitLED1=P2^4;//充電指示燈sbitLED2=P2^5;//欠壓指示燈sbitbeep=P2^6;//蜂鳴器控制位ucharcount,battery_v;//AD轉換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的標志;sbitscl=P2^4;sbitsda=P2^5;ucharp=2,a1;RS232串口通信sbitRXD=P3^0;sbitTXD=P3^1;/*聲明調(diào)用函數(shù)*/voidinit();//初始化主函數(shù)

voiddelay(unsignedintt);//可控延時函數(shù)

voiddelay1();//軟件實現(xiàn)延時函數(shù),5個機器周期voidbuzzer();ucharget_ad();

//AD程序

//1602液晶顯示部分voidwrite_com(ucharcom);voidwrite_data(uchardate);voidinit1602();voidyj1602();//AT24c02保存數(shù)據(jù)voidinit24c02();voidstart();//啟動voidstop();//停止voidrespons();//應答voidwrite_byte(uchardate);//ucharread_byte();

-41-

附錄一系統(tǒng)程序

voidwrite_add(ucharaddress,uchardate);//ucharread_add(ucharaddress);voidAT24c02();

以下代碼為init.h

//初始化模塊

voidinit()//初始化主函數(shù){}

/*延時函數(shù)*/

voiddelay(unsignedintt){

unsignedintj,i;for(i=0;i附錄一系統(tǒng)程序

/*延時函數(shù)1*/voiddelay1(){

_nop_();_nop_();_nop_();}

//蜂鳴器報警函數(shù)voidbuzzer(){}

以下代碼為AD.h//ad轉換程序ucharget_ad(){

csad=0;//置CSAD為0,adwr=1;_nop_();adwr=0;_nop_();adwr=1;

//啟動AD轉換//AD程序

//AD轉換模塊

beep=0;beep=1;

delay(10);_nop_();_nop_();

delay(2);//AD轉換時間

P1=0xff;//讀取P1口之前先給其寫全1

附錄一系統(tǒng)程序

adrd=1;//選通ADCS

_nop_();

adrd=0;//AD讀使能_nop_();adval=P1;adrd=1;

//AD數(shù)據(jù)讀取賦給P1口,得到ad轉換的結果

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);//設置16X2顯示,5X7點陣,8位數(shù)據(jù)接口write_com(0x0c);//設置開顯示,不顯示光標write_com(0x06);//寫一個字符后地址指針加1write_com(0x01);//顯示清零,數(shù)據(jù)指針清零

RW=0;delay1();

RS=0;//RW=0,RS=0,寫LCD命令字delay1();

友情提示:本文中關于《太陽能光伏存儲技術研究——工作總結》給出的范例僅供您參考拓展思維使用,太陽能光伏存儲技術研究——工作總結:該篇文章建議您自主創(chuàng)作。

來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權問題,請聯(lián)系我們及時刪除。


太陽能光伏存儲技術研究——工作總結》由互聯(lián)網(wǎng)用戶整理提供,轉載分享請保留原作者信息,謝謝!
鏈接地址:http://m.seogis.com/gongwen/615883.html