当前位置:首页 >> 客户服务技术资料

基于AVR的精密数字压力表的设计

发布时间:2018-07-30 10:48:26 浏览:

该文提出了 一种以ATMEGA32单片机为控制核心的新型精密数字压力表的设计方法。介绍了该系统整体结构和利用单片机 实现多机通信的工作原理及软硬件设计。

1.引言

在科技飞速发展的今天,新技术、新产品层出不穷,尤其是电子技术的发展给我们的生活带来了巨大的变化,计算机微处理器 技术的发展使人类许多梦想变成现实。在仪器、仪表行业,从前单功能的模拟仪器仪表正向着数字化、多功能、智能化方向发展。当 前,在许多需要长时期工作的仪表设计中,仪表的功耗与精度是设计者首先面临的问题,在精度满足要求的前提下,选择低功耗、微 功耗元件及处理器,并在设计时应用低功耗思想成为必然的选择。下面就笔者在设计数字式压力表中应用的技术简要予以介绍。

2.压力表构成

在压力表的整个设计过程中,我们始终围绕微功耗、高性能这一核心来完成项目指标。

所采用的硅压阳式压力传感器抗过载和抗冲击能力强、温度漂移小、稳定性高,具有很高的测量精度,由于其具有体积小、安装 使用方便、灵敏度高、性能稳定等特点,所以在各种正负压力测量中得到广泛应用。

MCU采用ATMEGA32ATMEG32大多数指令执行时间为单个时钟周期,硬件乘法器只需两个时钟周期,32K字节的系统内可 编程Flash及1024字节的EEPROM其擦写寿命分别可达10,000次与100,000次。多达6种睡眠模式:空闲模式ADC噪声抑制模 式、省电模式、掉电模式Standby模式以及扩展的Standby模式,速度可达16MHz,是一款名副其实的高性能、低功耗的微处理器。

MCP4921是一款带串行接口的12位D/A转换芯片,其设定时间快至4.5us,精度可达±0.2 LSB DNL±2 LSB INL两种增益输 出模式,多用于一些要求高精度的工业场合。

HT1621是128点内存映象和多功能的LCD驱动器HT1621 的软件配置特性使它适用于多种LCD应用场合包括LCD模块和 显示子系统,用于连接主控制器和HT1621的管脚只有4或5条

重要的是HT1621还有一个节电命令用于降低系统功耗。

美信公司的MAX232收发器所具有的低电源、多通道特点又 为实现低功耗、多机通讯提供了条件。系统框图如图1。

3.V/I转换电路

将一个电压源信号线性地转换为电流源信号,在仪器仪表及 自动化系统设计中经常会遇到。对这种电路的基本要求是:

1输出电流与输入电压成正比;

2输出电流为恒流源。即当负载电阻在规定范围内变化时

输出电流保持不变;

3输出电流对电源变化、环境温度等的变化不敏感。

一般地,还要附加一个要求,即输入电压与输出电流共地。

一种典型的V/I变换器要求将1~5V输入电压线性地转换为4~

20mA电流源输出,基本精度在0.3%以内;当负载在0~300D变化 时,输出电流变化应在规定精度之内。

依此要求我们设计了一种实用化电路(框图如图2),其电路 原理在此不再做详细介绍,经过按照此电路设计的产品验证,其 精度在要求范围内,有很好的性价比。

4.多机通信实现

随着计算机技术和通讯技术的发展,目前在工业过程控制、数据采集、办公自动化等方面,都出现了利用计算机和单片机组成 主从式系统,以实现集中监控和无纸办公.在这些系统中,单片机一般是充当从机,用于执行数据采集、处理和控制,而计算机则用于 人机接口管理和系统资源的高层抠制(数据的存储和检索、显示界面的更新、从机的调度等)。这类系统中计算机与单片机的数据通 讯技术是决定整个系统性能的关键。

4.1 RS-232串行总线接口

目前RS-232是PC机及通信工业中应用最广泛的一种串行接口。RS-232被定义为一种在低速率串行通信中增加通信距离的 单端标准。RS 一 232采取不平衡传输方式,即所谓单端通信。典型的RS-232信号在正负电平之间摆动,在发送数据时,发送端驱动 器输出正电平在+5V~+15V之间,负电平在-5V—15V之间。当无数据传输时,线上为TTL电平,从开始传送数据到结束,线上电平 TTL电平到RS-232电平再返回TTL电平。接收器典型的工作电平在+3V~+12V与-3V—12V之间。经典RS-232接口是为点对 (即一对收、发设备)通信而设计的。

4.2计算机和单片机通讯接口硬件电路

由于计算机的串行口是采用RS-232C标准,其电器特性与单片机的TTL电平不同,如要互连,必须进行电平转换。这种电平的 转换有多种方式,可以采用标准的RS-232C电平转换器MC1488和MC1489来完成,也可以采用三极管等分立件组成电路进行电 平转换,还可以利用集成的RS232接口芯片进行电平转换,本设计就采用了 MAXIM公司的MAX232综合各种方式,利用标准的 1488和1489需要正负12V电源;利用分立件组成电路,故障点较多;因此,利用集成的接口芯片是最好的选择。

4.3 一对多RS-232串口电路的实现

为了实现1台PC机与多个从机进行数据通信,将各主、从系统的RS-232通信电路按下图所示进行设计。每个从机使用1 驱动器作为回送主机驱动电路(图中驱动器1),使用另一驱动器作为驱动下一从机的驱动电路(图中驱动器2)只使用1个接收器作 为接收转换电路。具体方案如下:

主机发送回路TXD:将主机发送TXD及第3脚连接到第1个从机MAX232的接收器。接收器的输出分为2路,其中l路输 入到从机的CPU而另l路再输人到其MAX232的驱动器2,再将驱动器2的输出输入到下一从机接收器。如此将所有从机串联起 来。这样主机的负载与点对点时是一样的,从而大大地减轻了主机的负载;并且传送距离由主机和各从机共同承担,相对而言缩短 了传输线路的长度,减小了线路上的分布电容,增强了驱动能力,可靠性也得到了提高。

主机接收回路RXD:因各从机在待机时驱动器输出都处于 低电平,若将它们直接并接到主机的RXD则当某一从机收到命 令要向主机回送数据时,其驱动器输出因被其它从机驱动器输出 拉死在低电平而不能送出高电平。因此,各从机MAX232的驱动 l输出需经二极管隔离后再并联在一起,连接到主机的第2 RXD这样,各从机驱动器输出之间的电平互不干扰,且每个从机 回送数据的负载与点对点时也相同。

4.4通讯软件设计

1计算机通讯软件的设计

计算机上通讯软件可以使用Windows的API函数来实现。其 中用到的函数有:GreatFile,ReadFile,WriteFile,PurgeComm,Get- CommState,SetCommState.这些函数的使用可以参考编程语言的相关资料,设计时主要是对串口参数的设定需要根据与单片机通讯的特点,设置波特率、每帧信息为II位(8位数据位I位起始位I 位结束位,还I位第9位),注意这里的第9位是用奇偶校验位来区分地址帧还是数据命令帧。这种通讯方式可以采用累加和的校验 方法进行数据的可靠性校验。


2单片机通讯软件的设计

单片机的通讯软件设计中,使用了串口中断方式来完成通讯的收发。定时器I(T1)作为波特率发生器,串行口设置为方式2或方 3,由第9位区分地址帧还是命令帧。当某台单片机的地址与计算机发出的地址一致时,这台单片机就发出应答信号给计算机,这 样就可以实现计算机和多台单片机的通讯了。

本电路设计为一对多通信方式,每个从机分配一个不同的地址,地址码和通信数据中的字符不能相同或冲突。主机可呼叫每 一个从机,从机不能呼叫主机,从机之间不能通信。

4.总结

本系统以ATMEGA32为核心,对压力传感器发送过来的信号进行处理。可利用液晶和按键或PC机界面实现人机交互。主要功 能包括压力检测、量程设置、峰值设置、报警设置、与PC机通讯等。通过RS-232总线实现了单片机和PC机的多机通信,具有很高 的测量精度;且系统的硬件电路简单,软件编程可靠,具有较高的实用价值