| 模块式压力信号智能变送器的设计 |
压力信号变送器作为通用仪表被广泛应用于重量、压力、力矩等参数的检测中。变送器一般采用模拟电路设计制造, 使用元件多、结构复杂、不易调试、成本高, 特别是变送器的输出为模拟量, 不利于和计算机系统接口。
如果以高性能单片机为核心设计模块式压力信号智能变送器, 则可大大节省元件的数量, 降低变送器的成本并减小体积、提高性能。由于变送器本身具有CPU, 因此在参数测试的基础上还可以完成参数输入、数字显示、实时控制等任务。变送器还具有通信接口电路, 可作为分布式计算机控制系统的控制节点(智能仪表)。
模块主要功能要求:
(1) 串行数字通信接口Ⅰ(RS-485总线远程联网)。
(2) 串行数字通信接口Ⅱ(SPI总线, 可接数显监控模块)。
(3) 模拟量输出(电压0~ 5V)。
(4) 脉冲频率输出(0~ 10kHz)。
2 设计方案为了实现高性能/价格比的设计目标, 必须精心选择模块的元器件、设计模块的电路及充分发挥软件的功能。因此, 选择高性能的单片机AT90S2313为模块核心[1], 采用高精度集成仪表放大器进行信号放大, 利用软件实现8~16位的A/D转换, 同时采用比率式测量和恒流供电技术, 以大大减少电源电压和温度变化对传感信号的影响, 并通过软件分段线性化处理方法, 提高仪器对传感器的适应性。
3 硬件电路设计电阻应变电测电是小信号电路, 其设计的关键有3点, 即如何解决传感器的温度漂移与电压漂移、放大电路的零点漂移及A/D转换的基准电压漂移问题。由电阻应变电测技术[2]可知, 压力传感器为一电阻电桥, 当采用电压供电时, 传感器的输出:
|
(1) |
式中:RQ—应变电阻的标称值;
ΔR—R受力后的变化值;
VQ—传感器电源的电压值。
由(1)式可见, 输出信号不仅与压力大小有关, 还与R有关, 受温度变化影响, 产生温度漂移误差。特别是直接受到电源电压VQ的影响, 产生电压漂移误差。在应用中必须设计高精度的稳压电源, 增加了电路的体积和成本。
经仔细研究, 采用了恒流源给传感器供电以减少传感器的温度漂移误差, 此时传感器的输出:
|
(2) |
式中:I0—恒流电流值。
由(2)式可见, 传感器输出不再与应变电阻的标称值有关, 从而消除了传感器的温度漂移。对于供电电源I0的漂移影响, 采用比率式测量方法消除, 其原理如下。
A/D转换结果:
|
(3) |
式中:V0—放大器输出电压;
Vref—A/D基准电压;
K1—A/D转换系数。
放大器输出电压:
|
(4) |
式中:K2—放大器增益。
由(3)式、(4)式及(2)式可得:
|
(5) |
令I0 =K3 Vref, 则
|
(6) |
由此可见, 仪器零点漂移的主要因素传感器桥电压及A/D基准电压变化的影响被消除, A/D转换结果只与传感器的受力有关。
选择新型的集成仪表放大器AD623作为信号放大器, 该芯片内含3个运算放大器, 可在单电源下工作, 提供满电源幅度的输出-AD623仅需单个电阻进行增益编程, 具有高增益、高共模抑制比、低漂移、体积小、功耗低的特点, 特别适合模块化电路应用。选择新型的自动校零运算放大器TLC4502为恒流源控制电路, 给传感器提供电源, 该芯片内含自动检测零点及D/A保持电路, 能够自动消除零点漂移。电路中, 改变R2与R3的比值可以改变起始电压VR的大小, 改变R1的阻值可以改变传感器的恒流值, 改变RG的阻值可以改变电路增益。
通过上述技术措施, 解决了电阻应变电测电路的技术关键, 不仅大大提高了测量电路的稳定性, 而且简化了电路的设计。
进一步设计了基于∑-△变换原理的软件A/D功能。充分利用CPU的高速性能, 在软件控制下实现了8~16位的A/D转换, 降低了模块的成本。其原理为:放大器输出的电压V0加在单片机的内部电压比较器的同相端AIN0上, 比较器的反相端接在电容器C上, I/O输出脚PD6通过电阻R给C充、放电。当VC < V0时PD6置高电平, C充电。当VC >V0时比较器反转, PD6置低电平, C放电。如此循环, 根据充电时间Ton及放电时间Toff的比例, 可以求出电压V0的大小, 理论分析如下。
设电容器两端的电压为Vc, 充电电源电压为Vdd, 充电时电压:
|
(7) |
放电时电压:
|
(8) |
当RC时间常数远大于循环周期T时,
即T<<RC, 有:
|
(9) |
|
(10) |
设总的充电时间为NT =∑Ton, 总的放电时间为MT=∑Toff, 根据平衡后充放电的电量相等原理:
|
(11) |
从而得到:
|
(12) |
选择总循环次数N+M, 可以实现8~ 16位的A/D转换, 即N+M =256时, 为8位A/D; N+M= 65536时, 为16位A/D。可以根据参数情况, 灵活的选择。综合上述措施后, 在低成本条件下达到了设计目标。硬件电路见图 1。
![]() |
| 图 1 变送器硬件电路 |
4 软件程序设计
模块的软件主要是主程序、定时中断及模拟量PW M输出程序、串行通信程序。
4.1 主程序主程序主要是完成A/D的转换。根据硬件电路设计, 设置K为总循环计数器, N为充电计数器, 放电计数值M=K-N。这样可以由(12)式计算出电压V0, 得到压力的实时测量值。
为了保证A/D转换的稳定性, 在主程序中不断的循环执行A/D转换, 结果放在N寄存器中。其他程序设置为中断服务程序, 这样可保证A/D的转换, 同时不影响其他程序的执行。
至于中断服务程序执行时间对A/D转换的影响, 可以在进入中断服务程序时, 将PD6脚置为高阻状态(既不充电、也不放电)来解决-AVR单片机能够以100ns的速度执行指令, 进行12位A/D转换仅需2ms时间, 主程序流程见图 2.
![]() |
| 图 2 主程序流程 |
4.2 定时中断程序
定时中断程序设置为T0中断, 在中断服务程序中执行需要定时操作的任务, 如计算A/D转换数值、数字滤波、线性化处理、显示数据刷新等。对于模拟量输出, 利用AVR单片机的PWM功能, 外加平滑滤波器及电压跟随器, 将检测参数转换为电压输出。定时中断程序流程见图 3。
![]() |
| 图 3 定时中断程序流程 |
4.3 串行通信程序
串行通信程序由SPI和RS-485通信程序组成。SPI通信程序完成扩展I/O的控制, 完成键盘输入、LED数字显示、光隔离开关量输出功能-RS-485通信程序完成与网络主机的数据通信, 接收主机的命令及将检测数据传送到主机。
5 结语设计的模块式压力信号智能变送器, 充分利用了高速AVR单片机的强大功能, 电路简洁, 成本低廉。实验结果证明, 模块达到了设计要求。
| [1] |
耿德根, 宋建国, 马潮, 等.
AVR高速嵌入式单片机原理与应用[M]. 北京: 北京航天航空大学出版社, 2001: 201-203.
|
| [2] |
黄贤武, 郑筱霞, 曲波, 等.
传感器设计应用电路设计[M]. 成都: 电子科技大学出版社, 1997: 63-65.
|
2001, Vol. 15



