freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于單片機(jī)的太陽能跟蹤充電系統(tǒng)設(shè)計(jì)(畢業(yè)論文(參考版)

2024-11-12 04:49本頁面
  

【正文】 。 Write_Ds1302(0x8E,0x80)。 Write_Ds1302(0X82,0)。i++) //7 次寫入 年月日時(shí)分秒星期 { Write_Ds1302((write_rtc_address[i]),l_tmpdate[i])。 /*for(i=0。 l_tmpdate[i]=l_tmpdate[i]+tmp*16。i++){ tmp=l_tmpdate[i]/10。 /*for(i=0。 l_tmpdate[2]=Read_Ds1302(0X85)。//讀取相應(yīng)地址的時(shí)間值 }*/ l_tmpdate[0]=Read_Ds1302(0X81)。i7。 //返回 } /****************************************************************************/ void Read_RTC(void) //讀取 日歷 { unsigned char i。 SDA_L。 } RST_L。 //每次傳低位在前 SCL_H。 Delayus(5)。i++) //循環(huán) 8 次 讀取數(shù)據(jù) { temp=1。 //將 SDA 口設(shè)為輸入 ,讀數(shù)據(jù) for (i=0。 DDRDamp。 Delayus(5)。 Delayus(5)。 Delayus(5)。 //恢復(fù) } /****************************************************************************/ unsigned char Read_Ds1302 ( unsigned char address ) { unsigned char i,temp=0x00。 //發(fā)送地址 Write_Ds1302_Byte(dat)。 Delayus(5)。 Delayus(5)。 Delayus(5)。 //取數(shù)據(jù) Delayms(30)。 i8。 j12。 27 uint j。 //取數(shù)據(jù) Delayms(30)。 i8。 j12。 uint j。 //取數(shù)據(jù) Delayms(30)。 i8。 j12。 uint j。 //取數(shù)據(jù) Delayms(30)。 i8。 j12。 uint j。 //讀取高 2位數(shù)據(jù) return addata。 //等待轉(zhuǎn)換結(jié)束 addata=ADCL。 //啟動(dòng)轉(zhuǎn)換 while(!(ADCSRamp。 //設(shè)置指定的通道 ADCSR=0x80。 ADMUX=0XC0。 //轉(zhuǎn)換口設(shè)置為輸入、無上拉 PORTAamp。 DDRAamp。如果此系統(tǒng)能夠在機(jī)械設(shè)計(jì)上有較多改進(jìn),能夠加上顯示模塊的話,相信本系統(tǒng)將會(huì)有很大的改進(jìn),在性能上會(huì)有很大的提高。 當(dāng)然,此次設(shè)計(jì)的系統(tǒng)也存在很多的不足之處,比如程序算法的設(shè)計(jì)不太完善,跟蹤的精度不夠高等,還有一些未發(fā)現(xiàn)的瑕疵之處,都需要在調(diào)試和實(shí)踐之后進(jìn)行許多的改進(jìn)。除此之外,在陰天和黑夜這些太陽光強(qiáng)不足的條件下,系統(tǒng)也不進(jìn)行太陽跟蹤。 表 1 實(shí)驗(yàn)數(shù)據(jù) 實(shí)驗(yàn)次數(shù) 實(shí)驗(yàn) 1充電時(shí)間 /小時(shí) 實(shí)驗(yàn) 2充電時(shí)間 /小時(shí) 1 2 3 7 結(jié)論 本太陽能自動(dòng)跟蹤系統(tǒng)設(shè)計(jì)采取了傳統(tǒng)的硬件和軟件相結(jié)合的開發(fā)方法,使用了ATmega16 單片機(jī)作為整個(gè)系統(tǒng)的控制處理中心,而 ATmega16 單片機(jī)具有硬件設(shè)計(jì)方便,資源豐富,程序指令快速簡(jiǎn)單,驅(qū)動(dòng)能力強(qiáng)等優(yōu)點(diǎn),所以保證了 該系統(tǒng)反應(yīng)的快速性和靈敏性。 實(shí)驗(yàn) 2:在晴天的條件下,系統(tǒng)進(jìn)行太陽跟蹤,對(duì)一節(jié)鋰電池進(jìn)行太陽能充電,記錄充電 的時(shí)間。實(shí)驗(yàn)數(shù)據(jù)如表 1 所示。這個(gè)問題又讓我好好的上了一課。那就一定是程序的問題,我多次看芯片的使用手冊(cè),都沒發(fā)現(xiàn)錯(cuò)誤的原因。 對(duì) DS1302 進(jìn)行測(cè)試的時(shí)候,我改了很多遍程序,數(shù)碼管都沒 有顯示正確的時(shí)間。后來,我對(duì)程序的一個(gè)判斷語句進(jìn)行了改動(dòng),問題就解決了。但是,我發(fā)現(xiàn),步進(jìn)電機(jī)的運(yùn)行不正確,在正轉(zhuǎn)時(shí)正常,可是反轉(zhuǎn)時(shí)會(huì)來回轉(zhuǎn)動(dòng)。 編寫 ULN2020 驅(qū)動(dòng)步進(jìn)電機(jī)的程序,在開發(fā)板上運(yùn)行正確,但在自己焊接的板子上電機(jī)不運(yùn)行,我對(duì)硬件進(jìn)行檢測(cè),發(fā)現(xiàn)有一根線要連上 VCC,可是沒有接上,于是我把線焊接好。編寫的程序在開發(fā)板上運(yùn)行的時(shí)候是沒有問題的,可是程序在我自己焊接的電路板上運(yùn)行就出現(xiàn)了問題,經(jīng)過多次測(cè)試,我發(fā)現(xiàn)是 A/D 轉(zhuǎn)換沒有完成。在電路的設(shè)計(jì)和程序的編寫當(dāng)中,遇到困難是理所當(dāng)然的,最重要的是要想辦法解決問題。 最后,結(jié)合部分程序,編寫總程 序,把程序下載到自己焊接的電路板上,看結(jié)果是否正確,再慢慢對(duì)程序進(jìn)行相應(yīng)的修改。然后,對(duì) ULN2020 驅(qū)動(dòng)步進(jìn)電機(jī)進(jìn)行檢驗(yàn),按開始 設(shè)置 CE 為高 在上升沿按位傳輸?shù)刂纷? 讀取或?qū)懭胂鄳?yīng)地址的數(shù)據(jù) 設(shè)置 CE 為低 結(jié)束 20 照步進(jìn)電機(jī)的驅(qū)動(dòng)步驟,編寫相應(yīng)的程序,程序中利用鍵盤來調(diào)整步進(jìn)電機(jī)的正反轉(zhuǎn),通過步進(jìn)電機(jī)的反應(yīng),判斷驅(qū)動(dòng)程序的正確性。 在寫程序之前,先學(xué)習(xí) ATmaga16 單片機(jī)的 AD 轉(zhuǎn)換的使用方法、 DS1302 芯片的時(shí)序要求和有關(guān)芯片相關(guān)的指令后,編寫各個(gè)部 分的程序流程圖,然后開始編程。 軟件調(diào)試 由于對(duì) ATmega16 單片機(jī)的使用不是很熟悉,所以一開始部分程序的調(diào)試都在開發(fā)板上進(jìn)行驗(yàn)證。用萬用電表測(cè)量單片機(jī)的供電電壓是否正常。把所有的芯片安裝到對(duì)應(yīng)的插座上,用萬用電表檢查元器件引腳之間有沒有 短路、接觸不良等現(xiàn)象。 把轉(zhuǎn)換端口設(shè)置為輸入 寫 ADMUX寄存器,設(shè)置指定的通道,采用外部參考電壓 寫 ADCSRA 寄存器,啟動(dòng)轉(zhuǎn)換 等待轉(zhuǎn)換結(jié)束 讀取數(shù)據(jù) 開始 19 圖 20 DS1302驅(qū)動(dòng)程序流程圖 5 軟硬件調(diào)試 硬件調(diào)試 本設(shè)計(jì)的硬件調(diào)試較為簡(jiǎn)單。對(duì)于數(shù)據(jù)輸出,開始的 8個(gè) SCLK 周期,輸入讀命令字節(jié),數(shù)據(jù)字節(jié)在后 8個(gè) SCLK 周期的下降沿輸出。把 CE( PD5)設(shè)置為高電平,啟動(dòng)所有的數(shù)據(jù)傳輸。 圖 20 為 DS1302 驅(qū)動(dòng)程序流程圖。 圖 19 A/D轉(zhuǎn)換程序流程圖 DS1302 時(shí)鐘程序設(shè)計(jì) DS1302 與單片機(jī)的連接需要三條線: CE引腳、 SCLK 串行時(shí)鐘引腳和 I/O 串行數(shù)據(jù)引腳。接著寫 ADC 控制和狀態(tài)寄存器ADCSRA,啟動(dòng) A/D 轉(zhuǎn)換。 首先,對(duì) PA0 到 PA4 這 5個(gè)轉(zhuǎn)換端口進(jìn)行初始化,將這幾個(gè)端口設(shè)置為輸入端口。 ADC 轉(zhuǎn)換結(jié)果為 10 位,存放于 ADC數(shù)據(jù)寄存器 ADCH 和 ADCL 中。模擬輸入通道和差分增益可以通過寫ADMUX 寄存器的 MUX 位來選擇。 圖 18 太陽跟蹤算法流程圖 A/D 轉(zhuǎn)換程序設(shè)計(jì) 本系統(tǒng)的 A/D 轉(zhuǎn)換采用 ATmega16 的內(nèi)部的一個(gè) 10 位的逐次逼近型 ADC。對(duì)于另一 個(gè)方向的跟蹤,則通過 U3和 U4的值進(jìn)行處理,處理開始 初始化 U0設(shè)定值? 讀取 U0、 UU U U4值 讀取 DS1302的分鐘值 時(shí)鐘是否為20 分整? 否 是 否 是 根據(jù)光敏電阻的電壓值,進(jìn)行太陽跟蹤 鋰電池充電 17 過程與 U1和 U2的相同。計(jì)算 U1減去 U2的絕對(duì)值,如果這個(gè)絕對(duì)值小于設(shè)定值,則認(rèn)為此方向上正對(duì)太陽,電機(jī) 1 不轉(zhuǎn)動(dòng)。太陽跟蹤算法程序流程圖如圖 18 所示。本系統(tǒng)的軟件設(shè)計(jì)流程基本如上所述,實(shí)現(xiàn)了在陰雨天氣和黑夜不對(duì)太陽進(jìn)行跟蹤,和在陽光充足的情況下每隔 20 分鐘對(duì)太陽光進(jìn)行一次跟蹤。如果 U0 大于設(shè)定值,開啟鋰電池充電,讀取 DS1302 的分鐘值,對(duì)分鐘值進(jìn)行判斷,如果分鐘值為 20 的整數(shù)倍,則根據(jù)太陽跟蹤算法對(duì)太陽進(jìn)行跟蹤(太陽能跟蹤算法的程序設(shè)計(jì)在后面進(jìn)行介紹),調(diào)整太陽能電池板,使電池板能夠正對(duì)太陽光。啟動(dòng) A/D 轉(zhuǎn)換,獲取光敏電阻的電壓值 U0、 U U U3和 U4。本系統(tǒng)軟件設(shè)計(jì)程序流程圖如圖 17所示。 U2 為 7805 芯片, J1 為排陣連接輸入電壓,根據(jù)要求輸入電壓應(yīng)大于 7V,本設(shè)計(jì)取 12V。 圖 15 LM7805引腳圖 15 電源電路設(shè)計(jì) 電源電路如圖 16 所示 。 1腳為輸入引腳, 3腳為輸出引腳, 2腳接地。雖然是按照固定電壓值來設(shè)計(jì)的,但是當(dāng)接入適當(dāng)?shù)耐獠科骷?后,就能獲得各種不同的電壓和電流。每種類型由于內(nèi)部電流的限制,以及過熱保護(hù)和安全工作區(qū)得保護(hù),使它基本上不會(huì)損壞。 14 330R16TEMP1ISET2GND3VIN4BAT5DONE6CHRG7FB8U6CN3063D3LED D4LED12J3太陽能板GND2VCC2R17123J5電池BATTEMPBATTEMPGND2C13GND2VCC2BATR18 GND2 圖 14 鋰電池充電電路圖 電源電路 LM7805 芯片簡(jiǎn)介 LM78XX 系列是三端 電源穩(wěn)壓電路,其封裝形式為 TO220。 J3是排針,與太陽能電池板的正負(fù)極相連,VCC2 代表太陽能電池板的正極, GND2 表示太陽能板的負(fù)極。 圖 13 CN3063的引腳分布圖 鋰電池充電電路設(shè)計(jì) 鋰電池充電電路如圖 14 所示 。其它 功能包括輸入電壓過低鎖存,自動(dòng)再充電,電池溫度監(jiān)控以及充電狀態(tài) /充電結(jié)束狀態(tài)指示等功能。充電電流通過一個(gè)外部電阻設(shè)置。熱調(diào)制電路可以在器件的功耗比較大或者環(huán)境溫度比較高的時(shí)候?qū)⑿酒瑴囟瓤刂圃诎踩秶鷥?nèi)。內(nèi)部的 8 位模擬 數(shù)字轉(zhuǎn)換電路,能夠根據(jù)輸入電壓源的電流輸出能力自 動(dòng)調(diào)整充電電流,用戶不需要考慮最壞情況,可最大限度地利用輸入電壓源的電流輸出能力,非常適合利用太陽能電池等電流輸出能力有限的電壓源供電的鋰電池充電應(yīng)用。 VCCPB0PB1PB2PB3IN55IN77IN66OT512OT611OT710OT413COM9IN11IN44OT215IN33OT314IN22OT116GND8U3ULN202012345J2步進(jìn)電機(jī)VCCGND 圖 12 電機(jī)驅(qū)動(dòng)電路 13 鋰電池充電電路 太陽能充電管理專用充電芯片 CN3063 簡(jiǎn)介 CN3063 是可以用 太陽能電池 供電的單節(jié) 鋰電池 充電管理芯片。圖中 U3為 ULN2020 芯片,芯片的 IN1 腳接入單片機(jī)的 PB0 腳, IN2 腳接入單片機(jī)的 PB1 腳, IN3腳接入單片機(jī)的 PB2 腳, IN4 腳接入單片機(jī)的 PB3 腳。 ULN2020 內(nèi)部結(jié)構(gòu)如圖 11所示。該電路的特點(diǎn)如下: ULN2020 的每一對(duì)達(dá)林頓都串聯(lián)一個(gè) ,在 5V 的工作電壓下他能與 TTL 和 CMOS 電路直接相連,可以直接處理原先需要標(biāo)準(zhǔn)邏輯緩沖器來處理的數(shù)據(jù)。目前市場(chǎng)上有很多性能優(yōu)良的電機(jī)專用驅(qū)動(dòng)芯片,本設(shè)計(jì)采用電機(jī)驅(qū)動(dòng)芯片 ULN2020 12 用于步進(jìn)電機(jī)的 驅(qū)動(dòng)控制。四相步進(jìn)電機(jī)可以在不同的通電方式下運(yùn)行,常見的通電方式有單(單相繞組通電)四拍( ABCDA ), 雙 ( 雙 相 繞 組 通 電 ) 四 拍 (
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1