系统设计过程中采用了滤波技术,弱化了系统中的干扰信号,增益了数据信号量,提高了信噪比。设计过程中采用了数字滤波技术,该技术无需添加特殊的硬件,滤波效率高、稳定性好。在工程实际中最常用的数字滤波技术有:适用于周期变化的测量信号的算术平均滤波法,适用于慢变过程、随机干扰量权重较大的中值滤波法。核心计算理论[43] 为
Y=X2,(X1<X2<X3) (5-1)
图5-3 A/D采样子程序流程图
而对于高频振荡形成的周期干扰的情况则可以采用递推平均滤波法,公式如下:
由于悬吊作业平台系统中脉冲干扰较严重,因此在处理提升机构负载信号、平台倾斜角度信号过程中采用了适应周期干扰的平均滤波技术。平均滤波技术,连续采样N次,其中采样次数N的选取以节约时间、提高滤波效果为目的,一般不能太大。在本设计中,储存提升机构负载信号的数据空间N取7,储存平台倾斜角度信号的数据空间N取5。防脉冲干扰平均值滤波法流程如图5-4所示。
图5-4 防脉冲干扰平均值滤波法流程
防脉冲干扰平均值滤波程序如下所示:
采集的data_num个数据储存在data_buf中。其中,data_max、data_min保存了data_num测量数据中的极大值、极小值;data_buf寄存器则为去掉极值后的累加数据和,然后求取平均值。
首先,data_max和data_min的初始值分别设定为0和10000,data_buf寄存器采用与极值换位方法保证data_min和data_max寄存器中的值始终是最小值和最大值。
其次,对于串行通信子程序设计,本系统选择全双工异步方式,具体波特率的计算为:USART带有1个专用的8位波特率发生器BRG,其中包含一个自由运行的专用8位定时器,能通过SPBRG寄存器来控制其循环周期,从而对波特率进行控制。在异步模式时,BRGH(TXSTA〈2〉)位也控制着波特率,但在同步模式下BRGH位不起作用。表5-1为波特率的计算方法。
表5-1 波特率的计算方法
当系统时钟频率、期望的波特率值给定时,表5-1描述了离X最近的整数值的计算过程,该数值通常储存于SPBRG寄存器中。这样一来,实际的波特率与期望波特率出现一定的误差,只有当X的值等于SPBRG寄存器的值(0~255)时,波特率存在的误差才能消除。在减少实际波特率与期望波特率间的相对误差时,需要调节至高速模式,本系统波特率及其误差计算过程如下。
系统的时钟频率为16MHz,期望的波特率为9600,系统工作在高速异步模式下,则
9600=16000000/[64(X+1)],X=25.04 (5-3)(www.daowen.com)
所以,赋给SPBRG寄存器中的值为19H,即25。实际的波特率为
16000000/[64(25+1)]=9615 (5-4)
波特率误差为
(9615-9600)/9615=0.16% (5-5)
USART的异步工作方式:在此模式下,USART模块采用标准的非归零码(NRZ),数据格式为:1为开始位、8为数据位或9为数据位、1为停止位,本设计采用的格式数据为8位。数据的串行发送和接收是相互独立的,但是其格式和波特率都一样,且数据收发时都是低位在前。倾角传感器与PLC单片机的通信流程图如图5-5所示。
图5-5 倾角传感器与PIC单片机的通信流程图
第三步为用户按键扫描程序开发:系统一旦进入按键扫描状态,则反复扫描键盘,当操作人员按下按键,执行对应按键指令。
最后为液晶显示器控制程序开发,控制指令的区别见表5-2,由8位的输入/输出总线(DB0~DB7)接收的数据由2个控制信号RS和R/W予以区分,由RS信号分成显示数据和指令数据。
表5-2 控制指令的区别
基本指令集见表5-3。液晶显示器的控制程序主要由表5-4所列函数组成,实现人机交互时只要调用这些函数,就可实现液晶显示功能。
表5-3 基本指令集
表5-4 控制液晶显示器的函数
液晶显示器在电源接通或开始使用时,初始化流程如图5-6所示。
图5-6 液晶显示器初始化流程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。