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

正文內(nèi)容

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

2025-11-29 04:49 上一頁面

下一頁面
 

【正文】 技術(shù)的 飛速發(fā)展與制造成本的不斷降低,實現(xiàn)對太陽方位角和高度角精確跟蹤的雙軸跟蹤技術(shù)已成為人們研究與運用的熱點。 ( 3) 編寫軟件程序,實現(xiàn)太陽能跟蹤和充電控制等要求。時鐘模塊采用實時時鐘芯片DS1302。圖 1 為系統(tǒng)的總體框圖。圖中光敏電阻 0 用于檢測當前是否為黑夜。 圖 2 光敏電阻分布圖 3 系統(tǒng)的硬件設(shè)計 ATmega16 單片機最小系統(tǒng)電路 ATmega16 單片機的簡介及引腳功能說明 ATmega16 是基于增強的 AVR RISC 結(jié) 構(gòu)的低功耗 8 位 CMOS 微控制器。這種結(jié)構(gòu)大大提高了代碼效率,并且具有比普通的 CISC 微控制器最高至 10 倍的數(shù)據(jù)吞吐率。 ATmega16 有 4 個 8位的雙向 I/O 端口 PA、 PB、 PC、 PD,他們對外對應(yīng) 32 個 I/O 引腳,每一位都可以獨立地用于邏輯信號的輸入和輸出。 ATmega16 單片機最小系統(tǒng)電路設(shè)計 ATmega16 單片機最小系統(tǒng)電路如圖 4 所示, 圖中包括復位電路、晶振電路和 AD 轉(zhuǎn)換濾波電路。 D1(1N4148)的作用有兩個:作用一是將復位輸入的最高電壓鉗在 Vcc+ 左右,另一作用是系統(tǒng)斷電時,將 R1(10K)電阻短路,讓 C5快速放電,讓下一次來電時,能產(chǎn)生有效的復位。 ATmega16單片機 已經(jīng)內(nèi)置 RC 振蕩線路,可以產(chǎn)生 1M、 2M、 4M、 8M 的振蕩頻率。為減小 AD 轉(zhuǎn)換的電源干擾, ATmega16 7 單片機 芯片有獨立的 AD 電源供電。 ISP 下載線路 ISP 下載線路如圖 5 所示。 1 23 45 67 89 10P1ISPPB5RESETGNDPB7PB6VCC 圖 5 ISP下載線路 光強度檢測電路 光敏電阻介紹和工作原理 光敏電阻又稱光導管,為純電阻元件,其工作原理是基于光電導效應(yīng) (半導體材料受光照射后,其導電率發(fā)生變化的現(xiàn)象)。半導體材料受到光照時 會產(chǎn)生電子一空穴對,使其導電性能增強,其阻值隨光照增強而減小,光線越強,阻值越低。 金屬封裝的硫化鎘光敏電阻結(jié)構(gòu)圖 如圖 6 所示。它是在 一定的掩模下向光電導薄膜上蒸鍍金或銦等金屬形成的。 圖 6 金屬封裝的硫化鎘光敏電 阻結(jié)構(gòu)圖 光強檢測電路 本設(shè)計中的光強檢測電路如圖 7 所示。光敏電阻 R R R10 和 R11 用于檢測太陽能板是否對準太陽。 9 VCCGND10KR21KR7光敏電阻PA0VCCGND10KR31KR8光敏電阻PA1VCCGND10KR41KR9光敏電阻PA2VCCGND10KR51KR10光敏電阻PA3VCCGND10KR61KR11光敏電阻PA4 圖 7 光強度檢測電路 A/D 轉(zhuǎn)換電路 A/D轉(zhuǎn)換模塊 使用 ATmega16內(nèi)部自帶的 A/D轉(zhuǎn)換器, ADC具有專門的時鐘。單端電壓輸入以 0V (GND) 為基準。如果使用 1x 或 10x 增益,可得到 8 位分辨率。 AVCC 與 VCC 之間的偏差不能超過 177。 時鐘電路 DS1302 時鐘芯片介紹 DS1302 是美國 DALLAS 公司推出的一種高性能、 低功耗的實時時鐘芯片,附加 31字節(jié)靜態(tài) RAM,采用 SPI 三線接口與 CPU 進行同步通信,并可采用突發(fā)方式一次傳送多個字節(jié)的時鐘信號和 RAM 數(shù)據(jù)。 DS1302 用于數(shù)據(jù)記錄,特別是對某些具有特殊意義的數(shù)據(jù)點的記錄上,能實現(xiàn)數(shù)據(jù)與出現(xiàn)該數(shù)據(jù)的時間同時記錄,因此廣泛應(yīng)用于測量系統(tǒng)中。 VCC2接 5V電源,芯片外接 晶振,為芯片提供計時脈沖。 步進電機分為三類:永磁式( PM),反應(yīng)式( VR)和混合式( HB)。 步進電機 28BYJ48 型是四相八拍電機,實物圖如圖 10所示,輸入電壓為 DC5VDC12V。四相步進電機可以在不同的通電方式下運行,常見的通電方式有單(單相繞組通電)四拍( ABCDA ), 雙 ( 雙 相 繞 組 通 電 ) 四 拍 ( ABBCCDDAAB ), 八 拍( AABBBCCCDDDAA)。該電路的特點如下: ULN2020 的每一對達林頓都串聯(lián)一個 ,在 5V 的工作電壓下他能與 TTL 和 CMOS 電路直接相連,可以直接處理原先需要標準邏輯緩沖器來處理的數(shù)據(jù)。圖中 U3為 ULN2020 芯片,芯片的 IN1 腳接入單片機的 PB0 腳, IN2 腳接入單片機的 PB1 腳, IN3腳接入單片機的 PB2 腳, IN4 腳接入單片機的 PB3 腳。內(nèi)部的 8 位模擬 數(shù)字轉(zhuǎn)換電路,能夠根據(jù)輸入電壓源的電流輸出能力自 動調(diào)整充電電流,用戶不需要考慮最壞情況,可最大限度地利用輸入電壓源的電流輸出能力,非常適合利用太陽能電池等電流輸出能力有限的電壓源供電的鋰電池充電應(yīng)用。充電電流通過一個外部電阻設(shè)置。 圖 13 CN3063的引腳分布圖 鋰電池充電電路設(shè)計 鋰電池充電電路如圖 14 所示 。 14 330R16TEMP1ISET2GND3VIN4BAT5DONE6CHRG7FB8U6CN3063D3LED D4LED12J3太陽能板GND2VCC2R17123J5電池BATTEMPBATTEMPGND2C13GND2VCC2BATR18 GND2 圖 14 鋰電池充電電路圖 電源電路 LM7805 芯片簡介 LM78XX 系列是三端 電源穩(wěn)壓電路,其封裝形式為 TO220。雖然是按照固定電壓值來設(shè)計的,但是當接入適當?shù)耐獠科骷?后,就能獲得各種不同的電壓和電流。 圖 15 LM7805引腳圖 15 電源電路設(shè)計 電源電路如圖 16 所示 。本系統(tǒng)軟件設(shè)計程序流程圖如圖 17所示。如果 U0 大于設(shè)定值,開啟鋰電池充電,讀取 DS1302 的分鐘值,對分鐘值進行判斷,如果分鐘值為 20 的整數(shù)倍,則根據(jù)太陽跟蹤算法對太陽進行跟蹤(太陽能跟蹤算法的程序設(shè)計在后面進行介紹),調(diào)整太陽能電池板,使電池板能夠正對太陽光。太陽跟蹤算法程序流程圖如圖 18 所示。對于另一 個方向的跟蹤,則通過 U3和 U4的值進行處理,處理開始 初始化 U0設(shè)定值? 讀取 U0、 UU U U4值 讀取 DS1302的分鐘值 時鐘是否為20 分整? 否 是 否 是 根據(jù)光敏電阻的電壓值,進行太陽跟蹤 鋰電池充電 17 過程與 U1和 U2的相同。模擬輸入通道和差分增益可以通過寫ADMUX 寄存器的 MUX 位來選擇。 首先,對 PA0 到 PA4 這 5個轉(zhuǎn)換端口進行初始化,將這幾個端口設(shè)置為輸入端口。 圖 19 A/D轉(zhuǎn)換程序流程圖 DS1302 時鐘程序設(shè)計 DS1302 與單片機的連接需要三條線: CE引腳、 SCLK 串行時鐘引腳和 I/O 串行數(shù)據(jù)引腳。把 CE( PD5)設(shè)置為高電平,啟動所有的數(shù)據(jù)傳輸。 把轉(zhuǎn)換端口設(shè)置為輸入 寫 ADMUX寄存器,設(shè)置指定的通道,采用外部參考電壓 寫 ADCSRA 寄存器,啟動轉(zhuǎn)換 等待轉(zhuǎn)換結(jié)束 讀取數(shù)據(jù) 開始 19 圖 20 DS1302驅(qū)動程序流程圖 5 軟硬件調(diào)試 硬件調(diào)試 本設(shè)計的硬件調(diào)試較為簡單。用萬用電表測量單片機的供電電壓是否正常。 在寫程序之前,先學習 ATmaga16 單片機的 AD 轉(zhuǎn)換的使用方法、 DS1302 芯片的時序要求和有關(guān)芯片相關(guān)的指令后,編寫各個部 分的程序流程圖,然后開始編程。 最后,結(jié)合部分程序,編寫總程 序,把程序下載到自己焊接的電路板上,看結(jié)果是否正確,再慢慢對程序進行相應(yīng)的修改。編寫的程序在開發(fā)板上運行的時候是沒有問題的,可是程序在我自己焊接的電路板上運行就出現(xiàn)了問題,經(jīng)過多次測試,我發(fā)現(xiàn)是 A/D 轉(zhuǎn)換沒有完成。但是,我發(fā)現(xiàn),步進電機的運行不正確,在正轉(zhuǎn)時正常,可是反轉(zhuǎn)時會來回轉(zhuǎn)動。 對 DS1302 進行測試的時候,我改了很多遍程序,數(shù)碼管都沒 有顯示正確的時間。這個問題又讓我好好的上了一課。 實驗 2:在晴天的條件下,系統(tǒng)進行太陽跟蹤,對一節(jié)鋰電池進行太陽能充電,記錄充電 的時間。除此之外,在陰天和黑夜這些太陽光強不足的條件下,系統(tǒng)也不進行太陽跟蹤。如果此系統(tǒng)能夠在機械設(shè)計上有較多改進,能夠加上顯示模塊的話,相信本系統(tǒng)將會有很大的改進,在性能上會有很大的提高。 //轉(zhuǎn)換口設(shè)置為輸入、無上拉 PORTAamp。 //設(shè)置指定的通道 ADCSR=0x80。 //等待轉(zhuǎn)換結(jié)束 addata=ADCL。 uint j。 i8。 uint j。 i8。 uint j。 i8。 27 uint j。 i8。 Delayus(5)。 Delayus(5)。 //恢復 } /****************************************************************************/ unsigned char Read_Ds1302 ( unsigned char address ) { unsigned char i,temp=0x00。 Delayus(5)。 DDRDamp。i++) //循環(huán) 8 次 讀取數(shù)據(jù) { temp=1。 //每次傳低位在前 SCL_H。 SDA_L。i7。 l_tmpdate[2]=Read_Ds1302(0X85)。i++){ tmp=l_tmpdate[i]/10。 /*for(i=0。 Write_Ds1302(0X82,0)。 。 Write_Ds1302(0x8E,0x80)。i++) //7 次寫入 年月日時分秒星期 { Write_Ds1302((write_rtc_address[i]),l_tmpdate[i])。 l_tmpdate[i]=l_tmpdate[i]+tmp*16。 /*for(i=0。//讀取相應(yīng)地址的時間值 }*/ l_tmpdate[0]=Read_Ds1302(0X81)。 //返回 } /****************************************************************************/ void Read_RTC(void) //讀取 日歷 { unsigned char i。 } RST_L。 Delayus(5)。 //將 SDA 口設(shè)為輸入 ,讀數(shù)據(jù) for (i=0。 Delayus(5)。 Delayus(5)。 //發(fā)送地址 Write_Ds1302_Byte(dat)。 Delayus(5)。 //取數(shù)據(jù) Delayms(30)。 j12。 //取數(shù)據(jù) Delayms(30)。 j12。 //取數(shù)據(jù) Delayms(30)。 j12。 //取數(shù)據(jù) Delayms(30)。 j12。 //讀取高 2位數(shù)據(jù) return addata。 //啟動轉(zhuǎn)換 while(!(ADCSRamp。
點擊復制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1