您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 2017电子设计大赛论文:滚球控制系统
2017年全国大学生电子设计竞赛陕西赛区设计报告封面作品编号:(由组委会填写)……………………………剪切线…………………………………………………作品编号:(由组委会填写)参赛队编号(参赛学校填写)学校编号组(队)编号选题编号0218B说明1.为保证本次竞赛评选的公平、公正,将对竞赛设计报告采用二次编码;2.本页作为竞赛设计报告的封面和设计报告一同装订;3.“作品编号”由组委会统一编制,参赛学校请勿填写;4.“参赛队编号”由参赛学校编写,其中“学校编号”应按照巡视员提供的组委会印制编号填写,“组(队)编号”由参赛学校根据本校参赛队数按顺序编排,“选题编号”由参赛队员根据所选试题编号填写,例如:“0105B”或“3367F”。5.本页允许各参赛学校复印。摘要滚球控制系统通过摄像头获得滚球装置中小球和平板的图像,然后采用NanopiM3进行相应的图像处理算法处理图像,通过坐标变换转换为小球在平板上的位置信息,将位置信息传送给STM32F103RC系统控制器,在平板的两个相互正交方向上分别进行PID控制算法,控制舵机驱动平板在这两个相互正交方向上相互配合地倾斜,从而间接控制小球直线、绕环等运动。采用按键选择和12864液晶显示屏,选择和显示工作模式和参数。系统制作完善,测试结果理想,很好的完成了各项任务要求。关键词:PID控制算法;图像处理;STM32F103RC;12864液晶显示屏11方案设计与论证1.1总体方案描述图1.1是滚球系统的构成框图,主要由控制器、执行器、板和球、摄像机、图像处理模块构成。给定位置控制器执行器板和球球的位置摄像机图像处理+—图1-1滚球系统构成框图具体的工作过程为:通过摄像机采集小球的运动图像,在图像处理单元,利用Nanopi2Fire对图片进行处理,获取球相对于板的位置,将位置信息传送到控制器,在控制器内计算控制量,通过控制执行机构来控制平板运动,进而控制小球的运动。1.2主控制器的选择方案方案1:采用可编程逻辑器件CPLD,具有并行输入输出方式。它在系统处理的速度上较快,但是规模大、结构复杂,而系统不需要复杂的逻辑功能,对数据处理速度的要求也不是非常高。方案2:采用FPGA作为系统的控制器。FPGA可以实现各种复杂的逻辑功能,规模大,密度高。但是因其价格较高使系统成本增加,高速处理优势得不到体现。方案3:采用STM32F103RC单片机。STM32F103RC单片机,具有功能强大、效率高的指令系统,以及高性能模拟技术及丰富的外围模块。方便高效的开发环境使操作更加简便,低功耗是其它类单片机难以比拟的,集成度较高,编程相对简单。STM32定时功能强大,主要应用的是定时器的PWM模式,PWM模式只能在定时器的4个通道产生频率相同但是占空比不同的输出信号,由于要控制4个电机的运行(在板球控制系统中只使用其中的两个电机),因此要用到定时器的PWM模式。在滚球系统中,还要对采集到的位置信息需要进行两个方向的PID运算,为满足高速的运算要求,系统选择了性能更好的STM32F103RC单片机。21.3摄像头选择方案方案1:采用陕西维视MV-VD系列工业摄像机。此摄像头最高采集频率为60帧/s。陕西维视数字图像技术有限公司提供了摄像机在VC6.0下的底层驱动代码,因此在VS2008上,可以比较容易的编写摄相机驱动程序,控制相机的采集频率和其他一系列的相机参数。对相机采集回来的图片应用数字图像处理技术,对每一帧图片进行处理,获取球的位置信息。方案2:采用iMac拆机摄像头,该摄像头体积小、易于安装,支持各种分辨率,最大硬件分辨率1280*1024,720P高清,可改USB摄像头,且价格便宜。考虑到系统对图像的分辨率没有太大的要求,但在价格方面iMac拆机摄像头又远远低于MV-VD系列工业摄像机,因此采用iMac拆机摄像头。1.4图像处理器选择方案方案1:采用Nanopi2Fire处理器。该处理器为四核A9处理器,运行主频1.4GHz,具有1GB内存,依托Debian/Android的强大生态系统,以及各种各样的扩展配件,Nanopi2Fire兼容树莓派的IO口,可支持并行CMOS摄像头接口,和1路专用调试串口,对图像处理具有强大的优势。方案2:它采用高性能的ARM/Cortex-M32/32位RISC内核,工作频率为72MHZ,内置高速存储器,以及丰富的IO设备和外部接口。由于图像处理需要高速的处理速度,STM32对图像处理略显卡顿。图像处理器选择Nanopi2Fire处理器。1.5电机选择方案方案1:采用带有丝杆的直流减速电机。直流减速电机经过减速后对外输出力矩增加,板在倾斜过程中,丝杆连接处的水平距离变短,对丝杆有较大的截向的力,对平板的进一步运动有所阻碍。方案2:采用舵机。舵机是靠脉冲的宽度来控制其转动的角度,使用舵机带动连接轴即可控制平台的倾斜。舵机使用方便,响应速度快。方案3:采用直线电机。直线电机可自由控制杆的伸长和缩短,其速度为8cm每秒,最大伸缩长度为15cm,行程大。舵机和直线电机响应速度相当,但是直线电机笨重不及舵机小巧,且舵机价格实惠,所以系统采用舵机。32理论分析与计算2.1小球识别原理小球位置和圆形的检测是控制滚球系统的基础。在图像处理以及模式识别中,经常需要获取图片中圆和矩形的信息,将采集到的图片首先进行灰度化处理,再进行边缘检测、转化为二值图像等操作,具体流程如图2-1所示。开始采集图片图像的灰度化边缘检测转化为二值图像轮廓查找指定精度逼近圆形存储圆形图片上绘制图形正确结束是调整阈值否图2-1小球识别流程图其中,边缘检测需要进行如下步骤。1)将彩色图像转换为灰度图像,用高斯平滑滤波对图像进行去噪处理。42)用高斯的一阶微分对图像进行滤波,获得较好的梯度边缘。3)对梯度进行非极大值抑制和滞后阀值处理得到图像的边缘。4)采用双阀值算法检测和连接边缘。设置检测强边缘和弱边缘的2个阀值。当检测到的边缘点的阀值,高于强边缘的阀值,则为强边缘,输出边缘点。当检测到边缘点的阀值介于强边缘的阀值和弱边缘的阀值之间时,认为是弱边缘点,当且仅当弱边缘与强边缘相连时,弱边缘才被输出。经过以上几个步骤处理,检测到图像的边缘并输出。2.2小球运动控制原理系统采用在工业控制中得到广泛运用的PID控制器,因为采用的是离散计算,所以PID算法又称为数字PID。数字PID控制算法可以分为位置式PID和增量式PID,在滚球系统中采用的是位置式PID。常规模拟PID控制的控制规律描述如式2.1:u(t)=𝐾𝑝[𝑒(𝑡)+1𝑇𝑖∫𝑒(𝑡)𝑑𝑡+𝑇𝑑𝑑𝑒(𝑡)𝑑𝑡𝑡0(2.1)其中:𝑒(𝑡)为期望值与实际值之差、Kp为控制器的比例参数、𝑇𝑖为积分时间、𝑇𝑑为微分时间。现在PID控制的实现大都不采用模拟电路的模式,而是采用数字形式,所以它只能根据采样时刻的偏差来计算控制量,而不能像模拟控制那样连续输出控制量,进而连续控制。因而2.1式中的积分项和微分项不能直接使用,必须要经过离散化处理。离散化处理的方法为:以T为采样周期,K为采样序号,则离散采样时间KT对应连续时间t,用一阶后向差分式近似代替积分,可作如下近似变换:{𝑡≈𝐾𝑇(𝐾=0,1,2,⋯)∫𝑒(𝑡)𝑑𝑡𝑡0≈𝑇∑𝑒(𝑗𝑇)=𝑇∑𝑒𝑗𝑘𝑗=𝑜𝑘𝑗=0𝑑𝑒(𝑡)𝑑𝑡≈𝑒(𝐾𝑇)−𝑒[(𝐾−1)𝑇]𝑇=𝑒𝐾−𝑒𝐾−1𝑇(2.2)令𝑒(𝐾𝑇)=𝑒𝐾,式2.2代入式2.1得离散式PID表达式:𝑢𝐾=𝐾𝑝[𝑒𝐾+𝑇𝑇𝑖∑𝑒𝑗+𝑇𝑑𝑒𝐾−𝑒𝐾−1𝑇𝐾𝑗=0](2.3)或𝑢𝐾=𝐾𝑝𝑒𝐾+𝐾𝑖∑𝑒𝑗+𝐾𝑑(𝑒𝐾−𝑒𝐾−1𝐾𝑗=0)](2.4)滚球系统将采集到的小球的位置信息在两个相互正交方向分别进行PID运算,将运算结果作用到PWM的脉宽上,以达到控制舵机转速。53系统软硬件设计3.1硬件结构设计设计的平台机械结构如图3-1所示。YX1241:载球平台;2:支架;3:底盘;4:舵机图3-1平台机械结构示意图小球的运动控制是通过处理器的计算将结果反馈给舵机来X方向和Y方向的舵机转动,以实现载球平台不同方向的倾斜,从而使小球按照预期的轨迹和规定运动参数在平台上完成相应的动作。3.2稳压电路部分电子产品中,常见的三端稳压集成电路有正电压输出的78××系列和负电压输出的79××系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三条引脚输出,分别是输入端、接地端和输出端。7805三端稳压IC内部电路具有过压保护、过流保护、过热保护功能,这使它的性能很稳定。能够实现1A以上的输出电流。所以,7805稳压芯片十分适合系统的稳压电路设计。原理图如图3-2所示。6图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-3液晶引脚连接图73.4总体程序框架根据任务要求设计如图3-4所示的程序框架。开始初始化液晶调用键盘程序设定位置设定静止状态PID调节是否静止否设定初始位置及最终位置设定圆周运动PID调节是否达到设定位置PID调节是否静止否是PID调节轨迹是否合适否是是显示所用时间按键1按键2按键3图3-4总体程序框架图(1)当系统上电后,12864液晶显示器显示开机界面,与此同时STM32F103RC对按键检测,选择工作状态,设定静止状态、运动位置、圆周运动。通过PID调节实现相应的功能。(2)摄像头捕捉图像,Nanopi处理返回坐标值,调用PID子程序进行计算。8(3)键盘初始化,判断是否有按键按下,无键按下,重新进行键盘扫描;有键按下,判断是哪个键按下,并进行相应的操作。94系统测试4.1测试仪器在室温条件下,测试所用仪器如表4-1所示。表4-1测试仪器编号名称型号1数字万用表UT39A2秒表XINJIE3示波器UTD2062CEL4.2指标测试结果(1)小球在指定区域停留时间。要求:将小球放置在区域2,控制使小球在区域内停留不少于5秒,经过5次测试,测试结果如表4-2所示。表4-2小球在区域2停留时间(2)小球从一个区域进入另一个区域所用时间及停留时间。要求:控制小球从区域1进入区域4,在区域4停留不少于2秒;然后再进入区域5,小球在区域5停留不少于2秒。完成以上两个动作总时间不超过20秒。表4-3小球运动时间及停留时间次数放置位置停留时间(秒)是否达标12区域10是22区域12是32区域12是42区域15是52区域13是次数区域a到区域b运动完成时间停留时间(秒)是否达标104.3误差分析经分析,系统的主要误差来自于摄像头图像的采集,一方面,采集图像时受环境的影响较大,使得识别小球时有错误识别的情况。另一方面,由于摄像头是固定的,不能始终与正对着平台,在平台倾斜时,采集到平台的图像为梯形,使得小球的位置获取有一定误差。(秒)11到2165否21到2145是31到4136是41到4154是115总结滚球控制系统以STM32F103RC为主控制器,以NanoPi为图像处理器,STM32根据NanoPi反馈的小球位置信息进行PID运算,作用于舵机改变平台的倾斜角度以达到控制小球运动的目的。因为滚球系统是通过摄像头采集图像,所以对硬件的搭建的要求很严格,为达到降低误差的目的,要求各机械结构的尺寸设计精确,且装配准确。在设计滚球控制系统过程中,不仅仅提高了动手能力,更是提高了发现问题和解决问题的能力。滚球控制系统在硬件上还存在着误差,可进一步的通过设计的合理性及精确程度来降低误差,在软件上,单纯的使用PID控制器,今后可通过建立数学模型来提高控制的高效性。12
本文标题:2017电子设计大赛论文:滚球控制系统
链接地址:https://www.777doc.com/doc-1200784 .html