可视化数字电压表的设计毕业论文Word文档格式.docx
《可视化数字电压表的设计毕业论文Word文档格式.docx》由会员分享,可在线阅读,更多相关《可视化数字电压表的设计毕业论文Word文档格式.docx(8页珍藏版)》请在冰豆网上搜索。
继之出现了谐波式电压表,它的速度方面稍有提高但准确度低,稳定性差,再后来出现了比较式仪表改进逐次渐进式结构,它不仅保持了比较式准确度高的优点,而且速度也有了很大的提高,但它有一缺点就是抗干扰能力差,很容易受到外界因素的影响,随后,在谐波式的基础上双引申出阶梯波式,它的唯一进步就是成本降低了,可是准确度,速度及抗干扰能力都未提高。
而数字电压表的发展已经非常成熟,就原理来讲,它从原来的一两种已经发展到多种,在功能上讲,它从测单一的参数发展到能测多种参数;
从制作原件看,发展到集成电路,准确度已经有了很大的提高,精度已经达到1NV,读数速度达到每秒几万次,而相对以前价格已经降低了很多。
在电量的测量中,电压,电流和频率是最基本的三个被测量,其中电压量的测量最经常。
而且随着电子技术的发展,更是需要经常测量高精度的电压,所以数字电压就成为必不可少的测量仪器。
另外,数字测量仪器具有读数准确方便,精度度高,误差小,灵敏度高,分辨率高,测量速度快等特点倍受用户亲睐,数字电压表的设计就基于这种需求发展起来。
1.3本文的研究内容
本次毕业设计的主要研究内容是:
(1)设计单片机的最小系统;
(2)设计A/D采集电路;
(3)设计液晶显示和键盘输入电路;
(4)设计系统的程序流程,通过软件实现具有图形界面的数字电压表功能,计算出有效值、峰-峰值等,并显示出电压的波形;
2
(5)对设计的电路和程序进行调试与仿真。
本文分为以下几个章节来详细介绍:
(1)第1章:
绪论,论述了本设计的目的意义、国内外研究现状、本文研究内容及论文结构的安排等;
(2)第2章:
数字电压表系统的设计方案,分块介绍数字电压表的方案设计;
(3)第3章:
数字电压表系统硬件设计,分别介绍数字电压表各个模块的硬件设计,使用proteu软件绘制硬件电路图;
(4)第4章:
系统软件的设计,运用C语言对单片机进行编程;
(5)第5章:
系统的仿真及调试。
最后:
结束语,总结本设计的完成情况,不足及展望。
3
2系统总体方案设计及工作原理
2.1总体方案设计
数字电压表整体结构设计如图1所示,系统主要由模拟信号调理电路、A/D转换电路、按键输入电路、单片机控制系统、LCD显示系统等几个模块组成。
主要用软件编程的方式检测输入信号的大小来实现数字电压表的量程自动转换功能。
图1数字电压表整体方案结构图
系统设计需要基于自动控制原理,实现电压量程的自动切换、数据采样、电压显示等功能。
主要来说,系统由模拟信号调理电路、A/D转换电路、按键输入电路、单片机控制系统、LCD显示系统等几个模块组成。
对于求输入电压的有效值,目前常用的方法是采用RMSDC的方法,即用集成电路直接把交流信号变成直流输出,然后对直流输出信号进行处理,比如采用A/D公司的AD536A真有效值转换芯片。
这种方法测量范围窄、精度低、转换芯片价格高、功能单一。
还有采用直接对交流信号进行整流的方法来实现直流变换的,价格便宜,但是精度更低,很难满足实际应用中的要求。
而且题目中要求要将输入电压的信号变化曲线描绘在点阵型液晶中,这很明显的告诉我们必须建立一个数据采集系统。
因此,我们决定用数据采集的思想来完成。
2.2系统工作原理
4
首先,输入的电压信号经过衰减电路的衰减后送入到输入电压信号迁移电路,使电压信号转化成AVR单片机内部AD转换器能够处理的信号。
然后再将处理完成的信号送入到ATMEGA128单片机内部自带的AD转换器中去,启动AD转换器进行转换,将其转换得到的数字信号数据送入到单片机中。
然后编程控制单片机,对转换得到信号进行计算处理,得到我们需要的各个测量的参数。
最后将计算所得到的数据通过外部显示模块LCD1602将其显示出来,并且利用点阵型LCD12864显示模块实时显示输入的电压信号的波形曲线。
2.3方案选择
2.3.1单片机选择
方案二:
选用AVR系列单片机。
AVR单片机是高速单片机,硬件采用哈佛(Harward)结构,达到一个时钟周期可以执行一条指令,绝大部分指令都为单周期指令,而MSC-51要12个时钟周期执行一条指令;
它支持程序的在系统编程ISP,开发门槛较低,性价比高;
有丰富的外设,如RTC、WATCHDOG、AD转换器、PWM、UART接口等,部分型号还可以使用片内振荡器提供系统1~8MHz的系统时钟,使该类单片机无外加晶振器件即可工作;
I/O口功能强、驱动能力大,I/O口有输入/输出、三态高阻输入,也可设定内部拉高电阻作输入端的功能,工业级产品,具有大电流(灌电流)10~40mA,可直接驱动可控硅SSR或继电器,节省了外围驱动器件;
具有较大容量EEPROM,可擦写10万次的EEPROM,为掉电后数据的保存带来方便,来电后能记住掉电时的工作状态.加之AVR单片机高速,中断服务时间短,故可实现高波特率通讯。
根据题目要求,综合考虑上述方案,我们选用ATMEGA128单片机作主控芯片。
2.3.2AD转换模块
方案一:
外接一AD转换芯片,利用单片机对其进行控制。
采样得到数据,然
5
后通过其与单片之间的接口将数据传送给单片机。
按题目要求的精度,至少需要12位的AD转换器件。
但要测量一个小信号,除了要求AD的精度要达到外,还要模拟电路的前端处理部分要求低噪声,稳定性好。
但是在外部AD与单片机之间通信过程中会带来干拢信号。
而且不利于快速开发。
直接用AVR单片机中自带的AD转换器。
其主要特点如下:
10位精度,我们可以降低AD转换基准的电压,以获得较高的精度。
65~260u的转换时间,在最大精度下可达每秒15KSPS的采样速率。
可选的2.56V的ADC参考电压源。
由于是单片集成,故其控制更容易,干拢也最小。
所以我们选项择方案二。
2.3.3显示器的选择
显示接口用来显示系统的状态、命令或采集的电压数据。
本系统显示部分用的是LCD1602液晶模块和12864点阵型液晶显示模块,采用一个16某2的字符型液晶显示模块LCD1602.它具有重量轻,体积小,功耗低,可显示192种字符,可自编8种字符,指令功能强,可组合成各种输入、显示、移位方式以满足不同的要求,接口简单方便,可靠性高等优点,使用1602LCD液晶模块显示各种要测的参数,可以显示一任意周期性的电压信号中的最大值,最小值,平均值及有效值,并用点阵型液晶12864显示输入的电压信号的波形变化曲线。
本设计主要应用ATMEGA128将A/D转换来的信号进行处理,根据A/D转换的数据及溢出位等信号,来控制模拟开关进行自动换挡。
同时控制液晶屏显示电压值。
LCD1602液晶显示屏,它内带一定字符的字库,我们只要把对应数字的ASCII值,送到它的8位数据端,即可显示对应的字符,并用点阵型液晶12864显示输入的电压信号的波形变化曲线。
2.3.4量程转换模块的选择
在量程转换方案设计中,主要有3中方案可供选择。
利用程序设计来实现量程的转换,这样即可简化硬件电路设计,减少元器件的开销,并且操作简单。
选用模拟开关芯片4066实现量程转换。
4066集成了4个模拟开关,每一路开关都有一个控制端控制对应开关的通断。
用单片机对控制端进行控制,实现不同量程的转换。
方案三:
利用手动开关实现量程转换。
该方案可简化控制程序,缩短反应时间,不足之处在于操作麻烦。
在此次设计中,我们选用的是方案一,方案一所需元件较少,主要是通过单片机程序进行控制,操作简单。
6
3系统硬件设计
系统硬件的设计框图如图2所示。
图2系统硬件设计框图
本次设计的数字电压表是基于AVR单片机的一种电压信号采样测量系统。
该设计采用AVR单片机内部自带的AD转换器对输入的低频电压信号进行采样,采样的数据存放单片机中,利用相应的算法求出输入电压信号的最大值,最小值,平均值及有效值。
测量范围0~±
20V(直流,交流均可测),使用1602LCD液晶模块显示各种要测的参数,可以显示一任意周期性的电压信号中的最大值,最小值,平均值及有效值,并用点阵型液晶12864显示输入的电压信号的波形变化曲线。
本次设计主要分为几个模块,如单片机最小系统的设计、模拟信号调理电路、AD转换电路、按键输入电路、LCD显示系统等。
下面将逐步介绍各个硬件模块的设计。
3.1单片机最小系统的设计
单片机控制模块的作用是为控制各个单元电路的运行并完成数据的换算或处理。
控制模块采用的是AVR单片机ATMEGA128,其对于多量程电路的测量有着不可比拟的性价比,而且操作简单。
其最小系统主要由单片机、时钟电路、复位电路组成。
如图3所示,为简单的单片机最小系统。
7
图3单片机最小系统
(1)时钟电路
单片机的时钟信号通常用两种电路形式得到:
内部振荡和外部振荡方式。
在引脚某TAL1和某TAL2外接晶体振荡器或者陶瓷谐振荡器,构成内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自积振荡,并产生振荡时钟脉冲。
晶振通常选用6MHZ、12MHZ或24MHZ。
单片机工作的时间基准是由时钟电路提供的,在单片机的某TAL1和某TAL2两个管脚接一只晶振及两只电容就构成了单片机的时钟电路,电路中电容器C2和C3对振荡频率有微调作用,通常取(30±
10)pF,石英晶体选择6MHz或12MHz都可以。
(2)复位电路
当单片机的复位引脚RST出现2个机器周期以上的高电平时,根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
而上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复
8
位。
上电后,由于电容C1的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已经在运行当中时,按下复位键后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
单片机的RST管脚为主机提供了一个外部复位信号输入口。
复位信号是高电平有效,高电平有效的持续时间为2个机器周期以上,单片机复位方式可由手动复位方式完成。
3.2模拟信号调理电路
这个模块主要分为两个部分:
衰减及量程切换电路和输入的电压信号迁移电路。
下面分别介绍这两个部分的作用。
3.2.1衰减电路
电压表测量的范围是0~±
20V,而AVR单片机ADC模拟通道输入的电压在内部基准电压为2.56V时,不能超过2.56V。
故输入的电压信号必须小于2.56V。
因此外部的输入电压信号在大于2.56V时须经过衰减后输送到单片机的引脚中去。
图4中的190k与10k的电阻网络就是将外部输入信号电压衰减20倍的电路一种简单的实现方法。
后面输入运放正相端的电压通过继电器的切换使之输入到后向通道的电压保证在ADC模拟通道允许采样的范围之内。
继电器的动作由单片机控制。
图4衰减电路
3.2.2输入电压信号迁移电路
9
上图输出的电压信号进入到此电路输入端,因为输入的电压信号中是一个交流的信号,并不能保证没有负电压。
而AVR单片机内ADC无法处理负电压。
对于负压的处理,我们采用了如下图所示电路。
该电路的作用是将输入的交流信号升高一个固定且恒定的电压值Vref。
该恒定的电压由TL431基准源如图5所示经精密电阻分压后提供。
加在运放OP07A正相端的基准电压在此系统中为1.280V。
例如:
当输入的信号为-1V到+1V时,经过此电压的电压抬升之后,输出端电压值为就变成了0.280V到2.280V。
当测量端子输入的电压为0V,经过模拟电路转换后,在理想情况下,ADC输入端口的电压为0+1.280V=1.280V,即AVR单片机自带10位精度的AD转换完后的数值为512。
在数值处理时,以512为电压的零点,高于此值即是正电压;
低于此值即是负电压。
图5输入电压信号迁移电路
3.3LCD1602显示模块设计
3.3.1LCD1602的引脚功能
LCD显示器分为字段显示和字符显示两种。
其中字段显示与LED显示相似,只要送对应的信号到相应的管脚就能显示。
字符显示是根据需要显示基本字符。
本设计采用的是字符型显示。
系统中采用LCD1602作为显示器件输出信息。
与传统的LED数码管显示器件相比,液晶显示模块具有体积小、功耗低、显示内容丰富等优点,而且不需要外加驱动电路,现在液晶显示模块已经是单片机应用设计中最常用的显示器件了。
LCD1602可以显示2行16个汉字。
LCD1602模块的引脚如图6所示,其引脚功能如下:
RS:
数据和指令选择控制端,RS=0命令状态;
RS=1数据。
10
R/W:
读写控制线,R/W=0写操作;
R/W=1读操作。
A:
背光控制正电源,K:
背光控制地。
E:
数据读写操作控制位,E线向LCD模块发送一个脉冲,LCD模块与单片机间将进行一次数据交换。
DB0~DB7:
数据线,可以用8位连接,也可以只用高4位连接,节约单片机资源。
VDD:
电源端,VEE:
亮度控制端(1-5V),VSS:
接地端。
图6LCD1602模块
3.3.2LCD1602显示模块电路设计
液晶显示电路用来显示数字电压表测量的直流电压值,采用1602字符型LCD实现。
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,每一个字符都有一个固定的代码。
因为1602识别的是ASCII码,试验可以用ASCII码直接赋值。
其电路图如图7所示。
图71602显示电路接线图
3.4LCD12864显示模块设计
本次设计用LCD1602主要是用来显示输出波形的峰峰值,有效值,周期频率等。
而此处采用LCD12864显示屏的主要作用是显示输出的电压信号的波形变化
11
曲线。
下面主要介绍LCD12864的显示原理和在本次设计中的接线图。
3.4.1LCD12864的显示原理
通常所说的LCD12864显示块是所说的点阵液晶显示模块,就是由128某64个液晶显示点组成的一个128列某64行的阵列,所以也就叫成了12864。
每个显示点都对应着有一位二进制数,0表示灭,1表示亮。
存储这些点阵信息的RAM被称为显示数据存储器。
如果要显示某个图形或汉字就是将相应的点阵信息写入到对应的存储单元中。
图形或汉字的点阵信息是由自己设计,这时候问题的关键是显示点在液晶屏上的位置与其在存储器中的地址之间的关系。
显示点在64某64液晶屏上的位置由列号(line,0~63)与行号(line,0~63)确定。
512某8bitRAM中某个存储单元的地址由页地址(某page,0~7)和列地址(Yaddre,0~63)确定。
每个存储单元存储8个液晶点的显示信息。
由于多数液晶显示模块的驱动电路是由一片行驱动器和两片列驱动器构成,所以12864液晶屏实际上是由左右两块独立的64某64液晶屏拼接而成,每半屏有一个512某8bit显示数据RAM。
左右半屏驱动电路及存储器分别由片选信号CS1和CS2选择。
(少数厂商为了简化用户设计,在模块中增加译码电路,使得128某64液晶屏就是一个整屏,只需一个片选信号。
)
如如果点亮12864的屏中(20,30)位置上的液晶点,因列地址30小于64,该点在左半屏第29列,所以CS1有效;
行地址20除以8取整得2,取余得4,该点在RAM中页地址为2,在字节中的序号为4;
所以将二进制数据00010000(也可能是00001000,高低顺序取决于制造商)写入某page=2,Yaddre=29的存储单元中即点亮(20,30)上的液晶点。
这是为了使液晶点位置信息与存储地址的对应关系更直观关,将64某64液晶屏从上至下8等分为8个显示块,每块包括8行某64列个点阵。
每列中的8行点阵信息构成一个8bit二进制数,存储在一个存储单元中。
(需要注意:
二进制的高低有效位顺序与行号对应关系因不同商家而不同)存放一个显示块的RAM区称为存储页。
即64某64液晶屏的点阵信息存储在8个存储页中,每页64个字节,每个字节存储一列(8行)点阵信息。
因此存储单元地址包括列地址(Yaddre,0~63)和页地址(某page,0~7)。
3.4.2LCD12864显示模块电路设计
LCD12864的数据输入端与单片机ATMEGA128的PE口相连,将单片机处理完成的信号送入到LCD12864进行显示。
LCD12864的电源端和接地端分别接+5V电源和接地。
CS管脚为芯片屏幕的控制信号,CS1控制芯片的右半屏,CS2控制芯片
12