基于STM32滚球控制系统的分析与设计

合集下载

滚球控制系统设计报告最终版

滚球控制系统设计报告最终版
如图3-1电池充满电7.2V左右,CPU和蓝牙工作电压为5V,摄像头,LCD,拨码开关工作电压为3.3V。因此有7.2V转5V和5V转3.3V模块。
系统使用白色泡沫板材,黑色硬质小球,摄像头采集图像通过硬件二值化:
(1)处理二值化图像,黑为0,白为255.
(2)将0,255化的图像装进一个二维数组。
(3)进行行扫描。
(4)进行列扫描。
(5)如果为255,则分别将x,y坐标输出到两个一维数组。
(6)该一维数组第一个和最后一个数组相加除以2,即为(x,y)坐标。
滚球控制系统设计报告最终版
———————————————————————————————— 作者:
———————————————————————————————— 日期:

全国大学生电子设计竞赛
(B题)滚球控制系统
摘要
滚球控制系统是一种典型的多变量,非线性的欠驱动控制系统,其目的是为了实现小球的镇定控制与轨迹跟踪。本系统利用摄像头采集信息,经过摄像头硬件二值化得到小球的坐标,程序设定小球的运动轨迹。采用增量式PID算法,比例环节进行快速响应,积分环节实现无静差,微分环节减小超调,加快动态响应。从而使系统具有良好的性能,能很好地实现自由摆运动、快速制动静止、画圆、按指定方向偏移,具有很好的稳定性。本系统通过大量的调试PID参数,最终可以实现轨迹路径运动,静态平衡等题目内容。
②计算机每次只输出控制增量,即对应执行机构位置的变化量,故机器发生故障时影响范围小、不会严重影响生产过程;
③手动—自动切换时冲击小。当控制从手动向自动切换时,可以作到无扰动切换。
PID算法的公式:
I=Kip*Ts/Ti; Ad=Kip*D/Ts;
Kip为比例项系数;I为积分项系数;Ad为微分项系数:

滚球控制系统设计报告

滚球控制系统设计报告

滚球控制系统设计报告2017年全国大学生电子设计竞赛设计报告滚球控制系统(B题)【本科组】摘要:本系统采用STM32F103ZET6最小系统板为控制中心,利用OV7670摄像头、显示器、按键、S010舵机、小球、万向节、平板支架构成滚球控制系统。

单片机利用摄像头采集到的数据,确定小球的位置坐标,通过PID闭环控制舵机PWM输出打角拉动支撑杆,控制平板倾斜度达到小球滚到指定区域停留等状态。

控制系统采用PID算法组成闭环控制系统具有很好的稳定性,此外通过TFT显示屏显示小球位置,各个功能的实现可以通过按键输入。

一、系统方案本系统主要由单片机控制模块、摄像头模块、LCD显示屏模块、电源模块、舵机及平板机械支架构成组成。

STM32作为滚球系统的控制核心,利用摄像头采集过来的数据通过黑白二值化,以此判别平板和黑色球并显示在LCD上。

摄像头对滚球准确定位,确定其坐标位置,同时记录平板规定的9个区域坐标,单片机通过返回的坐标位置结合PID算法,给定舵机PWM输出形成闭环控制系统,从而控制小球去到指定区域保持平衡。

同时,可通过矩阵按键选择功能模式,与设计任务一一对应的,系统的总体方案框图见图1。

图1 系统总体方案框图1、主控制器件的论证与选择方案一:采用STC89C52单片机作为控制模块的核心。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

但其能使用的I/O 口很少,ROM空间不足,不适合采用STC89C52为主控芯片。

方案二:采用STM32103FZET6单片机为主控器。

STM32运行速度快,片上资源丰富,具有很多外围接口,可拓展性强,灵活性高。

完全可以实现本系统的各个设计任务,具有良好的响应速度。

通过比较,我们选择方案二。

2、滚球控制系统方案选择方案一:采用MPU6050三轴陀螺仪。

利用三轴陀螺仪可以算出平板的当前位置姿态,具有测量精确、结构简单等优点,但考虑到小球需要到平板指定的9个区域,MPU6050传感器很难确定其准确位置,可靠性差。

滚球控制系统的设计与实现

滚球控制系统的设计与实现

Automatic Control •自动化控制Electronic Technology & Software Engineering 电子技术与软件工程• 129【关键词】平板 STM32单片机 OV7725摄像头 舵机 LCD1 设计任务在边长为65cm 光滑的正方形平板上均匀分布着9个外径3cm 的圆形区域,其编号分别为1~9号。

设计一个控制系统,通过控制平板的倾斜,使直径不大于2.5cm 的小球能够按照指定的要求在平板上完成各种动作,并从动作开始计时并显示,单位为秒。

2 系统分析对小球进行受力分析,理想状态下,小球的加速度与板的倾角程正比例关系,其关系式为a=gsinx ,x 为板子倾斜角度,速度为a 的积分,位移为速度的积分。

如果取速度为直接控制量的话,那角度与速度的对应关系是直接的线性关系。

假设执行机构与板子倾斜度的传递函数值为1,那么P 控制可以完美控制小球的速度,进而控制小球的位移。

但实际系统中,小球的加速度与板子倾斜角度并非完全是线性关系,此时要加D 及时修正,并且小球与平板存在静摩擦,有时给一定倾斜角度并不会使其运动,所以要加I 进行补偿,但是I 的滞后非常严重,不适用于动态系统,故应采用积分分离的PID 控制方法来控制小球的速度。

如果要得到良好的位移相应曲线,能控制速度从根本上解决超调失调的现象。

故本题可采用串级PID 的方式,将当前位移差期望的速度送到内环PID 去修正补偿,以追随当前期望速度,具体算法在后续文字中有部分说明。

可近似为a=gx 。

3 模块选型控制模块:控制模块是整个控制系统的核心,承载着执行控制算法,实现控制功能的作用。

因此,要保证系统整体的控制质量,控制器的选择非常重要!在控制器的选择方案中,选择技术成熟,应用广泛的STM32作为主控芯片。

滚球控制系统的设计与实现文/鲁放 张宸赫 郑晗检测模块:检测模块是系统的“眼睛”,从根本上决定了整个系统的控制精度,在进行选型时统筹考虑检测精度与检测速度,再进行众多比较后选择兼具速度与精度的OV7725搭配K60最小系统板初步处理原始观测数据组成检测模块。

滚球控制系统的设计

滚球控制系统的设计

自动化控制• Automatic Control114 •电子技术与软件工程 Electronic Technology & Software Engineering【关键词】stm32单片机 openmv 摄像头 舵机PD 随着当前科技电子的进步,逐渐兴起了一批新型电子。

文献[1]进行了模糊控制和传统的PD 和PID 算法的研究;文献[2] 研究了解耦自适应模糊多层滑模控制方法能够有效解决非线性系统的不确定性、强耦合和外部干扰等问题;文献[3] 对视觉的板球控制系统进行研究,并取得了很好的控制效果。

基于2017年全国大学生电子设计竞赛的滚球控制系统的设计要求,该设计不仅可以调动大学生学习电子知识的积极性,而且可以普遍提高人们对电子商业的重视,还可以补充大学生动手实践能力不足的缺陷,最重要的是能够让大学生认识到团队的重要性,培养团队协作的意识。

1 系统总体设计本系统首先给单片机一个指令,如将小球运动到白板某一位置,然后openmv 摄像头锁定这个位置,再将这个位置返回给主控,主控给舵机指令,舵机运动,使小球运动,同时,PD 算法也运行起来,使小球不会掉下白板,并最终稳定的停在指定位置。

本系统经过软硬件实际调试之后,能够实现基本目标。

2 系统结构2.1 系统机械结构系统的底层支架是一块大木板,白板在木板的上15cm 处,白板正中央由一支碳素杆加一个万向轮固定,一个舵机固定在碳素杆的左方(定为x 轴),一个位于第一个舵机和万向轮的垂直平分线上(定为y 轴),openmv 摄像头固定在空心的铁棒上,距离白板大约60cm ,下面用两根铁棒固定在木板上,按键、单片机和oled 显示屏固定在木板上。

2.2 系统硬件结构滚球控制系统的设计文/刘宝民 方士博 赵海博 耿春丽本文涉及的滚球控制系统包括单片机控制模块、openmv 摄像头模块、显示模块、按键、舵机模块、电源模块等组成。

如图1所示。

2.2.1 单片机控制模块基于ARM 系列32位stm32f103zet6单片机,此单片机功耗小,I/O 端口速度快,12通道DMA 控制器,调试方式简单高效,中断响应速度快、处理效率较高。

基于STM32的板球控制系统的优化设计与研究

基于STM32的板球控制系统的优化设计与研究
1 系统方案 本系统 主 要由机 械 模 块、芯片控制 模 块、摄 像头图传
模 块、动作 模 块、电源 模 块 组 成,下 面分 别 论 证 这 几个模 块的选择。 1.1 处理芯片的论证与选择
方 案一:S T C 51系列 单片机 是在 现 应 用较 为广泛的 单 片机中价格较为低廉的一种:其内部集成专用复位电路, 2路PWM,针对电机控制,强干扰场合,但是此芯片的晶振 频率 较低,而且性能 很 差,当传 输 数 据量较大 时速 度 难以 满足运算要求,并且无法承担复杂的运算以及图像显示。
文献标识码:A
文章编号:1674-098X(2020)06(a)-0152-03
Abstract: The cricket system is a complex, nonlinear and unstable system. It can be used as an experimental model, but also has its complexity and is in common with many control systems. Therefore, it is an important task to control its stability. In this project, a small ball moving on the plate is taken as the controlled object. By collecting the position image of the ball from the camera and feeding it back to the STM32 series SCM, the motor is controlled to conduct trajectory planning and positioning control for the ball, so as to explore and verify the method of stable movement of the robot. From the simple motor stability control to the variable integral PID regulation, the motor speed inner loop and the position of the outer loop of the double closed-loop control, f inally the image data optimization processing. A balance control model is established, which provides a new method of balance control and data optimization for robot researchers. Key Words: PID regulation; Cricket control system; Optimization of graph transmission data; STM32 series SCM

基于STM32单片机板球控制系统的设计与实现

基于STM32单片机板球控制系统的设计与实现

基于STM32单片机板球控制系统的设计与实现作者:魏敏张华正胡红新来源:《科学与财富》2018年第24期摘要:本文研究了一种基于STM32单片机的板球控制系统。

文章详细阐述了本系统的工作流程,硬件设计,软件编程和测试结果分析。

本系统采用了一块STM32f103微处理器作为主控芯片,通过串口通讯控制STM32f407微处理器对摄像头采集图像进行图像处理。

STM32f407将处理结果发送给主控芯片。

主控芯片通过PID算法计算控制量,输出PWM波控制两舵机。

舵机通过拉杆调节平板倾斜度,控制小球在平面上的运动。

经验证,本系统控制效果良好。

关键词:STM32单片机;图像处理;PID;舵机1系统方案1.1系统结构本系统主要由STM32F103控制核器、电机控制模块、按键模块、电源模块、液晶显示模块和图像处理等单元模块构成。

小球选用的是直径2.0cm的钢球,通过舵机带动平板上下运动,使得小球在平板上滚动,通过摄像头对小球位置进行检测,用STM32F407图像处理后的图像通过液晶显示屏显示,之后用PID算法精确调节舵机,使小球完成各项指标。

系统框图如下:1.2各部分方案选择与论证1.2.1机械结构方案选择与论证方案一:利用手头仅有的万向节与双舵机,将万向节固定在板子中下方,两个舵机分别放在相邻两边的中线处,成90度角,摄像头固定在距离平板大约80cm处,尽量还原经典板球结构,同时焊接相应配套铁架台来固定摄像头和单片机等器件。

方案二:采用悬挂式,将三个步进电机分别固定在所选铁架的三个角上,步进电机通过鱼线与对应木板角相连,木板最后一角处直接用线固定,通过三个步进电机的转动来控制与平板相连的线的伸缩从而控制平板的平衡,进而维持小球的正常运动。

方案二通过悬挂的方式致使平板很不稳,本身就存在抖动现象,受外界因素影响太大,自身缺陷太多,并且三个电机分布不均匀,使难度加大;由于最初我们采用的是方案二,实验结果并不理想,因此我们最终采用方案一,并取得理想结果。

基于stm32的控制系统设计

基于stm32的控制系统设计
6. 控制算法实现:根据控制系统的要求,实现相应的控制算法,如PID控制、状态机控制 等。
基于stm32的控制系统设计
7. 通信接口设计:如果控制系统需要与其他设备进行通信,可以通过UART、SPI、I2C等 接口实现与外部设备的数据交换。
8. 调试和测试:在硬件和软件开发完成后,进行系统的调试和测试,确保系统能够正常运 行和满足设计要求。
3. 电路设计:根据系统需求,设计电路板,包括电源电路、外设接口、传感器接口等。
基于stm32的控制系统设计
4. 软件开发:使用适当的集成开发环境(IDE)和编程语言(如C/C++),编写嵌入式软 件程序,包括初始化STM32芯片、配置外设、实现控制算法等。
5. 传感器和执行器接口:根据系统需求,选择合适的传感器和执行器,并通过STM32的 外设接口(如GPIO、ADC、PWM等)与其进行连接和通信。
9. 部署和应用:将设计好的控制系统部署到实际应用中,进行实际运行和验证。 在进行基于STM32的控制系统设计时,需要熟悉STM32的硬件架构和外设接口,并具备 嵌入式软件开发的知识和经验。同时,了解控制系统的原理和算法,以及相关的电路设计和 通信技术,能够更好地进行系统设计和开发。ຫໍສະໝຸດ 基于stm32的控制系统设计
基于STM32的控制系统设计是指利用STM32系列微控制器来实现控制系统的设计和开发 。以下是一般的基于STM32的控制系统设计的步骤和要点:
1. 系统需求分析:明确控制系统的功能和性能要求,包括输入输出接口、控制算法、通信 需求等。
2. 硬件选型:选择合适的STM32微控制器型号,考虑处理能力、存储容量、外设接口等 因素。

基于 STM32 的运动控制器设计

基于 STM32 的运动控制器设计

基于 STM32 的运动控制器设计随着工业自动化的不断发展,越来越多的机器设备需要使用运动控制器来实现精密控制和稳定运行。

而基于STM32的运动控制器因其低功耗、高性能和强大的功能而备受关注。

本文将探讨基于STM32的运动控制器设计。

一、STM32概述STM32是一款由意法半导体推出的32位ARM Cortex-M系列微控制器,其具有低功耗、高性能和丰富的外设资源等特点,被广泛应用于工业、汽车、医疗、航天航空和消费电子等行业。

STM32除了具有硬件性能强大的特点外,其软件开发也非常便捷,支持多种开发工具和多种开发语言,如C、C++和汇编语言等。

二、运动控制器概述运动控制器是一种能够对各种运动进行精密控制的设备,包括电机、伺服控制以及各种位置和速度控制等。

在现代自动化领域中,运动控制器被广泛应用于各种机器设备中,以保证其稳定运行和精确控制。

三、基于STM32的运动控制器设计基于STM32的运动控制器设计通常需要包括以下几个方面:(一) 硬件设计方面硬件设计方面主要包括电路设计和PCB设计两个部分。

在电路设计方面,需要根据实际需要选择不同的外设资源,例如AD/DA转换器、PWM模块等,将其与STM32微控制器相连接,实现控制目标设备的需求。

在PCB设计方面,需要根据电路设计原理图和PCB设计规范进行各种封装和布线操作,最终将设备制成PCB板供后续生产和使用。

(二) 软件设计方面软件设计方面主要包括应用程序设计和调试两个部分。

需要编写C/C++代码,通过STM32的开发平台和工具链实现基于STM32的运动控制器。

在调试方面需要使用STM32开发板进行验证,优化和验证控制器的效果和性能。

(三) 性能和效果测试方面测试性能和效果是评估基于STM32的运动控制器是否能够达到预期效果的重要步骤。

可以通过连接实际运动设备,以及利用专业的测试工具和软件来测试控制器的性能,如稳定性、速度精度的能力等。

四、基于STM32的运动控制器的优势基于STM32的运动控制器具有如下优势:(一) 性能优异:STM32微控制器采用最先进的ARM Cortex-M系列结构和D-Cache技术,在提高性能的同时降低能耗。

自平衡滚球系统的设计与实现

自平衡滚球系统的设计与实现

2020年第5期信息与电脑China Computer & Communication软件开发与应用自平衡滚球系统的设计与实现许 彪 焦禹淦(郑州理工职业学院,河南 新郑 451150)摘 要:系统将STM32系列芯片和OpenMV作为处理器采集图像信息,并获取小球在平板上的位置坐标,通过串口传输数据给主控制器完成小球的位置信息采集。

主控制器根据串口数据将坐标信息融合PID算法转换为PWM信号,控制执行机构执行相应的动作,并通过上位机来调节参数,实现了预期的效果。

关键词:自平衡;图像处理;OpenMV;PID算法中图分类号:TP311.52 文献标识码:A 文章编号:1003-9767(2020)05-075-03Design of Self-Balancing Ball Rolling SystemXu Biao, Jiao Yugan(Zhengzhou Institute of Technology, Xinzheng Henan 451150, China)Abstract: In the system, STM32 series chips and openmv are used as processors to collect image information, obtain the position coordinates of the ball on the flat plate, and transmit data to the main controller through the serial port to complete the position information collection of the ball. According to the serial port data, the main controller converts the PID algorithm of coordinate information fusion into PWM signal, controls the actuator to perform the corresponding action, and adjusts the parameters through the upper computer, achieving the expected effect.Key words: self-balancing; image processing; OpenMV; PID0 引言机器视觉检测技术的更新与科学技术的发展是相辅相成的,国外机器视觉技术崛起于20世纪70年代中期,真正迅速发展并趋近于成熟是在20世纪90年代。

滚球平衡控制系统方案的设计

滚球平衡控制系统方案的设计

滚球平衡控制系统方案的设计摘要:该滚球控制系统以STM32F103C8T6单片机为控制核心,通过OV7670摄像头对小球的位置和速度进行采集,通过MPU6050六轴姿态传感器对平板的角度进行测量,采用42步进丝杆电机作为执行机构。

电机与平板通过弹性绳铰接,带动平板运动。

系统整体由12V/10A开关电源供电,通过线性稳压芯片获得+5V、+3.3V两路辅助电源输出。

人机交互由液晶显示屏和按键组成,对系统关键参数和题目要求进行显示。

两环PID联级后在X方向和Y方向耦合,很好得实现了各项,另外小球还可以跟踪触摸屏所触摸的对应位置。

关键词:STM32单片机;MPU6050;步进电机;非线性串级PID算法1.系统方案本系统主要由STM32主控单元、OV7670图像采集单元、人机交互单元、MPU6050姿态传感器、丝杆电机执行机构、辅助电源模块六个部分组成。

下面分别论证这几个模块的方案选型。

1.1主控制器件的论证与选择方案一:采用传统的51系列单片机。

51单片机年代久远,资源有限,运算速度慢,难以完成题目要求。

方案二:采用32位嵌入式芯片STM32F103系列嵌入式芯片是Cortex-M3内核的32位ARM微控制器,外设丰富,应用广泛。

STM32F103微控制器可较好的承担起各种运算,完成相应功能。

综合考虑采用方案二。

1 .2机械结构的论证与选择方案一:采用直流电机加悬挂系统板球系统可采用悬挂机械结构搭建。

但其存在平板自旋、软绳只能提供拉力等缺点。

方案二:采用步进电机加底推系统采用丝杆步进电机来作为驱动单元,底推系统将平板和电机连为一体,属于刚性连接,运动性能好,不易晃动。

步进电机精度高,控制简单,适合于精确控制场合。

综合考虑采用方案二。

1.3系统传感器的论证与选择1.3.1小球位置获取传感器的选取方案一:采用电阻触摸屏电阻触摸屏对于平板尺寸为650mm*650mm,实际中很难找到尺寸相当的触摸屏,多个屏幕拼接又会产生控制死区。

基于STM32微控制器的滚球系统设计.doc

基于STM32微控制器的滚球系统设计.doc

滚球控制系统摘要滚球控制系统由机械部分和控制系统构成,其中机械部分包括摄像头支架、舵机拉杆、万向节以及平板等;控制部分主要由两个STM32最小系统、NRF24L01、摄像头以及舵机组成。

该系统以STM32单片机为控制核心,利用摄像头检测小球在平板上的位置,经过NRF24L01传输给下面的单片机控制舵机,采用PD控制算法,通过输出PWM对舵机进行角度调节,驱动舵机调节平板的偏角,使小球在平板上稳定或做相应运动,从而对小球进行实时控制。

关键词:滚球系统,摄像头,STM32, PWM, PD算法AbstractThe rolling ball system is mainly composed of a mechanical part anda control system, wherein the mechanical part comprises a camera bracket,steering rod, cardan joint and flat; control part is mainly composed of two STM32 minimum system, NRF24L01, camera and steering components. The system uses STM32 microcontroller as control core, using the camera to detect the ball on the plate position, through the NRF24L01 transmission to the microcontroller to control the steering, the PD control algorithm, by adjusting the output angle of PWM actuator drive angle servo adjusting plate, make the ball or do the corresponding motion on the plate, and the ball.Time controlKeywords: Rolling Ball system, Camera, STM32, PWM, PD Algorithm基于STM32微控制器的滚球系统设计1系统方案本系统主要由CPU模块、、小球坐标定位模块、电机驱动模块、LCD显示模块等组成,下面分别论证这几个模块的选择。

滚球控制系统设计报告材料

滚球控制系统设计报告材料

2017年全国大学生电子设计竞赛设计报告滚球控制系统(B题)【本科组】摘要:本系统采用STM32F103ZET6最小系统板为控制中心,利用OV7670摄像头、显示器、按键、S010舵机、小球、万向节、平板支架构成滚球控制系统。

单片机利用摄像头采集到的数据,确定小球的位置坐标,通过PID 闭环控制舵机PWM输出打角拉动支撑杆,控制平板倾斜度达到小球滚到指定区域停留等状态。

控制系统采用PID算法组成闭环控制系统具有很好的稳定性,此外通过TFT显示屏显示小球位置,各个功能的实现可以通过按键输入。

一、系统方案本系统主要由单片机控制模块、摄像头模块、LCD显示屏模块、电源模块、舵机及平板机械支架构成组成。

STM32作为滚球系统的控制核心,利用摄像头采集过来的数据通过黑白二值化,以此判别平板和黑色球并显示在LCD上。

摄像头对滚球准确定位,确定其坐标位置,同时记录平板规定的9个区域坐标,单片机通过返回的坐标位置结合PID算法,给定舵机PWM输出形成闭环控制系统,从而控制小球去到指定区域保持平衡。

同时,可通过矩阵按键选择功能模式,与设计任务一一对应的,系统的总体方案框图见图1。

图1 系统总体方案框图1、主控制器件的论证与选择方案一:采用STC89C52单片机作为控制模块的核心。

STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。

但其能使用的I/O 口很少,ROM空间不足,不适合采用STC89C52为主控芯片。

方案二:采用STM32103FZET6单片机为主控器。

STM32运行速度快,片上资源丰富,具有很多外围接口,可拓展性强,灵活性高。

完全可以实现本系统的各个设计任务,具有良好的响应速度。

通过比较,我们选择方案二。

2、滚球控制系统方案选择方案一:采用MPU6050三轴陀螺仪。

利用三轴陀螺仪可以算出平板的当前位置姿态,具有测量精确、结构简单等优点,但考虑到小球需要到平板指定的9个区域,MPU6050传感器很难确定其准确位置,可靠性差。

2017电子设计大赛论文:滚球控制系统

2017电子设计大赛论文:滚球控制系统

2017电子设计大赛论文:滚球控制系统D2 理论分析与计算2.1 小球识别原理小球位置和圆形的检测是控制滚球系统的基础。

在图像处理以及模式识别中,经常需要获取图片中圆和矩形的信息,将采集到的图片首先进行灰度化处理,再进行边缘检测、转化为二值图像等操作,具体流程如图2-1所示。

图2-1 小球识别流程图其中,边缘检测需要进行如下步骤。

1)将彩色图像转换为灰度图像,用高斯平滑滤波对图像进行去噪处理。

2)用高斯的一阶微分对图像进行滤波,获得较好的梯度边缘。

3)对梯度进行非极大值抑制和滞后阀值处理得到图像的边缘。

4)采用双阀值算法检测和连接边缘。

设置检测强边缘和弱边缘的2 个阀值。

当检测到的边缘点的阀值,高于强边缘的阀值,则为强边缘,输出边缘点。

当检测到边缘点的阀值介于强边缘的阀值和弱边缘的阀值之间时,认为是弱边缘点,当且仅当弱边缘与强边缘相连时,弱边缘才被输出。

经过以上几个步骤处理,检测到图像的边缘并输出。

2.2 小球运动控制原理系统采用在工业控制中得到广泛运用的PID 控制器,因为采用的是离散计算,所以PID 算法又称为数字PID 。

数字PID 控制算法可以分为位置式PID 和增量式PID ,在滚球系统中采用的是位置式PID 。

常规模拟PID 控制的控制规律描述如式2.1:u (t )=K p [e (t )+1T i ∫e (t )dt +T d de(t)dt t 0 (2.1)其中:e (t )为期望值与实际值之差、Kp 为控制器的比例参数、T i 为积分时间、T d 为微分时间。

现在PID 控制的实现大都不采用模拟电路的模式,而是采用数字形式,所以它只能根据采样时刻的偏差来计算控制量,而不能像模拟控制那样连续输出控制量,进而连续控制。

因而2.1式中的积分项和微分项不能直接使用,必须要经过离散化处理。

离散化处理的方法为:以T 为采样周期,K 为采样序号,则离散采样时间KT 对应连续时间t ,用一阶后向差分式近似代替积分,可作如下近似变换:{t ≈KT (K =0,1,2,⋯)∫e (t )dt t 0≈T ∑e (jT )=T ∑e j k j=o k j=0de(t)dt ≈e (KT )−e [(K−1)T ]T =e K −e K−1T(2.2)令e (KT )=e K ,式2.2代入式2.1得离散式PID 表达式:u K =K p [e K +T T i ∑e j +T d e K −e K−1T K j=0] (2.3)或u K =K p e K +K i ∑e j +K d (e K −e K−1K j=0)] (2.4)滚球系统将采集到的小球的位置信息在两个相互正交方向分别进行PID 运算,将运算结果作用到PWM 的脉宽上,以达到控制舵机转速。

全国电子设计大赛论文:滚球控制系统

全国电子设计大赛论文:滚球控制系统

全国大学生电子设计竞赛陕西赛区滚球控制系统摘要滚球控制系统通过摄像头获得滚球装置中小球和平板地图像,然后采用Nanopi M3进行相应地图像处理算法处理图像,通过坐标变换转换为小球在平板上地位置信息,将位置信息传送给STM32F103RC系统控制器,在平板地两个相互正交方向上分别进行PID控制算法,控制舵机驱动平板在这两个相互正交方向上相互配合地倾斜,从而间接控制小球直线、绕环等运动。

采用按键选择和12864液晶显示屏,选择和显示工作模式和参数。

系统制作完善,测试结果理想,很好地完成了各项任务要求。

关键词:PID控制算法;图像处理;STM32F103RC;12864液晶显示屏1 方案设计与论证1.1 总体方案描述图1.1 是滚球系统地构成框图,主要由控制器、执行器、板和球、摄像机、图像处理模块构成。

图1-1 滚球系统构成框图具体地工作过程为:通过摄像机采集小球地运动图像,在图像处理单元,利用Nanopi 2 Fire对图片进行处理,获取球相对于板地位置,将位置信息传送到控制器,在控制器内计算控制量,通过控制执行机构来控制平板运动,进而控制小球地运动。

1.2主控制器地选择方案方案1:采用可编程逻辑器件CPLD,具有并行输入输出方式。

它在系统处理地速度上较快,但是规模大、结构复杂,而系统不需要复杂地逻辑功能,对数据处理速度地要求也不是非常高。

方案2:采用FPGA作为系统地控制器。

FPGA可以实现各种复杂地逻辑功能,规模大,密度高。

但是因其价格较高使系统成本增加,高速处理优势得不到体现。

方案3:采用STM32F103RC单片机。

STM32F103RC单片机,具有功能强大、效率高地指令系统,以及高性能模拟技术及丰富地外围模块。

方便高效地开发环境使操作更加简便,低功耗是其它类单片机难以比拟地,集成度较高,编程相对简单。

STM32 定时功能强大,主要应用地是定时器地PWM 模式,PWM 模式只能在定时器地4 个通道产生频率相同但是占空比不同地输出信号,由于要控制4 个电机地运行(在板球控制系统中只使用其中地两个电机),因此要用到定时器地PWM模式。

滚球控制系统设计报告最终版

滚球控制系统设计报告最终版

滚球控制系统设计报告最终版摘要:本设计报告旨在介绍滚球控制系统的设计过程,该系统用于控制滚球机器人在特定环境中的移动。

在设计过程中,我们考虑到滚球机器人的移动速度、稳定性和导航能力,并分别设计了机械、电气和软件控制系统。

最终,我们成功地实现了一个功能完善的滚球控制系统,并且在实验中取得了良好的效果。

本报告将详细介绍系统的设计原理、方案选择、实现过程和测试结果。

1.引言滚球控制系统是一个用于控制滚球机器人在特定环境中移动的系统。

该系统需要保证机器人能够在不同路面上平稳行驶,并且可以根据需要进行位置和方向调整。

为了实现这个目标,我们综合考虑了机械、电气和软件方面的设计。

2.机械设计在机械设计过程中,我们选择了一个轻量、坚固和耐磨的材料,用于制作机器人的车身结构。

我们设计了一个滚动球轮和悬挂系统,以保证机器人在不平整路面上的稳定性。

此外,我们还添加了一些传感器,用于检测机器人的姿态和周围环境的特征。

3.电气设计在电气设计过程中,我们选择了一些高质量的电子元件,用于驱动滚球机器人的运动。

我们使用了一个电机控制器来控制机器人的速度和方向,并通过编码器来检测轮子的转动情况。

此外,我们还添加了一些传感器,用于感知机器人周围的环境。

4.软件设计在软件设计过程中,我们使用了一个基于PID控制算法的控制器,来实现对滚球机器人的位置和方向的控制。

我们通过读取传感器的数据,计算出机器人当前的位置和方向,并根据目标位置和方向进行调整。

我们还使用了一些图像处理算法,用于检测机器人周围的障碍物和路面特征。

5.实验结果与分析通过实验,我们验证了滚球控制系统的性能和稳定性。

我们对机器人在不同地形上的移动进行了测试,并评估了系统在不同环境下的导航能力。

实验结果显示,该系统能够实现精确的位置和方向控制,并能够适应不同路面的变化。

6.结论通过本次设计,我们成功地实现了一个功能完善的滚球控制系统,该系统具有良好的速度、稳定性和导航能力。

全国大学生电子设计竞赛滚球操纵设计报告

全国大学生电子设计竞赛滚球操纵设计报告

2017年TI杯江苏省大学生电子设计竞赛题目:滚球操纵系统题目编号: B参赛队编号: XZ037参赛队学校:参赛队学生:2017年8月12日摘要:本设计是以STM32单片机为核心、采纳视觉检测技术的的滚球操纵系统,实现对小球在平板转动的精准操纵功能。

本设计大体模块包括MCU、摄像头、显示屏、机械平台、按键输入,其中MCU即STM32 F429开发板,摄像头采纳OV2640,显示屏选择7寸TFT触摸屏。

通过摄像头取得图像数据,分析小球位置来操纵平板倾斜,达到操纵小球的目的。

关键词:单片机STM3二、视觉检测、图像识别、OV2640Abstract: This design is based on STM32 single-chip microcomputer and the ball rolling control system with visual detection technology to realize the precise control function of the pellet rolling. The basic modules of this design include MCU, camera, display, mechanical platform, keystroke input, among which MCU is the STM32 F429 development board, the camera adoptsOV2640, and the display screen selects the 7-inch TFT touch screen. The image data is obtained by the camera, and the position of the ball is analyzed to control the tilt of the plate to achieve the goal ofcontrolling the pellet.Keywords: OV2640、Vision Detection Technology、Image Identification目录一前言 (4)二系统方案设计 (5)1 平板操纵方案 (5)2 位置搜集方案 (5)3 小球材料方案 (5)三理论分析与计算 (6)1 小球位置的分析与计算 (6)2 操纵算法分析 (6)四电路与程序设计 (7)1 系统程序流程设计 (7)2 摄像头电路 (7)3 视觉定位流程设计 (7)4 舵机的操纵思路 (8)五系统测试 (8)1 测试仪器 (8)2 测试方案及结果 (8)6 总结 (9)一前言题目要求咱们在3cm直径的圆内稳固2cm左右的小球,精度很高。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于STM32滚球控制系统的分析与设计作者:刘志娴江敏来源:《数字技术与应用》2017年第12期摘要:本设计是基于STM32F407单片机设计的滚球控制系统,本系统主要由图像采集与处理模块、液晶显示屏驱动模块、矩阵键盘模块、电源稳压模块等构成。

本系统通过OV2640摄像头采集图像数据以此判断滚球的位置,并结合PID算法来控制调节舵机进而实现小球停在目标位置。

为了方便调试和复测,系统采用矩阵键盘的模式。

通过对本系统的软硬件的实际测试,其能稳定地运行,到达了预期的目标。

关键词:STM32F407;OV2640;PID中图分类号:TM33 文献标识码:A 文章编号:1007-9416(2017)12-0017-021 系统方案设计原理1.1 设计原理本设计主要由四个部分组成,分别是图像采集与处理模块、平板驱动模块、矩阵键盘模块、电源稳压模块,系统设计框图如图1所示。

图像采集与处理模块作为本系统的最核心,主要是利用图像传感器完成对小球位置的采集和对图像进行二值化处理;平板驱动模块是通过PWM对电机的驱动完成对平板的驱动,使小球运动到指定位置;矩阵键盘模块是通过对主芯片的控制来改变对小球目标位置的控制;电源稳压模块是提供给芯片,舵机等稳定电源。

1.2 电源稳压设计在此系统中运用到的电源可能不稳定,需要性能较好的稳压模块。

目前小功率的直流稳压电源模块有很多,主要有线性稳压和开关稳压电路,大多数采用线性集成稳压器,因此设计的主要任务是选择合适的集成稳压器及整流滤波参数。

本设计采用的是三端固定输出集成稳压器CW7800。

CW7800集成稳压器内部电路组成框图如图2所示,它由调整电路、保护电路、比较放大、基准电压、启动电路、取样电路等部分组成。

启动电路是电路有输入电压UI时,利用UI 对稳压器自身快速建立一个输出电压UO,使稳压器工作。

在取样电路中,利用电阻对输入电压进行分压,由于分压电阻是固定的,则输出电压UO是固定的;保护电路对稳压器起到保护作用。

1.3 算法设计传统的位式控制算法的结构如图3所示。

基本特点是输出信号单一,只能为高电压或者低电压,用来驱动控制对象;算法输出信号的依据是设定值与当前值比较,若设定值大于当前值,则输出高电平,若设定值小于当前值,则输出低电平。

这种算法没有考虑到偏差,在控制对象时不能实现对对象的变化趋势的控制。

PID控制算法的结构如图4所示。

Sv是用户设定的初始值;Pv是当前的状态。

在PID控制算法中,有三个变量分别为Ek,Sk,Dk。

Ek表示当前的偏差,Sk表示历史偏差,Dk表示最近两次的偏差之差。

(1)通过公式(1)即可实现PID控制。

根据公式(1)可知,PID算法有三个环节,比例环节,积分环节和微分环节。

若偏差为0,则Kp为0,只有存在偏差时,比例系数才会加大或减小,当比例系数Kp加大时,会使滚球系统动作加快,但容易造成不稳定。

积分环节主要是用于消除系统稳定后输出值与设定值的差值。

在本系统中为了简化系统设计,可不用积分环节。

微分系统反应了偏差信号的变化规律,可以进行超前调节。

2 系统程序设计利用OV2640摄像头采集图像,并将数据发送到核心芯片,判断小球位置是否到达目标位置。

若小球未到达目标位置,则根据增量式PID算法使小球快速稳定的停在指定位置,完成要求。

为方便调试,系统程序分模块进行设计,将程序分成LCD液晶显示模块,舵机驱动模块,摄像头模块。

软件程序流程图如图5所示。

2.1 OV2640摄像头处理程序设计图像采集模块利用J-Link仿真编程器将编译之后的二进制文件烧写到Flash启动文件系统,图像采集系统采用OV2640摄像头模块,输出显示采用2.4英寸TFT液晶显示屏。

当储存按键按下时,系统接收中断,同时将从OV2640摄像头采集到的数据显示在液晶显示屏上[1]。

首先需要对摄像头进行初始化,其程序设计如下所示。

LCD_ShowString(30,130,240,16,16,"OV2640 ERR");LCD_Fill(30,130,239,170,WHITE);LCD_ShowString(30,130,200,16,16,"OV2640 OK");OV2640_OutSize_Set(176,144);OV2640_RGB565_Mode();//RGB565模式My_DCMI_Init();//DCMI配置DCMI_DMA_Init((u32)rgb_buf,sizeof(rgb_buf)/4,DMA_MemoryDataSize_HalfWord,DMA_MemoryInc_Enable);//DCMI DMA配置当对摄像头配置完成后,需要对摄像头采集到的数据进行灰度值处理。

其程序设计如下所示。

gray=((rgb_buf[i][j]>>11)*19595+((rgb_buf[i][j]>>5)&0x3f)*38469+(rgb_buf[i][j]&0x1f)*7472)>>16;//将RGB转化成灰度值if(gray>=23){if(i>8&&i16){if(i>X_MAX) X_MAX=i;if(iif(j>Y_MAX) Y_MAX=j;if(j}LCD->LCD_RAM=WHITE}elseLCD->LCD_RAM=BLACK;//对灰度值进行二值化处理2.2 算法程序设计本系统控制平板只需要PD算法,在产生中断后进入控制函数控制舵机的平衡以及控制转动的幅度。

具体程序设计如下。

void balance_a(){AKp=300;AKd=500;Aim_AX=0;Aim_AY=0;Err_AX=AX-Aim_AX;Err_AY=AY-Aim_AY;PWM_AX=(Err_AX*AKp+(Err_AX-Err_AX_LAST)*AKd);PWM_AY=(Err_AY*AKp+(Err_AY-Err_AY_LAST)*AKd);//算法控制Err_AX_LAST=Err_AX;Err_AY_LAST=Err_AY;}void xianfu(){if(PWM_Y>9550)PWM_Y=9550;if(PWM_Yif(PWM_X>9390)PWM_X=9390;if(PWM_X}3 结语本设计是基于STM32F407基础上的滚球控制系统,由图像采集与处理模块、矩阵按键模块、OV2640摄像头模块、平板驱动模块构成,完成了包括系统在内的硬件和软件测试。

通过不断测试修改参数,最终实现了小球稳定的停在平板中心及四个角落等地点,达到了设计的预期目标。

本设计为摄像头视觉处理以及平衡控制提供了一定的研究价值。

参考文献[1]王建,梁振涛,郑文斌,等.STM32和OV2640的嵌入式图像采集系统设计[J].单片机与嵌入式系统应用.2014(9):46-48.[2]Rafael C.Gonzale,Richard E.Woods.‘Digital Image Processing’[M], Publishing House of Electronics Industry, BEIJING.2004.[3]Jong H,Jangsangjin Han.Taeghwan Hyeon,SEUNG M Oh[J].Journal of Power Source,2003,123:79.[4]刘歌群,卢京潮,闫建国,等.用单片机产生7路舵机控制PWM波的方法[J].机械与电子,2004,(2):76-78.[5]朱翔,潘峥嵘.基于OV7620的机器人视觉导航系统设计[J].电子测量技术,2010,3(1):64-66,73.[6]曾迎生.图像二值化研究及其改进[J].研究与开发,1990,(1):22-27.Abstract:This design is a rolling ball control system based on STM32F407 microcontroller .The system is mainly composed of image acquisition and processing module,LCD driver module,matrix keyboard module,power supply regulator module and so on.It's collects image data through OV2640 camera to determine the location of the ball,and combines the PID algorithm to control the steering gear and realize the ball stopping at the target position.In order to facilitate the debugging and retesting,the system adopts the matrix keyboard mode.Through the actual testings of the hardware and software of this system,it can run steadily and reach the expected target.Key words:STM32F407;OV2640;PID。

相关文档
最新文档