摘 要
滚球控制系统通过摄像头获得滚球装置中小球和平板的图像,然后采用Nanopi
M3进行相应的图像处理算法处理图像,通过坐标变换转换为小球在平板上的位置信息,将位置信息传送给STM32F103RC系统控制器,在平板的两个相互正交方向上分别进行PID控制算法,控制舵机驱动平板在这两个相互正交方向上相互配合地倾斜,从而间接控制小球直线、绕环等运动。采用按键选择和12864液晶显示屏,选择和显示工作模式和参数。系统制作完善,测试结果理想,很好的完成了各项任务要求。
**关键词:**PID控制算法;图像处理;STM32F103RC;12864液晶显示屏
1 方案设计与论证
1.1 总体方案描述
图1.1
是滚球系统的构成框图,主要由控制器、执行器、板和球、摄像机、图像处理模块构成。
图2-1 小球识别流程图
其中,边缘检测需要进行如下步骤。
1)将彩色图像转换为灰度图像,用高斯平滑滤波对图像进行去噪处理。
2)用高斯的一阶微分对图像进行滤波,获得较好的梯度边缘。
3)对梯度进行非极大值抑制和滞后阀值处理得到图像的边缘。
4)采用双阀值算法检测和连接边缘。设置检测强边缘和弱边缘的2
个阀值。当检测到的边缘点的阀值,高于强边缘的阀值,则为强边缘,输出边缘点。当检测到边缘点的阀值介于强边缘的阀值和弱边缘的阀值之间时,认为是弱边缘点,当且仅当弱边缘与强边缘相连时,弱边缘才被输出。
经过以上几个步骤处理,检测到图像的边缘并输出。
2.2 小球运动控制原理
系统采用在工业控制中得到广泛运用的PID控制器,因为采用的是离散计算,所以PID算法又称为数字PID。数字PID控制算法可以分为位置式PID和增量式PID,在滚球系统中采用的是位置式PID。
常规模拟PID控制的控制规律描述如式2.1:
(2.1)
令=,式2.2代入式2.1得离散式PID表达式:
(2.3)
或
(2.4)
滚球系统将采集到的小球的位置信息在两个相互正交方向分别进行PID运算,将运算结果作用到PWM的脉宽上,以达到控制舵机转速。
3 系统软硬件设计
3.1 硬件结构设计
设计的平台机械结构如图 3-1 所示。
图 3-2 稳压电路
3.3 显示部分
带中文字库的128X64-0402B每屏可显示4行8列共32个16×16点阵的汉字,每个显示RAM可显示1个中文字符或2个16×8点阵全高ASCII码字符,即每屏最多可实现32个中文字符或64个ASCII码字符的显示。带中文字库的128X64-0402B内部提供128×2字节的字符显示RAM缓冲区(DDRAM)。其硬件连接如图3-3所示。
图3-4 总体程序框架图
- 当系统上电后,12864液晶显示器显示开机界面,与此同时STM32F103RC对按键检测,选择工作状态,设定静止状态、运动位置、圆周运动。通过PID调节实现相应的功能。
(2)摄像头捕捉图像,Nanopi处理返回坐标值,调用PID子程序进行计算。**
**
(3)键盘初始化,判断是否有按键按下,无键按下,重新进行键盘扫描;有键按下,判断是哪个键按下,并进行相应的操作。
4 系统测试
4.1测试仪器
在室温条件下,测试所用仪器如表4-1所示。
表4-1 测试仪器
编 | 名称 | 型 |
---|---|---|
1 | 数字万用表 | UT39A |
2 | 秒表 | XINJIE |
3 | 示波器 | UTD2062CEL |
4.2 指标测试结果
(1)小球在指定区域停留时间。
要求:将小球放置在区域2,控制使小球在区域内停留不少于5秒,经过5次测试,测试结果如表4-2所示。
表4-2 小球在区域2停留时间
次数 | 放置位置 | 停留时间(秒) | 是否达标 |
---|---|---|---|
1 | 2区域 | 10 | 是 |
2 | 2区域 | 12 | 是 |
3 | 2区域 | 12 | 是 |
4 | 2区域 | 15 | 是 |
5 | 2区域 | 13 | 是 |
(2)小球从一个区域进入另一个区域所用时间及停留时间。
要求:控制小球从区域1进入区域4,在区域4停留不少于2秒;然后再进入区域5,小球在区域5停留不少于2秒。完成以上两个动作总时间不超过20秒。
表4-3 小球运动时间及停留时间
次数 | 区域a到区域b | 运动完成时间(秒) | 停留时间(秒) | 是否达标 |
---|---|---|---|---|
1 | 1到2 | 16 | 5 | 否 |
2 | 1到2 | 14 | 5 | 是 |
3 | 1到4 | 13 | 6 | 是 |
4 | 1到4 | 15 | 4 | 是 |
4.3误差分析
经分析,系统的主要误差来自于摄像头图像的采集,一方面,采集图像时受环境的影响较大,使得识别小球时有错误识别的情况。另一方面,由于摄像头是固定的,不能始终与正对着平台,在平台倾斜时,采集到平台的图像为梯形,使得小球的位置获取有一定误差。
5 总结
滚球控制系统以STM32F103RC为主控制器,以NanoPi为图像处理器,STM32根据NanoPi反馈的小球位置信息进行PID运算,作用于舵机改变平台的倾斜角度以达到控制小球运动的目的。因为滚球系统是通过摄像头采集图像,所以对硬件的搭建的要求很严格,为达到降低误差的目的,要求各机械结构的尺寸设计精确,且装配准确。在设计滚球控制系统过程中,不仅仅提高了动手能力,更是提高了发现问题和解决问题的能力。滚球控制系统在硬件上还存在着误差,可进一步的通过设计的合理性及精确程度来降低误差,在软件上,单纯的使用PID控制器,今后可通过建立数学模型来提高控制的高效性。
参考文献
[1] 华成英,童诗白.模拟电子技术基础(第四版)[M].北京:清华大学出版
,2006
[2] 汤兵勇等.模糊控制理论与应用技术[M].北京:清华大学出版 ,2002
[3] 谭浩强.C程序设计[M].北京:清华大学出版 ,1991
[4] 徐建华.图像处理与分析[M].北京:科学出版 ,1992
[5] 章卫国,杨向中.模糊控制理论与应用[M].西安:西北工业大学出版 ,
1999
[6] 全国大学生电子设计竞赛组委会.全国大学生电子设计竞赛获奖作品选编
[M].北京:北京理工大学出版 ,2008
[7] 汪文,陈林.单片机原理及其应用[M].湖北:华中科技大学出版 ,2006
[8] 康华光,陈大钦.电子技术基础模拟部分(第四版)[M].北京:高等教育
出版 ,2003.4
[9] 康华光,邹寿彬.电子技术基础数字部分(第四版)[M].北京:高等教育
出版 ,2000.7
[10] 黄志伟.全国大学生电子设计竞赛培训教程[M].北京:电子工业出版 ,
2005
[11] 康华光.电子技术基础(模拟部分)(第五版)[M].北京:高等教育出版
,2005
2008
[7] 汪文,陈林.单片机原理及其应用[M].湖北:华中科技大学出版 ,2006
[8] 康华光,陈大钦.电子技术基础模拟部分(第四版)[M].北京:高等教育
出版 ,2003.4
[9] 康华光,邹寿彬.电子技术基础数字部分(第四版)[M].北京:高等教育
出版 ,2000.7
[10] 黄志伟.全国大学生电子设计竞赛培训教程[M].北京:电子工业出版 ,
2005
[11] 康华光.电子技术基础(模拟部分)(第五版)[M].北京:高等教育出版
,2005
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!