作者:XiaoLu
概述本设计拟应用于建筑工地塔吊工作状态监控与安全预警,塔吊是建筑工地上最常用的一种起重设备,是工地上一种必不可少的设备,但因为其高危性跟特殊性,管理稍微不当,极易发生安全事故,因此对塔吊状态监控与安全预警显得尤为重要且具有实际意义。本设计拟由STM32处理器、气压测量模块、温度测量模块、陀螺仪模块、显示模块等构成,STM32作为核心处理器协调多个模块正常工作,完成塔吊状态监控与安全预警。通过传感器测量塔吊俯仰角、翻滚角、航线角,工作姿态超过安全阈值时蜂鸣器预警。如:为了防止电缆扭结,旋转回转角大于设定角度时预警。
开发环境硬件:ART-Pi STM32H750开发板、LPS22HH气压传感器、LSM6DSOX六轴传感器、128*64OLED屏、蜂鸣器
RT-Thread版本:4.0.3
开发工具及版本:MDK 5.27、RT-Thread Studio 1.1.5、STM32CubeMX 6.1.0、PuTTY 0.74
RT-Thread使用情况概述(1)内核部分:线程、信号量、邮箱、软件定时器、调度器
线程:创建用户线程、读取传感器值并运算、显示与提醒。
信号量:定时器释放信号量,传感器获取信号量后读取传感器数据并处理。
邮箱:用于将传感器获取信号传递至显示线程。
软件定时器:为传感器提供稳定的采样周期,便于进行积分运算。
调度器:协调多个用户线程,满足线程实时性。
(2)组件部分:FinSH控制台
FinSH控制台:用于设备调试
(3)设备和驱动:PIN设备、I2C设备、SENSOR设备
PIN设备:LED、蜂鸣器均使用PIN设备
I2C设备:OLED、LPS22HH、LSM6DSOX均使用I2C通信协议
SENSOR设备:LPS22HH、LSM6DSOX注册为SENSOR设备
硬件框架本作品采用由ART-Pi STM32H750开发板、LPS22HH气压传感器、LSM6DSOX六轴传感器、128*64OLED屏、蜂鸣器。
使用气压计与温度测量可求得对应位置的海拔高度,通过传感器零点标定,可求出塔吊相对于地面的高度,可用于限高预警;
使用六轴传感器求得塔吊转臂的相对零点的转动角度,用于监控塔吊工作在安全的回转角度,利用六轴数据的变化,可对塔机切斜角度进行监控与预警;
使用OLED实时显示传感器采集的数据,对预警姿态进行标记。
使用蜂鸣器进行预警提示。
软件框架说明本作品软件部分采用四个用户线程,分别为LED指示灯线程、OLED显示屏线程、LPS22HH气压计传感器线程、LSM6DSOX 6轴传感器线程
LED指示灯线程为优先级较低的用户线程,用于指示系统的工作状态,正常工作时为红蓝交替闪烁,停止闪烁时表明其它线程执行有误,需要重启或检查。
OLED显示屏线程将塔吊的各项姿态进行显示,开机显示欢迎界面,使用用户按钮可进行换页操作,预警时屏幕显示不符合规范姿态信息。
LPS22HH气压计线程读取气压值,温度值,将气压折算为海拔,可求出相对于地面的高度,以此显示塔吊工作时的高度信息。
LSM6DSOX 6轴线程读取塔吊的3轴角速度计、3轴陀螺仪,将数据进行融合得到塔机工作姿态的欧拉角。
软件模块说明OLED显示屏
OLED线程程序流程图如下图所示,开机进入欢迎页面,5秒后默认进入温度、高度、压强页面,可以使用按键进行切换。进入温度页面时,获取LPS22HH气压计的邮箱,邮箱为空时等待,获取邮箱后提取传感器信息并显示,判断是否超出安全预警值,超出时蜂鸣器开始工作以予以预警提示。姿态页面同理。
LPS22HH气压计
LPS22HH气压计线程程序流程图如下图所示,首先使用SENSOR传感器设备注册设备,然后创建气压计线程,初始化邮箱,根据注册名查找设备获得设备句柄,然后打开设备,读取16次传感器值求平均,求出初始气压值作为基准值,以此计算出海拔偏移量。然后开始读取传感器值,计算出相对高度,将温度、高度、气压值通过邮箱发送到OLED线程,等待1秒钟后循环读取传感器值。
LSM6DSOX 6轴传感器
LSM6DSOX 6轴传感器线程程序流程图如下图所示,首先使用SENSOR传感器设备注册设备,然后创建气压计线程,初始化软件定时器,初始化邮箱,根据注册名查找设备获得设备句柄,然后打开设备。然后获取软件定时器释放的信号量,获取后开始读取传感器值,利用积分法计算塔吊的航向角,利用四元素法计算塔吊的翻滚角与俯仰角,最后将数据通过邮箱发送到OLED线程,然后循环等待信号量。
演示效果(1)作品图片:图1 仿真实验场景
图2欢迎页面
图3 温度页面
图4 姿态角页面(翻滚角预警状态)
(2)视频:比赛感悟
RT-thread时一款非常优秀的国产嵌入式实时多线程操作系统,经过两个多月的学习,深深感受到了它的魅力。丰富的组件与软件包
1