APP下载

基于PID算法的板球控制系统设计

2018-06-19河北农业大学信息学院齐天峰刘五一

电子世界 2018年11期
关键词:像素点编码器小球

河北农业大学信息学院 徐 琳 齐天峰 刘五一

1.方案论证

1.1 方案的选择

1.1.1 总方案的论证选择

方案一:开环控制系统

由滚动摩擦公式,结合自己制作的平板通过测试计算得出具体的方程,又牛顿第二定律等物理知识得出平板上球从一点到另一点所需要的大概的倾斜角度、滚动时间等,再通过硬件调试调整这些参数,最终实现实验任务。但其操作比较复杂,而且可靠性不强。

方案二:模糊控制理论

由于板球系统是一个典型的非线性系统,所以可以考虑使用模糊控制理论,建立模糊数学模型,代入程序中,调整参数,使之达到要求。但模糊数学理论比较复杂,数学模型难以建立。

方案三:PID算法控制:由摄像头得到小球位置,与选定位置做对比,通过PID调节,调整参数,使小球到达选定的位置。它兼顾了系统的稳定性、快速性和准确性,是一套有效的算法。

综合考虑由于PID原理简单、使用方便,适应性强、鲁棒性强、抗干扰能力强,而且易于实现,所以我们决定使用方案三。

1.1.2 控制模块的论证选择

方案一:采用传统的51系列单片机

STC89C52是的一种低功耗、CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。用传统51单片机作为系统的主控核心。方便调试,软件编程相对容易,价格低廉,但其运算速度慢,片内资源少,存储容量小,难以实现复杂的算法

方案二:采用STM32f103

具有专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM Cortex-M内核,该系列为Cortex-M3内核,最高工作频率72MHz,内置32K到128K的闪存,相比51系列性能大幅度提升。可以满足该实验的要求。

方案三:采用STM32f407

相比STM32f103,该型号单片机采用Cortex_M4内核,最高工作频率168M,主频带DSP,不少的集成外设被加强,比如GPIO本身407可有较多的功能选择,而且存储器的Flash和

SRAM加大了很多。相比方案二更优。

通过比较,我们选择控制模块选择方案三。

1.1.3 传感模块

方案一:OV7670

OV7670,图像传感器,体积小,工作电压低,提供单片VGA摄像头和影像处理器的所有功能。通过SCCB总线控制,可以输入整帧、子采样、取窗口等方式的各种分辨率8位影像数据。该产品VGA图像最高达到30帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB接口编程。OmmiVision图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像。

方案二:OV2640

相对于方案二的OV7670,OV2640拥有以上优点,而且像素更高,达到200万像素,可视区域更大,相较OV7670更能满足实验需求。

通过比较我们传感模块选择方案二。

1.1.4 驱动模块

方案一:舵机

舵机最小转动角较大,控制不够精确,不能满足实验的要求。

方案二:步进电机

步进电机是将电脉冲信号转变为角位移或线位移的开环控制电机,在非超载的情况下,电机的转速、停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载变化的影响,可定长定速控制。可以通过控制脉冲个数来控制角位移量,从而达到精准控制的目的。控制比较精确,但是由于它转速过快,使得平板不够稳定。

方案三:减速电机

减速电机是指减速机和步进电机的集成体。电机提供的是高速转速,但力矩小、惯性大,减速器的功能则是降低转速、提升扭矩、降低惯性,达到理想的转速和力矩,配合编码器之后也可以实现定长定速控制。所以它可以使小球比较稳得在平板上运动,满足实验的要求。

通过比较我们驱动模块选择方案三。

1.2 系统总体方案设计

STM主控芯片,使LCD显示信息,接受摄像头返回的信息,带编码器的电机向编码器和电机发送数据,使其运动。

其中,OV2640摄像头用于采集图像,减速电机与编码器用于控制平板的运动,显示屏用于显示当时的平板摄像头图像。

2.理论分析与计算

2.1 计算

2.1.1 像素点的计算

所以可以根据处于对角线边界两点圆形区域位置的判定,按照比例确定其他七个点所在位置。

同理,4、5、6、7、8也按照2、3点来计算位置。

2.1.2 原始图像三值化处理

红色:r = ((rgb_buff[i][j]>>11)&0x1f)×255÷31

绿色:g = ((rgb_buf[i][j]>>5)&0x3f)×255÷63

蓝色:b = (rgb_buf[i][j])×255÷31

2.2 算法

2.2.1 PID算法

其中:

3.电路搭建与程序设计

3.1 电路设计

STM32F407连接0V2640摄像头、显示屏、减速电机。其中减速电机连接着编码器。

3.2 程序设计

(1)获取摄像头图像:在摄像头拍摄到的图片上取320×240分辨率,对像素点的RGB颜色进行分析,若离红色(255,0,0)较近,则取为红色,若离黑色(255,255,255)较近,则取为黑色,若离白色(0,0,0)较近,则取为白色。处理后,图像上只显示红、黑、白三种颜色。

(2)确定小球位置:遍历像素点数组,在白色平板和黑色小球边界,数组颜色值会发生改变,选取这个值,确定x轴最大、最小坐标,y轴最大、最小坐标。将最大最小坐标加和取中间值,即能得到小球中心x、y轴坐标。

(3)按键选题:通过case语句,控制按键,来选择题目。

4.总结

该系统无论从程序思路还是机械结构都有多种方案,未来还会用更多方案来更好的解决此问题。解决平衡方面的问题。

猜你喜欢

像素点编码器小球
基于局部相似性的特征匹配筛选算法
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
小球进洞了
小球别跑
小球别跑
基于5×5邻域像素点相关性的划痕修复算法
基于FPGA的同步机轴角编码器
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割
基于PRBS检测的8B/IOB编码器设计