
【深大电赛】简易电压表
简介
该板实现的功能主要有电压单次检测与连续检测(支持回看),此外还支持可调电压输出(0-5V)
简介:该板实现的功能主要有电压单次检测与连续检测(支持回看),此外还支持可调电压输出(0-5V)开源协议
:GPL 3.0
描述
本项目获2020年深圳大学电子设计大赛一等奖
题目:简易电压表(电路设计)
-
基本部分:
- 制作51单片机最小系统(stm32之类的亦可,系统板是自己做的就行),最小系统包括时钟电路,复位电路,串口下载电路等,并且留有显示设备如OLED或者LCD1602等的插口,留有足够的按键以满足以下要求。
- 将ADS1115芯片及其应用电路集成在上述系统中。
- 单片机控制ADS1115采集电压,并显示出来,测量电压范围0-5V。
- 设置两种模式,模式一无记忆功能,能够迅速检测并更新当前电压。模式二有记忆功能,按下按键后才更新当前电压,并能够把前一次电压的存储下来,至少存储5组数据并且可以回看。
-
发挥部分:
设计一个附加的DA转换电路,可以在一定范围内(0-5V)任意设定一个电压值,然后作为电压源,检测验证电压表的功能。
参赛队伍信息
-
高/低年级组:低年级
-
题目名称: 简易电压表
-
队名:肝到天亮
2020年深圳大学电子设计大赛作品报告
1.需求分析
功能要求:
- 制作单片机最小系统板,包含基础电路及显示电路
- 在上述系统中包含ADS1115芯片,并应用其测量电压0~5V
- 两种模式,一种迅速检测并显示电压,另一种存储并且可以回看
- 发挥部分:设计DAC电路,设定电压值0~5V,然后用上面部分检测
技术性能指标:
- 单片机:足够的I/O口
- ADS1115芯片:量程为0~5V
- DA电路C:输出0~5V电压
需要准备的知识:
- 熟悉51单片机的使用以及绘制各模块的电路,配置显示模块
- 熟悉ADS1115芯片的配置及使用
- 学会ADS1115芯片两种模式的转换和使用
- 绘制DAC电路,控制其输出电压值
物料清单:
2. 方案选择与论证
(1)主控芯片选择
- stm32f103:此芯片拥有强大的操控能力,并且自带12位DAC转换芯片。但是此项目较简单,无需太过强大的芯片。用stm32浪费其能力又浪费经费。
- stc89c52:此芯片能力足以胜任此赛题要求,价钱也便宜。所以最后方案使用了此款芯片。
(2)显示设备
- OLED:此设备的使用对RAM要求很大,stc89c52无法满足,故放弃。
- LCD1602:此模块足够满足需求,又对RAM要求低,故采取此设备。
(3)发挥部分
- stc89c52使用DAC5571芯片直接控制输出电压,精度足够,价钱便宜,故采用。
- stc89c52控制DAC0832控制输出电流再转换成电压,外围电路较为复杂,电流转电压过程中会有精度损失,故不采用。
3. 系统架构及功能描述
(1)ADC模块
- ADC模块里包含了ADC的中的基础参数、通信以及功能实现,对应着硬件中的ADS1115芯片。
- 参数设置包括了不同模式(包括多次检测模式、单次检测模式以及回看模式)中ADS1115各个寄存器的基本参数以及ADS1115的地址。
- 通信包括了ADS1115中I2C的基本操作,包括初始化,开始,写入,读取与结束函数。
- 功能实现包括ADS1115负责的三个模式(多次、单次电压检测和回看模式)的切换逻辑和功能实现以及读取电压的转换。
(2)DAC模块
- DAC模块包含了DAC中的通信以及功能实现。通信同样是I2C的基本操作。功能实现包括调节电压的模式切换逻辑和功能实现,以及输出电压的转换。
(3)LCD模块
- LCD模块包含了LCD中的功能实现,包括初始,屏幕显示电压值和模式以及屏幕清空。
(4)Datatype模块
- Datatype中集成了所有的串口定义,便于后续的修改
(5)Usual模块
- Usual中包含了所有的通用函数与变量,例如延时函数,按键扫描函数等。
(6)主程序
- 调用各个模块实现总体功能,包括四个模式的功能实现和转换以及LCD对应的现实。
具体功能实现:通电后进入模式0
- 模式0:用与控制dac输出电压
- 按键1 进入模式1
- 按键2 dac模块更新
- 按键3 加电压
- 按键4 减电压
- 模式1用于连续检测电压
- 按键1 进入模式2
- 模式2用于单次检测电压
- 按键1 进入模式0
- 按键2 更新电压
- 按键4进入回看模式
- 在回看模式中按键3与4用来翻页
4. 理论分析与计算
(1)时序计算
- I2C时序图
由于stc89c52的时钟频率不高,所以不采用高速模式,采用F/S模式。
故延时函数应该延时超过4.7us
(2)DAC计算
VOUT=VDD*D/256
D为stc89通过iic发送给dac5571数据
(3)ADC计算
ADS1115的转换寄存器是16位的,电压值能精准到电压除以2的15次方
- 计算公式:
ADS1115传送给51单片机的值=ADS1115测的电压值/ VCC供电值*2的15次方
5.电路图和PCB
原理图
关于简易电压表的设计,我们组选择了STC89C52RC-40I芯片,这款芯片为44引脚,其封装为PCLL。
- 首先,需要设计好一块最小系统板,基础部分如下:
(1)时钟电路;采用11.0592MHz无源晶振提供时钟信号,在无源晶振两端都接负载电容接至地。
(2)复位电路:上电时电容充电,RST引脚高电平,实现复位。当按下RSTK1按键电流通过R15流入地,RST处高电平复位。
(3)串口下载电路:使用CH340G芯片实现USART串行通信。当按下六脚自锁按键POWER,给单片机上电,通过LED1红色LED灯的亮灭可判断是否正常上电。在进行程序的烧录或进行通信时,可通过LED2和LED3的亮灭判断通信的正常与否。
(4)独立按键:每次上电,电容充电,KEY1、KEY2、KEY3、KEY4呈低电平之后保持为高电平,当按下独立按键由呈低电平。
(5)将P0的所有引脚拉高,做IO输出口使用;另外EA接高电平,访问内部程序存储器;加入两脚排针,分别接VCC和GND,作为备份电源输入接口;将部分引脚引出,方便控制其他模块等。
- 将最小系统板设计完后,开始设计实现简易电压表的模块:
(6)ADC:为测量电压,使用ADS1115芯片来采集电压,将AIN0-3四个输入口接到4脚排针。另外用于I2C通信的两引脚SCL和SDA接上拉电阻拉高,ADDR脚接地定义其地址,ATERT/RDY接至P15留有。
(7)LCD1602:能转换电压后,还需要显示,使用LCD1602来完成,接口电路的3号引脚接一502可变电阻,用来调节背光屏亮度,并且将其他引脚引出,D0-7接到P00-P07实现并行通信,EN、RS、WR引脚接至P34到P36,默认高电平(51单片机的P1至P3默认输出高电平)
(8)DAC:此外,为了方便提供电压给ADC部分做测试,设计了DAC模块扩展部分。芯片采用DAC5571,该芯片以I2C模式通信,A0接地定义地址,SCL和SDA引脚接至与ADC的I2C通信的两线相同的单片机IO口。VDD引脚接VCC电源,通过100nF电容滤波。引出VOUT,连至2脚排针输出,同时接一滤波电容。
PCB图
- PCB的设计分以下几步
(1) PCB规则设计:电源线(VCC、GND、5V)线宽为20mil
(2) 边框设计:电路板宽97mm,高57mm
(3) 布局:如上图所示
(4) 布线:采用自动布线
(5) 添加丝印:将排针的编号丝印画出
6.调试与测试结果
调试中遇到困难和解决办法:
- 困难1:usb插口无法识别
原因:串口下载电路晶振一开始选错了,选成了11.0592MHZ,然而ch340芯片要求最低晶振不能超过11.98MHZ。
解决方法:将晶振换成了12MHZ。 - 困难2:检测电压时dac模块失效
原因:DAC模块选用的是DAC5571,其广播地址与本电路板上ADS1115地址冲突,
解决方法:将DAC模块换到另一块板上,并把另一块板上的iic引脚通过杜邦线引到主板p25,p24引脚,从而避免两个模块iic地址冲突 - DAC模块选用的是DAC5571,其广播地址与本电路板上ADS1115地址冲突,
解决方法:将DAC模块换到另一块板上,并把另一块板上的iic引脚通过杜邦线引到主板p25,p24引脚,从而避免两个模块iic地址冲突
(原理图改进了,此问题被解决,但是代码未更新) - 最终调试结果存在0.05V左右的误差,产生误差的主要原因有:
(1)笔记本提供电压不稳定(经测量,笔记本提供电压为5.07V左右)
(2)采购的dac芯片较便宜,本身精度不够
(3)Ads1115芯片本身存在一定误差
(4)写程序代码时,测量值用浮点数float定义的变量储存,改变量在计算时易产生误差
7. 结束语
第一次参加电赛,收获了很多,感触比较深的是用什么芯片都要好好看芯片手册,测试时出现什么问题也都要保持冷静。参加电赛,对许多方面的能力都有所提升,设计一件完整的DIY,需要考虑到各个方面,从基础电路的设计开始,到PCB打板,焊接电路板,测试电路板,敲代码,测试程序,最后报告文档的编写。这个过程虽然并没有设计产品流程那样细,但对于个人今后自己制作一些小玩意很有帮助。总之,参加电赛不管获奖与否,技能的提升就是最大的收益。队员间互相信任和协作也很重要。设计电路要一起讨论分配引脚;写代码要互相配合,统一变量函数;最后总结也要各自分工,共同完成。一个综合能力强的团队,分工合理的团队,互相沟通良好的团队也是我们能顺利将完成作品的关键所在。
8.参考文献
[1]DAC5571用户手册,https://atta.szlcsc.com/upload/public/pdf/source/20131206/1457706662524.pdf
[2]ADS1115用户手册 , https://wenku.baidu.com/view/9a840b3683c4bb4cf7ecd135.html
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | K2-3.6×6.1_SMD | RSTK2 | KEY-SMD_2P-L6.2-W3.6-LS8.0 | 1 |
2 | LED-0603_R | LED4 | LED0603_RED | 1 |
3 | 10K | RN2,RN3 | RES-ARRAY-SMD_0603-8P-L3.2-W1.6-BL | 2 |
4 | 10K | R21,R23,R22,R17,R18,R19,R20 | R0805 | 7 |
5 | Micro USB-B 5P_C40942 | USB1 | MICRO-USB-SMD_5P-P0.65-H-M_MICRO-USB-5P | 1 |

评论