通过对使用环境的考察,设计了一种双层CPU控制的智能工业电子秤.分析了该秤的硬件控制电路 和软件的设计情况,采用串行通讯实现了双GPU之间的数据交换.
作为重量测量仪器,智能电子秤在各行各业中 呈现出测量精度高、测量速度快、操作简单易学、可 以实时监控的优点,正逐渐取代传统的机械杠杆测 量秤成为主流产品.和普通民用电子秤比较,工业用 电子秤更注重抗干扰设计.本文设计了一种应用于 工业生产线自动打包机上的智能自动称量电子秤. 它将现代传感器技术、电子技术和计算机技术融为 一体,能满足“快速、准确、连续、自动”称量的要求, 同时能有效地消除人为误差,满足计量管理和工业 生产过程控制的要求.
1.系统功能分析
本系统适用于需要自动称量物品重量的场合, 重点提高速度、精度、稳定性和可靠性,并与自动包 装机外围设备相配套.本设计主要针对某药厂自动 打包机的称重环节进行,采用自动称量.系统功能示 意图如图1,主要包括智能电子秤控制器和外围控 制机构2部分.当系统检测到有键盘输入称量的数 值并检测到量具为空时,开始进行自动称量,漏斗内 的物品(颗粒状或粉末状)开始下降到量具中,重量 达到键盘预设值后,相应的开关动作,电机运转,控 制升降台下降,传送带移动,并有报警提示,下一个 量具移到漏斗下方.重复上一次的操作即可实现自 动称量并进行报警提示.
2.系统硬件设计
为了避免输入数据与输出显示之间互相干扰, 设计时采用了双CPU和串行通信技术.系统整体 电路包括:电源控制电路、语音报警电路、单片机输入输出控制电路、串行通信控制电路、曰历时间电 路(附加功能)、键盘输入电路和数码管显示电路等, 如图2所示.主要模块有:电源控制模块、原始数据采 集模块、滤波和放大电路、A/ D转换模块、单片机控 制模块、输入电路模块、输出控制模块等.电源控制模 块主要将220 V的交流电转换为单片机使用的12 V 和5 V的直流电;原始数据采集模块实现对压力的测 量和容器的检测,由压力传感器和红外传感器实现; 滤波和放大电路主要通过调整电路将采集到的有用 信号放大,过滤掉没用的噪声信号;A/ D转换电路主 要将电压信号转换为数字信号,以便于单片机控制; 单片机控制模块主要进行信息的响应、处理和控制; 输入控制模块主要是按键的设计及识别;输出控制模 块完成报警、显示及相应的开关动作。
电子秤的硬件原理电路如图3所示.它采用两 个单片机控制组成双层系统.内层单片机完成数据 采集、数字滤波、标度变换、零点跟踪、重量显示等任 务;外层单片机通过与内层单片机的数据通信,获得 重量数值并完成前述工作.本系统以双CPU作为 控制中心,单片机为核心程序存储器.放大器由四运 放组成.转换器采用A/D转换器.键盘、显示器接口 选用芯片显示器,共设置两组5位数码管显示器,一 组显示通过键盘设定的值,另一组显示实际测量值; 键盘采用20按键设计,能满足设计的输入要求和中断要求.
本设计采用电阻应变式称重传感器.根据电阻 应变计原理,将4片应变片分别贴在弹性梁上,组成 全桥平衡电路.桥路电压选用两极稳压,第一级选用 W7815输出15 V电压,第二级采用AD581精密稳 压电路输出10 V电压,以保证供桥电源的精度.来 自传感器的微弱电压信号送入放大器被放大成 0 V?10 V信号,以满足V/F转换器的输入要求. 放大器选用LF444四运放,接成差动放大电路。
3.系统软件设计
软件系统设计的基本思想是充分利用单片机控 制的优势,实现称重过程的一系列要求,提高系统的 可靠性.软件系统由主程序、中断服务程序、显示程 序、键识别及键功能程序、运算程序等模块构成. 在主程序中,首先进行整机自检及初始化,然后判断 定时时间是否达到0.5 s,如达到0.5 s,则转入各功 能程序进行称量并进行其他处理;否则,直接进入显 示程序.而后判别有无键按下,若有,则进入键识别 及键功能处理程序;如无,则返回主程序开始端.主 程序流程框图如图4所示.A/D转换器采用连续采 样、定时计数的方式工作,定时周期为0.5 s.设置单片机的T0为定时器,当定时时间为0. 5 s时,产生 定时中断,在中断服务程序中由单片机取回重量信 号,进行标度变换后存入内存,并置0.5 s到”标志, 然后返回主程序,进行其他操作.
单片机之间双向通信的主程序如下:
神 include〈reg51. h^>
井 define uint unsigned int 神 define uchar unsigned char sbit LED1 = P103 ; sbit LED2 = P1^3 ; sbit K1 = P1^7 ; uchar Operation NO = 0 ; uchar code DSY_CODE□二 {
0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d, 0x07,0x7f,0x6f
void Delay (uint x)
{
uchar i; while(x )
{
for(i = 0 ; i〈120 ; i+ + );
}
}
void putc to SerialPortCuchar c)
{
SBUF 二 c; while(TI = = 0);
TI 二 0;
}
void mainC)
{
LED1 二LED2二1;
P0 二 0x00;
SCON 二 0x50;
TMOD 二 0x20;
PCON 二 0x00;
TH1 = 0xfd;
TL1 = 0xfd;
TI 二 0;
RI = 0;
TR1 二 1;
IE = 0x90; while(1)
{
Delay(100); if(K1 = = 0)
{
while(K1= =0);
Operation _NO = ( Operation _NO +
1)%4;
switch (Operation_NO)
{
case 0 :
putc to Serial Port CX');
LED1 = LED2 = 1; break; case1 :
putc to SerialPort'A');
LED1 = 0 ; LED2 = 1; break;
case 2:
putc_to_SerialPort('B'); LED2 = 0 ; LED1 = 1 ; break ; case 3:
putc to SerialPortC'CQ ; LED1 = 0 ; LED2 = 0 ; break ;
if(SBUF> = 0& &SBUF< = 9) P0 = DSY』ODE[SBUF]; else P0 = 0x00;}
}
void Serial INTO interrupt 4
{
if(RI)
{
RI = 0 ;
4.结语
本设计选择了高性能、低价格的元器件,并充分 利用了双层单片机的控制优势,提高了电子秤的性价 比和电子秤的自动化水平.由于在设计中考虑了测量 信号的远距离隔离传送,所以适合在工业环境下应 用.双层CPU结构使两个CPU相互独立又相互联 系,便于并行处理多种任务.由试制的第一台电子秤 的现场服务情况来看,该秤功能齐全,运行稳定,基本 实现了设计功能,完全满足用户自动称量的要求。