電池快速檢測系統(tǒng)嵌入式論文_第1頁
電池快速檢測系統(tǒng)嵌入式論文_第2頁
電池快速檢測系統(tǒng)嵌入式論文_第3頁
電池快速檢測系統(tǒng)嵌入式論文_第4頁
電池快速檢測系統(tǒng)嵌入式論文_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、嵌入式系統(tǒng)期末論文題目:智能電池快速檢測系統(tǒng)1目 錄1引言12系統(tǒng)模塊設(shè)計12.1電量指示電路22.2報警電路32.3電池檢測電路42.4復(fù)位電路和時鐘電路43程序設(shè)計51引言 鉛酸蓄電池組是許多交通工具的動力源或應(yīng)急電源,因此電池組的性能將直接關(guān)系到交通工具的正常運行。為了提高蓄電池的使用壽命,保證其可靠運行,需要經(jīng)常對蓄電池參數(shù)進行嚴格測量,以確保蓄電池組處于最佳的工作狀況。以往,蓄電池參數(shù)的測量都是人工完成的。人工測量速度慢,測量精度不高,而且有害氣體影響人體健康。為減少工人的勞動強度,保障測量人員身體健康,提高測量速度和測量精度,對蓄電池參數(shù)進行自動測量顯得尤為重要。電動車采用鉛酸蓄電

2、池是從生產(chǎn)難度、成本、可靠性等多方面考慮的結(jié)果。鉛酸蓄電池其基本特點是使用期間不用加酸加水維護,電池為密封結(jié)構(gòu),不會漏酸,也不會排酸霧,電池蓋子上設(shè)有單向排氣閥(也叫安全閥),它作用是當電池內(nèi)部氣體量超過一定值(通常用氣壓值表示),即當電池內(nèi)部氣壓升高到一定值時,排氣閥自動打開,排出氣體,然后自動關(guān)閥,防止空氣進入電池內(nèi)部。閥控鉛酸蓄電池與汽車等用的普通鉛酸蓄電池相比有二個主要特點:一是密封;二是干態(tài)。鉛酸蓄電池在使用過程中,只是不斷將化學(xué)能轉(zhuǎn)換成電能,又將電能轉(zhuǎn)換成化學(xué)能,反復(fù)循環(huán),對外部環(huán)境是“零排放”, 不會對環(huán)境造成污染。2系統(tǒng)模塊設(shè)計智能電池檢測系統(tǒng)從功能模塊上看來包括電量指示電路,

3、報警電路,電池檢測電路,復(fù)位電路和時鐘電路以及STM32輔助部分等幾部分組成。單片機STM32顯示電路報警電路電池問題檢測電池電量檢測圖1系統(tǒng)硬件框圖開始電池檢測電量高于40%電量低于20%電量高于20%電量高于60%電量高于80%電量100%LED顯示蜂鳴器報警圖2系統(tǒng)程序框圖測取電池電量的方法有多種;1 測取電池電壓,鉛酸電池會隨著電量的減少降低電壓 其電壓降低的曲線可近似看成直線,該方法測量設(shè)備簡單對設(shè)備損害小,但誤差較大。2 測量電池內(nèi)阻,隨著電池電量的降低點吃的內(nèi)阻同樣會逐漸增加且電池內(nèi)阻與電池電量相關(guān)性比較大,所以該方法精度較高,但數(shù)據(jù)測取電路復(fù)雜,需要在電池兩端施加交流信號在檢測

4、電池兩端信號變化情況計算電池內(nèi)阻,該系統(tǒng)在實際運行過程中會受電池本身電路影響。3 測量電池電液密度,電池電液密度是最接近電池電量的指標,但電液密度的測量太復(fù)雜,所以不采取。由于電車電池在放電過程一般電流較小,電池電量的變化過程是一個緩慢的過程不需要太高的精確度所以采用直接測量電池電壓法測量電池電量。2.1電量指示電路電量指示電路如圖3所示。電量指示電路由5個發(fā)光二極管組成他們的亮與滅分別代表了蓄電池的電量消耗程度。其中D1、D2、D3、D4、D5分別代表了蓄電池的剩余電量為100%、80%、60%、40%、20%。圖3電量指示電路2.2報警電路報警電路如圖4所示。D1、D2、D3是3個發(fā)光2極

5、管,和NPN三極管、蜂鳴器組成報警電路。當電池電量低于一定量時,系統(tǒng)經(jīng)過單片機STM32處理后,發(fā)送信號使蜂鳴器得電,蜂鳴器發(fā)出響聲提示電動車欠壓需要充電。圖4報警電路2.3電池檢測電路電車電池大多為多塊12V鉛酸電池串聯(lián) 本設(shè)計3塊36V為測量目標。電池的輸出電壓范圍10.5*313.5*3,STM32單片機模塊輸入電壓為03.3v。測量總電壓是電池是測取點的分壓比例為15:1,測量單塊電池電壓時 測取點的分壓比例為 13:3;所以總電壓電阻為150k和10k串聯(lián), 單塊為130k和30k電阻串聯(lián)。圖5電池檢測電路2.4復(fù)位電路和時鐘電路圖6時鐘控制電路圖7復(fù)位電路3程序設(shè)計 LED引腳配置

6、 PA0-PA7static void GPIOA_Config(void) GPIO_InitTypeDef GPIO_InitStructure;RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1| GPIO_Pin_2| GPIO_Pin_3| GPIO_Pin_4|GPIO_Pin_5| GPIO_Pin_6| GPIO_Pin_7;GPIO_InitStructure.GPIO_Mode = GPIO_Mode_OD_P

7、P;/輸出模式通用推挽 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIOA-ODR|=0x00FF; /關(guān)閉LED蜂鳴器2k pwm輸出static void TIM_Mode_Config(void)GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;RCC_APB1Peri

8、phClockCmd(RCC_APB1Periph_TIM3, ENABLE);RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE); GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; / 模式復(fù)用推挽 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); TIM_TimeBaseStruct

9、ure.TIM_Period=999; /周期為1000 TIM_TimeBaseStructure.TIM_Prescaler = 35; /36分頻 TIM_TimeBaseStructure.TIM_ClockDivision= TIM_CKD_DIV1 ; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); TIM_OCInitStructure.TIM_OCMode = TIM_OCMode_PWM1; TIM_OCIni

10、tStructure.TIM_OutputState = TIM_OutputState_Enable; TIM_OCInitStructure.TIM_Pulse = 499; TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High; TIM_OC1Init(TIM3, &TIM_OCInitStructure); TIM_OC1PreloadConfig(TIM3, TIM_OCPreload_Enable);RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3, DISABLE);ADC1配置stati

11、c void ADC1_Mode_Config(void)ADC_InitTypeDef ADC_InitStructure;GPIO_InitTypeDef CPIO_InitStructure;RCC_AHBPeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);RCC_AHBPeriphClockCmd(RCC_APB2Periph_ADC1,ENABLE);CPIO_InitStructure.GPIO_Pin=GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;CPIO_InitStructure.GPIO_Mode

12、=GPIO_Mode_AIN;CPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOC, &CPIO_InitStructure);ADC_InitStructure.ADC_Mode=ADC_Mode_Independent;ADC_InitStructure.ADC_ScanConvMode=DISABLE;ADC_InitStructure.ADC_ContinuousConvMode=DISABLE;ADC_InitStructure.ADC_ExternalTrigConv=ADC_ExternalTrigCon

13、v_None;ADC_InitStructure.ADC_DataAlign=ADC_DataAlign_Right;ADC_InitStructure.ADC_NbrOfChannel=1;ADC_Init(ADC1,&ADC_InitStructure);RCC_ADCCLKConfig(RCC_PCLK2_Div8);/ADC_RegularChannelConfig(ADC1,ADC_Channel_1,1,ADC_SampleTime_55Cycles5);ADC_Cmd(ADC1,ENABLE);ADC_ResetCalibration(ADC1);while(ADC_GetRes

14、etCalibrationStatus(ADC1);ADC_StartCalibration(ADC1);while(ADC_GetCalibrationStatus(ADC1);獲取對應(yīng)通道數(shù)據(jù)static u16 GET_ADC_No_value(u16 No)u16 i=1;/No的值為10,11,12,13;ADC_RegularChannelConfig(ADC1,No,1,ADC_SampleTime_55Cycles5); ADC_SoftwareStartConvCmd(ADC1, ENABLE);while(!ADC_GetFlagStatus(ADC1, ADC_FLAG_

15、EOC );return ADC_GetConversionValue(ADC1);主函數(shù)int main(void) u16 power1,power2,power3,power;SystemInit();GPIOA_Config();TIM_Mode_Config();ADC1_Mode_Config();while (1) power=GET_ADC_No_value(10);power1=GET_ADC_No_value(11);power2=GET_ADC_No_value(12);power3=GET_ADC_No_value(13);if(power1(u16)(44/16*40

16、96/3.3) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIOA-ODR&=0xFFDF; ;if(power2(u16)(44/16*4096/3.3) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIOA-ODR&=0xFFbF; ;if(power3(u16)(44/16*4096/3.3) RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);GPIOA-ODR&=0xFF7F; ;if(power=(u16)(36/16*4096/3.3)GPIOA-ODR&

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論