2017国赛优秀作品——B题 滚球控制系统 中国矿业大学

  [复制链接]

150

主题

446

帖子

1968

积分

审核员

Rank: 9Rank: 9Rank: 9

积分
1968
楼主
查看: 8174回复: 4 发表于 2019-7-30 10:45:24   只看该作者
本帖最后由 secret 于 2019-7-30 13:04 编辑

作者:刘晨旭 刘咏鑫 李保林

摘要
在对题目需求分析的基础上,综合考虑成本、性能和技术成熟度等因素,设计制作了基于PID控制的滚球控制系统。本设计以STM32F103RCT6芯片为核心,采用图像处理技术,实现了小球在平板上位置的精确控制。选用STM32F407VET6芯片专门处理OV7725图像传感器的信号以获得较高的图像采集频率。两块芯片之间采用蓝牙模块实现通信,并设计简单人机交互界面与图像显示界面。最终利用PIWM脉冲控制能机,实现平板角度控制。经测试,本系统具有良好性能,能实现题目要求的所有基本部分功能和发挥部分功能。
关键词:STM32;PID;舵机;0V7725;蓝牙通信

一、设计方案工作原理
本设计以STM32F103RCT6芯片和舵机为核心制作滚球平板控制系统。系统使用0V7725传感器配合STM32F407VET6芯片实时检测小球位置,并通过蓝牙模块将位置信息传送给STM32F103RCT6主控芯片,主控芯片根据反馈数据运用PID算法实现滚球系统的闭环控制。装置整体结构简洁、调试方便、系统稳定,能够观察、调试有关参数,实现预期任务要求。
1.技术方案分析比较
系统由机械结构和测量控制电路部分组成,机械结构的可靠性与稳定性直接影响测量电路和控制算法的准确性与鲁棒性;而测控电路则是整个系统设计的核心部分,是系统功能完善的保证,因此两个部分的设计都十分重要。

1)机械结构设计
滚球控制系统是一个完整的检测控制系统,其机械结构是这个测控系统的控制对象,该结构设计的优劣将会在一定程度上影响后期控制算法的设计和控制精度。高上去伤故省定可靠,系统的稳定性和性能也就越佳。

本组制作的平板系统,机械结构大致分为底座、支撑杆、连杆、平板、支架几个部分,下面分别详细介绍。
(1)底座。作为整个平板系统的支撑体,用于控制芯片、电源模块的放置以及与支撑杆相连接。设计选用本板作为底座。此外,底座上通过合适高度的支撑物木块)固定舵机。
(2)支撑杆。用于连接底座和平板。考虑到平板需要相对于底座发生倾斜,将支撑杆的顶部安装万向节用于与平板连接;为了防止支撑杆与底座之间的相对转动,用4个小木板横向固定支撑杆,在空间成间隔90°的直角放置。
(3)连杆。作为整个平板系统的传动结构,参考连杆的原理和结构模型,利用现有的材料,自制了简易的连杆机构。经测试,其传动特性良好,无相对滑动,可以满足要求。
(4)平板。作为小球滚动的平台,其底面通过热熔胶与支撑杆所连接的万向节黏合,正面按照题目
(5)支架。作为平板系统检测部分的支撑机构,为了固定图像传感器,利用现有木材制作了合适高度的支架,使摄像头能恰好检测到整个平板。同时,负责图像处理的STM32F407VET6芯片也放置在支架上。
经过验证,设计的机械结构能完全满足任务要求,具有较好的机械强度和稳定性。

2)主控芯片的论证与选择
采用以ARMCortex-M3为内核的STM32F103RCT6控制芯片,该芯片时钟频率高达72MHz,具有512KB的Flash,64KB的SRAM,丰富的增强VO口,具有极强的处理计算能力,适合需要快速精确反应的滚球控制系统。

3)控制算法的论证与选择
使用PID进行控制。PID控制器是一个在工业控制应用中常见的反馈回路部件,由比例单元P、积分单元1和微分单元D组成。PID控制的基础是比例控制;积分控制可消除稳态误差,但可能增加超调:微分控制可加快大惯性系统响应速度以及减弱超调趋势。此外,PID控制结构简单,调试方便,易于工程实现。

4)传感器的论证与选择
方案一,采用电阻式触摸屏检测小球在平板上的位置。其原理是通过压力感应原理来检测X和Y
位置分压器的电压,并转换成对应的X、Y物理坐标。虽然电阻式触摸屏价格便宜、控制精度高,但是对于本题而言,需要的电阻屏尺寸过大,难以购买,不方便。
方案二:采用图像传感器检测小球在平板上的位置。使用0V7725图像传感器,其体积小,工作电压低,像素高,输出锁率高,提供单片VG.A摄像头和影像处理器的所有功能,配合STM32F407VET6控制芯片,输出VGA图像可达到60帧/秒。适合需要实时控制的滚球系统。

综合以上两种方案,选择方案二。

5)电机的论证与选择
方案一:采用步进电机。其运行响应快,直接接收数字脉冲输入,经过细分驱动器可以使电机运行更加平滑,而且驱动器价格低。但是考虑到建模后控制的应是平板角度,因此需要对步进电机的输入脉冲进行计数,再计算角度。但是步进电机容易出现失步现象,可能脉冲数和角度不是对应关系,导致角度控制失败,并且控制程序更加复杂,影响系统性能。
方案二:采用舵机。舵机是一种位置(角度)伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统,有较好的稳定性、较高的响应频率,不易出现失步现象。

综合以上两种方案,选择方案二。

2.系统结构工作原理
关于被控对象滚球系统的数学模型的建立和推导,参考了文献的相关内容,建模结果为



式中,x、y为小球的加速度;α、β为平板的倾斜角度;Kb为系统结构参数。对加速度做二次积分即可得到小球的位移量。这说明在实际操作中,可以将平板的倾斜角度作为系统的控制量,控制小球在平板上的位移。
控制环节选取PID控制器能够很好地满足控制量的要求,PID控制系统由PID控制器、执行部件和被控对象组成,其原理框图如图2所示。


假设系统给定值为r(t),实际输出值为y(t),根据给定值和实际输出值构成偏差,公式为e(t)=r(t)-y(t),PID控制规律为



式中,Kp是比例系数,T1是积分时间常数,TD是微分时间常数。

PID控制器各校正环节的作用如下。
(1)比例环节。比例控制反映系统的偏差信号e(t),偏差一旦产生,控制器立即产生控制作用,以减小偏差。当仅有比例控制时系统输出存在稳态误差。
(2)积分环节。控制器的输出与输入误差信号的积分成正比关系。主要用于消除静差,提高系统的无差度。积分作用的强弱取决于积分时间常数Ti,T,越大,积分作用越弱;反之则越强。
(3)微分环节:控制器的输出与输入误差信号的微分(即误差的变化率)成正比关系。微分环节能够反映偏差信号的变化趋势,并在偏差信号变得太大之前引入一个有效的早期修正信号从而加快系统的动作速度,减少调节时间。

基于上述推理论述,可以完成控制系统的建模。系统以小球位置坐标X、Y为给定输入,通过图像传感器检测到小球的实际位置,将其与给定位置相比较,得到偏差量,通过PID控制器的输出,以平板倾斜角度α、β为控制量,控制位于X和Y方向的舵机,实现闭环自动调节。

基本部分和发挥部分的要求从本质上来说可以大致分为3种:一是实现滚球在平板上的定点稳定;一是实现滚球在平板上不同定点之间的滚动并最终稳定于某点;三是实现小球位置良好的随动控制。
(1)对于定点稳定,设计思想是通过传感器检测小球当前位置与给定位置之间的偏差,将PID控制器输出转换为占空比不同的PWM脉冲,进而控制舵机,实现控制。
(2)对于不同定点之间的滚动,设计思想是在目标定点进行小球位置和停留时间的检测,即当小球实际坐标与目标定点的给定坐标的偏差在一个较小的范围内时,认为小球经过了目标定点,同时启动STM32内部定时器,当定时达到一定时间后,将给定值更换到下一目标定点,再次进行上述检测,实现控制。
(3)对于随动控制,发挥部分的环绕圆形区域的运动,可以通过控制X和Y方问的舵机分别做正波污动北悉加的运动轨迹为李萨如图形,取合适的振幅和初相角即可实现环绕运动

二、核心部件电路设计
1.关键器件性能分析
(1)0V7725图像传感器:灵敏度高,帧速率最高可达60/秒,可调焦距。
(2)STM32F407VET6芯片:主频达到168MHz.其FSMC采用32位多重AHB总线矩阵,比STM32F103RCT6的总线访问速度明显提高。
(3)STM32F103RCT6芯片:主频为72MHz,丰富的增强V0口,具有极强的处理计算能力。
(4)蓝牙通信模块:HC-05主从机一体蓝牙板块,体积小,质量轻,接口电平为3.3V,可直接与STM32相连,配对后可以全双工通信。
采用SR431能机,可以转动180°,扭矩为1.2N·m。

2.电路结构工作原理
5V、12V电源分别给STM32芯片和舵机供电,STM32F407VET6芯片与图像传感器连接,处理其输出图像,检测到的小球位置信息,通过屏幕显示,并通过HC-05蓝牙模块将信息传送给STM32F103RCT6主控芯片。STM32F103RCT6芯片接收到小球位置信息后,通过PID算法调整PWM脉冲占空比,控制舵机转动,从而控制平板倾斜,以实现对小球位置的控制,此外还可以通过矩阵键盘实现不同功能的切换。
系统整体电路框图如图3所示。



3.核心电路设计
0V7725电路如图4所示,STM32最小系统电路如图5所示。
在图4中,摄像头的引脚与STM32F407VET6芯片上外设DCMI的相关引脚相连,可以实现图像信号50/秒的快速读取,以满足系统控制实时性的要求。





三、系统软件设计分析
系统主流程如图6所示,主要模块设计介绍如下。



1.OV7725图像传感器
通过ScCB总线可以完成摄像头的频率、像素大小、白平衡、色度、宪度等一系列初始化设置。DCM1外设可以很好地完成图像信号的接收,通过中断程序将图像信息存储到一个二维数组中,用于图像处理。

2.图像处理(小球定位)
0V7725图像传感器输出RGB565格式的图像信号,通过权重算法可以将其转换为灰度信号,再设定合适阀值进行二值化处理。把得到的二值化图像存储到一个二维数组里,然后逐行逐列扫描数组,选取黑色像素坐标的最大值和最小值,即小球的边沿坐标。然后求取坐标X、Y的平均值,即小球的几何中点,再通过蓝牙模块发送给主控器件。

3.舵机控制
通过STM32F103RCT6芯片的定时器产生PWM波,控制舵机旋转角度,并在定时器中断中调整PWM波的比较值,实现角度调整。

四、竞赛工作环境条件
(1)设计分析软件环境:Windows 7操作系统、Keil5MDK、Altium Designer等软件。
(2)仪器设备硬件平台:锂电池、示波器、万用表。
(3)配套加工安装条件:电钻、切割机、热熔胶**、电烙铁等工具,用于制作机械结构。
(4)前期设计使用模块:舵机、单片机最小系统板。



0

主题

2

帖子

62

积分

一粒轻沙

Rank: 1

积分
62
沙发
发表于 2019-7-30 20:16:18   只看该作者
请问你们的图是通过哪一款软件画的?

150

主题

446

帖子

1968

积分

审核员

Rank: 9Rank: 9Rank: 9

积分
1968
板凳
发表于 2019-7-31 09:49:24   只看该作者
奋斗ing 发表于 2019-7-30 20:16
请问你们的图是通过哪一款软件画的?

一般情况下是用AD18   发文章的话 有时候用WORD 流程图插件

0

主题

2

帖子

62

积分

一粒轻沙

Rank: 1

积分
62
4#
发表于 2019-8-1 18:46:23   只看该作者
secret 发表于 2019-7-31 09:49
一般情况下是用AD18   发文章的话 有时候用WORD 流程图插件

好的,谢谢姐

12

主题

49

帖子

1382

积分

单晶硅锭

Rank: 3Rank: 3

积分
1382
5#
发表于 2021-8-17 12:14:32   只看该作者
有代码流程图和部分代码吗?

打赏

参与人数 9赫兹币 +45 收起 理由
mei187 + 5
zombiejbt + 5
csj0710 + 5
hw123456 + 5
RHAnthony + 5
blueblues + 5
bly + 5
JTao + 5
shenweizuibang + 5

查看全部打赏

快速回复 返回顶部 返回列表