基于stm32的动力电池组信息采集系统设计 毕业设计答辩ppt65132

上传人:小** 文档编号:89191226 上传时间:2019-05-21 格式:PPT 页数:40 大小:2.53MB
返回 下载 相关 举报
基于stm32的动力电池组信息采集系统设计 毕业设计答辩ppt65132_第1页
第1页 / 共40页
基于stm32的动力电池组信息采集系统设计 毕业设计答辩ppt65132_第2页
第2页 / 共40页
基于stm32的动力电池组信息采集系统设计 毕业设计答辩ppt65132_第3页
第3页 / 共40页
基于stm32的动力电池组信息采集系统设计 毕业设计答辩ppt65132_第4页
第4页 / 共40页
基于stm32的动力电池组信息采集系统设计 毕业设计答辩ppt65132_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《基于stm32的动力电池组信息采集系统设计 毕业设计答辩ppt65132》由会员分享,可在线阅读,更多相关《基于stm32的动力电池组信息采集系统设计 毕业设计答辩ppt65132(40页珍藏版)》请在金锄头文库上搜索。

1、,基于STM32的动力电池组信息采集系统设计,答 辩 人 :,专 业 : 机械电子工程,指 导老 师:,目录,基于STM32的动力电池组信息采集系统设计,1,系统总体设计,2,硬件部分设计,3,软件部分设计,4,系统测试结果,5,总结,6,课题主要任务,课题主要任务,1,1.设计STM32最小系统各工作模块; 2.根据系统要求选取合适的传感器,组成信息采集模块; 3.组合起来各个模块,完成整体的硬件设计; 4.编写温度、电流与电压采集的软件程序; 5.调试系统,实现对电池组运行关键参数的采集,主要包括: (1)电池组工作电压; (2)电池组放电时工作电流; (3)电池组实时温度,并在温度过高时

2、发出警报。,基于STM32的动力电池组信息采集系统设计 主要任务,系统总体设计,2,本次动力电池组信息采集系统在综合分析了市面上各种动力电池的性能参数后,选取了动力锂电池作为切入点,进行本次信息采集系统的设计。锂电池结构稳定;可循环次数多,寿命长;其温度特性好,安全性很高,符合本次课题的研究要求。,选取合适的研究对象作为本次设计的切入点,电压特性: 稳定、 安全性高,动力锂电池,温度特性: 耐高温、 可靠性高,STM32,电流采集模块,电池信息采集系统总体框架,硬件部分设计,3,本次动力电池信息采集系统总体原理图如左图所示。 主要由两大部分组成,第一部分是以STM32芯片为核心的控制器;第二部

3、分是由电流、电压和温度传感器组成的动力电池组信息采集模块。 采集模块收集到电池组实时信息,通过I/O传送到STM32的AD转换模块,将实时信息转换成数字信号,实时在屏幕上显示出来。,STM32 最小系统的设计,硬件第一部分:STM32最小系统设计,STM32 最小系统的设计,5V电源设计:5V电源主要是为主控板和电流传感器供电,综合考虑到电压、电流等等影响因素,本次动力电池组信息采集系统的电源模块设计采用VRB2405LD。它能够稳定地输出5V电压,输出电流范围在-1.5A1.5A,功率最大为15W。,STM32 最小系统的设计,3.3V电源设计:由5V电压降压得到,用以给STM32芯片供电。

4、本次设计中选取了TPS7333稳压模块。,STM32 最小系统的设计,晶振的设计:一般情况下,STM32是要具备两个晶振的:一个外部高速晶振,在需要外部的输入信号与内部的振荡信号进行同步时使用,通常为8MHz;另一个为外部低频晶振 ,通常在整个系统待机或者低功耗时使用,一般为32768Hz。外接的那个用于实时时钟的晶振,需要专用的6PF内部负载晶振来保证实时时钟(RTC)的准确性,同时防止不起震现象的出现。,STM32 最小系统的设计,SPI接口:本次电池组信息采集系统运用到SPI2接口,用于LTC6820与STM32连接。 其引脚如左图所示。 复位电路:使STM32恢复到起始状态的电路。,S

5、TM32 最小系统的设计,LCD电路的设计:本次设计使用了 TFT型LCD作为下位机的界面显示工具。 STM32F103ZET6片内外设中没有LCD控制器,需要通过总线扩展,本文直接选择了一 款成熟的TFT型LCD模块,该模块上集成了 ILI9320LCD控制器、驱动器,触摸芯片ADS7843。该控制器分辨率为320*240,能进行16位真彩显示,工作电流大约在170mA左右。,STM32 最小系统的设计,数据存储单元的设计: 本次选用了24LC02存储芯片,该芯片可擦除次数可高达百万次,存储容量大,性能稳定。其通过I2C总线发送或接收数据。SDA数据信号线与SCL时钟信号线可以组成三种信号模

6、式,开始、结束与问答模式。,STM32 最小系统的设计,调试电路设计: STM32处理器具有比较复杂的调试接口,以满足不同目的调试的需要。其包含:组成三种信号模式,可选引脚TRST; TDI引脚; TMS引脚; TCK引脚; TDO引脚。,数据采集模块 设计,数据采集模块总体原理图: 该部分主要完成动力电池组电压、电流与温度实时数据的采集。 根据本次系统设计的需要,本次设计 电压采集芯片选用LTC6804; 电流传感器选用LTS6-NP; 温度传感器选用DS18B20,STM32 最小系统的设计,温度检测模块DS18B20: ( 1 )采用单总线连接的形式; ( 2 )测温范围大,DS18B2

7、0 的温度能够在 -55 + 125 的环境下正常工作; ( 3 )在测量温度的过程中可以单独使用而不需要外围器件; ( 4 )由于只读存储器可以标记不同的DS18B20,所以多个DS18B20可同时使用一根总线; 在实际测试中,两个温度传感器分别测出的温度相差小于0.02,因此本次设计只采用一个温度传感器,便于硬件部分搭建。,STM32 最小系统的设计,数据通信芯片LTC6820电路: LTC6820是电池组监视器LTC6804的伴随器件,它具备内置IOS SPI口,运用LTC6804采集电压的系统可通过LTC6820连接至外部组件。其可串行外围接口总线在两个隔离器件之间的双向 SPI 通信

8、。并且具有匹配供应电流作用,可为LTC6804提供5V电压。 STM32通过4线SPI(CS、SCK、MISO、MOSI)口连接6820,6820再通过isospi连接6804。,STM32 最小系统的设计,电流传感器LTS 6-NP电路: LTS6-NP霍尔传感器采用电流的磁效应,检测电流信号,输出电压信号。 其整体的响应速度很快,电流的测量精度可以高达 0.2%,且能够工作在高温下。但是,本次选用的电流传感器LTS6-NP功率略大,串联在电池组出线端后,导致给TFT屏幕供电的5V电压略有下降,出现闪屏现象,这是本次设计的一个不足之处,需要改进。,STM32 最小系统的设计,电池组监视器LT

9、C6804电路 (电压采集): 通过SPI接口与STM32进行数据交换。若有多个LTC6804可实现并联起来,采集多组电池组信息的功能。,软件部分设计,4,信息采集系统软件部分的设计,本次设计分成四大块进行,分别是主程序的设计、电流检测模块子程序的设计、电压检测模块子程序的设计与温度检测模块子程序的设计。,编写代码时使用C语言,每个步骤都首先列出流程图,阐述具体设计思路,再结合软件平台Keil uVision4 提供的方便且功能丰富的窗口界面进行实际代码的编写。,步骤1,步骤2,步骤3,步骤4,主程序编写,电流检测子程序 编写,温度检测子程序 编写,电压检测子程序 编写,主程序编写 本系统设计

10、了 4节锂电池的信息采集系统,电池组从这四节串联的动力锂电池收集信息。为完成对动力电池组电压、电流与温度信息的采集的任务,除了要用各个传感器进行数据的收集,还要利用通讯模块进行信息的传输。 具体 主程序设计流程图,如右图所示。,部分主程序代码: void main() u8 start=0; TFT_Init(); /TFT彩屏初始化 adc_init(); /ADC初始化 BEEP_Init(); GUI_DisplayInit(); key_init(); /按键初始化 SRAM_Config();/存储器初始化 TFT_ClearScreen(BLACK);/刷屏 ,温度检测子程序编写

11、每个DS18B20温度传感器,都有唯一特定的ROM 编号。当需要对某个特定的器件进行访问时,首先要发送命令 0X55 进行 ROM的匹配,在匹配成功后开始进行温度的转换,然后在完成转换后保存相应温度值,本次动力电池组信息采集系统的设计要求采集动力电池组的实时温度值,计划首先收集某一路的温度进行数据分析。 为防止电池组温度过高出现危险,设定当温度高于35时,屏幕上就会实时显示“温度过高”,防止出现危险。 具体流程图如右图所示。,温度检测子程序编写,void ds18b20init() DQOUTINT();/输出 ds18b20_dq_L; delay_us(480); ds18b20_dq_H

12、; delay_us(480);,第一步 初始化,if(GPIO_ReadInputDataBit(GPIO_ds18b20,dq)=1) value|=0x80; /读数据 从低位开始 );,第二步 读写数据时序,第三步 读取温度值,ds18b20init();/初始化 ds18b20wr(0xcc); /发送忽略ROM指令(重点) ds18b20wr(0x44); /发送温度转换指令 delay_ms(10); ds18b20init(); /初始化 ds18b20wr(0xcc); /发送忽略ROM指令 ds18b20wr(0xbe); /发读暂存器指令 a=DS18b20rd(); /

13、温度的低八位 b=DS18b20rd(); /温度的高八位,第四步 高温提示,if(tem_dat3500) /若温度高于TH,则高温危险 GPIO _ SetBits(GPIOB,BZ); delay_ ms(200); GUI_Show12Char (10,40,“温度过高!“,YELLOW,BLACK); ,电压检测子程序编写 在采用LTC6804进行电池组电压采集时,通过SPI口进行与STM32的数据传输。编程时,调用LTC6804的SPI固件函数。最后将收集到的四组电池组的电池信息相加,在屏幕上输出电池组的总电压。 部分电压检测程序如下。,void wakeup_idle(); /模

14、式转换,由空闲转为工作 void wakeup_sleep(); /模式转换,由待机转为工作 void spi_write_array(uint8_t len, /在SPI端口上写入的字节数 uint8_t data /在SPI端口上写入的字节数组 ) uint8_t i; for(i = 0; i len; i+) SPI_I2S_SendData(SPI1,datai); /发送SPI的数据 . void spi_write_read(uint8_t tx_Data, uint8_t tx_len, /定义数组长度 uint8_t *rx_data,/读取由SPI端口存储的数据 uint8

15、_t rx_len /从SPI端口读取的字节数),电流检测子程序编写 将电流传感器LTS6-NP根据霍尔效应输出模拟电压值,然后送入STM32的AD转换模块,转化成数字量输出。 具体电流检测流程图右图所示。,void Current _ get() /电流读取 while (!ADC _ GetFlagStatus (ADC1,ADC_FLAG_EOC); /转换结束标志位 Current _ data=ADC_ GetConversion Value(ADC1);/返回最近一次ADCx规则组的转换结果 ,系统测试结果,5,实验用锂电池组,信息采集系统 具体实物,电压采集模块,电流传感器,温度差传感器,动力电池组信息采集系统 总体实物图,实际测试结果,总结,6,硬件部分整体完成度,90%,95%,90%,本次电池信息采集系统完成度,软件部分整体完成度,实物基本功能实现程度,问题与改进,本次电池信息采集系统制作过程中出现的问题如下:,LTC6804收集电池组(四节电池)电压信息时,电池组与其接口连接错误,导致电容烧坏。,分析解决: 由LTC6804原理图可知,从右往左空出三个接口,第四个接负,第五个正,以此类推。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 管理学资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号