電動車電池防過充節(jié)電控制器_第1頁
電動車電池防過充節(jié)電控制器_第2頁
電動車電池防過充節(jié)電控制器_第3頁
電動車電池防過充節(jié)電控制器_第4頁
電動車電池防過充節(jié)電控制器_第5頁
已閱讀5頁,還剩9頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、隨著人們環(huán)保意識的加強,節(jié)能環(huán)保的電動汽車產(chǎn)業(yè),各種電動汽車也應(yīng)運而生。經(jīng)過市場調(diào)研,我們發(fā)現(xiàn)所有的電動車電池充電器都不具備自動斷電功能。電池已充滿電,充電器仍處于浮充狀態(tài)。這不僅會導(dǎo)致電池?fù)p壞,還會造成大量電能浪費。對安全、節(jié)能和智能的電池充電器的需求也在不斷增長。基于此,我們設(shè)計了一款電動汽車電池防過充節(jié)電控制器。本設(shè)計在普通電動車充電器的基礎(chǔ)上增加了單片機控制部分。家用充電器可直接連接本產(chǎn)品的輸入端,產(chǎn)品的輸出端可連接電動車電池原有的充電口,實現(xiàn)充電的智能化目的。硬件電路由定時充電和自動控制充電兩種工作模式組成。定時充電時,時鐘數(shù)碼管顯示定時時間;自動充電時,時鐘數(shù)碼管顯示電池兩端電壓和

2、浮地時間。電池充滿電后,會自動切斷電源。本產(chǎn)品具有電池電壓檢測功能,可應(yīng)用于36V電池控制和48V電池控制。用戶只需將自己的電池連接到相應(yīng)的地方即可直接充電。如果電池反接,會自動保護電池不受損壞,具有很好的通用性和實用性。二、原理說明:示意圖如圖所示:電源部分:220端為輸入端,插座端為輸出端,P3為與單片機AD檢測部分的連接排針。我們使用LM7805為電路的控制部分提供5V穩(wěn)定的電源。單片機通過控制繼電器的吸合和斷開來控制充電電源的開合。 R1、R2、R3和R4是檢測電池電壓的分壓電阻。采集到的電壓經(jīng)過電阻分壓后才能輸入到單片機。圖中R19為上拉電阻,R6為限流電阻,繼電器由晶體管9013(

3、0.5A)驅(qū)動。當(dāng)單片機引腳輸出低電平時,三極管截止,繼電器線圈沒有電流流過,繼電器斷開,開始充電。當(dāng)MCU管腳輸出高電平時,三極管導(dǎo)通,繼電器吸合,充電停止。防止因過度充電而損壞電池。當(dāng)電池充滿電時,微控制器進入斷電模式,即使周圍沒有人,也不會浪費太多電量。圖中 D3 設(shè)計用于在電池反接時保護電池。 D4 旨在保護繼電器??刂骑@示部分:如圖所示:智能充電器控制顯示部分主要以STC12C2052AD單片機為控制核心設(shè)計。本單片機自帶AD轉(zhuǎn)換,非常方便,不需要外接比較器;并能準(zhǔn)確檢測電池兩端電壓。外圍電路包括輸入設(shè)備按鈕、顯示設(shè)備時鐘數(shù)碼管、發(fā)光二極管(紅色和綠色)和充滿電的報警設(shè)備的蜂鳴器。用

4、戶可以通過按鍵設(shè)置所需的充電模式和充電時間。兩個 LED 用于指示不同的充電模式和不同的充電階段。圖中U3為74HC595,為8位串并移位寄存器,設(shè)計用于省去單片機的IO口。四個按鍵的功能分別是:S1為模式(自動控制模式和定時模式)選擇鍵,S2為調(diào)節(jié)定時時間的“+”鍵,S3為“確認(rèn)鍵”。時鐘數(shù)碼管在定時模式下顯示定時時間的小時和分鐘。自動控制模式下,在電池兩端電壓達到浮空狀態(tài)前,數(shù)碼管顯示電池兩端電壓值,中間點亮;當(dāng)電池兩端電壓達到浮空狀態(tài)時,數(shù)碼管顯示定時兩個小時,顯示狀態(tài)與定時模式下相同。理論設(shè)計計算:AD采集用分壓電阻的設(shè)計與計算對于 48V 電池,R3 為 570K,R4 為 10K。

5、要求當(dāng)電池電壓達到浮空狀態(tài),即57.2V時,分壓后輸入到單片機的電壓不超過5V。Vmax=57V:此時分壓后輸入到單片機的電壓為Vin=Vmax*R3/(R2+R3)=1VR3 的功率為Pr3 =(Vmax/580K)*(Vmax/580K)*20K0.125W所以拿一個1/4W的電阻將單片機的AD轉(zhuǎn)換寄存器中的值設(shè)置為ad_data,然后 ad_data=(Vin/5)*256如果取10位的轉(zhuǎn)換精度,只需將256換成1024即可。從而將模擬量轉(zhuǎn)換為數(shù)字量,由數(shù)碼管顯示。三、學(xué)習(xí)經(jīng)歷:在上這門課之前,我對 51 MCU 幾乎一無所知。事實上,在我上這門課之前,我并不知道這門課是關(guān)于什么的。我只

6、知道是電子產(chǎn)品。我選擇這門課程是抱著實踐的想法。知道我們學(xué)的是單片機,是我們大三下學(xué)期才開的一門課。能提前聯(lián)系上真的很幸運,收獲很大。在這堂課中,我學(xué)習(xí)了單片機開發(fā)板成品的全過程,從最初原理圖的設(shè)計到PCB板的生成,到東西的焊接,最后到調(diào)試和輸入的程序。雖然我們在課堂上學(xué)過原理圖的設(shè)計和PCB板的生成,但是大部分都是按照書上的,所以還是比較簡單的。然而,在這門實驗選修課上,這一切都是我一個人完成的。自己畫原理圖的時候,一開始覺得有點難,因為很多組件都不在庫里,都需要自己畫,也就是說要自己打包。 ,有點難。對于我這樣的初學(xué)者來說,這是一個考驗。畫了原理圖花了我兩個大班。相對來說時間比較長,但是畫

7、完之后有一點點成就感,這也是我對接下來的學(xué)習(xí)和制作比較感興趣的原因。如果原理圖繪制很成功,那么PCB就沒有那么難了,自動生成也很快,但是layout比較麻煩。如果PCB能做好,那么生產(chǎn)基本完成了三分之一的工序。這是成功的第一步。學(xué)生們都做完后,老師送了一些元件,開始物理焊接板子。由于某些原因,我沒有在課堂上完成這個焊接。下課后,我去同學(xué)的實驗室繼續(xù)焊接。完成焊接大約需要兩個小時??粗约鹤龅陌遄?,有種說不的感覺。我很高興,我真的很有成就感,也許這是我第一次焊接這樣的板!所以我決定以后多關(guān)注這方面。下一門課程是程序設(shè)計和調(diào)試。在編寫程序之前,老師講解了51單片機的一些知識和應(yīng)用以及一些單片機程序

8、的程序代碼。老師還推薦了一些書籍,讓同學(xué)們可以繼續(xù)學(xué)習(xí)MCU的知識。在寫程序的過程中,我覺得很難,也很煎熬,因為我不知道,沒有頭緒,也許是因為我還沒有深入研究過單片機!對于程序的編程和調(diào)試,老師的要求不是很嚴(yán)格,因為老師知道我們沒有學(xué)過單片機。雖然我們對51單片機的改造調(diào)試并不精通,但對51單片機的產(chǎn)品研發(fā)生產(chǎn)全過程有了更深入的了解,不再迷茫和猜測。畢竟上課時間很短,深入學(xué)習(xí)就靠我們了。要想在這方面有所突破和發(fā)展,那么深入研究單片機是必然的。通過本課程的學(xué)習(xí),對51單片機產(chǎn)品的開發(fā)有了一定的了解。同時,我也對這門課充滿了向往。我覺得整個制作過程非常有趣。所以我決定,如果大三有這樣的課程,我會選

9、擇它。如果沒有這樣的課程,我會利用業(yè)余時間做一些這樣的課題,我不知道方去問老師或一些更了解的學(xué)生??偠灾?,我在一定程度上從這門課程中學(xué)到了很多。此外,王俊杰老師的細心指導(dǎo)也讓我們倍感親切。還有就是自己獨立完成了一塊電路板的制作,第一次嘗到了做某事的成就感。這給了我很大的信心。我會以此為契機,學(xué)習(xí)專業(yè)知識,提高自己的專業(yè)水平。四、單片機編程代碼:#include #include #define uchar 無符號字符#define uint 無符號整數(shù)#define AD_SPEED 0 x60 /0110,0000 1 1 每 270 個時鐘周期轉(zhuǎn)換一次,/*數(shù)碼管IO口設(shè)置* * */位

10、 ST_CP =P11;位 SH_CP =P12;位 DS =P13;sbit LED4 =P14;/數(shù)碼管位 LED3 =P15;位 LED2 =P16;位 LED1 =P17;sbit led0 =P30; /引領(lǐng)sbit led1 =P31;sbit s3 =P32;/密鑰位 s2 =P33;位 s1 =P34;sbit BEE =P35;/蜂鳴器sbit k1 =P37;/繼電器/*/uchar 溫度=0; /595數(shù)據(jù)識別單位廣告數(shù)據(jù); /AD數(shù)據(jù)int count1 = 0;/數(shù)碼管識別整數(shù)計數(shù)2 = 0;整數(shù)計數(shù)3 = 0;整數(shù)計數(shù)4 = 0;uint count_m=0;uch

11、ar count_f=0;uchar count_s=0;uint count = 0;/ms數(shù)碼管顯示標(biāo)志uchar count0 = 0;/0.5suchar 狀態(tài)=0; /數(shù)碼管顯示標(biāo)志uchar shi=0; / 小時、分鐘和秒的初始設(shè)置飛行干燥機 = 0;uchar 苗 = 0;uchar m = 0;飛行 q = 0; / 密鑰 IDuchar k = 0;詮釋 k2; / 密鑰 IDuchar ad_flag = 0;位 time_flag = 0;位 auto_flag = 0;uchar countb = 0;單位電壓 = 0; / 初始電壓單位電壓1 = 0;uchar i

12、 = 0;飛行標(biāo)志1 = 0;飛行V;uchar value_buf 50; uchar count5, i5, j5, temp5; / 采集電壓uchar VCC = 4.88; / 電源參考電壓uchar 代碼 DSY_CODE = 0 xc0,0 xf9,0 xa4,0 xb0,0 x99,0 x92,0 x82,0 xf8,0 x80,0 x90; / 字符uchar code DSY_CODE1=0 x40,0 x79,0 x24,0 x30,0 x19,0 x12,0 x02,0 x78,0 x00,0 x10;/帶小數(shù)點的字符/*無效ADC(); /*AD轉(zhuǎn)換函數(shù)*/void

13、InitADC();/AD設(shè)置函數(shù)void keyserve(void);/按鍵設(shè)置void keyscan();/鍵盤掃描void Delay(uint x);/延遲無效 In_595(); /595函數(shù)無效 Out_595();void beek(void);/蜂鳴器繼電器void init();/初始化/* *無效的主要() 在里面();而(1)鍵掃描();比克();如果(自動標(biāo)志=1) for (count5=0;count550;count5+)value_bufcount5 = V;延遲(10);對于 (j5=0;j550-1;j5+)對于 (i5=0;i5value_bufi5+

14、1)temp5 = value_bufi5;value_bufi5 = value_bufi5+1;value_bufi5+1 = temp5;電壓=(value_buf0*1.96);如果(電壓=395)電壓1=4801;如果(電壓=409)電壓1=4902;如果(電壓=416)電壓1=5003;如果(電壓=425)電壓1=5104;如果(電壓=433)電壓1=5205;如果(電壓=442)電壓1=5306;如果(電壓=460)電壓1=5504;如果(電壓=468)電壓1=5601;如果(電壓=478)電壓1=5702;計數(shù)1=(電壓1/1000);count2=(電壓1%1000)/100

15、);count3=(電壓1%1000%100)/10);count4=(電壓1%1000%100%10);延遲(300);如果(電壓=480) BEE=1;延遲(200);BEE=0;TR1=1;shi=0;/充滿電后的延時時間分=1;苗=15;ADC_CONTR&=0 x6e;auto_flag=0;flag1=1;if(count_f2)/自動控制定時時間設(shè)置,時間大于2分鐘繼電器斷開TR0=0;TR1=0;蜜蜂=1;ADC_CONTR&=0 x6e;k1=0;延遲(2000);蜜蜂=0; 自動標(biāo)志=0;count_m=0; /將秒數(shù)清0,保持蜂鳴器不響 /*AD初始化*無效初始化() T

16、MOD = 0 x11;TH0=0 xfa;TL0=0 x00;TH1=(65535-50000)/256;TL1=(65535-50000)%256;ET0=1;/開啟定時器中斷ET1=1;TR0=1;TR1=0;EA=1;P 3M0=0X00;/設(shè)置BEE端口P1 3M=0X20;輔助|=0 x10;EADC_SPI=1;LED1=1;LED2=1;LED3=1;LED4=1;蜜蜂=0;k1=1;無效初始化ADC()P1=0 xff;ADC_CONTR=0 xe8;延遲(80);P 1M0|=0 x01;/這兩個寄存器用于設(shè)置P1端口的四種狀態(tài),每一位對應(yīng)一個P1引腳,根據(jù)狀態(tài)組合進行操作

17、P 1M1&=0 xfe;/設(shè)置P1.1為開漏狀態(tài)無效 ADC() 中斷 5如果(廣告標(biāo)志=1)ad_flag=0;ad_data=ADC_DATA;V=廣告數(shù)據(jù);ADC_CONTR&=0 xe7; /清除標(biāo)志并關(guān)閉AD采集ADC_CONTR=0 xe8;/開啟中斷廣告void Time0() interrupt 1/顯示數(shù)碼管TH0 = 0 xfa;TL0 = 0 x00;計數(shù)+;if(count=20)/循環(huán)20次檢測電壓計數(shù)=0;ad_flag=1;狀態(tài)+;開關(guān)(狀態(tài))情況1:temp = DSY_CODEcount1; In_595(); Out_595();LED1=0;LED2=1

18、;LED3=1;LED4=1;休息;案例2: temp = DSY_CODE1count2; In_595(); Out_595();LED1=1;LED2=0;LED3=1;LED4=1;休息;案例3:temp = DSY_CODEcount3; In_595(); Out_595();LED1=1;LED2=1;LED3=0;LED4=1;休息;案例4:狀態(tài)=0;temp = DSY_CODEcount4; In_595(); Out_595();LED1=1;LED2=1;LED3=1;LED4=0;休息;/*void Time1() 中斷 3TH1 = (65535-50000)/25

19、6;TL1 = (65535-50000)%256;如果(自動標(biāo)志=0)count4=分%10;計數(shù)3=分/10;count2=shi%10;計數(shù)1=石/10;如果(+count0=10)計數(shù)0=0;淼;如果(苗=0)分 - ;如果(芬=0 xff)分=59;shi-;如果(shi=0)時=0; 苗=59; 如果(自動標(biāo)志=1)如果(+count0=10)計數(shù)0=0;count_m+;如果(count_m=59)count_m=0;計數(shù)_f+;如果(count_f=60) count_f=0;count_s+;如果(count_s=24) /*無效延遲(uint x) uchar我;而(x-) for(i=120;i0;i-);/*無效 In_595() uchar我;對于(i=0;i8;i+) 溫度 = 1;DS = CY;SH_CP = 1;_nop_();_nop_();SH_CP = 0;無效 Out_595() ST_CP = 0;_nop_();ST_CP = 1;_nop_();ST_CP = 0;/*數(shù)據(jù)處理無效鍵掃描()如果(s1=0)/延遲(5);延遲(200);如果

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論