滚球控制系统的设计与实现

2018-02-25 14:27鲁放张宸赫郑晗
电子技术与软件工程 2018年12期
关键词:STM32单片机平板

鲁放 张宸赫 郑晗

摘要 本系统采用STM32F103VET6为主控芯片,K60为辅助芯片,通过OV7725摄像头传感器提供信息、采用PID控制算法调整舵机的工作状态、在液晶和按键的作用下显示并切换工作模式,形成一个闭环控制系统。该控制系统通过控制驱动各舵机,使小球在一平板上做预定运动,同时保持小球在该系统中的稳定性。

【关键词】平板 STM32单片机 OV7725 摄像头舵机LCD

1 设计任务

在边长为65cm光滑的正方形平板上均匀分布着9个外径3cm的圆形区域,其编号分别为1-9号。设计一个控制系统,通过控制平板的倾斜,使直径不大于2.5cm的小球能够按照指定的要求在平板上完成各种动作,并从动作开始计时并显示,单位为秒。

2 系统分析

对小球进行受力分析,理想状态下,小球的加速度与板的倾角程正比例关系,其关系式为a=gsmx,x为板子倾斜角度,速度为a的积分,位移为速度的积分。如果取速度为直接控制量的话,那角度与速度的对应关系是直接的线性关系。假设执行机构与板子倾斜度的传递函数值为1,那么P控制可以完美控制小球的速度,进而控制小球的位移。但实际系统中,小球的加速度与板子倾

斜角度并非完全是线性关系,此时要加D及时修正,并且小球与平板存在静摩擦,有时给一定倾斜角度并不会使其运动,所以要加I进行补偿,但是I的滞后非常严重,不适用于动态系统,故应采用积分分离的PID控制方法来控制小球的速度。如果要得到良好的位移相应曲线,能控制速度从根本上解决超调失调的现象。故本题可采用串级PID的方式,将当前位移差期望的速度送到内环PID去修正补偿,以追随当前期望速度,具体算法在后续文字中有部分说明。可近似为a=gx。

3 模块选型

控制模块:控制模块是整个控制系统的核心,承载着执行控制算法,实现控制功能的作用。因此,要保证系统整体的控制质量,控制器的选择非常重要!在控制器的选择方案中,选择技术成熟,应用广泛的STM32作为主控芯片。

检测模块:检测模块是系统的“眼睛”,从根本上决定了整个系统的控制精度,在进行选型时统筹考虑检测精度与检测速度,再进行众多比较后选择兼具速度与精度的OV7725搭配K60最小系统板初步处理原始观测数据组成检测模块。

动力装置:动力装置作为本控制系统中的执行机构,是控制系统中的重要组成部分。它将控制器送来的控制信号转换成执行动作,从而操纵作用于被控对象的能量,将被控变量维持在所要求的数值上或一定的范围内。考虑到反应时间与可控性,选择了两个力矩为20千克的舵机组成动力装置。

外围模块:本系统中的外围模块为辅助调节的模块,主要为按键模块与LCD显示模块,在多个任务切换中,可以使用按键模块加以控制,同时LCD显示模块予以提示与实时监控,方便控制人员操作,提供一个良好的人机交互环境。

电源模块:在该控制系统中,要完成控制任务必须保证提供充足的动力。在考虑到对舵机的供电以及对电源稳定性的要求后,舍弃了长时间使用后电压会产生浮动的锂电池,而使用开关电源搭配降压模块为整个系统提供更加稳定的动力支持。

4 方案原理设计

平板上的小球会根据平板的倾角方向和大小进行可预计的运动,预设坐标系之后,使用摄像头得到平板上规定区域的图像,进行分析后可以将得到的图像二值化进而方便辨别出小球位置,并且高频率的获取图像,根据两次小球位置的差值和获取位置的间隔时间可以得到小球运动的方向和速度,通过对小球的运动方向和速度进行程序上的计算转化为舵机的旋转角度,通过该旋转角度影响平板的倾角,进而影响小球的运动,同时摄像头获得调整后的小球位置,运动方向和速度反馈到主控芯片,以此形成一个闭环控制,达到控制小球做规定运动的目的。

5 程序细节与分析

在小球的数据获取中,将每一次获取到的图像信息进行了二值化处理,将颜色与平板颜色相差较大的小球的位置信息更加明显的突出出来以便于进一步分析。获取到图像的二值化数据后对像素点开始遍历查询,查询到疑似小球的像素点时进行大小的判断过滤,将噪点过滤掉,以得到正确的小球坐标。

在主控芯片中,使用串级PID控制程序来共同对小球的数据进行计算,将获取到的小球位置坐标与计算出的速度作为输入量分别将其输入到PID程序中进行运算,得到期望的角度并控制舵机达到目标。该算法使用速度作为直接控制量,其变化率理想状态下与木板倾斜角度成正比例关系,并且对过程控制效果极好,经测试,小球放在绝大多数位置,超调量都小到可以忽略,所以该算法再合适不过

在算法程序之外,同时定义起舵机角度与平板倾角的对应关系和平板上各个预留区域的范围坐标,将这些定义为标准量在程序中进行调用,将程序处理的准确性得到提升。

程序是控制系统的“大脑”,必须保证其及时性和准确性,在经过多次调试后我们每20ms得到一次小球的位置坐标和速度,根据所要实现的控制目标不同,主控程序每运行一次的时间在50ms~60ms之间,完全达到完成设计任务的需求。

6 测试结果与误差分析

预设在每个预设区域的停留时间为2.5s,实验结果则显示略大于该数值,但也为正常现象。从区域1到区域4的平均用时7.29s,从区域4到区域5的平均用时为6.204s,位移量应大致相等,但所用时间却有明显差距,经过分析发现原因在与在靠近平板中间的区域更容易控制,对比边缘位置较少的抖动,因而更容易控制,所用时间也较短。

7 测试总结

在多次对各个设计任务的测试中,该控制系统能够在规定时间内很好的完成各项任务,并有较好的复现能力,并且发现反应速度并不是越快越好,例如我们发现摄像头快速采集数据时会产生很多噪声,甚至在小球运动至视野边缘时会产生当前位置与原点位置的跳变,适当的降低采集频率则大幅度缓解了这种现象。一个跟当前系统匹配的检测模块采集速度和动力装置执行速度会避免掉很多莫名出现的问题。

参考文献

[1]王赓.基于视觉系统的板球控制装置的设计与开发[D].清華大学,2004.

[2]吕芳,板球系统的经典控制仿真研究[A].中国自动化学会系统仿真专业委员会、中国系统仿真学会仿真技术应用专业委员会.2008系统仿真技术及其应用学术会议论文集[C].中国自动化学会系统仿真专业委员会、中国系统仿真学会仿真技术应用专业委员会,2008:2.

猜你喜欢
STM32单片机平板
平板对缝焊接视觉跟踪试验及异常数据分析
出彩的立体声及丰富的画面层次 华为|平板M6
研华 可触摸工业平板电脑TPC-1582H
The Apple of Temptation