基于SCA100T的倾角测量系统设计
当该功能被选中时,系统进入超级终端处理程序,首先向PC端超级终端发送提示字符,等待用户选择和输入预设数据,收到相关数据后,将其反馈给PC端显示,同时进行预设处理,并将预设的数值写入EEPROM。当未选中该功能时,系统进入正常的工作状态,如果发生串口中断,则进入串口处理程序,根据收到串口数据帧是预设命令还是请求数据进行不同的处理。前者则将预设数值写入EEPROM,若是后者则将倾角信息上传给上层控制器。如果没有发生串口中断,则主程序通过SPI接口采集传感器输出的加速度数字量,并将其转换为实际倾角信息,判断倾角是否超过预设角度值。如果超过则开始报警,同时如果选中了LCD显示功能,还需要通过并口将数值输出到LCD1602显示。
4.1 传感器数据采集与计算
对于传感器采集,当CSB引脚为低电平时有效,允许传输数据。数据在传输时,高位在前,低位在后。MISO线上的数据在SCK下降沿传输,MOSI线上的数据在SCK上升沿传输。加速度数据量SPI传输时序如图6所示。单片机首先通过MOSI线向传感器发送一个(组)命令,传感器在接收到完成命令后,开始连续传输数据。这里的命令为8位信息,加速度数据量为11位信息,常用的命令有RDAX(0001,0000)和RDAY(0001,0001),分别表示读取X/Y轴加速度数据量。
传感器输出的X轴与Y轴加速度信息均为11位数字量,其范围为0~2 048,零度位置对应的数据量为1 024。根据下述公式可将输出的加速度数字量转换为实际倾角值:
其中,Dout表示X/Y轴输出的数字量;Dout@0°表示零度偏移量(即1 024);Sens表示传感器灵敏度,由VTI厂商提供,对于SCA100T倾角传感器,该值为1683;α’表示预设的平台水平角度,默认为0。
4.2 串口命令
图7为串口与单片机通信的数据帧格式。图中每帧有16个字节,开始两个字节是帧头(0xFFAA),接着是两个字节的数据类型,其类型主要有3种:请求数据(0x0001)、预设警界角度(0x0010)、预设水平角度(0x0011)。然后是10个字节的数据位,通常数据位为2个4字节的数据(整形或浮点型),为了避免出现数据对齐问题,在后面加入两个值为0的字节。最后是两个字节的校验位,采用CRC-16进行校验。
数据发送由上层控制器主动发送,倾角测量系统被动响应。当上层控制器向单片机发送数据请求时,其数据位置0;系统收到请求命令后,将倾角信息填入数据位,发送给上层控制器。当上层控制器向单片机发送预设警界倾角值时,将预设角度值填入数据位;单片机收到后,将数据写入EEPROM中并发送反馈,反馈帧以同样的类型发送,但是数据位填入全0。当上层控制器向单片机发送预设水平角度值时,其操作类似预设警界倾角值,只是类型不同。
4.3 串口超级终端模拟
在Windows XP或是Windows 2000操作系统下,在开始→菜单\程序\附件\通信下可以看到“超级终端”,这是Windows自带的通信终端工具。在超级终端里输入字符时,会自动发送出去,但是如果没有反馈,是不会显示输入的字符信息的。因此,模拟超级终端需要做两件事:一是接收用户在超级终端里输入的字符;二是将输入的字符反馈回来,供用户查看。采用超级终端的方法可以避免用户直接使用命令操作的过程,所有的命令对用户来说都是透明的,用户只需要根据提示信息,输入相关信息即可完成预设配置工作。图8所示为预设配置示意图。
本文以塔式起重机为应用背景设计了这款倾角测量系统,系统在实际应用中工作良好,达到了预期的效果,能实时监测塔式起重机支架的平衡性,对预防建筑施工事故起到了重要的作用。系统探讨了SCA100T传感器的使用方法,在设计时考虑了两种应用方式,对于系统的扩展起到了很好的作用;同时,模拟了串口超级终端来配置系统信息,以此来替代小键盘。
- 基于倾角传感器的倾角测量系统设计(11-08)
- 机械测量中旋转编码器与单片机的通用接口(02-13)
- 基于树形检测器的多标志识别(05-21)
- UWB系统测试解决方案(07-20)
- 测量器件功率和增益的方法(01-20)
- WaveScan,强大的波形搜索引擎(01-06)