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

正文內(nèi)容

數(shù)字式智能充電器設(shè)計(jì)畢業(yè)論文-在線瀏覽

2024-08-03 05:14本頁面
  

【正文】 D) 來進(jìn)行控制,目前它仍是控制系統(tǒng)一種最基本的控制算法.,在本設(shè)計(jì)中根據(jù)電壓的變化情況,控制PWM的占空比,從而控制充電電流的變化,使電池電壓按比較理想的充電模式變化,以能夠達(dá)到最佳充電效果。7 第4章 硬件設(shè)計(jì) 系統(tǒng)控制電路的組成部分整個(gè)系統(tǒng)的硬件設(shè)計(jì)組成部分主要包括MCU模塊、電源模塊、充放電模塊、信號采集模塊、按鍵和顯示模塊;通過上述幾個(gè)模塊的有力配合,實(shí)現(xiàn)了對充電電池的有效充電。其所提供的10 位 A/D 轉(zhuǎn)換器能夠提供足夠高的測量精度,讓電池充好后的容量更能接近它的最大容量。(4)端口B(PB7~PB0):端口B 為8 位雙向I/O 口,有可以對其編程的內(nèi)部上拉電阻。(6)端口D((PD7~PD0):端口D 為8 位雙向I/O 口,有可以對其編程的內(nèi)部上拉電阻。使用輸入模式時(shí),如果內(nèi)部上拉電阻生效,當(dāng)端口被外部電路拉低時(shí),將輸出電流。 (7)RESET:復(fù)位的輸入引腳;將引起系統(tǒng)復(fù)位的條件是持續(xù)時(shí)間超過最小門限時(shí)間的低電平。(9)XTAL2:振蕩放大器的反向輸出端口。不使用ADC時(shí),該引腳應(yīng)直接與VCC連接。(11)AREF:A/D 的模擬基準(zhǔn)量輸入引腳。反激式是指當(dāng)功率MOSFET管導(dǎo)通時(shí),可以在高頻變壓器的初級繞組上將電能儲(chǔ)存,僅當(dāng)MOSFET管關(guān)斷時(shí),才能夠向次級輸送電能,因?yàn)殚_關(guān)頻率高達(dá)100kHz,使得高頻變壓器可以快速存儲(chǔ)和釋放能量,經(jīng)過高頻整流濾波后就可以獲得直流的連續(xù)輸出。在反饋回路中通過控制TOP Switch器件控制端的電流來調(diào)整占空比,來達(dá)到穩(wěn)壓的最終目的??刂茦OC用于占空比控制的反饋電流和誤差放大器的輸入引腳,與內(nèi)部相并聯(lián)的穩(wěn)壓器連接,提供反激式電源正常工作時(shí)的內(nèi)部偏置電流,同時(shí)也是提供補(bǔ)償功能的電容、旁路和自動(dòng)重起連接點(diǎn)。內(nèi)部輸出極MOSFET管的占空比隨著控制引腳電流的增加而線性下降, V,最高電壓為9 V,控制端的最大工作電流為100 mA。如果芯片結(jié)溫高于135℃時(shí),過熱保護(hù)電路就將輸出高電平,關(guān)斷輸出極。使用TOP Switch系列設(shè)計(jì)得單片開關(guān)電源時(shí)所需要的外接元器件比較少,并且器件對輸入總線瞬變和電路板布局的敏感性在很大程度上減少了,所以具有設(shè)計(jì)很方便、性價(jià)比更高、性能穩(wěn)定等優(yōu)點(diǎn)。從設(shè)計(jì)要求可知,輸入電壓的范圍比較寬,輸出功率35W,所以選擇TOP224Y。對于需要放電的電池,在充電前先對其放電,可以達(dá)到消除其記憶效應(yīng),同時(shí)對電池的維護(hù)也起到關(guān)鍵性的作用。如圖43所示:圖43 充電電流采集電路從不同類型的電池的充電特性曲線能夠看出,當(dāng)單片機(jī)分析出電池電壓達(dá)到最大值時(shí),判斷電池即充足電。這種控制方法的缺點(diǎn)是:隨著充電速率、環(huán)境溫度等的變化,電池充電的最高電壓也將跟隨變化,因此,最高檢測電壓需要采取一定的溫度補(bǔ)償,并且還要根據(jù)充電速率進(jìn)行適當(dāng)?shù)男拚_@樣,很可能降低電池壽命,并且損壞電池。當(dāng)接入電池時(shí),按下充電器開關(guān),充電器開始工作,檢測到電池兩端有電壓后,充電器開始充電。如圖44所示:圖44 充電電壓采集電路為了避免使電池?fù)p壞,電池溫度過低時(shí)不能馬上進(jìn)行快速充電過程;在電池充滿電后,如果繼續(xù)充電,此時(shí)的電能將轉(zhuǎn)化為電池的熱能,在快速充電時(shí)電池將要快速升溫,若停止充電,將造成電池?fù)p壞。顯示電路由LCD構(gòu)成,用以顯示充電時(shí)的電壓、電流、溫度和充電狀態(tài)等,在人機(jī)交互時(shí)顯示系統(tǒng)的狀態(tài)參數(shù)。對于目標(biāo)系統(tǒng)用C語言來編寫軟件,可以增加軟件的可讀性,很大程度上減少開發(fā)時(shí)間,便于改擴(kuò)和充進(jìn),從而開發(fā)出高性能、大規(guī)模的應(yīng)用型系統(tǒng)。(2) 不需要精通單片機(jī)的指令集和具體的硬件資料,也可以編出比較專業(yè)水平的程序,能符合硬件實(shí)際需求。源程序的可維護(hù)性和可讀性都非常好。使用C語言后,僅需要在代碼中設(shè)定變量的類型,相關(guān)資源就會(huì)被編譯器自動(dòng)分配,根本不需要人為干預(yù),因此人工分配單片機(jī)資源時(shí)的差錯(cuò)就能有效地避免了。(6) C語言提供flash、static、auto等存儲(chǔ)的類型,針對單片機(jī)的數(shù)據(jù)存儲(chǔ)空間、EEPROM空間及程序存儲(chǔ)空間自動(dòng)為變量合理地分配空間,而且C語言能夠提供復(fù)雜的數(shù)據(jù)類型,極大地增強(qiáng)了程序靈活性和處理能力。 系統(tǒng)程序流程圖 系統(tǒng)上電初始化后,給程序中的各種控制量賦值,然后進(jìn)入待機(jī)狀態(tài)等待鍵盤輸入。程序在運(yùn)行中不斷得到各種檢測值,并根據(jù)檢測值調(diào)整工作狀態(tài)。同時(shí)根據(jù)電池目前所處的充電狀態(tài),進(jìn)行相應(yīng)的PID控制調(diào)節(jié)PWM的占空比。為了提高采集精度,除了采取一些硬件濾波措施外,程序中還采用了滑動(dòng)平均值、中值法等方法進(jìn)行軟件濾波取得更好的效果。第二行顯示“電壓”,表示電池充電時(shí)外部的及時(shí)電壓,第三行顯示“電流”,表示電池充電時(shí)外部的及時(shí)電流,第四行顯示溫度,表示電池充電時(shí)外部電池的及時(shí)溫度,在充電過程中,第一行隨著用戶的按鍵選擇的不同而顯示不同的狀態(tài),第二行、第三行、第四行分別顯示充電時(shí)的外部檢測電壓、電流、溫度。結(jié)果重要,過程也很珍貴,因?yàn)楹玫慕Y(jié)果必然要經(jīng)過一個(gè)艱辛的過程,而從這個(gè)艱辛的過程中我獲得了寶貴的經(jīng)驗(yàn)和教訓(xùn)。現(xiàn)將此次畢業(yè)設(shè)計(jì)的成果簡要匯報(bào)如下:?完整的電池充電器設(shè)計(jì)方案?支持多數(shù)電池類型?三段式充電算法?充電參數(shù)易修改?低成本在系統(tǒng)設(shè)計(jì)過程中,首先碰到的問題是系統(tǒng)方案的選擇。經(jīng)過一個(gè)學(xué)期的反復(fù)理論分析和實(shí)踐設(shè)計(jì),完全實(shí)現(xiàn)了當(dāng)初預(yù)期系統(tǒng)所要完成的功能!當(dāng)畢業(yè)論文寫到這里的時(shí)候,我們的畢業(yè)設(shè)計(jì)基本畫上了句號。這次我的畢業(yè)設(shè)計(jì)課題是“數(shù)字式智能充電器”。在畢業(yè)設(shè)計(jì)的開始階段,辛老師為我們指明了此課題的大概方向和需要查閱的相關(guān)書籍,以及以后會(huì)遇到的問題,我們受益頗多。在這次畢業(yè)論文設(shè)計(jì)過程中,我覺得我得到了很大提高。通過這次畢業(yè)設(shè)計(jì),利用圖書館、網(wǎng)絡(luò)搜集、整理信息的能力得到了很大提升。當(dāng)我的意見和組員的意見不一致時(shí),我知道如何虛心聽取他人的意見,同時(shí)采用合適的方式表達(dá)自己的意見。//定義變量void port_init(void)//端口初始化{ PORTA=0xF8。//0為單片機(jī)端口設(shè)定為輸入模式,1為單片機(jī)端口設(shè)定為輸出模式 PORTB=0xFF。 PORTC=0xFF。 PORTD=0xFB。}void delay_1us(void)//延時(shí)1微妙{ asm(nop)。 for(i=0。i++) delay_1us()。 for(i=1142。i)。 for(i=0。i) delay_1ms()。 port_init()。 MCUCR=0x00。 TIMSK=0x00。 TCCR1B=0x02。 } uchar reset(void)//初始化DS18B20 { uchar online。 PORTAamp。//把A2口拉低,以便數(shù)據(jù)輸出 delayus(500)。 DDRAamp。 delayus(40)。=~BIT(PA2)。0X04。 PORTA|=BIT(PA2)。 return(online)。 temp=0。i8。=~BIT(PA2)。 DDRAamp。 k=(PINAamp。 if(k) temp|=(1i)。=~(1i)。 //60~120us DDRA|=BIT(PA2)。 } void write_byte(uchar val)//DS18B20寫一個(gè)字節(jié) { uchar i,mid。i8。=~BIT(PA2)。 mid=valamp。 if(mid) PORTA|=BIT(PA2)。=~BIT(PA2)。 PORTA|=BIT(PA2)。 } PORTA|=BIT(PA2)。 int x=0。//寫ROM指令 write_byte(0x44)。 reset()。 write_byte(0xbe)。 high=read_byte()。 x= (((high8)|low)*)。 } void dis_num(int page,int row,long int i)//顯示09數(shù)字 { switch(i) { case 0: number_disp(page,row,zero)。 case 1: number_disp(page,row,one)。 case 2: number_disp(page,row,two)。 case 3: number_disp(page,row,three)。 case 4: number_disp(page,row,four)。 case 5: number_disp(page,row,five)。 case 6: number_disp(page,row,six)。 case 7: number_disp(page,row,seven)。 case 8: number_disp(page,row,eight)。 case 9: number_disp(page,row,nine)。 default: 。 int zz。 zz=z。zz=zz。 dis_num(x,lie,(zz%100)/10)。 dis_num(x,lie,(zz%100)%10)。 word_disp(x,lie,du)。 lie++。 lie++。 lie++。 lie++。 lie++。 lie++。 }} void Conversion_voltage(void) { ADCSR=0X00。//select adc input 4 ACSR=0X80。 delayms(10)。 voltage=input*()*100。 int zz。 zz=z。lie++。lie++。 lie++。lie++。lie++。 word_disp(x,lie,blank)。 word_disp(x,lie,blank)。 word_disp(x,lie,blank)。//disable adc ADMUX=0X01。 ADCSR=0XE1。//AD轉(zhuǎn)換延時(shí) input=(ADCH8)+ADCL。 } void dis_current(int x,int y,int z)//顯示電流值 { uchar lie。 lie=y。 if(!(z/100)){dis_num(x,lie,0)。} if(z/100){dis_num(x,lie,zz/100)。} number_disp(x,lie,xiaoshudian)。 dis_num(x,lie,(zz%100)/10)。 dis_num(x,lie,zz%10)。 number_disp(x,lie,anpei)。 lie++。 lie++。 } int getkey (void) //獲得鍵值 { unsigned char X,Y,Z。 DDRC=0xF0。 if(PINC!=0x0F) //判斷是否有鍵按下 { delayms(1)。 delayms(1)。 PORTC=0xF0。 //延時(shí),軟件去干擾 if(PINC!=0xf0) //確認(rèn)按鍵按下 { Y=PINC|0x0F。Y。 break。 break。 break。 break。 break。 break。 break。 break。 break。 break。break。break。break。break。break。break。 } } } } } void temp_baohu(int T0) //溫度保護(hù) { if(T045) { if(cf==1) {dapeng_chong(V,C)。} } else {PWM=1023。 V=voltage。 C=current。 g=getkey()。 word_disp(0,1,blank)。 word_disp(0,3,chong)。 word_disp(0,5,blank)。 word_disp(0,7,blank)。 while(g==1) { kk=getkey()。 } } c=g。 word_disp(0,1,blank)。 word_disp(0,3,fang)。 word_disp(0,5,blank)。 word_disp(0,7,blank)。 while
點(diǎn)擊復(fù)制文檔內(nèi)容
畢業(yè)設(shè)計(jì)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1