电动车电池检测系统嵌入式论.docx

上传人:wux****ua 文档编号:9261255 上传时间:2020-04-04 格式:DOCX 页数:12 大小:136.04KB
返回 下载 相关 举报
电动车电池检测系统嵌入式论.docx_第1页
第1页 / 共12页
电动车电池检测系统嵌入式论.docx_第2页
第2页 / 共12页
电动车电池检测系统嵌入式论.docx_第3页
第3页 / 共12页
点击查看更多>>
资源描述
嵌入式系统论文题目:电动车智能电池快速检测系统 目 录1引言12系统模块设计12.1STM32 基本外围电路设计12.2电量指示电路32.3电源电路设计42.4报警电路42.5电池检测电路52.6LCD显示模块电路设计52.7复位电路和时钟电路63程序设计71引言铅酸蓄电池用填满海绵状铅的铅板作负极,填满二氧化铅的铅板作正极,并用1.28的稀硫酸作电解质。在充电时,电能转化为化学能,放电时化学能又转化为电能。电池在放电时,金属铅是负极,发生氧化反应,被氧化为硫酸铅;二氧化铅是正极,发生还原反应,被还原为硫酸铅。电池在用直流电充电时,两极分别生成铅和二氧化铅。移去电源后,它又恢复到放电前的状态,组成化学电池。铅蓄电池是能反复充电、放电的电池,叫做二次电池。它的电压是2V,通常把三个铅蓄电池串联起来使用,电压是6V。汽车上用的是6个2铅蓄电池串联成12V的电池组。铅蓄电池在使用一段时间后要补充蒸馏水,使电解质保持含有2228的稀硫酸。 电动车采用铅酸蓄电池是从生产难度、成本、可靠性等多方面考虑的结果。铅酸蓄电池其基本特点是使用期间不用加酸加水维护,电池为密封结构,不会漏酸,也不会排酸雾,电池盖子上设有单向排气阀(也叫安全阀),它作用是当电池内部气体量超过一定值(通常用气压值表示),即当电池内部气压升高到一定值时,排气阀自动打开,排出气体,然后自动关阀,防止空气进入电池内部。阀控铅酸蓄电池与汽车等用的普通铅酸蓄电池相比有二个主要特点:一是密封;二是干态。密封是指基本无酸雾排出。一般情况下阀控铅酸蓄电池在运行(充放电)过程中是“零排放”,只有在充电后期蓄电池内的气体压力超过安全阀的开放压力时才为有少量的氢和氧混合气体排放,此时有过滤材料滤去了带出的少量酸雾。干态是指阀控铅酸蓄电池没有自由流动的电解液,可以任何方向放置,不怕颠簸、碰撞,即使外壳破裂也不会有酸漏出。铅酸蓄电池在使用过程中,只是不断将化学能转换成电能,又将电能转换成化学能,反复循环,对外部环境是“零排放”, 不会对环境造成污染。2系统模块设计2.1STM32 基本外围电路设计该设计采用意法半导体公司最新推出的基于ARM Cortex -M0 的32 位RISC 内核微处理器STM32芯片,该芯片具有超低的成本、极低的功耗、丰富的片内外设和方便灵活的开发手段将成为众多微处理器系列中一颗耀眼的新星。 如图1所示,为STM32微处理器的最小工作电路。如图所示,BOOT0引脚用于STM32F030R8T6微处理器启动模式的设置,当BOOT0接高电平时,启动方式为从内部FLASH 启动。该控制系统使用8.0MHz的外部晶振作为系统时钟,STM32微处理器内部集成锁相环,通过软件设置锁相环倍频数为6,就可以得到系统的最高工作时钟72Mhz。图中的32.768MHz的外部晶振的作用是通过分频,为STM32微处理器内部集成的RTC实时时钟提供一个精确地1秒钟计时。 图1 STM32最小系统报警电路STM32ADC电池检测显示电路故障检测图2系统硬件框图电动车电池智能检测电路先判断此时电池的状态然后经过ADC转换电路传到STM32单片机内。输出电路有报警电路和显示电路。2.2电量指示电路电量指示电路如图3所示。电量指示电路由5个发光二极管组成他们的亮与灭分别代表了蓄电池的电量消耗程度。其中D1、D2、D3、D4、D5分别代表了蓄电池的剩余电量为100%、80%、60%、40%、20%。图3 电量指示电路2.3电源电路设计图4 电源电路该系统直接采用电动车的电瓶作为电源,因为电动车电瓶的电压均高于系统的工作电压(5V),所以我们通过利用稳压芯片L7805CV使得到稳定的5V直流电压,用以为该系统提供工作电压。图中的C10/C11两个电容用作滤波功能,以使得到稳定的5V直流电压。2.4报警电路报警电路如图5所示。D1、D2、D3是3个发光2极管,和NPN三极管、蜂鸣器组成报警电路。当电池电量低于一定量时,系统经过单片机处理后,发送信号使蜂鸣器得电,蜂鸣器发出响声提示电动车欠压需要充电。图5报警电路2.5电池检测电路电池检测电路如图6所示。他是由待测蓄电池组和电阻组成,其中pc0表示电池组串联后经过电阻的电压,pc1表示电池组1经过电阻的电压,pc2表示电池组2经过电阻的电压,pc3表示电池组3经过电阻的电压。后把这些电压信号输入单片机中进行处理。 图6电池检测电路2.6LCD显示模块电路设计图7所示为LCD显示模块电路原理图设计。图7 LCD显示模块电路原理图2.7复位电路和时钟电路 图8复位电路图9时钟电路3程序设计 LED引脚配置 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_PP;/输出模式通用推挽 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;GPIO_Init(GPIOA, &GPIO_InitStructure);GPIOA-ODR|=0x00FF; /关闭LED蜂鸣器2k pwm输出static void TIM_Mode_Config(void)GPIO_InitTypeDef GPIO_InitStructure;TIM_TimeBaseInitTypeDef TIM_TimeBaseStructure;TIM_OCInitTypeDef TIM_OCInitStructure;RCC_APB1PeriphClockCmd(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; / 模式复用推挽 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOB, &GPIO_InitStructure); TIM_TimeBaseStructure.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_OCInitStructure.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配置static 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=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_ExternalTrigConv_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_GetResetCalibrationStatus(ADC1);ADC_StartCalibration(ADC1);while(ADC_GetCalibrationStatus(ADC1);获取对应通道数据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_EOC );return ADC_GetConversionValue(ADC1);主函数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*4096/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&=0xFFE0;else if(power=(u16)(35.1/16*4096/3.3)GPIOA-ODR&=0xFFE1;else if(power=(u16)(34.2/16*4096/3.3)GPIOA-ODR&=0xFFE3;else if(power=(u16)(33.3/16*4096/3.3)GPIOA-ODR&=0xFFE7;else if(power=(u16)(32.4/16*4096/3.3)GPIOA-ODR&=0xFFEF;else if(powerODR&=0xFFFF;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 成人自考


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!