咨询电话
ENGLISH0755-88840386发布时间:2021-09-14 11:12:24 |来源:网络转载
提出了一种基于C8051F064 和CC1101 的近距离无线传输称重控制器的设计, 将嵌入式技术和无线通信技术有机结合起来,采用了二级定量称重控制,该控制器实时性强,稳定性好,有着广泛的应用前景。
1 称重控制器的工作原理
称重控制器以C8051F064 为信息处理单元,并以CC1101为无线通信单元,主要由称重信号采集模块、键盘和称重显示模块、输入输出控制电路、无线传输模块等部分组成,其结构如图1 所示。当称重传感器上装载重物时,称重传感器产生与被测物体载荷成正比的电压信号,电压信号经放大和滤波后,传送至C8051F064 单片机内部的16 位的AD 转换器转换,完成称重信号的采集, 经单片机数据处理后通过显示电路显示被测物体载荷的大小。称重控制器利用CC1101 无线传输模块,将数据通过无线传输的方式发送至上位计算机。
2 硬件电路的设计
2.1 信号采集电路
信号采集电路由称重传感器、放大滤波电路及C8051F064内的16 位AD 转换器等组成。称重传感器采用电阻应变式传感器,实现将称重载荷信号转换为微弱的电压信号。放大滤波电路采用TI 公司的OPA37 和OP07 等组成。该电路将称重传感器输出的电压信号进行放大和滤波。
2.2 输入输出控制模块
输入输出控制模块用于实现加料门和排料门的控制。加料门有两种加料状态:快加料、慢加料。控制输出模块由TLP521-4 光电耦合器和S8050 驱动三极管等器件组成, 用于将控制信号经光电耦合器和三极管驱动后,对继电器和相应的加料门和排料门进行控制。控制输入模块主要用于检测加料门和排料门位置传感器输入信号的状态。先检测排料门传感器,如确认排料门处在关闭状态,则可以加料。加料时首先进入快加料,当快加料达到预定值时,单片机接口P5.0 输出控制信号使加料门置于慢加料工作状态;然后进行慢加料,慢加料结束时,单片机接口P5.1 输出信号关闭加料门,结束加料,并且检测加料门位置传感器,如确认加料门处在关闭状态,则可以排料,排料结束后进入下一个过程。
3 数据预处理
采集到的重量数据受各种干扰影响,必须先进行预处理。本文采用一种滑动平均滤波法对称重数据预处理。滑动平均滤波则k 时刻滤波器的输出数
学表达式如下:
由(1)式可知,滑动平均滤波器首先采集2N+1 个数据并分别存入2N+1 个内存单元; 完成2N+1 个称重数据的初次采样后,以后每采样一次,每次采样的新数据放入队尾,并扔掉队首的一次数据,把队列中的2N+1 个数据求平均运算,即获得新的滤波数据输出序列。滑动平均滤波器长度2N+1 由AD 转换速率和称重结果稳定时间决定。C8051F064 的AD 转换速率最大可达1Msps,本设计采用的采样周期为4.5ms,并考虑短时间内采样值的稳定,经多次试验取2N+1=15。
4 软件设计
称重控制器的主程序主要实现信号采集和处理、加排料控制、重量显示和无线数据传输等功能。
4.1 数据采集
数据采集通过向ADC0控制寄存器的AD0BUSY写“1”启动数据转换,当查询到ADC0 控制寄存器的AD0INT 为“1” 时, 转换结束, 接着处理ADC 数据。
数据采集的程序如下:
void GetAD data( )
{ char old_SFRPAGE = SFRPAGE;
int idata temp;
BYTE ADH,ADL;
temp=0;
SFRPAGE = ADC0_PAGE;
AD0INT=0;
AD0BUSY=1;
while(AD0INT= =0);
SystemDelay(20);
ADH=ADC0H;
ADL=ADC0L;
temp=ADH;
temp=temp<<8;
temp=temp+ADL;
SFRPAGE = old_SFRPAGE;
}
4.2 控制子程序
控制程序中用的二级定量分为快加料目标量M1,慢加料目标量M2。当快加料重量达到M1 时, 快加料过程结束;控制加料门变为慢加料,进入慢加料过程,慢加料达到M2 时,慢加料过程结束,关闭加料门,M2=M-M3,其中M为设定目标量,M3 为提前量。从发出关闭加料门指令到关上加料门这段时间内,加料口继续加料,会出现一个落差量(也就是提前量),所以要提前关闭加料门,才能确保加料更准确。
4.3 无线通信模块软件设计无线通信功能模块主要由CC1101接收和发送程序组成, 单片机通过SPI接口对CC1101 进行配置。当CSn 为低电平时,SPI 接口开始工作,准备接受一条指令,CSn 由高到低跳变时开始转换指令。
CC1101 发送模式编程过程:
1)发送模式初始化,对要发送的数据进行编码;
2)使能TX 状态,传数据到TX FIFO,如果数据没有全部传输到TX FIFO,则MCU 进入低功耗模式;
3)如果发送数据小于256 时采用固定长的发送,否则采用无限长度发送。
CC1101 接收模式编程过程:
1)接收模式初始化,并设置无限接收字节长度模式,使能接收中断选通接收状态;
2) 激活接收模式, 如果所有字节没有全部被读到RX FIFO,则MCU 将设置为低功耗模式;
3)对RX FIFO 数据包进行解码,读出有效载荷送入单片机。
5 结束语
该称重控制器能实时地将测量数据通过无线传输的方式发送给上位计算机, 并可以通过组网方式实现对分散的测量数据集中管理,此无线称重控制器实时性强,稳定性好。
本文源于网络转载,如有侵权,请联系删除