资源描述
滚球控制系统
摘要
该滚球系统由 Kinetis―K60单片机控制模块、位置采集模块、板球模块、人机交互模块、电源模块和板球机械结构组成闭环控制系统。它由OV7620摄像头进行滚球位置采集,单片机对摄像头输入信息进行处理,用位置式PID算法进行运算,输出脉冲控制电机驱动为SH-20403驱动42BYG250A电机转动,使滑轮缠绕吊线,改变底板所受吊线拉力,进而控制地板倾斜让滚球抵达指定位置,用人机交互模块中按键控制和题目对应程序运行。在该滚球系统中,滚球可在要求时间内在不经过非指定区域条件下抵达指定区域,并能够在指定区域内停留要求时间,完成了大赛本科B组基础要求。
关键字:Kinetis―K60单片机;OV7620摄像头;42BYG250a电机;SH-20403驱动;位置式PID算法;闭环系统
一. 系统方案
滚球控制系统关键包含单片机控制模块、电源模块、位置采集模块、板球模块、人机交互模块和板球机械结构。系统经过位置采集模块时刻采集滚球位置信息,将信息输入给单片机控制模块,单片机对输入信息进行处理,通控制脉冲发生器,经过一定方法让底板发生倾斜,控制滚球运动。人机交互模块中按键选择程序运行。
电源模块
板球模块
单片机系统
位置采集模块
人机交互模块统
图1 系统结构图
1.板球模块方案选择和论证
方案一:将推杆电机作为支撑放于板下,经过推杆电机推进使底板发生倾斜。
方案二:将两个42byg250a电机固定到顶板,在上面捆绑上吊线,经过顶板滑轮固定到底板,使底板悬空,经过电机转动拉动吊线使底板发生倾斜。
两方案比较以后我们选择方案二为滚球控制系统方案。两方案比较如表一所表示表1 板球模块方案比较
方案一
优势
抗外力自然原因干扰强,结构不复杂,很经典滚球控制方法资料便于查找。
劣势
推杆电机在推板过程中会滑动产生相对位移,推杆电机反应慢,每次电机运行反转方向误差会累计。
方案二
优势
42byg250a电机反应快,电机运行反转方向时延时小,误差能够忽略,对应算法控制编写较轻易,结构简单。
劣势
底板靠四吊绳悬挂,轻易产生晃动,抗干扰能力较差。
2. 滚球位置采集方案选择和论证
采集滚球外设有两种选择,一是触摸屏,二是摄像头。因为使用触摸屏有功耗大,灵敏度较低,易损坏,价格高、滚球轨迹不直观等缺点。我们决定用摄像头作为滚球位置测量外设。使用摄像头有两种方案:OV7620,OV7670。滚球和底板颜色差距大,我们只关心图像灰度值,并不是需要她们彩色值。所以我们选择OV7620摄像头做为滚球位置采集外设。两种方案特点以下:
表2 OV7620,OV7670特点
特点
方案一:OV7620
默认输出RGB彩色图像。
方案二:OV7670
输出是灰度值Y
3. 控制算法选择
方案一:采取模糊控制算法模糊控制是经过计算机 完成大家用自然语言所描述控制活动。
方案二:采取PID算法,按百分比、积分、微分函数关系,进行运算,将其运算结果用以输出控制。
依据两种方案对比,题目要求和实际情况,我们选择PID算法作为控制算法.方案对比如表三:
表3 模糊算法和PID算法比较
方案一
优点
不需要事先知道对象数学模型,系统响应快、超调小、过渡过程时间短。
缺点
稳态精度不高,需要大量计算,运算复杂。
方案二
优点
计算量小,运算简单。
缺点
轻易产生超调。
二. 系统理论分析和计算
1.滚球位置测量和计算
选择和底板颜色相差大滚球,经过摄像头OV7620采集图像,OV7620把板和球亮暗程度转化成像素灰度值,并经过数据总线传送给单片机 ,处理变成二值图像,单片机开始对二值图像像素点进行扫描,在图片中寻求到滚球,并用坐标表示出滚球位置。OV7620不停向单片机传输灰度图像,能够时刻得到滚球位置。
2. 底板倾斜控制分析
板球采集模块用两个42BYG250A步进电机及SH-20403做驱动系统。位置采集模块采集滚球目前位置,单片机处理滚球目前位置信息调整输出脉冲,控制两只42BYG250A步进电机,从而实现对底板倾斜控制。
3. 算法分析
本系统采取位置式PID 算法来控制步进电机转动速度。电机开始工作后,位置采集模块不停采集目前滚球所在位置,并和之前滚球所在位置相比较,使得底板倾斜逐步改变。PID 算法控制器由滚球位置误差百分比P、滚球位置误差积分I和滚球位置误差微分D组成。
其输入 e (k)和输出 U (k)关系为:
u(k)=Kp*e(k) +Ki*∑e(i)+Kd*[e(k)-e(k-1)] (式1)
三. 电路和程序设计
摄像头不停采集滚球位置信息,传送到单片机处理,将处理好位置信息传输到PID算法中,利用PID算法控制电机,来完成目标。总步骤图图二所表示。
图2 总步骤图
1. 滚球位置采集处理设计
摄像头将采集灰度图像传输到单片机中,单片机将图像处理为二值图像,经过隔行逐一像素点扫描来确定滚球位置,并将位置信息存在数组中传输给控制算法。步骤图图三所表示。
图3 滚球位置采集处理步骤图
2.PID算法设计
使用位置式PID算法。该算法需要读取定值和输入值,计算两值偏差,依据位置式PID算法公式算出U(k),存放U(k),将存放数据地址右移方便存取新目前输入值,然后返回最初步骤。算法步骤图图四所表示。
图4 PID算法步骤图
四. 系统测试
1. 测试仪器
秒表,高精度钢板尺,自制区域图纸
2. 测试结果
1) 将滚球放置在区域2,测量滚球在区域内停留时间
表4 题目一测试表
第一次
第二次
第三次
停留时间(s)
1
3
10
2) 控制滚球从区域1进入区域5,测量滚球抵达区域5时间,滚球投影和区域5交叠率和滚球到区域5时间和在区域5停留时间。
表5 题目二测试表
第一次
第二次
第三次
第四次
第五次
抵达区域5时间(s)
1
2
3
3.5
4
和区域5交叠率(%)
0
0
20
80
100
在区域5停留时间(s)
0.5
0.5
1.5
5
5
五. 设计总结
该系统完成了比赛本科B组题目标基础要求一,二。因时间问题未能完成其它基础要求和扩展部分。
(一)已达成要求系统制作过程:
1. 硬件方面
1) 选择题目,依据网上资料和实际情况讨论出大致方案,并依据方案搭建物理模型。
2) 调试外设。
① 调试电机
测量脉冲个数和步进电机电机运行关。
② 调试摄像头
依据摄像头采集图像效果,依据效果调整摄像头位置,减小外界光线原因影响,使摄像头采集到图片最好。
3) 整体测试
2. 软件方面
1) 组建工程模板。
2) 编写外设驱动,方便调试外设。
3) 编写控制程序。
3.总体测试
不停测试程序,调试程序中关键参数,尽可能使系统稳定,在测试过程中,用一定方法将把硬件因摩擦力,惯性等原因造成误差尽可能缩小,编写软件来消除硬件无法消除误差。
(二) 没有达成要求部分
对于基础要求三,小球总是在从区域4到区域5过程中偏离,没有达成预期效果。如小球抵达第一个设定目标后,将底板倾斜程度降低,经调试应能在要求时间内实现基础要求三。扩展要求二,能够经过矩阵键盘实现。每区域坐标对应一个按键,当按键按下,坐标将传输到PID算法中做设定值。
(三)在制作时出现问题及处理方案
1.无法确定滚球位置
将灰度图像处理成二值图像以后,有很多噪点,对图像进行滤波处理后噪点并没有完全过滤掉,依旧影响滚球位置检测。经过仔细观察,发觉噪点起源于底板没有覆盖地面和地面反光。最终将摄像头传入图像进行裁剪,只剩下底板图像信息,在适宜位置安装光源,使问题得到了处理。
2. 滚球滚离底板
在运行测试程序时,滚球总是滚离底板。首先原因是初始位置不水平,其次原因是因为底板倾斜角度过大,滚球因为惯性极难在期望时间内停止。最终处理方案为将初始位置手动调至水平,改写算法参数减缓底板倾斜角度改变,将倾斜角速度降低。但问题没有得到实质性处理,使得基础要求三功效没有实现。
参考文件
[1]Kenneth.R.Castlemen.数字图像处理.北京:电子工业出版社,1998,170~187
[2]李丽萍.图像去噪方法研究[D].湖北:长江大学,.
[3]刘宝廷,程树康.步进电动机及其驱动控制系统.黑龙江:哈尔滨工业大学出版社,1997
展开阅读全文