51单片机电池电量检测系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录

1.设计要求 (3)

2.设计思路 (3)

2.1.设计假设 (3)

2.2.设计方案 (3)

2.3.数学实现 (3)

3.电路设计 (4)

3.1.整体电路结构 (4)

3.2.单片机最小系统 (4)

3.2.1.原理图 (5)

3.2.2.AT89C52单片机 (5)

3.2.3.时钟电路 (5)

3.2.4.复位电路 (5)

3.2.5.电源 (5)

3.3.AD转换电路设计 (5)

3.3.1.原理图 (5)

3.3.2.ADS7825 (6)

3.4.数码管电路设计 (7)

3.4.1.原理图 (7)

3.4.2.数码管 (7)

3.4.3.74LS138 (7)

3.4.4.74LS373 (8)

3.5.串行口电路设计 (8)

3.5.1.原理图 (8)

3.5.2.MAX232 (8)

3.5.3.DB-9 (9)

4.程序设计 (9)

4.1.单片机程序设计 (9)

4.1.1.程序流程图 (9)

4.1.2.程序设计 (10)

4.2.上位机程序设计 (11)

4.2.1.程序流程图 (11)

4.2.2.界面设计 (12)

4.2.3.程序设计 (12)

5.系统调试 (12)

5.1.串口参数设置 (12)

5.2.调整滑动变阻器 (13)

5.3.启动MCU软件仿真 (13)

5.4.打开上位机串口连接 (13)

5.5.观察数码管显示及上位机显示 (13)

6.总结 (14)

7.附件1(硬件原理图) (15)

8.附件2(单片机源程序) (16)

1.设计要求

本次设计要求,依据实验数据,设计简易的电池电量监测电路。该3AH的电池,在某固定环境下放电实验数据如表1所示。要求依据测量电压推算时间,以此作为电量标识,并采用某种方式进行显示。

表 1 放电实验数据

2.设计思路

2.1.设计假设

本次设计基于以下假设。在任意时刻t测得开路电压值V,不考虑其在t时刻前的具体放电过程。即认为该时刻电池开路电压V,是持续以放电实验中使用的放电电流I(500mA),由满电量电压4.35V,放电∆t时间得到的。即,认为,电池剩余电量与电池两端开路电压具有一一对应关系。

2.2.设计方案

通过AD芯片获取电池两端开路电压,将模拟量电压值转换为单片机可处理的数字量。随后依据该测得的电压值按照所建立数学模型进行运算。然后将该数字电压值及其运算结果通过数码管显示,并同时通过串行口发送至上位机。上位机接收到数据后做相关处理显示工作。

2.3.数学实现

∆t的值由插值的方式计算。依据表1中的实验数据,通过测得的电压V,由下列公式逆向计算,其中t1,t2,V1,V2为测得电压两侧的实验数据点时间及电压。则测得该电压时,各量值如下所示。(电压处于实验数据边界的情况已在程序实现中完成,此处省略)放电时间:

∆t=t2−(V−V2)∗t2−t1 V1−V2

已用电量:

∆Q=∆t∗I 剩余电量:

Q r=Q−∆Q 剩余电量百分比:

P=Q r

Q

=1−

∆Q

Q

其中时间单位为min,电流单位为mA,电量单位为mA∙min。按照如上方式使用实验数据,运用Matlab绘图得到如下结果。

图 1 实验曲线

其绘图过程如下述程序所示。

图 2 实验曲线绘制

3.电路设计

3.1.整体电路结构

整体电路原理图由Protues软件进行绘制并仿真。为简化连线便于观察逻辑,其中使用了网络标签的方式,对实际物理上相连而原理图中未连接的管脚,给予了相同的名称,则在逻辑上他们互相连接。具体电路原理图见附件1。

3.2.单片机最小系统

单片机最小系统是单片机能够正常执行内置程序,发挥其基础功能的必须组成部分。包括单片机,电源部分,时钟电路部分及复位电路部分。

3.2.1. 原理图

图 3 AT89C52最小系统

3.2.2. AT89C52单片机

本次设计中主要用到了该型单片机的IO 口,串口及定时器。其中,P0口用于和AD 转换电路交换数据。P2口部分管脚用于控制AD 转换芯片工作及读取其状态。P3口3.1管脚用作第二功能串行口数据输出,其余用到的管脚用于进行数码管位选。P1口用于数码管段选。

本次设计未使用片外数据/程序存储器,因此PSEN ̅̅̅̅̅̅̅̅,ALE,EA

̅̅̅̅均处于悬空状态。且本次设计中,与ADC 芯片的数据交换未采用外部拓展总线的方式,将其视为普通IO 设备值直接进行操作和读取。

3.2.3. 时钟电路

时钟电路为单片机最小系统组成之一,用于提供时钟信号,驱动CPU 指令的执行,并为定时器等提供内部时间基准。本次设计采用无源晶振,为保证串口通信波特率准确,其频率选定为11.0592Mhz 。

3.2.

4. 复位电路

复位电路用于在单片机程序执行出现异常时,重新初始化运行,从而防止由数字电路竞争冒险及环境干扰引起的,单片机系统的不正常工作。本次设计中的复位电路同时具有上电自动复位及按键复位的功能。其中上电时由电容C5将RST 引脚拉高,提供复位信号。

3.2.5. 电源

单片机由5V 稳压电源供电,由于仿真软件对其供电电路进行了省略,因此在图 3中并未绘出电源系统。本次设计中部分其余芯片也未绘出电源。

3.3. AD 转换电路设计

AD 转换芯片用于将模拟量的电压值转换为可用数字电路处理的数字量值。该部分电路是本次设计中最为核心的部分。用于测试得到电池两端电压值,供单片机进行数学处理和相关显示处理。

由于软件仿真限制,在本次设计中采用电位器RV1模拟电池两端电压。同时,为简化电路,该芯片模拟地同数字地连在一起。

图中AIN0管脚上的U3(AIN0)箭头为Protues 软件提供的电压探针。用于直观显示输入电压值,与通过ADS7825转换后的结果做对比参考。

3.3.1. 原理图

相关文档
最新文档