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

正文內(nèi)容

基于單片機的太陽能跟蹤充電系統(tǒng)設(shè)計(畢業(yè)論文-資料下載頁

2024-11-08 04:49本頁面

【導(dǎo)讀】太陽能是一種可再生能源,并且具有清潔、豐富等獨特優(yōu)勢,具有廣闊的發(fā)展。但是,目前太陽能的利用率較低,制約了其發(fā)展。目前,大多數(shù)太陽能發(fā)電是采。用固定式的跟蹤系統(tǒng),無法隨著太陽的運行進行轉(zhuǎn)變,所以電能轉(zhuǎn)化效率較低。調(diào)整,達到太陽光雙軸跟蹤的效果,同時對充電進行控制。采用單片機來實現(xiàn)的太陽能

  

【正文】 記錄充電的時間。 實驗 2:在晴天的條件下,系統(tǒng)進行太陽跟蹤,對一節(jié)鋰電池進行太陽能充電,記錄充電 的時間。 實驗設(shè)備及參數(shù):基于單片機的太陽能跟蹤裝置 太陽能電池板(輸出電壓 5V 輸出 21 電流 240MA) 鋰電池(電池容量 1100MA)。 表 1 實驗數(shù)據(jù) 實驗次數(shù) 實驗 1充電時間 /小時 實驗 2充電時間 /小時 1 2 3 7 結(jié)論 本太陽能自動跟蹤系統(tǒng)設(shè)計采取了傳統(tǒng)的硬件和軟件相結(jié)合的開發(fā)方法,使用了ATmega16 單片機作為整個系統(tǒng)的控制處理中心,而 ATmega16 單片機具有硬件設(shè)計方便,資源豐富,程序指令快速簡單,驅(qū)動能力強等優(yōu)點,所以保證了 該系統(tǒng)反應(yīng)的快速性和靈敏性。 這次設(shè)計的太陽能自動跟蹤系統(tǒng)在軟件設(shè)計上較為巧妙,每隔 20 分鐘跟蹤調(diào)整一次,這樣就可以大大降低系統(tǒng)的能耗。除此之外,在陰天和黑夜這些太陽光強不足的條件下,系統(tǒng)也不進行太陽跟蹤。所以,本次設(shè)計的太陽能自動跟蹤系統(tǒng)比較理想化、個性化,充分考慮到了各種各樣的情況,以保證系統(tǒng)整體方面的優(yōu)良。 當(dāng)然,此次設(shè)計的系統(tǒng)也存在很多的不足之處,比如程序算法的設(shè)計不太完善,跟蹤的精度不夠高等,還有一些未發(fā)現(xiàn)的瑕疵之處,都需要在調(diào)試和實踐之后進行許多的改進。 最后,本太陽能自動跟蹤系統(tǒng)基本能滿足設(shè)計 的要求,各個模塊電路也都運行正常,但是由于知識和水平的有限,在機械設(shè)計部分知識的欠缺,使得本系統(tǒng)在這方面有很大的不足。如果此系統(tǒng)能夠在機械設(shè)計上有較多改進,能夠加上顯示模塊的話,相信本系統(tǒng)將會有很大的改進,在性能上會有很大的提高。 22 參 考 文 獻 郭天祥 .新概念 51 單片機 C 語言教程 [M].北京 : 電子工業(yè)出版社 , 2020: 32– 40. 王衛(wèi)星 .單片機原理與應(yīng)用開發(fā)技術(shù) [M].北京 : 中國水利水電出版社 , 2020: 4– 14. 楊金煥,于化叢,葛亮 .太陽能光伏發(fā)電應(yīng)用技術(shù) [M]. 北京 : 電子工業(yè)出版社 , 2020:55– 184. 楊園靜,李雷,楊貴良,等 .中國能源 [J].文山學(xué)院學(xué)報 , 2020, 25( 3): 92– 96. 鄭小年,黃巧燕 .太陽能跟蹤方法及應(yīng)用 [J].能源技術(shù) , 2020, 24( 4): 145– 151. 23 附 錄 附錄 A 系統(tǒng)電路圖 24 附錄 B 程序代碼 /******************************************* 函數(shù)名稱 : Mega16_ad 功 能 : 對指定的通道進行模數(shù)轉(zhuǎn)換 參 數(shù) : chl指定的通道(本開發(fā)板只用了通道 0) 返回值 : addata10 位數(shù)據(jù)輸出 /********************************************/ uint Mega16_ad(uchar chl) { uint addata。 DDRAamp。=~(BIT(PA0)|BIT(PA1)|BIT(PA2)|BIT(PA3)|BIT(PA4))。 //轉(zhuǎn)換口設(shè)置為輸入、無上拉 PORTAamp。=~(BIT(PA0)|BIT(PA1)|BIT(PA2)|BIT(PA3)|BIT(PA4))。 ADMUX=0XC0。 //采用外部參考電壓,輸出數(shù)據(jù)右對齊 ADMUX|=chl。 //設(shè)置指定的通道 ADCSR=0x80。 //采用單次轉(zhuǎn)換,查詢模式, 2 分頻 ADCSR|=BIT(ADSC)。 //啟動轉(zhuǎn)換 while(!(ADCSRamp。(BIT(ADIF))))。 //等待轉(zhuǎn)換結(jié)束 addata=ADCL。 //讀取低 8位數(shù)據(jù) addata+=ADCH*256。 //讀取高 2位數(shù)據(jù) return addata。 //返回 10 位數(shù)據(jù) } /********************************************************/ /* /*步進電機 1 正轉(zhuǎn) PB4~PB7 /* /********************************************************/ 25 void motor_ffw1() { uchar i。 uint j。 for (j=0。 j12。 j++) //轉(zhuǎn) 1*n 圈 { for (i=0。 i8。 i++) //一個周期轉(zhuǎn) 30度 { PORTB = FFW1[i]。 //取數(shù)據(jù) Delayms(30)。 //調(diào)節(jié)轉(zhuǎn)速 } } } /********************************************************/ /* /*步進電機 1 反轉(zhuǎn) /* /********************************************************/ void motor_rev1() { uchar i。 uint j。 for (j=0。 j12。 j++) //轉(zhuǎn) 1 n 圈 { for (i=0。 i8。 i++) //一個周期轉(zhuǎn) 30度 { PORTB = REV1[i]。 //取數(shù)據(jù) Delayms(30)。 //調(diào)節(jié)轉(zhuǎn)速 } 26 } } /********************************************************/ /* /*步進電機 2 正轉(zhuǎn) PB0~PB3 /* /********************************************************/ void motor_ffw2() { uchar i。 uint j。 for (j=0。 j12。 j++) //轉(zhuǎn) 1*n 圈 { for (i=0。 i8。 i++) //一個周期轉(zhuǎn) 30度 { PORTB = FFW2[i]。 //取數(shù)據(jù) Delayms(30)。 //調(diào)節(jié)轉(zhuǎn)速 } } } /********************************************************/ /* /*步進電機反轉(zhuǎn) /* /********************************************************/ void motor_rev2() { uchar i。 27 uint j。 for (j=0。 j12。 j++) //轉(zhuǎn) 1 n 圈 { for (i=0。 i8。 i++) //一個周期轉(zhuǎn) 30度 { PORTB = REV2[i]。 //取數(shù)據(jù) Delayms(30)。 //調(diào)節(jié)轉(zhuǎn)速 } } } /****************************************************************************/ void Write_Ds1302( unsigned char address,unsigned char dat ) { RST_L。 Delayus(5)。 SCL_L。 Delayus(5)。 RST_H。 Delayus(5)。 Write_Ds1302_Byte(address)。 //發(fā)送地址 Write_Ds1302_Byte(dat)。 //發(fā)送數(shù)據(jù) RST_L。 //恢復(fù) } /****************************************************************************/ unsigned char Read_Ds1302 ( unsigned char address ) { unsigned char i,temp=0x00。 28 RST_L。 Delayus(5)。 SCL_L。 Delayus(5)。 RST_H。 Delayus(5)。 Write_Ds1302_Byte(address)。 DDRDamp。=0XBF。 //將 SDA 口設(shè)為輸入 ,讀數(shù)據(jù) for (i=0。i8。i++) //循環(huán) 8 次 讀取數(shù)據(jù) { temp=1。 //右移一位 SCL_L。 Delayus(5)。 if(SDA_IN) temp|=0x80。 //每次傳低位在前 SCL_H。 Delayus(5)。 } RST_L。 Delayus(5)。 SDA_L。 return temp。 //返回 } /****************************************************************************/ void Read_RTC(void) //讀取 日歷 { unsigned char i。 /*for(i=0。i7。i++) //分 7次讀取 年月日時分秒星期 { 29 l_tmpdate[i]=Read_Ds1302((read_rtc_address[i]))。//讀取相應(yīng)地址的時間值 }*/ l_tmpdate[0]=Read_Ds1302(0X81)。 l_tmpdate[1]=Read_Ds1302(0X83)。 l_tmpdate[2]=Read_Ds1302(0X85)。 } /***********************************************************************/ void Set_RTC(void) //設(shè)定 日歷 { unsigned char i,tmp。 /*for(i=0。i7。i++){ tmp=l_tmpdate[i]/10。 l_tmpdate[i]=l_tmpdate[i]%10。 l_tmpdate[i]=l_tmpdate[i]+tmp*16。 }*/ Write_Ds1302(0x8E,0X00)。 /*for(i=0。i7。i++) //7 次寫入 年月日時分秒星期 { Write_Ds1302((write_rtc_address[i]),l_tmpdate[i])。//將轉(zhuǎn)換好的 BCD時間值寫入相應(yīng)的地址 }*/ Write_Ds1302(0X80,0)。 Write_Ds1302(0X82,0)。 Write_Ds1302(0X84,6)。 Write_Ds1302(0x8E,0x80)。 } 30 致 謝 感謝他們一直以來對我的關(guān)心和支持。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1