基于单片机高精度直流电压表设计
前言 (2)一、设计任务及方案分析 (3)1、设计任务具体要求 (3)2、设计总方案论证 (3)二、硬件电路设计 (4)1、数据输入模块电路设计 (4)2、运算放大电路及通道选择电路设计 (5)3、AD转换模块电路设计 (6)4、单片机控制模块电路设计 (7)5、LCD1602液晶显示模块电路设计 (8)三、系统软件流程设计 (9)1、系统主程序流程框图 (9)2、系统部分程序如下: (10)四、系统调试结果 (11)五、实习收获与感受 (12)基于51单片机的数字直流电压检测仪的设计前言数字电压表(Digital Voltmeter)简称DVM,它是采用数字化测量技术,把连续的模拟量转换成不连续、离散的数字形式并加以显示的仪表。
众所周知,在当今的社会中电已成为人们日常生产,生活中一个必不可缺的因素。
电的发现和应用极大的节省了人类的体力劳动和脑力劳动,使人类的力量长上了翅膀,使人类的信息触角不断延伸。
而在这其中,电压,电流等已成为描述电的一些重要参数。
在电气测量中,电压是一个很重要的参数。
如何准确地测量模拟信号的电压值,一直是电测仪器研究的内容之一。
目前,市场上的主要使用的电压表有:指针式电压表和数字电压表两种。
由于传统的指针式电压表功能单一、精度低,不能满足数字化时代的需求,因此,采用单片机的数字电压表,由精度高、抗干扰能力强,可扩展性强、集成方便,还可与PC进行实时通信等优点已使数字电压表成为现在电子测量的主要应用产品。
数字电压表是通用仪器中使用较广泛的一种测试仪器,很多电量或非电量经变化后都用可数字电压表完成测试。
目前,由各种单片A/D 转换器构成的数字电压表,已被广泛用于电子及电工测量、工业自动化仪表、自动测试系统等智能化测量领域,显示出强大的生命力。
本设计主要研究的是以51系列单片机为核心的电压测量系统,能够在单片机的控制下完成对电压信号采集,能够根据采样值进行毫伏值与伏值量程自动转换。
采用4位半双积分A/D转换器,在20000字(2V满量程)范围内,保证转换精度1字,相当于14bitA/D转换器,相比于其他数字电压表使用的A/D转换器,具有精度高的特点。
并且测量结果可通过液晶屏显示出来,使用液晶屏显示具有功耗低,使用简单,焊接电路方便等特点。
显示准确可靠,误差小。
基本能够满足生产的要求。
一、设计任务及方案分析1、设计任务具体要求设计一个数字直流电压检测仪,具体要求如下:(1)实现0-50V直流输入电压的测量(2)将直流电压表划分三个测量档位(3)测量精度>=0.1V+2%2、设计总方案论证在由单片机构成的数字电压表中,一般包含三种模块:数据采集保持模块,数据处理模块(单片机系统)和输出显示模块。
在本次设计中,可将这几个模块进行更细的划分,可分为数据输入模块,A/D转换模块,数据处理及控制模块,显示模块。
(1)数据采集输入模块在本模块中,采用放大器电路。
先将输入的电压值送入集成运放进行放大,分三路,每个档位都有相对应的通道和运算放大器,最后经运算放大器放大后,将要测量的电压值直接输入AD转换器。
通到选择因考虑到模拟开关本身具有一定的电阻,故采用普通自锁开关来进行通道选择。
(2) AD转换模块在A/D转换模块中,A/D 转换器的转换精度对测量电路极其重要,它的参数关系到测量电路性能。
由于ADC0809是八位AD转换器,精度达不到设计要求,故本设计采用双积A/D 转换器ICL7135,它的性能比较稳定,转换精度高,相当于14位AD转换器的精度,具有很高的抗干扰能力,电路结构简单,其缺点是工作速度较低。
在对转换精度要求较高,而对转换速度要求不高的场合如电压测量有广泛的应用。
另外,ICL7135有过量程(OR)和欠量程(UR)标志信号输出,可用作自动量程转换的控制信号。
使用ICL7135也可以实现对付电压的测量(3)数据处理及控制模块在数据处理及控制模块中,主要通过89C52将A/D 转换后的信号处理,送到单片机某一端口中,用于显示。
(4)数据显示模块在输出显示模块中,采用LCD1602液晶屏,本次设计开始时选用数码管和发系统基本方框图光二极管用于显示输入电压值,但是在进行PCB 板布线和布局时,发现连接线较多,焊接的时候过于复杂。
采用LCD1602液晶屏显示,连接线较少,控制较方便。
而且采用LCD1602液晶显示可以显示电压值的单位以及当前的电压测量档位。
综上所述,经讨论决定使用LCD1602液晶显示屏进行数据显示。
(5) 电路总体设计框架二、硬件电路设计1、数据输入模块电路设计在下图中的主要元件有:三个分压电阻以及开关等等在上图中我们可以看到,输入测量电压从最左端的CON口输入,先经过电阻分压,在这里选择的是9M,900K,,100K阻值的电阻,可以计算知道通过这三个电阻的分压,各个开关闭合后各通道的输入电压值。
把50V,20V,2V档位的信号,经过相对应的运算放大器得到合适的信号接到A/D输入端检测。
2、运算放大电路及通道选择电路设计上图中通过运算放大器对输入信号进行合适的放大,通过开关选择输入AD转换器的输入信号的通道。
3、AD转换模块电路设计在图中,我们可以看到2个主要芯片,其中ICL7135,CD4024。
CD4024芯片[6]主要为ICL7135提供时钟脉冲,可见它的1号引脚CLK接单片机的ALE端,输入信号频率为2MHZ,而CD4024芯片为一个7段的二进制计数器,Q1输出相当于输入的二分频,而Q4端相当于输入信号的16分频,2MHZ/16=125KHZ,将此频率为125KHZ的信号接到ICL7135的时钟端。
ICL7135芯片为双积分A/D转换器。
其中1号引脚接-5V电压;2号引脚为基准电压输入端接1V电压,有5V分压,接稳压二极管得到;4脚为积分器输入端,接积分电容;5脚接自零电容; 6脚为缓冲器输出端,接积分电阻;7,8脚接基准电容; 9脚被测信号负输入端; 10脚被测信号正输入端;11脚+5V电源端;13~16脚(B1—B4)BCD码输出端接单片机的P1.0—P1.7口; 22脚CLK时钟信号输入端;23脚POL负极性信号输出端接单片机的P2.2口;24脚DGND数字地端;25脚为运行/读数控制端接单片机的1.6口;26脚STR数据选通输出端接单片机的INT0口;27脚OR超量程状态输出端接单片机的P1.4口;28脚UR 欠量程状态输出端接单片机的P1.5口。
此处需要注意的是,2号引脚为基准电压输入端,必须保证是标准的1V电压输入,而且必须稳定,由于此信号的轻微变化,都可以时输出有较大的变化,产生较大的误差。
4、单片机控制模块电路设计在下图中,可以看到控制芯片89C52,它的P2.0,P2.1,P2.2口接输入电路开关控制端,控制选择哪路信号作为A/D的输入信号; P1.7,P1.4,P1.5口接ICL7135的负极性信号输出端,超量程状态输出端,欠量程状态输出端,在这里我们可以通过判断P1.7口信号的高低电平,来判断输入信号的正负极性,为高电平说明输入信号为正,反之亦然,可以通过判断P1.4口信号的高低电平,来判断输入信号是否超出量程,为高电平说明输入信号已经超过A/D转换器所能测的信号的量程,反之表示信号输入正常;9脚接复位电路;18,19脚外接12MHZ 晶振;P2.7口接LCD1602的数据端,用于传输数据让液晶屏显示;30脚ALE输出2MHZ信号;P1.0-P1.3接ICL7135输出的BCD码4个端口;P1.6接ICL7135的使能端,控制A/D是否工作,当输出为高电平时,A/D处于连续转换状态;P2.5—P2.7分别接LCD1602的3个控制端,P3.3-P3.7接ICL7135的D1-D5输出端。
5、LCD1602液晶显示模块电路设计上图是用于显示的液晶屏LCD1602,其中3脚VL用于调节显示的对比度,接1K电阻接地;4脚RS为它的数据,指令选择端接单片机的P2.6口;5脚RW为它的读写控制端,接单片机的P2.7口;6脚E为它的使能端,接单片机的P2.8口;7—14脚为它的数据,指令传送端;15,16脚接+5V和地提供背光灯。
三、系统软件流程设计1、系统主程序流程框图2、系统部分程序如下:void L1602_init(void){enable(0x01);enable(0x38);enable(0x0c);enable(0x06);enable(0xd0);}void L1602_char(uchar hang,uchar lie,uchar dat) {uchar a;if(hang == 1) a = 0x80;if(hang == 2) a = 0xc0;a = a + lie - 1;enable(a);write(dat);}void display1(){L1602_char(1, 10, 0x30+data5);L1602_char(1, 12, 0x30+data4);L1602_char(1, 13, 0x30+data3);L1602_char(1, 14, 0x30+data2);}void display2(){L1602_char(1, 10, 0x30+data5);L1602_char(1, 11, 0x30+data4);L1602_char(1, 13, 0x30+data3);L1602_char(1, 14, 0x30+data2);}void display3(){L1602_char(1, 10, 0x30+data5);L1602_char(1, 11, 0x30+data4);L1602_char(1, 12, 0x30+data3);L1602_char(1, 14, 0x30+data2);}void L1602_string(uchar hang,uchar lie,uchar *p) {uchar a;if(hang == 1) a = 0x80;if(hang == 2) a = 0xc0;a = a + lie - 1;enable(a);while(1)if(*p == '\0') break;write(*p);p++;}}void Main(){EA=1;IT0=1;EX0=1;adstart=1; //开启A/DL1602_init();L1602_string(1,1," watting ");while(1){Key_Scan();}}void int0() interrupt 0{while(!D5);data5=redata(d_1,d_2,d_4,d_8);while(!D4);data4=redata(d_1,d_2,d_4,d_8);while(!D3);data3=redata(d_1,d_2,d_4,d_8);while(!D2);data2=redata(d_1,d_2,d_4,d_8);while(!D1);data1=redata(d_1,d_2,d_4,d_8);while(stb==0);}四、系统调试结果1、系统能正常工作,测量精度已超出预期的目标,测量数据如下2ICL7135具有自动极性转换功能。
基于51单片机的直流数字电压表设计
基于51单片机的直流数字电压表设计概述:直流数字电压表是一种用于测量直流电压的仪器,它通过将电压信号转换为数字形式,并显示在数码管上,实现对电压的准确测量。
本文将介绍基于51单片机的直流数字电压表的设计原理和实现方法。
一、设计原理:1.1 电压信号采集:直流数字电压表的第一步是采集待测电压信号。
常用的采集方法是使用一个分压电路将待测电压降低到合适的范围,再通过运算放大器将其放大到合适的电平。
51单片机的模拟输入引脚可以接受0-5V的模拟电压信号,因此可以直接将放大后的信号接入单片机进行采集。
1.2 模数转换:采集到的模拟电压信号需要经过模数转换(A/D转换)才能被单片机读取和处理。
51单片机内部集成了一个10位的A/D转换器,可以将输入的模拟电压转换为相应的数字量。
通过设置不同的参考电压和采样精度,可以实现对不同电压范围的准确测量。
1.3 数码管显示:经过模数转换后,得到的数字量需要通过数码管进行显示。
51单片机的IO口可以通过控制段选和位选的方式,将数字量转换为相应的数码管显示。
可以根据需要选择常用的七段数码管或者液晶显示屏进行显示。
二、设计实现:2.1 硬件设计:硬件设计包括电路原理图设计和PCB布局设计两个部分。
电路原理图设计主要包括电压采集电路、运算放大器、A/D转换器和数码管驱动电路等部分。
PCB布局设计需要考虑信号的走线和电源的分布,以保证电压信号的准确采集和显示。
在设计过程中,需要注意地线和信号线的分离,以减少干扰。
2.2 软件设计:软件设计主要包括单片机的程序编写和调试。
首先需要编写采集模拟电压信号和进行A/D转换的程序,将转换后的数字量存储在单片机的内部存储器中。
然后编写数码管驱动程序,将存储的数字量转换为相应的数码管显示。
最后,通过按键或者旋转编码器等方式,可以实现对量程和精度的选择。
三、设计优化:3.1 精度优化:为了提高直流数字电压表的测量精度,可以采用更高精度的A/D转换器,增加参考电压的精度,或者通过校准电路对测量误差进行校正。
基于单片机的数字直流电压表的设计与实现
足够 时间 ( 2 个机器周 期以上) ,单片机就可
以进行复位操作。 3 . 4拓展功 能负压 显示 使 用 单片 机 判 断 P 1 . 7的高 低 电平 来是 执行 0 - 5 V的 电压 输 出还 是 - 5 V- 5 V的 电压 , 但会 是该简 易数字 电压表 的精度 误差 升高为 O . 0 3 9 2 V,当测量 负压 的时候 有外 界提供 . 5 V 电压 , 因为我们的过压保护不能保护有点不足 , 所以需另外引出线作为输入的测试 电压 。 模拟 电压 ( 负压 )信号通 过变 阻器 分压 后 由 ADC 0 8 0 8的 I N0弓I 脚进 入 ( 由于使 用的
2 . 2设 计 思路
3 . 2 数码 管显 示 电路
改 ,在准确 无误后 可 以用 P CB自动布 线 并改 善 ,完成 以后方可制作加工。 如要 真正实 现 电压 测量 和显 示功 能,还 需要写入相应 的程序才可达到要 求。
本设计使 用的是 L E D数码 管,L E D数码 管显示 器 是 由发 光二极 管显示 字段 的显示 器 件 ,也称为数码管。其外形结构如 图所示 。它 由 8个发光二极管构成 ,通过不同的组合可用 来显示 0 - 9 、A— F及小数 点 “ . ”等字 符。L E D
ADC 0 8 0 8引 脚 定 义 :
/
— — — — — — — —
பைடு நூலகம்
~
~
一
一
/
( 1 ) I N 0~I N 7 引脚为 8 路模拟量输入 , 【 关键词 】单片 机 电压表 设计
通过 3根地址译码线 DA、DB、DC选通~路。 ( 2 )D7~ DO引脚为数据转换后 的输出 端 ,其中 D0为最 低位 ,D7为 最高 位 。输 出
基于单片机的数字电压表设计
基于单片机的数字电压表设计一、引言在电子测量领域中,电压表是一种常用的测量仪器,用于测量电路中的电压值。
传统的模拟电压表由于精度低、读数不便等缺点,逐渐被数字电压表所取代。
数字电压表具有精度高、读数直观、抗干扰能力强等优点,广泛应用于工业自动化、电子设备检测、实验室测量等领域。
本文将介绍一种基于单片机的数字电压表设计方案,详细阐述其硬件电路设计、软件编程实现以及系统性能测试。
二、系统总体设计方案(一)设计要求设计一款基于单片机的数字电压表,能够测量 0 5V 的直流电压,测量精度为 001V,具有实时显示测量结果的功能。
(二)系统组成本数字电压表系统主要由以下几个部分组成:1、传感器模块:用于将输入的电压信号转换为适合单片机处理的电信号。
2、单片机模块:作为系统的核心,负责对传感器采集到的数据进行处理和计算,并控制显示模块显示测量结果。
3、显示模块:用于实时显示测量的电压值。
三、硬件电路设计(一)传感器模块选用 ADC0809 作为模数转换芯片,它具有 8 个模拟输入通道,可以将 0 5V 的模拟电压转换为 8 位数字量输出。
(二)单片机模块选择 AT89C51 单片机作为控制核心,它具有 4K 字节的 Flash 程序存储器和 128 字节的随机存取数据存储器。
(三)显示模块采用液晶显示屏(LCD1602)作为显示器件,它能够清晰地显示数字和字符信息。
四、软件编程实现(一)编程语言选择使用 C 语言进行编程,C 语言具有语法简洁、可移植性强等优点。
(二)主程序流程主程序首先进行系统初始化,包括单片机端口初始化、LCD1602 初始化、ADC0809 初始化等。
然后启动 ADC0809 进行模数转换,读取转换结果并进行数据处理,计算出实际的电压值。
最后将电压值发送到 LCD1602 进行显示。
(三)模数转换子程序ADC0809 的转换过程通过控制其启动转换引脚(START)和读取转换结束引脚(EOC)来实现。
基于单片机的高精度直流电流表的设计与实现
第二章总体方案设计2.1数字电流表的工作原理用单片机及其扩展的外部电路先做成一个理想电压表[3],图1中用G表示。
由于通常所说的电流表是指灵敏电流计其量程太小,不能直接测量电流,仅用于检测有无电流和电流的方向,所以要想得到一个有多量程或量程较大的电流表需要将一个理想电压表改装而成。
本设计是用一个内阻视为无穷大的电压表并联分流电阻而成的数字电流表。
待测电流I随搬动开关K的位置而流过R1或R2,因而本电流表的两个量程就取决于G 的满量程电压和R1、R2的阻值,记G的满量程电压为Ug,根据欧姆定律Ug=RgIg,若Ug和Rg已知则Ig就是电流表的满量程电流。
2.2方案比较及方案选择方案一:选用内置AD转换器的单片机如MSP430系列作为核心处理器,实现本设计的需求,此方案的好处在于,所需芯片、外围电路较少,但对程序要求比较高。
方案二: 方案二是选用ADC0809为转换芯片和单片机组成的系统,ADC0809是采样频率为8位的、以逐次逼近原理进行模—数转换的器件。
其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D 转换,它的输出为并行输出。
且功耗低,工作温度范围广转换时间较快为100us ,具有转换起停控制端。
2.3方案选择通过比较两种方案,采用方案二ADC0809转换芯片来完成本次设计,他功耗低,模拟输入电压范围0~+5V ,不需零点和满刻度校准,换时间快,具有转换起停控制端,且并行输出单片机引脚也够,所以本次设计采用方案二。
2.4 功能要求1、数字电流表在平常工作环境中能良好工作2、能测0——20mA电流,至少能达0.1%的精度3、要求掌握I/V信号转换,A/D转换器的使用和数据采集系统的设计4、电流表能数字显示,且由单片机处理采集数据并驱动LED显示2.5计思路1、根据设计要求,选择STC89C52单片机作为核心控制器件。
2、A/D 转换采用ADC0809。
基于单片机的数字电压表 毕业设计论文
目录摘要 (I)Abstract (II)第一章绪论 (1)1.1 课题研究的背景及意义 (1)1.2 国内外研究现状和发展 (1)1.3 本文的研究内容 (2)第二章系统分析与设计方案 (3)2.1 系统分析 (3)2.1.1 功能及指标 (3)2.2 系统总体方案设计 (3)2.2.1 方案设计的基本思路 (3)2.2.2 数字电压表的两种设计方案 (3)2.2.3 A/D转换模块的选择 (4)2.2.4 接口模块的选择 (4)2.2.5 微控制器的选择 (5)2.3 系统硬件分析 (5)2.3.1 AT89S52单片机简介 (6)2.3.2 LCD1602显示器简介 (6)2.3.3 ADC0804转换芯片简介 (7)第三章系统硬件电路设计 (8)3.1系统组成 (8)3.2电源接口电路 (8)3.3 AT89S52单片机最小系统电路 (8)3.3.2 复位电路 (9)3.3.3 晶振电路 (10)3.4 LCD1602显示电路 (10)3.6 A/D转换电路 (11)3.7 量程转换电路 (11)第四章系统软件设计 (12)4.1 系统主程序流程图 (12)4.2 LCD1602液晶流程图 (12)4.3 ADC0804流程图 (13)第五章性能测试与分析 (14)5.1 各模块独立测试 (14)5.2 系统联合调试 (14)5.3 系统运行评估 (15)第六章总结 (16)参考文献(References) (17)致谢 (18)附录1: 系统原理图及实物图 (19)附录2: 系统主程序 (20)基于单片机的数字电压表专业:学号:摘要:在电路设计中我们时常会用到电压表,过去大部分电压表还是模拟的,虽然精度较高但模拟电压表采用用指针式,里面是磁电或电磁式结构,所以响应较慢。
为适应许多高速信号领域目前已广泛使用数字电压表。
数字电压表的诞生打破了传统电子测量仪器的模式和格局,它显示清晰直观、读数准确,采用了先进的数显技术,大大地减少了因人为因素所造成的测量误差事件,数字电压表是把连续的模拟量(直流输入电压)转换成不连续、离散的数字形式,并加以显示的仪表。
基于单片机的数字电压表的课程设计
基于单片机的数字电压表的课程设计一、引言在电子测量领域,电压表是一种常见且重要的测量工具。
传统的模拟电压表存在精度低、读数不直观等缺点,而数字电压表则凭借其高精度、高稳定性和直观的数字显示等优势,在电子测量中得到了广泛的应用。
本课程设计旨在基于单片机设计一款数字电压表,以实现对直流电压的准确测量和数字显示。
二、设计要求1、测量范围:0 5V 直流电压。
2、测量精度:优于 01V 。
3、显示方式:四位数码管显示。
4、具备超量程报警功能。
三、系统总体设计本数字电压表系统主要由单片机最小系统、A/D 转换模块、数码管显示模块和报警模块组成。
单片机最小系统作为控制核心,负责整个系统的运行和数据处理。
A/D 转换模块将输入的模拟电压转换为数字量,供单片机读取。
数码管显示模块用于显示测量的电压值。
报警模块在测量电压超过设定范围时发出报警信号。
四、硬件设计1、单片机最小系统选用 STC89C52 单片机,其具有性能稳定、价格低廉等优点。
最小系统包括单片机芯片、晶振电路和复位电路。
2、 A/D 转换模块采用 ADC0809 芯片进行 A/D 转换。
ADC0809 是 8 位逐次逼近型A/D 转换器,具有 8 个模拟输入通道,能够满足本设计的需求。
3、数码管显示模块使用四位共阳极数码管进行电压显示。
通过单片机的 I/O 口控制数码管的段选和位选,实现数字的显示。
4、报警模块采用蜂鸣器作为报警元件,当测量电压超过 5V 时,单片机输出高电平驱动蜂鸣器发声报警。
五、软件设计软件部分主要包括主程序、A/D 转换子程序、数据处理子程序和显示子程序等。
1、主程序负责系统的初始化,包括单片机端口设置、A/D 转换器初始化等。
然后循环调用 A/D 转换子程序、数据处理子程序和显示子程序,实现电压的测量和显示。
2、 A/D 转换子程序控制 ADC0809 进行 A/D 转换,并读取转换结果。
3、数据处理子程序将 A/D 转换得到的数字量转换为实际的电压值,并进行精度处理。
基于单片机的电压表的设计
目录1. 设计背景 02. 系统总体方案设计 03. 系统硬件电路的设计 (1)3.1 系统控制器的设计 (1)3.2 电压数据采集模块 (3)3.3 LCD1602显示电路 (4)3.4 按键设置模块 (5)3.5 报警电路模块 (6)3.6 上位机通信模块 (6)3.7 温度采集模块 (7)4. 软件电路设计 (7)4.2 量程自动切换子程序流程图 (8)4.3 A/D转换子程序流程图 (9)4.4 温度测量子程序流程图 (10)心得体会 (11)参考文献 (12)附录 (13)基于单片机的电压表设计1. 设计背景随着科学技术的发展,人们对宏观和微观世界逐步了解,越来越多的微弱信号需要被检测,例如:弱磁、弱光、微震动、小位移、心电、脑电等。
测控技术发展到现在,微弱信号检测技术已经相对成熟,基本上采用以下两种方法来实现:一种是先将信号放大滤波,再用低或中分辨率的ADC进行采样,转化为数字信号后,再做信号处理,另一种是使用高分辨率ADC,对微弱信号直接采样,再进行数字信号处理。
两种方法各有千秋,也都有自己的缺点。
前一种方法,ADC要求不高,特别是现在大部分微处理器都集成有低或中分辨率的ADC,大大节省了开支,但是增加了繁琐的模拟电路。
后一种方法省去了模拟电路,但是对ADC性能要求高,虽然∑-△ADC发展很快,已经可以做到24位分辨率,价格也相对低廉,但是它是用速度和芯片面积换取的高精度,导致采样率做不高,特别是用于多通道采样时,由于建立时间长,采样率还会显著降低,因此,它一般用于低频信号的单通道测量,满足大多数的应用场合。
在对采样精度要求不断提升的情况下,科技工作者也在其他方面对智能仪表的发展提出了新的要求,如:良好的人机界面、数据存储和通讯、阈值报警和较低的功耗等,同时还要求仪表具有较高的性价比。
本文主要设计的是基于单片机的量程自动选择的电压表的设计。
用来精确地采集不同等级的电压表。
数字电压表是采用数字化测量技术,把连续的量输入电压转换成不连续离散的数字化形式并加以显示的仪表作为现代电子测量中最基础与核心的一种测量仪器,对其测量精度和功能要求也越来越高,由于电压测量范围广特别是在微电压高电压及待测信号强弱相差极大情况下,既要保证弱信号测量精度又要兼顾强信号的测量范围,传统的手动转换量程的电压表在测量技术上有一定难度同时若量程选择不当不但会造成测量精度下降甚至损坏仪表。
基于单片机交直流数字电压表的设计
2 系统 设计 及 原 理 .
图 4 D7 6应 用 电路 A 3
222真 有 效 值 转换 器AD 3 .. 7 6应 用 电路 图 4为 双 电 源 供 电 时 的 典 型 应 用 电路 , 电 路 中 的 + s与接 地 、 该 V 一
电 压 测 量 对 测 量 精 度 要 求 高 , 测 量 速 度 没 有 太 高 要 求 , 据 其 对 根
特 点 在 本 次 设 计 中选 用 I L l5双 积 A D 转 换 器 , 的 性 能 稳 定 , C 73 / 它 转 换 电路 进 行 AD 转 换 , 测量 交 流 电压 有 效 值 经 真 有 效 值 转 换 器 后 送 / 若 换 精 度 高 , 有 很 高 的抗 干 扰 能 力 , 路 结 构 简 单 , 工 作 速 度 较低 。 具 电 但 M D转 换 电路 进 行 A D转 换 , 后 送 到 单 片机 中 进 行 数 据 处 理 。处 理 I 然 本 文 采 用 单 片 机 并 行 方 式 采集 IL 15的 数 据 以实 现 单 片 机 电压 表 C 73 后 的数 据 送 到 L D 中显 示 , C 同时 通 过 串行 通 讯 与 上 位 机 通 信 。 和 小 型 智 能 仪 表 的设 计方 案 2 1 入 电 路 部 分 .输 231I L 15双 积 AD 转 换 器 I L 15是 采 用 C .. C 7 3 / C 73 MOS工 艺 制
科技信息
0职校论坛0
S IN E&T C NO O F MA I CE C E H L GYI OR TON N
20 0 8年
第3 2期
基于单片机交直流数字电压表的设计
采用单片机技术的高精度电压表
采用单片机技术的高精度电压表用高精度、高稳定性的元器件和放大电路设计成的高精度区间式电压表,其优点、详细工作原理和应用实例详见本刊2003年第12期《高精度区间式电压表》一文。
这里介绍一种高精度电压表。
运用区间式电压表的基本原理,用单片机制作成高精度电压表,它可自动变换测量范围、计算测量值和显示测量结果。
实现对被测电压大范围、全量程的高精度测量。
图1是分挡区间式电压表的原理图。
分挡式区间电压表是把全量程根据需要分成数个区间段,例如,把2~10V的量程分成2~3V、3~4V……9~10V八个区间,波段开关的八个挡对应各区间,通过分别调定每一个区间的调零电位器W1、增益调整电位器W2实现各区间段的覆盖。
分挡式区间式电压表实现了全量程测量,应用更加方便,可以实现一表多用,例如在计量时对多个电压点的测量、对已知电压的高精度测量等。
缺点是需要手动换挡,对未知电压的测量不太方便。
高精度电压表原理1.工作原理在图1分挡式区间电压表的基础上,采用单片机自动控制,通过自动换挡、自动测量、自动修正误差、计算和输出测量结果,成为一种实用的全量程、高精度电压表,见图2所示。
图中,增加了带有A/D模数转换电路的单片机IC4,将测量的模拟量用单片机进行处理;调零电位器W1和增益调整电位器W2换成可程控的线性数字电位器,其阻值的大小由单片机进行调整,实现自动换挡,测量结果用LCD数字显示。
2.制作过程中区间的标定和划分标定是用标准电压对起始值和终止值进行调整,区间划分是把全量程划分成若干个部分。
假如全量程为0~100V,进入标定子程序完成标定,得到一对W1 、W2 阻值的控制数据;电压表的全量程假设每10V一个区间,划分为0~10V、10~20V、……90~100V十个区间,假如测量是线性的,程序就可以计算出十对W1 、W2 阻值的控制数据,连同标定时的一对控制数据,全部存储在数据存储器E2PROM中以备调用。
3.测量过程测量过程是自动进行的。
基于单片机的数字电压表设计
基于单片机的数字电压表设计数字电压表在电子技术中使用非常广泛,可以用来测量电路中的直流电压、交流电压以及各种信号的幅度等等。
基于单片机的数字电压表实现了数字电压的读取和显示,具有精确、稳定、易操作等特点,下面将介绍基于单片机的数字电压表的设计原理及实现方法。
一、系统结构基于单片机的数字电压表主要是由程序控制模块、模数转换模块和数字显示模块组成。
程序控制模块主要用来完成开机、校准、测试、功能选择等功能;模数转换模块主要将电压信号转换成数字量,供数字显示模块使用;数字显示模块主要将转换后的数字量显示在LCD液晶屏上。
二、硬件设计1.电源电路电源电路主要用来为电路提供稳定的电压和电流,本电路采用稳压电源芯片LM7805实现,稳压芯片输入端连接外部DC12V/1A电源,输出端连接电路板上的整个电路。
2.输入电路输入电路主要用来将被测电源的电压传递给单片机,常规情况下采用分压电路实现。
在本电路中,电阻R1和电容C1为RC滤波电路,起到滤波作用,防止干扰信号的影响;电阻R2是分压电路中的电阻,它根据电压值的不同设置不同的值,以保证被测电压在单片机内部转换过程中不会对单片机产生影响。
3.单片机模块单片机模块是系统的核心部分,本电路中选用STM32F103C8T6单片机实现模数转换和数码管控制,使用C 语言编写程序,通过模拟输入端口读取电压并进行模数转换,将得到的数字使用查表法将其转换为数码管控制脉冲,控制数码管的亮灭实现数字显示。
4.数字显示模块数字显示模块主要由七段数码管、LCD液晶屏幕、导线和电容等器组成,七段数码管用于展示测量到的电压大小,LCD 液晶屏用于展示功能选项、单位等信息。
导线是电路板内部连接线路,电容等器用来平滑电压波动。
三、软件设计1.引脚定义在程序中首先定义STM32F103C8T6单片机内存地址、输入输出引脚和电平状态,其中A0口用来读取被测电压;B0-B7口用来控制七段数码管的亮灭;C0口用来输出PWM,控制风扇的旋转速度;D0口用来控制蜂鸣器的开启和关闭。
