关注v-x-公-众-号:【嵌入式基地】
后-台-回-复:【电赛】 即可获资料
回复【编程】即可获取
包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、数据库、微信小程序、人工智能、嵌入式、Linux、Unix、QT、物联网、算法导论、大数据等资料
电子设计大赛资料分享:
https://pan.baidu.com/s/14qxwGv7Sq6a_jcMT3mNwtw#list/path=%2F
提取码:jdxj
摘 要
滚球控制系统是一种典型的多变量,非线性的欠驱动控制系统,其目的是为了实现小球的镇定控制与轨迹跟踪。本系统利用摄像头采集信息,经过摄像头硬件二值化得到小球的坐标,程序设定小球的运动轨迹。采用增量式PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。从而使系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、按指定方向偏移,具有很好的稳定性。本系统通过大量的调试PID参数,最终可以实现轨迹路径运动,静态平衡等题目内容。
关键词:增量式PID算法,图像处理,PWM,硬件二值化
根据题目要求,基本需要LCD显示屏,矩阵键盘,摄像头以及舵机等外设,用键盘输入指令选择系统需要执行的相关程序。摄像头用于图像采集,根据采集的数据来计算小球当前位置和目标位置的距离,通过单片机,利用PID算法进行控制,使小球朝着要求的目标位置运动,同时LCD显示经过处理的运动画面。
由于平板边长(65cm)较长,且要求摄像头要俯拍平板全画面,所以要求装置底座结构稳定,支撑摄像头支架稳定不晃动。平板材料方面,选用轻便的硬质塑料泡沫材料与舵机传动轴进行刚性连接,既能保证连接处的稳定,又可达到灵活目的。电机选择方面,既要保证推力够大,能够实现题目基本要求中的轨迹移动、快速制动静止。评判中心作为坐标系原点,x轴、y轴各放置一个伺服电机,利用伺服电机控制x、y轴可实现对平板各个方向倾斜的控制。
采用K60单片机。操作简单,带有配套的LCD显示屏,可精确显示出图像以及小球的坐标信息。并且开发环境非常容易搭建,2 路PWM控制两个舵机 ,单片机可控制舵机转动,从而实现小球的移动。符合题目所需的控制要求。
方案一:摄像头选择的是OV7725型可以硬件二值化的鹰眼摄像头,像素30万,传输速率达到60fps,视场角达到63°,拥有很好的低照度。可以满足本系统所需。
方案二:选择ov7670图像传感器。体积小,工作电压低,基本与ov7725相同。但是视场角只有23°,由于板子边长较大,视场角小的话需要把摄像头抬高,这样影响模型的稳定。并且ov7670不能进行硬件二值化处理摄像头采集的图像。
综合考虑,为了方便实现功能,选择方案二。
系统使用白色泡沫板材,黑色硬质小球,摄像头采集图像通过硬件二值化:
(1)处理二值化图像,黑为0,白为255.
(2)将0,255化的图像装进一个二维数组。
(3)进行行扫描。
(4)进行列扫描。
(5)如果为255,则分别将x,y坐标输出到两个一维数组。
(6)该一维数组第一个和最后一个数组相加除以2,即为(x,y)坐标。
增量式PID控制将当前时刻的控制量和上一时刻的控制量做差,以差值为新的控制量,是一种递推式的算法。增量式PID控制主要是通过求出增量,将原先的积分环节的累积作用进行了替换,避免积分环节占用大量计算性能和存储空间。
增量式PID控制的主要优点为:
①算式中不需要累加。控制增量Δu(k)的确定仅与最近3次的采样值有关,容易通过加权处理获得比较好的控制效果;
②计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程;
③手动—自动切换时冲击小。当控制从手动向自动切换时,可以作到无扰动切换。
PID算法的公式:
I=KipTs/Ti;
Ad=KipD/Ts;
Kip为比例项系数;I为积分项系数;Ad为微分项系数:
Ti为积分时间常数;D为微分时间常数;Ts 为采样周期常数:
上述公式进一步推倒:
Au(k)=Ae(k)+Kbe(k-1)+Kce(k-2);
A=Kip(1+Ts/Ti+D/Ts);
Kb=(-1)(Kip)(1+2Td/TS);
Kc=Kip*(D/TS);
如图3-1电池充满电7.2V左右,CPU和蓝牙工作电压为5V,摄像头,LCD,拨码开关工作电压为3.3V。因此有7.2V转5V和5V转3.3V模块。
如图3-2PWM模块一端接地一端接两个舵机。蓝牙,摄像头,LCD,拨码开关一端接地,一端接CPU。
1、程序功能描述
系统采用按键控制输入指令,按照每一题的要求设置相应的指令,系统会作出相应的反应,数据会反馈到与单片机相连的显示屏上。
2、程序设计思路
基本要求(1)通过调试在伺服电机的初始状态时平板处于水平平衡状态。基本要求(2)需要采用闭环控制算法,当小球进入图像时,找到目的坐标,利用PID算法控制伺服电机倾斜平板使小球移动。基本要求(3)要采用闭环控制,需要规划出小球行进路线。基本要求(4)同(3)但是需要加快伺服电机的执行效率。