来源:网络转载更新时间:2020-08-13 11:13:17点击次数:3108次
0引言
称重计量技术在冶金、交通、电力、建材和化工 等领域有着非常广泛的应用。在生产过程或工艺 流程中,对各种配料称重、定量称重及动态称重技 术的要求越来越高。衡器已成为工艺技术、预包装 技术、收发货业务及商贸行业中必不可少的组成部 分,称重传感器及智能称重仪表作为衡器的心脏部 件,在工业过程控制和贸易结算等方面倍受 重视⑴。
目前,称重传感器主要分为压电式、压磁式和 电阻应变式,其中电阻应变式称重传感器是现阶段 应用广泛、性能稳定、准确度高且技术成熟的称重 传感器⑴。它利用金属弹性体的应变效应进行转 换,在力的作用下,弹性体发生形变,带动应变片 发生形变,产生电阻的变化,电阻的变化反映力的 大小。
为了解决传统称重仪表设计方法上的不足,本 文对国产基手CSU60和ATmegal6L设计的智能称 重仪表结构原理介绍如下。
1简化结构设计
在给定激励电压10-12V的条件下,电阻应变 式称重传感器的输出电压在0 ~30mV,如此微弱的 信号只有在智能称重仪表的配合下,将传感器的信 号转化成重量,并通过各种通信接口输出给上位 机[2~4]o称重仪表的组成结构如图1所示⑸。信号 调理电路主要由滤波电路、抗混叠电路等组成;放 大电路主要由运算放大器构成,用来将毫伏级信号
放大到伏级,以便A/D电路将其转化成数字量。
图1称重仪表组成结构
上述电路中,半导体集成度不高、器件多、温度 补偿不好控制并且可靠性低。而由深圳生产的 CS1160是16位高精度、低功耗Sigma-Delta模数转 换芯片,可以在2.7 -5.5V电源电压条件下工 作⑸。CS1160的1 ~128倍可编程增益放大器,当 工作在128倍时,CS1160有效分辨力可达16bitso 备有一个二阶Sigma-Delta调制器,芯片的FIR滤波 器提供50Hz和60Hz陷波滤波,有效提高了芯片的 抗干扰性能。
该芯片不仅集成了信号调理电路、放大电路和 数模转换电路,还提供了非常适合仪表产品的校正 功能。因此,可将图1简化为图2所示的设计 简图。
2改进硬件设计
随着信息技术的高速发展,微控制器(MCU) 的性能大幅度提高,为高度智能化仪表的设计制造 提供了平台。本文智能称重仪表设计采用Atmel公 司的ATmegal6L高性能、低功耗8位AVR微处理 器。它采用先进的RISC结构,工作于16MHz时性
图2称重仪表设计简图
能高达16MIPS;内置16kB的系统内可编程Flash、 512B 的 EEPROM、lkB 的片内 SRAMJTAG 接口支 持扩展的片内调试功能;2个8位定时器/计数器、1 个1位定时器/计数器、4通道PWM、8路10位 ADC.TWI两线接口、SPI串行接口、串行USART接 口等。
基于CS1160和ATmegal6L设计的智能称重 仪表具备以下特点:自动调零、自动平衡、自动补 偿和自选量程等信息处理功能;数据自动采集、预 处理、相关滤波,且由传感器本身消除异常值和例 外值,提供比传统传感器更全面、更真实的信息; 能够随机标定;具有一定程度的记忆与处理功能, 内含特定算法并可根据需要进行改变;能输出数 字信号,具有远程通信能力和良好的人机界面。 依照上述要求设计的智能称重仪表外围电路如图 3所示。集成芯片CS1160有16个管脚,模拟电 源(+12V, AGND)、数字电源(卩cc, DGND)、参考 电压(匕Q都是单独分开的,数模转换的时钟由一 个4.9152MHz外部晶振实现,参考电压5 V由 TI431提供,所以R,。和R”选择了 IO®精度的等 值27kfl电阻。电阻应变传感器的激励电压选择 + 12V直流,差分信号经阻容滤波电路后接到 CS1160的AIN0和AIN]两端。CS1160芯片的 DRDY、SCLK、SDO、SDI、CS引脚分别是数据准备 就绪、串行时钟、串行数据输出、串行数据输入、片 选,它们与MCU的SPI接口连接,用来读写控制 CS1160,完成数模转换。
主控MUC釆用ATmegal6L高性能AVR芯片, 外部晶振采用7. 3728MHz,方便在线调试和程序烧 录;LCM选择了 OCMJ4X8C,其内置一二级汉字库、 128 x64的显示点阵,可以显示图形和中英文字符, 而无需自建字模。该液晶还可以通过PSB控制引 脚,切换到串行方式,节省MCU的I/O引脚。
3优化程序设计
CS1160使用了一系列指令来完成对芯片的工 作模式、工作速度和误差校正等的控制。接收数据 时总是高位在前,发送数据的格式则由ACR寄存器 的BITORDER位来决定。CS1160指令描述如表1 所示。
1)数据读取函数的编写如下:
void spi_init( void)
i
SPCR = 0x00 ; // diable spi
SPSR=0x00; 〃2X
SPCR = 0x52 ; //setup SPI
2)将SPI接口初始化完毕后,就可以通过对 SPI数据寄存器SPDR的操作,完成CS1160指令。 下面是读取CS1160数模转换结果的函数,使用的 是RDATA指令:
Unsigned int ReadData( void)
I
cs=o;〃片选
unsigned char i =0;
unsigned int data =0; 〃返回值变量
unsigned char tmp = 0;〃临时变量存放中间值 while(DRDY);〃当DRDY为高时,不读取数据 SPDR=0x01;〃将命令写入SPI寄存器,同时开始 写到CS1160
while( ! ( SPSR&0x80));〃等待发送完毕 tmp=SPSR;〃清除发送标志
tmp = SPDR; 〃丢弃该数据
SPDR=0x00;
while( ! ( SPSR & 0x80)); 〃继续输入读数脉冲 tmp = SPSR ;
tmp = SPDR ;〃丢弃该数据
SPDR =0x00;
while( ! ( SPSR & 0x80)); 〃继续输入读数脉冲 tmp 二 SPSR ;
data = SPDR ;
data = data < < 8 ; 〃读取高8位数据
SPDR = 0x00 ;〃高8位置于高位
while( ! ( SPSR & 0x80)); 〃继续输入读数脉冲 tmp = SPSR ;
data I = SPDR; 〃低8位置于低位
CS = 1;〃取消片选
return data; 〃返回结果
I
3)指令RREG和WREG与指令RDATA操作 方式类似:
Void WriteCommand(unsigned char Comm)
I
SPDR = Comm; 〃写入命令 while ( ! ( SPSR & 0x80)); tmp = SPSR ;
I
4结束语
通过使用CS1160集成芯片,配以ATmegal6L 高性能单片机,不仅简化了称重仪表的设计、降低 了产品成本、提高了可靠性,而且在实际生产应用 中效果良好。另外,在应用过程中,有些功能不能 够很好地满足现场的需求,比如,由于现场条件限 制,对传感器的标定方法还不够灵活、系统电源的 抗干扰能力较差等,需要进一步开发研究。
文章来源于网络转载,侵删
×