智能仪器仪表基于单片机的电压表的设计.docx
- 文档编号:30229320
- 上传时间:2023-08-07
- 格式:DOCX
- 页数:17
- 大小:346.31KB
智能仪器仪表基于单片机的电压表的设计.docx
《智能仪器仪表基于单片机的电压表的设计.docx》由会员分享,可在线阅读,更多相关《智能仪器仪表基于单片机的电压表的设计.docx(17页珍藏版)》请在冰豆网上搜索。
智能仪器仪表基于单片机的电压表的设计
学号:
智能仪器原理与应用
题目
基于单片机的电压表设计
班级
姓名
指导教师
第1章设计背景1
第2章系统总体方案设计2
第3章系统硬件电路设计3
3.1系统控制器的设计3
3.2电压数据采集模块4
3.3LCD1602显示电路5
3.4按键设置模块6
3.5报警电路模块7
3.6上位机通信模块7
3.7温度采集模块8
第4章软件电路设计9
4.1主程序流程图9
4.2量程自动切换子程序流程图9
4.3A/D转换子程序流程图10
4.4温度测量子程序流程图11
心得体会12
参考文献13
附录14
基于单片机的电压表设计
第1章设计背景
随着科学技术的发展,人们对宏观和微观世界逐步了解,越来越多的微弱信号需要被检测,例如:
弱磁、弱光、微震动、小位移、心电、脑电等。
测控技术发展到现在,微弱信号检测技术已经相对成熟,基本上采用以下两种方法来实现:
一种是先将信号放大滤波,再用低或中分辨率的ADC进行采样,转化为数字信号后,再做信号处理,另一种是使用高分辨率ADQ对微弱信号直接采样,再进行数字信号处理。
两种方法各有千秋,也都有自己的缺点。
前一种方法,ADC要求不高,特别是现在大部分微处理器都集成有低或中分辨率的ADC大大节省了开支,但是增加了繁琐的模拟电路。
后一种方法省去了模拟电路,但是对ADC性能要求高,虽然刀-△ADC发展很快,已经可以做到24位分辨率,价格也相对低廉,但是它是用速度和芯片面积换取的高精度,导致采样率做不高,特别是用于多通道采样时,由于建立时间长,采样率还会显著降低,因此,它一般用于低频信号的单通道测量,满足大多数的应用场合。
在对采样精度要求不断提升的情况下,科技工作者也在其他方面对智能仪表的发展提出了新的要求,如:
良好的人机界面、数据存储和通讯、阈值报警和较低的功耗等,同时还要求仪表具有较高的性价比。
本文主要设计的是基于单片机的量程自动选择的电压表的设计。
用来精确地采集不同等级的电压表。
数字电压表是采用数字化测量技术,把连续的量输入电压转换成不连续离散的数字化形式并加以显示的仪表作为现代电子测量中最基础与核心的一种测量仪器,对其测量精度和功能要求也越来越高,由于电压测量范围广特别是在微电压高电压及待测信号强弱相差极大情况下,既要保证弱信号测量精度又要兼顾强信号的测量范围,传统的手动转换量程的电压表在测量技术上有一定难度同时若量程选择不当不但会造成测量精度下降甚至损坏仪表。
第2章系统总体方案设计
本文设计的数字电压表测量直流电压范围为0~200V。
共分为4个档位,0~0.2V档,0.2V~2V档,2V~20V档,20V~200V档。
并且在测量的时候可以进行自动量程切换。
系统设计框图如图2-1所示。
其主要由单片机作为主控芯片,将要实现的各个功能分为若干个模块来实现,有电压数据采集模块,按键设置模块,温度采集模块,LCD1602显示模块,数
据报警模块,以及与上位机通信模块。
为了以后的扩展,预留了其他输入通道。
其中,电压数据采集模块包括两个部分,信号调理电路和量程自动选择电路,它要实现的功能即是将采用并联法采集到的电压信号调理为合适的数字信号和实现自动选择量程,在自动选择量程上体现了此电压表的只能化。
按键设置模块,有四个按键,用于手动选择量程,当自动选择量程功能出现故障时,即可用手动来选择量程,以此来为设计的完善性做一定的补充。
温度采集模块,用温度传感器对测量现场进行温度检测,一般温度的会对要测的电压电路内部元件、材料电阻产生影响,从而对电压产生影响,故加入温度采集模块,保证能在正常工作状态的温度下,进行相对准确的电压测量。
LCD1602显示模块,用两行来显示
所选档位、现场温度、所测电压值,使使用者可以一目了然。
数据报警模块,当测量电压值高于此电压表的最大量程时,报警电路报警。
当测量的温度高于设定的最高温度时,报警电路也发出报警信息。
在得到报警后,我们可以及时采取措施,消除警报,正确使用电压表。
上位机通信模块,通过串口可以将采集的电压值或者温度值上传给上位机进行数据存储或者处理。
预留的其它的输入通道,是便于以后对此电压表的扩展和二次开发。
图2-1数字电压表的功能框图
第3章系统硬件电路的设计
3.1系统控制器的设计
本系统控制核心采用增强型C51内核单片机,型号为STC12C5A60S2该芯片为宏晶公司的主流型号,其片上资源丰富,包含八路精度为10位AD转换器,程序存储器为32KB
并集成有28KB的EEPROJV方便数据的存储,并能实现掉电不丢失。
数据存储器1280字节,其中1024字节使用片外寻址方式访问,256字节为直接访问,解决了51内核单片机数据存储器不足的问题,并且为ADC的过采样提供了充足的数据缓冲区。
此外,该芯片具有较高的性价比,能为整个系统的设计降低成本。
芯片的引脚图如图3-1所示。
图3-1STC12C5A60S2引脚图
以此芯片设计了数字电压表的最小系统,包括晶振电路和复位电路。
最小系统电路图如图3-2所示。
39"DO
3S
37
D2
36
D3
35
D4
34
D5
33
D6
32
D7
31
col234567XE_i*7654321O-■-■-■-・FJ*IJJ--ea-a-Ucoooooooo-EiN22222222vppppppppAPPPPPPPP
RSTRXDTXD需需WRRD轉GND
1
IK
—STC12C5A60S2
GND
10n
12
B
14
舛一
23DQ_J£_-CDEN
21RS
HTAU19
J5
卫
XLAL2~
5
6
7
PPPPPPPP
单片机最小系统
3.2电压数据采集模块
电压数据采集模块包括两个部分,信号调理电路和量程自动选择电路。
量程自动选择电路分为四档,0~0.2V档,0.2V~2V档,2V~20V档,20V~200V档。
多
路模拟开关选择CD4051CD4051相当于一个单刀八掷开关,开关接通哪一通道,由输入的3位地址码ABC来决定。
INH”是禁止端,当“INH”=1时,各通道均不接通。
此外,
CD4051还设有另外一个电源端VEE以作为电平位移时使用,从而使得通常在单组电源供电条件下工作的CMOS电路所提供的数字信号能直接控制这种多路开关,并使这种多路开关可传输峰-峰值达15V的交流信号。
该芯片由单片机控制A,B端来选择被测电压的量程。
信号调理电路包括电压信号放大器和电压跟随器。
此电路由LM324构成。
LM324内部
包括有两个独立的、高增益、内部频率补偿的运算放大器,适合于电源电压范围很宽的单电源使用,也适用于双电源工作模式,在推荐的工作条件下,电源电流与电源电压无关。
它的使用范围包括传感放大器、直流增益模块和其他所有可用单电源供电的使用运算放大器的场合。
输入电压信号经过精密电阻分压以及CD4501选择后,通过LM324其中一个运
放把输入信号调理到-5V~0V。
再经过另外一个运放,构成电压跟随器,将第一级负电压反向,转换到0~+5V输出电压信号通入单片机的一路AD端。
电路如图3-3所示。
OUT1OUT4
IN1-二工
041-K4-
VCCGND
JN2-1X3*
IM2-IN3-
OUT2OUTi
L11324
VOUT
GND
电压数据采集
GND
图3-3电压数据采集电路
3.3LCD1602显示电路
该数据采集器具有液晶显示器的接口,16X2的字符型液晶显示器,液晶显示器的背光为可控式,在不需要时自动关闭,降低系统能耗。
以1602显示采集到的电压值或者温度值。
显示电路如下图3-4所示。
1602显示
GND
=■1601GND
图3-4LCD1602显示电路
3.4按键设置模块
本电路采用四路独立按键输入设定值,基本满足日常设置需要。
按键输入电路如图3-5所示。
独立按键
图3-5按键设置电路
武汉理工大学《智能仪器原理与应用》课程设计
3.5
报警电路模块
当测量电压值高于此电压表的最大量程时,报警电路报警。
当测量的温度高于设定的
最高温度时,报警电路也发出报警信息。
报警电路如图3-6所示。
报警电路
图3-6报警电路
3.6上位机通信模块
本数字电压表设计了与上位机通信模块,通过串口可以将采集的电压值或者温度值上传给上位机进行数据存储或者处理。
通信模块电路如图3-7所示。
上位机通信
图3-7上位机通信电路
3.7温度采集模块
环境温度对于某些场合的数据测量具有非常大的影响,并且能判断测量仪表所处的环
境是否适合测量,从而实现自我保护功能。
本系统中采用DS18B20乍为温度传感器,用于
对环境温度的采集。
独特的一线接口,只需要一条口线通信多点能力,简化了分布式温度传感应用无需外部元件可用数据总线供电,电压范围为3.0V至5.5V无需备用电源测量温
度范围为-55C至+125C。
温度传感器可编程的分辨率为9~12位温度转换为12位数字格
式最大值为750毫秒。
其电路如图3-8所示:
GND
DQ
VCC
K11
10K
GND三U4
温度采集
DS18B2C
VCC
图3-8温度采集电路
第4章软件电路设计
4.1主程序流程图
系统上电后,初始化LCD1602液晶显示器,DS18B20温度传感器,A/D转换模块。
扫描按键,调用A/D转换模块测量电压,根据预测量电压选择量程,调用量程自动转换子程
序,最后显示测量电压值。
主程序流程图如图4-1所示。
图4-1主程序流程图
4.2量程自动切换子程序流程图
单片机先以最大量程预测量电压的估计值,选择合适的量程再精确测量电压。
当所测电压高于最大量程时,报警电路报警。
量程自动切换子程序流程图如图4-2所示。
预測駁.if算电卄侑
选0.2伯
C■ltD)
图4-2量程自动切换子程序流程图
4.3A/D转换子程序流程图
本设计采用软件滤波的方法。
通过连续采集40个电压值,去掉最大值和最小值,再
求取平均值来确定最终电压值。
A/D转换子程序流程图如图4-3所示。
图4-3A/D转换子程序流程图
4.4温度测量子程序流程图
1
DS18B2O初if比
1
亠
温度采浪
1
F
紇据处理
E
A
1
图4-4温度测量子程序流程图
心得体会
当今社会在飞速发展,科学技术发展的速度更是迅猛无比,尤其是单片机技术在未来社会发展中一定会起着十分重要的作用,而通过本次设计无论是从硬件实现还是到整个程序的完成,无不是对我个人专业能力的一次提高和体现。
而本次设计主要是完成两方面工作,软件程序设计和硬件电路板设计。
软件设计包括用单片机设计语言设计控制系统并仿真、实现。
硬件设计包括绘制电路原理图,生成图后制作电路板、插件焊件、再做硬件测试。
通过这些都使我对采用单片机设计方法有了更深的理解和掌握,同时也让我把所学的知识广泛的应用到了实践中,充分的做到了理论与实践相结合。
无论从专业知识、动手能力,还是毅志品质,都使我受益非浅。
在电路调试中也遇到较多问题,但大部分问题都源自于单片机引脚的功能未配置正确,如在调试DS18B20时,发现单片机始终读不到数据,经过检查,发现硬件电路连接正确,最后发现连接DS18B20的10引脚工作模式配置为高阻输入,而不是普通10,从而导致DS18B20的数据无法读取;在调试液晶显示器时,由于LCD1602勺响应速度较慢,在初始化时延时较短,导致初始化失败,进而在后续调试中无法正常工作;等等,这对于以后的学习都是一种经验。
通过本次课程设计,我了解到了过采样技术在现代测试领域和智能仪表中的重要地位,同时通过对数据采集器的整体设计,包括电路原理图设计、PCB设计、电路仿真及实
际调试,我进一步加深了对单片机,数字电路,模拟电路及相关器件的使用体会,提高了调试电路的能力,对于以后的学习具有很大帮助。
总之,通过本次课程设计,我学习到了很多新知识,特别是过采样部分,虽然其原理较简单,但实际调试中会有很多问题,同时发现了自身还有很大的进步空间,为以后的生活和学习奠定了基础。
参考文献
[1]杨增汪.一种量程自动转换高精度数字电压表的设计[J].仪器仪表装置,2011,11:
12-15.
[2]濮霞.数字直流电压表的设计制作[J].电子设计工程,2013,21⑷:
113-115.
[3]任艳玲.基于单片机的量程自动转换电压表设计[J].电子科技,2006,11:
56-59.
[4]高淑艳.基于TLC7135的数字电压表设计[J].交通科技与经济,2013,15
(2):
117-119.
⑸翟永前.基于MSP43C单片机的智能数字电压表设计[J].化工自动化及仪器,2011,38:
297-300.
[6]王若男.基于MSP430F448单片机的交流数字电压表设计[J].电子设计工程,2012,20
(2):
144-147.
附录
部分子程序:
voidDataAcquisition(void)〃电压数据采集子函数
{
unsignedchari=0;
for(i=0;i<40;i++)//40次高速采样
{
ADCBuffer[i]=ADCResult(ADC);
MeanValue=MeanValue+ADCBuffer[i];
}
MeanValue=(MeanValue/1024*5.06)/64;〃低通滤波
Temp=(unsignedint)(MeanValue*10000);
buffer[0]=Temp/10000+0x30;
buffer[1]='.';
buffer[2]=(Temp%10000)/1000+0x30;
buffer[3]=(Temp%1000)/100+0x30;
buffer[4]=(Temp%100)/10+0x30;
buffer⑸=Temp%10+0x30;
buffer[6]='V';
buffer[7]='';
LCD1602_XYDisplay(2,4,6,buffer);〃数据显示
}
voidEnvironmentTemperature(void)//温度采集子函数
{
EnvironmentMonitor();
buffer[O]='';
if(System.Data.Environment.Temperature>=0x8000)
{
buffer[1]='-';
System.Data.Environment.Temperature-=0x8000;
}
elsebuffer[1]='';
if(System.Data.Environment.Temperature/100==0)buffer[2]='';elsebuffer[2]=System.Data.Environment.Temperature/100+0x30;buffer[3]=(System.Data.Environment.Temperature/10)%10+0x30;buffer[4]='.';
buffer[5]=System.Data.Environment.Temperature%10+0x30;buffer[6]=C;
buffer[7]='';
LCD1602_XYDisplay(2,2,8,buffer);
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 仪器仪表 基于 单片机 电压表 设计
![提示](https://static.bdocx.com/images/bang_tan.gif)