本帖最后由 chai0427@qq.com 于 2023-10-10 16:56 编辑
本系统以STC32G12K128单片机为控制核心,采用K210和OPENMV对激光点和A4纸黑框的坐标进行识别,将位置偏差变换至STC32片内PWM输出,控制舵机云台转动,从而设计并实现了一种闭环运动目标控制和自动追踪系统。采用PID对视觉模块测得坐标进行计算,并使用滤波算法对测得多次结果进行滤波处理,使得结果更加稳定,根据计算得到传输给舵机的PWM占空比值,并且再测量激光坐标来实现闭环。实验结果表明,我们的系统能很好的实现闭环的运动目标控制和自动追踪系统。 根据题目要求,本系统主要由运动目标控制系统和自动追踪系统构成。系统总体思维导图和系统工作流程图如图1-1、图1-2所示。 图 1-1 整体系统思维导图 该项目采用 K210 处理器作为图像处理核心,STC32G12K128作为主控芯片,旨在实现一个多功能运动控制系统。主要功能包括任务切换和外设接口、二维舵机云台控制、PID结果处理、上位机通信、下位机运动解算、滤波算法、相机标定与矫正、激光点和A4黑框的识别、传统计算机视觉识别、插补算法以及运动精度优化等。 K210 处理器负责图像处理部分,通过相机标定与矫正获取准确的图像数据,利用滤波算法减少噪声干扰,实现激光点和A4黑框的识别。传统计算机视觉识别算法能够对目标进行边缘检测、特征提取等处理,实现目标的识别和追踪。 STC32G12K128 主控芯片负责整个系统的控制与运动解算。运用PID控制算法处理传感器反馈结果,实现二维舵机云台在水平和垂直方向上的精准运动控制。系统通过上位机通信与外部设备进行交互,实现数据传输与任务切换。在舵机运动中,采用插补算法对离散控制信号进行平滑处理,保证运动连续性。 为提高运动步进精确性,系统还采用error值累加的方法,不断发送微调转角指令,优化运动精度。同时,中断机制的设计使任务切换更加灵活和高效,系统能够快速响应不同任务要求。 整合 K210 处理器和 STC32G12K128主控芯片,该多功能运动控制系统将具备自动跟踪激光的功能。
图 1-2 系统工作流程图
3.2.1舵机控制角度范围计算舵机的角度范围为0°到180°,要根据激光笔的位置信息来计算舵机应该转动的角度,使其能够对准目标物体。由于舵机需要能够将光斑移动到屏幕的任意位置,所以在此我们作简单计算。如图3-1所示,图中,舵机的航向角为file:///C:/Users/CXY/AppData/Local/Temp/msohtmlclip1/01/clip_image006.png,俯仰角为file:///C:/Users/CXY/AppData/Local/Temp/msohtmlclip1/01/clip_image008.png,舵机水平时的高度为h。依据题目要求,云台距离0.5m*0.5m的屏幕为1m,那么在此为了简便计算,按照舵机高度h为0.5m,同时放置在屏幕中线上。 那么,即舵机水平和竖直最大转角为28°。
图 3-1 结构说明图
3.2.2 舵机转动精度计算 舵机的转动精度需要达到小于1°的误差,取决于控制信号的分辨率。舵机的控制信号是通过脉冲宽度调制(PWM)来实现的。 舵机控制信号周期为20ms,高电平周期为0.5ms~2.5ms,其中0.5ms对应最小角度,2.5ms对应最大角度。由上述的计算确定转角的大致范围为28°,我们以90°为水平时的状态,因此,舵机角度范围为76°~114°。以此计算出高电平周期为1.33ms~1.67ms,将舵机的角度范围等分为控制信号的脉冲宽度区间,通过调整脉冲宽度来控制舵机转动到特定角度,即每个脉冲宽度所对应的角度差。以实现舵机转动到目标位置的精确控制。
.1.电路设计 本系统的电路设计如下图4-1所示:
图4-1 系统电路设计图 电路由K210主控、STC32G12K128单片机、稳压板、二维舵机云台、按键和锂电池组成。 系统将STC32G12K128和K210硬件进行连接,并在系统复位后,使红色光斑返回原点(屏幕中心)。通过按键实现以下功能: 1.按下按键1时,红色光斑将按照预定的路径绕着框移动。如果按下暂停键,则红色光斑停止移动。 2.按下按键2时,K210将识别背景中黑色矩形的边缘区域,并利用直线插补算法和PID算法对其进行处理。然后通过反馈控制主控舵机,移动云台以达到目标点。 3.按下按键3时,K210将基于PID算法对红色光斑的坐标进行处理,并通过串口发送给主控。主控根据接收到的坐标信息来控制PWM的占空比,以控制舵机实现追踪红色光斑的定位,并通过声音和光线发出提示信号。 通过以上设计,可以实现所需的功能目标。
|