版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
無線傳感器網(wǎng)絡(luò)節(jié)點的能源模塊和低功耗管理結(jié)題報告一、無線傳感器網(wǎng)絡(luò)節(jié)點的電源供應(yīng)及解決思路二、該項目的思路及具體方案三、實施結(jié)果無線傳感器網(wǎng)絡(luò)節(jié)點的能源模塊和低功耗管理無線傳感器網(wǎng)絡(luò)節(jié)點的電源供應(yīng)及解決思路首先,無線傳感器節(jié)點多是布置在人能難輕易到達的地方。其次,無線傳感器節(jié)點放置點一般的環(huán)境都很惡劣。再次,無線傳感器節(jié)點一般都是長期不定時的監(jiān)測。綜上,無線傳感器節(jié)點要長期處于惡劣環(huán)境的監(jiān)測環(huán)境下,所以就必須解決其能源的連續(xù)供應(yīng)。節(jié)點所需電源需求根據(jù)指導老師提出的需求:
2000mAh容量鋰電池
3.3V5V輸出功率>400mA*3.7V
工作時間每天0.4—2.4小時在野外為環(huán)境監(jiān)測節(jié)點供電
解決辦法我們的方案:
用太陽能作為初始能源,在光強足夠的情況下對可充電電池進行充電,當光照較弱或無陽光狀態(tài)下利用電池提供能源需求。
太陽能電板5V穩(wěn)壓充電管理1充電管理2電池組1電池組3電池組23V繼電器3V繼電器3V繼電器3.3V和5V輸出單片機液晶和按鍵比較器鋰離子電池標稱電壓容量--1300mAh標稱電壓
--3.7V最高電壓
--4.2V3組每組2片采用并聯(lián)共6片太陽能電板的選擇單晶硅太陽能電池多晶硅太陽能電池非晶硅太陽能電池多元化合物電池太陽能電池板尺寸--34*28cm峰值電壓--20V峰值功率--10W充電曲線充電管理
CN-3063是一款太陽能給鋰電池充電的專用芯片,
芯片接法采取辦法
結(jié)合CN3063最大充電電流可調(diào)的特點在光照較強時,調(diào)整其充電限制電流,測量輸出電流和電壓,當其乘積最大時,即默認為最大功率點
典型測試數(shù)據(jù):(溫度30攝氏度,天氣晴朗無云,下午13:00—15:00)限制電流
電壓輸出電流輸出充電功率
400mA4.36v400mA1.744w500mA4.45v500mA2.225w600mA4.45v530mA2.359w
800mA4.43v510mA2.259w放電管理放電管理主要由單片機配合外圍電路完成完成主要功能:------》電壓檢測,通過單片機自帶AD完成(閾值為3.5V)------》電池切換,通過3V繼電器完成------》定時功能,通過單片機定時器控制放電時間------》人機交互,放電時間可設(shè)置,通過液晶按鍵及EEROM完成單片機軟件##include<STC12C5A60S2.H>include<intrins.h>#defineuintunsignedint#defineucharunsignedchar#defineulongunsignedlongsbiten=P4^5;sbitrd=P4^4;sbitrw=P2^7;sbitkey1=P3^3;sbitkey2=P3^4;sbitkey3=P3^5;sbitkey4=P3^6;sbitrelay1=P2^0;sbitrelay2=P2^1;sbitrelay3=P2^2;bitsym,sign;ucharopen_time=0,shut_time=0,timer0_open,timer0_shut,timer0_num,timer0_sec;uinttime1,time2;floatbatter2,batter3;uchartotal=0;uintcount;/******延時程序****/voiddelay(ucharz){ ucharx,y; for(x=z;x>0;x--) for(y=110;y>0;y--);}/*********向1602中寫命令********/voidwrite_com(ucharadd){rw=0;en=0;rd=0;P0=add;delay(5);en=1;delay(5);en=0;}/*********初始化1602*******/voidinit_1602(){write_com(0x38);write_com(0x0c);write_com(0x06);write_com(0x01);}/*********向1602中寫單個數(shù)據(jù)********/voidwrite_dat(uchardat){rw=0;en=0;rd=1;P0=dat;delay(5);en=1;delay(5);en=0;}/*********向1602中寫字符串數(shù)據(jù)********/voidwrite_string(uchar*p){while(*p!='\0'){ write_dat(*p); p++;}}/********打開IAP**********/voidopen_iap() {IAP_CONTR=0x82;}/********關(guān)閉IAP**********/voidclose_iap(){IAP_CONTR=0x00;IAP_ADDRH=0xff;IAP_ADDRL=0xff;}/********讀EEPROM*********/ucharread_eeprom(uintadd){IAP_CMD=0x01;IAP_ADDRH=(add&0xff00)>>8;IAP_ADDRL=add&0x00ff;IAP_TRIG=0x5A;IAP_TRIG=0xA5;returnIAP_DATA;}/********寫EEPROM*********/voidwrite_eeprom(uintadd,ucharwrite_data){IAP_CMD=0x02;IAP_ADDRH=(add&0xff00)>>8;IAP_ADDRL=add&0x00ff;IAP_DATA=write_data;IAP_TRIG=0x5A;IAP_TRIG=0xA5;}/********擦除EEPROM整個扇區(qū)*******/voidclean_all_eeprom(uintadd){IAP_CMD=0x03;IAP_ADDRH=(add&0xff00)>>8;IAP_ADDRL=add&0x00ff;IAP_TRIG=0x5A;IAP_TRIG=0xA5;}/********擦除EEPROMR任意單元*******/voidclean_chose_eeprom(uintadd){ucharxdataeeprom[512]={0};uinttemp,num,i;temp=(uint)((add/512)*512);num=add%512;for(i=0;i<512;i++){ eeprom[i]=read_eeprom(temp+i);}clean_all_eeprom(temp);eeprom[num]=0xff; for(i=0;i<512;i++){write_eeprom(temp+i,eeprom[i]);}}/******開啟AD轉(zhuǎn)換電源*******/ voidADC_Power_On(){ADC_CONTR|=0x80;delay(5);//必要的延時}/***取AD結(jié)果函數(shù),它是十位AD轉(zhuǎn)換,每十次平均,最后取低八位作為AD采樣數(shù)據(jù)****/uintget_ad_result(){uintq=0,result,high,low,real_result;ucharmark,i,ad_high,ad_low;for(i=0;i<10;i++){mark=0;ADC_RES=0;//高八位數(shù)據(jù)清零,STC12C5A60S2AD數(shù)據(jù)寄存名與STC12C54××系列不同
ADC_RESL=0;//低兩位清零
ADC_CONTR|=0x08;//啟動AD轉(zhuǎn)換
while(!mark)//判斷AD轉(zhuǎn)換是否完成
{mark=0x10;mark&=ADC_CONTR;}ADC_CONTR&=0xe7;ad_high=ADC_RES;ad_low=ADC_RESL;high=(uint)ad_high;low=(uint)ad_low;real_result=(high<<2)|low;q=q+real_result;}result=q/10;returnresult;
}/************************AD轉(zhuǎn)換結(jié)束***********************///---------------------電壓采樣程序-------------------------floatAD_sampling(ucharadd1,ucharadd2)//測電壓{uintvi;floattemp;P1ASF=add1;P1M0|=add1;//設(shè)P1_0為開漏模式如:P1_0=#00000000BP1M1|=0x00;ADC_CONTR=add2;//設(shè)置P1.0為輸入AD轉(zhuǎn)換口
delay(2);vi=get_ad_result();temp=(vi*3.3)/1024;returntemp;}voiddisplay_charging_time(ucharadd,ucharf,uchartime){ucharcharging,shi,ge,flag;flag=f;charging=time;shi=charging/10;ge=charging%10;if(flag==1){if(sym==1) { write_com(0x80); write_string("set"); } write_com(add);write_string("open");write_com(add+0x07);write_dat(0x30+shi);write_dat(0x30+ge);}if(flag==2){ write_com(add);write_string("shut");write_com(add+0x07);write_dat(0x30+shi);write_dat(0x30+ge); }}voidinit_timer(){TMOD=0x10;TH1=(65536-45872)/256;TL1=(65536-45872)%256;EA=1;ET1=1;TR1=0;}voidinit_int1(){EX1=1;IT1=0;}voidinit_int0(){EX0=1;IT0=1;}voidmain(){P4SW=0x30; ADC_Power_On();//開AD電源
init_1602(); init_timer(); init_int1(); while(1) { PCON=0x01; _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();}}voidinit1()interrupt2{sign=1;init_1602();while(sign){ open_iap(); open_time=read_eeprom(0x0002); shut_time=read_eeprom(0x0001); close_iap(); write_com(0x80); write_string("run"); display_charging_time(0x80+0x05,1,open_time); display_charging_time(0x80+0x45,2,shut_time); if(key4==0) { delay(10); if(key4==0) { total++; sym=1; TR1=0; timer0_sec=0; } if(total==1) { display_charging_time(0x80+0x05,total,open_time); } if(total==2) { display_charging_time(0x80+0x45,total,shut_time); } if(total==3) { total=0; sym=0; TR1=1; write_com(0x01); write_com(0x80); write_string("run"); display_charging_time(0x80+0x05,1,open_time); display_charging_time(0x80+0x45,2,shut_time); if(relay2==0) { write_com(0x80+0x40); write_string("bat2"); } if(relay3==0) { write_com(0x80+0x40); write_string("bat3"); } sign=0; } while(!key4); } if(key2==0) { delay(10); if(key2==0) { if(total==1) { open_time++; if(open_time>=99) open_time=0; display_charging_time(0x80+0x05,total,open_time); open_iap(); clean_chose_eeprom(0x0002); write_eeprom(0x0002,open_time); close_iap(); } if(total==2) { shut_time++; if(shut_time>=99) shut_time=0; display_charging_time(0x80+0x45,total,shut_time); open_iap(); clean_chose_eeprom(0x0001); write_eeprom(0x0001,shut_time); close_iap(); } } while(!key2) ; } if(key3==0) { delay(10); if(key3==0) { if(total==1) { open_time--; if(open_time==0) open_time=99; display_charging_time(0x80+0x05,total,open_time); open_iap(); clean_chose_eeprom(0x0002); write_eeprom(0x0002,open_time); close_iap(); } if(total==2) { shut_time--; if(shut_time==0) shut_time=99; display_charging_time(0x80+0x45,total,shut_time); open_iap(); clean_chose_eeprom(0x0001); write_eeprom(0x0001,shut_time); close_iap(); } while(!key3); } } }}voidINT0()interrupt0{_nop_();_nop_();_nop_();_nop_();}voidtimer0()interrupt3{TH0=(65536-45872)/256;TL0=(65536-45872)%256;timer0_num++;if(timer0_num==20){ timer0_num=0; timer0_sec++; open_iap(); timer0_shut=read_eeprom(0x0001); timer0_open=read_eeprom(0x0002); close_iap(); time1=timer0_open*60; time2=(timer0_open+timer0_shut)*60;batter2=AD_sampling(0x02,0xe1); _nop_(); _nop_();_nop_(); _nop_(); batter3=AD_sampling(0x20,0
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 物理治療學試題+答案(附解析)
- 健康管理師之健康管理師三級題庫附解析答案
- 檢驗科儀器維修后性能驗證的處理流程及制度
- 滑坡段路基處理施工質(zhì)量保證措施
- 企業(yè)品牌建設(shè)與市場推廣戰(zhàn)略方案
- 績效管理培訓師考核方案模板
- 建筑機電安裝工程質(zhì)量管理規(guī)范
- 中學物理實驗攪拌器操作教學方案
- 空調(diào)安裝操作流程規(guī)范
- 企業(yè)勞動用工合同管理指引
- 2026云南昆明市公共交通有限責任公司總部職能部門員工遴選48人筆試模擬試題及答案解析
- 2025至2030中國數(shù)字經(jīng)濟產(chǎn)業(yè)發(fā)展現(xiàn)狀及未來趨勢分析報告
- 上海市松江區(qū)2025-2026學年八年級(上)期末化學試卷(含答案)
- 導管室護理新技術(shù)
- 中國信通服務(wù):2025算力運維體系技術(shù)白皮書
- 2026年焦作大學單招試題附答案
- 電力行業(yè)五新技術(shù)知識點梳理
- 《DLT 849.1-2004電力設(shè)備專用測試儀器通 用技術(shù)條件 第1部分:電纜故障閃測儀》專題研究報告 深度
- 福建省漳州市2024-2025學年八年級上學期期末考試數(shù)學試卷(北師大版A卷)(含詳解)
- 通風空調(diào)系統(tǒng)聯(lián)動調(diào)試實施方案
- 2025中國電信股份有限公司重慶分公司社會成熟人才招聘考試筆試備考試題及答案解析
評論
0/150
提交評論