基于STM32F103单片机的板球控制系统设计

2018-06-12 08:26吴立军李清波庙要要万鸾飞段争光
关键词:板球舵机小球

吴立军, 梁 伟, 李清波, 庙要要, 万鸾飞, 段争光

(1.芜湖职业技术学院 电气工程学院,安徽 芜湖 241006;2.安徽工程大学 电气工程学院,安徽 芜湖 241000)

板球系统是一个典型的多变量、非线性控制系统[1-3].本文设计了一板球控制系统,通过控制平板(65 cm*65 cm)的摆动,使直径2 cm的硬质小球按照指定要求(路径)在平板上完成各种动作,并从动作开始时计时并实时显示,单位为s.

1 总体方案论述

本系统设计采用一对MG996R舵机作为动力源,通过控制舵机的转角和转速来控制平板的倾斜角度,进而控制小球到达指定区域.平板摆动原理图如图1所示.在平板的上方合适位置安装OV7670摄像头,使其视野完全覆盖平板.利用PID算法控制两个舵机对平板x轴和y轴进行调节,改变小球加速度的方向,使小球进行复杂的非线性运动,系统框图如图2所示.

图1 平板摆动原理图

图2 系统框图

2 理论分析与计算

小球滚动原理分析见式(1):

(1)

图3 小球受力分析图

图3为小球切面受力分析图,小球滚至最高点B处,速度为0.理想情况下,小球的加速度由重力G的下滑分力产生,如式(1).质量为m的小球处于最高点,则角度α为最大值,加速度a最大.舵机对平板B处进行下拉,使得A处升高,缩小摆动角度,即可达到制动目的;若此时等待小球到达A处再使舵机快速上升,则可以逐渐增大摆幅,使小球快速运动到不同位置.

3 算法和控制原理

本系统主要采用了图像二值化算法及PID控制算法.

3.1 图像二值化算法

图像二值化算法是将图像上的像素点的灰度值设置为0或255,整个图像呈现出明显的黑白效果,使得图像变简单,并且数据量减小,可以凸出感兴趣的目标的轮廓[4-5].本系统通过二值化算法处理之后,使得系统能够快速识别目标物——小球及其位置信息.

3.2 PID控制原理

本系统采用PID算法来控制舵机带动平板摆动,进而控制小球在板上运动,然后利用摄像头实时采集小球位置信息,将采集的实时位置信息与设定位置进行比较,若小球实时位置偏离设定位置,则继续调节舵机,使小球运动到指定位置并稳定.PID算法公式如(2)所示:

(2)

比例P:对舵机的角度进行比例调节,调节舵机响应速度.比例越大,舵机的响应速度越快,平板的摆角越大.但是不能过大,否则会产生超调现象.

积分I:在小球到达指定位置时,系统稳定性较强,无需利用积分项对系统进行补偿,所以本系统设定KI为0.

微分D:微分调节反映舵机角度变化率,即角速度.微分调节具有预见性,可以预见偏差的变化趋势,进而进行超前控制系统,减少调节时间.

4 系统硬件的实现

4.1 姿态采集模块电路

本设计采用了带FIFO的OV7670摄像头模块对小球位置进行捕捉.OV7670图像传感器体积较小,工作电压低,且提供VGA摄像和影像处理器的所有功能[6].通过SCCB总线控制,能够自行降噪调节.OV7670摄像头模块内部电路见图4.

图4 OV7670摄像头模块内部电路

4.2 数字舵机

数字舵机结构如图5所示.数字舵机与传统的模拟舵机相比具有以下两个优点:(1)能够在动力脉冲发送到舵机之前,对输入信号根据设定的参数进行处理,以适应不同功能的要求,并优化舵机性能;(2)可以以更高的频率向马达发送动力脉冲.

图5 数字舵机结构图

图6 TFT液晶连接电路图

4.3 TFT液晶显示器

本设计采用TFT液晶实时比例显示小球运动轨迹,且触摸按键选择功能,界面简洁、清晰、美观.其与主控板的连接电路图如图6所示,界面如图7所示.

(a)TFT主界面

(b)四区域选择界面

5 软件实现

本设计的主程序流程图如图8所示,本系统使用STM32单片机为主控核心,采用C语言编程,利用摄像头获取小球的位置、轨迹和状态等信息.STM32单片机控制整个系统稳定协调运作,采用PID算法控制两个舵机的PWM占空比,带动平板运动,实现了小球按指定路径运动并短暂稳定和围绕指定区域做环绕运动等功能.本系统的两个舵机采用相同的PID参数,对于不同的要求我们设置了不同的PID参数,具体参数设置如表1所示.

表1 PID参数

6 测试结果及分析

系统调试完成以后,根据系统设计目标,在平板上均匀分布着如图9所示的9个区域,每个区域的外径为3 cm,然后根据设定测试方案,对系统进行性能测试.

图8 主程序流程图

图9 平板区域分布

6.1 测试结果

系统每次启动时都会进行初始化,板球控制系统的平板会在两个舵机联合作用下,处于水平状态.只有系统初始化完成之后,系统才能进行相应功能选择.

表2 任意两区域路径测试

(1)控制小球从区域1出发到终点(1~9区域任选一个),设置终点区域稳定停留时间为5 s,总时间不超过15 s,测试结果如表2所示.

(2)在1~9区域中任选4个区域,并记为A、B、C、D,控制小球按路径A→B→C→D运动,并最终稳定停留在D区域5 s以上,总时间不超过40 s,测试结果如表3所示.

表3 任意四区域路径测试

表4 环绕区域5运动测试

(3)设置小球的出发点(区域4),作环绕区域5的运动(不进入),运动3周后进入终点区域(区域9),除设定区域外,不经过其他区域,终点区域稳定停留时间为5 s,总时间不超过40 s,测试结果如表4所示.

6.2 测试结果分析

从测试结果分析知,本系统能够快速准确地控制小球按照测试要求(1~3)路径运动,最终使得小球稳定停留在终点区域5 s以上,并且不进入设置区域以外的其他区域.同时完成目标所用的时间远远少于设定时间.

7 结语

本系统采用STM32单片机作为主控单元,利用PID算法来控制舵机带动平板摆动,进而控制小球(20 mm)在平板上运动,然后利用OV7670摄像头实时采集小球位置信息经图像二值化算法处理后反馈给单片机.单片机将采集的实时位置信息与设定位置进行比较,若小球实时位置偏离设定位置,则继续调节舵机,直至小球运动到指定位置并稳定.经过实验证明本系统响应速度快、调节时间短、控制精度高,具有较强的轨迹跟踪能力和鲁棒性.

[参 考 文 献]

[1] 苏信,孙政顺,赵世敏.板球系统的模糊控制方法研究[J].计算机仿真,2006,23(9):165-167.

[2] 王红睿,田彦涛.板球系统的参数自调整反步控制[J].控制与决策,2009,24(5):749-753.

[3] 韩京元,田彦涛,孔英秀,等.板球系统自适应解耦滑模控制[J].吉林大学学报(工学版),2014(3):718-725.

[4] 石恩强.智能机器人的视频处理与运动物体跟踪[D].西安:西安电子科技大学,2012.

[5] 王颢瑾.在C++ Builder编程环境下实现基于阈值法的图像分割技术[J].民营科技,2013(11):8.

[6] 徐洁莹,刘云飞.基于STM32F107的图像采集传输系统设计[J].山西电子技术,2015(6):26-28.

猜你喜欢
板球舵机小球
关于我国板球项目后备人才培养体系建立的初步研究
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
小球进洞了
小球别跑
小球别跑
含齿隙弹载舵机的全局反步模糊自适应控制
Quora:What Is the Saddest Truth about Life
基于dsPIC单片机的飞艇舵机控制实现
基于高速同步485总线通信的多通道舵机控制器设计
板球运动在普通高校的发展探究