IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 2017年全国大学生电子设计分享-B题板球控制系统 -> 正文阅读

[嵌入式]2017年全国大学生电子设计分享-B题板球控制系统

  • 设计方案工作原理
  1. 预期实现目标定位

根据题目要求,需要自行设计制作一套实现滚球控制的控制系统,能够实现使小球能够按照指定的要求在平板上完成各种动作,并从动作开始记时并显示的功能。

  1. 技术方案分析

系统由机械就够部分和控制电路部分组成,两个部分都很重要,机械结构的好坏影响到整个系统的工作性能,而控制电路的正常工作则是系统系统功能完善的保证。

  1. 机械结构的设计方案

一个滚球控制系统是一个完整的测量控制系统,其中的机械结构则是这个测控系统的对象,对象的好坏在很大程度上会影响到后期控制算法的设计,对象制作的越稳定可靠,系统的性能也越好。所以,在制作这样一个精密的控制系统的时候,前期的对象制作是非常关键的一步,在制作的时候要尽量确保它的稳定性,选用合适的材料、采用尽量好的制作工艺。

在滚球控制系统的制作过程中,机械结构大概分成以下几个部分,摄像头及固定支架、平板、平板支撑柱及万向节、舵机、转动轴(拉杆)、小球的选择,下面就是这几个部分作详细介绍。

    • 摄像头及固定支架

摄像头是整个系统的主要检测部分,作用是通过二值化采集到的图像确定小球的位置坐标。我们采用的是OV7725摄像头。而固定支架的作用是固定摄像头位置,使摄像头可以采集到整个平板完整的图像并且使摄像头可以在硬件性能有限的情况下可以以足够大的帧率传输图像。

    • 平板

平板是实现小球控制稳定的关键部分。在舵机扭力有限的情况下,我们选择较轻的KT板作为主板。但是由于KT板硬度较差,导致在平板支撑过程中出现平板弯曲的情况。于是我们将轻质木条拼接成的正方形框架粘贴在KT板下方,使KT板在系统运行过程中尽量保持平整的状态。

    • 平板支撑柱及万向节

平板支撑柱支撑了整个平板的大部分重量,万向节保证在平板支撑过程中使其不影响整个平板的转动。为了确保支撑住的稳定,我们使用一段较粗的长方形木条作为支撑住,并在其底部使用两片L形铁片固定。我们在长方形木条的头部钻孔并插上一截铜柱完成木条和万向节的连接,并使用热熔胶密封连接缝隙保证结构的稳定性。

    • 舵机

舵机是整个系统的动力来源。我们通过舵机的转动实现拉杆的升降来完成对平板的控制。由于控制整个平板的转动,只需控制其向X轴方向以及Y轴方向偏转的角度即可,因此我们采用两个舵机控制平板转动的结构。我们在平板相邻两边的中点下方各放置一个舵机。在舵机的选择方面,考虑到小球在平板上需要平稳的移动以及舵机价格等因素,我们选择了舵机响应速度较慢(较快的响应速度导致平板激烈抖动使小球不能平稳移动),价格较低的GM996R型号舵机。但缺点是扭力较差不能支撑亚克力板的重量。

    • 转动轴(拉杆)

转动轴的升降直接控制平板的转动。为了使X轴和Y轴上的拉杆升降互不受影响我们将在木棒两端用热熔胶粘上了两片塑料片,使其在两个垂直的平面上。并将其一段固定在平板上,一端固定在舵机的一字臂上。这样可以使平面单轴的转动不受另一个轴的转动所影响,完成平板灵活的控制。

    • 小球

小球作为被控目标。为了找到合适题目的小球,我们尝试了多种球体,包括乒乓球、3D打印的塑料小球、直径10mm到20mm的钢球。由于乒乓球球体较大不符合题目标准,3D打印的塑料小球表面不够圆,过小的钢球目标太小不能被摄像头检测到,过大的小球重量过大,最终我们选择了直径15mm的钢球作为被控小球。

  1. 测控电路的设计方案

在上面的机械结构设计中,我们已经选择好了相应的控制装置,后面的测控电路就依据对象的特性来设计,主要包括电源模块、舵机驱动模块、摄像头采集模块、显示输入模块、主控制模块。

  • 电源模块

由于使用舵机所需电压不高,我们直接采用stm32f103vet6单片机核心板上自带的电源模块为舵机提供3.3V-5V的电压。

  • 舵机驱动模块

滚球控制系统对舵机的控制要求较高。驱动电路不仅要有足够的电流输出能力,还得比较精确的控制电流大小,支撑频繁的电流换向输出,提供简单的单片机接口。因此我们采用VET6引脚输出PWM信号控制舵机的转动。

  • 摄像头采集模块

我们使用OV7725摄像头实现对小球的定位,由于摄像头是我们使用单片机的配套摄像头,我们简单的将摄像头与单片机连接使用单片机自带的模块完成数据的采集。

  • 显示输入模块

由于系统功能较多,所以需要一个菜单界面由于控制功能设置选择,在这里我们采用了LCD:ILI9341液晶屏和独立按键构建电路。

  • 主控模块

滚球控制系统是一个实时性要求很高的控制系统,为了实现稳定控制,需要很高的控制速度,而且还需完成许多复杂的运动,小球稳定算法也相对复杂。所以我们需要选择运算速度快、内存空间大的单片机作为控制器。由于我们对STM32f103vet6单片机较为熟悉,因此我们选用它。

  1. 系统实现

滚球控制系统结构如图1所示。

图1 滚球控制系统结构

系统运行时,在LCD屏上显示菜单界面,如图2所示。

图2 菜单界面

其中左上方显示摄像头采集到的图像以及二值化图像(可通过手势操作切换),右下方显示各参数,其中

Now(X,Y)表示小球现在所处的坐标(X,Y);

Aim(X’,Y’):N Pointt表示目标点N以及目标坐标(X’,Y’);

Dev(x,y)表示小球X轴和Y轴上的偏差值x和y;

Speed:x0,y0 表示小球X轴Y轴上的速度;

Fps:a 表示传输图像帧率a。

屏幕中间是系统的控制界面,点击上方数字即可将目标坐标设置为相应记号坐标,点击下方的字母或数字可以选择相应的题号;

屏幕右边是上方显示已选择的题号,下方显示T或F表示是否处于执行题目的状态。

执行题目的操作过程为:点击题目编号选中题目,然后按下按钮K1开始执行题目。

  1. 功能指标实现方法

我们把控制小球的影响因素分为三个主要参数,一个是位置的比例参数KP,一个是位置的微分参数KD还有一个是速度的比例参数KPV。

为了可以时刻调整函数使系统适应不同状态,我们设置了函数来判断小球是否进入目标点附近范围以识别小球目前状态。

  1. 小球的稳定停留动作

当小球接近目标进行稳定操作时,系统自动将位置影响参数KP、KD降为0,提高速度的比例参数KPV。这样可以起到很好的稳定小球的效果。

  1. 小球向指定坐标移动的动作

当小球离开目标区域时,系统自动提高位置影响参数KP、KD,降低速度影响参数KPV,这样可以让小球快速移动到目标点。

  1. 小球的圆周运动动作

我们周期性的让小球依次向目标点5周围的预设点移动,当识别到小球稳定,就往下一个点移动,以达到围绕目标点移动的效果

  • 核心部件电路设计

  1. 舵机驱动电路

图3舵机驱动电路

  1. LCD控制电路

图4 LCD控制电路

  1. OV7725摄像头控制电路

图5 OV7725摄像头控制电路

  • 系统软件设计分析
  1. 系统总体工作流程

  1. 程序设计思路

在软件体系当中,首先在菜单界面人机交互,当进入功能后根据功能要求选择不同步骤进行操作。

  • 竞赛工作环境条件
  1. 设计分析软件环境

Windows10操作系统,Keil4软件开发平台,

  1. 仪器设备硬件平台

STM32f103vet6集成开发板,稳压电源。

  1. 配套加工按照条件

热熔枪、3D打印机、手锯等加工工具,实现机械结构制作。

  • 作品成效总结分析
  1. 系统测试结果

基础要求

发挥部分

内容

完成情况

内容

完成情况

将小球放置在区域 2,控制使小球在区域内停留不少于 5 秒。

较快完成

在 40 秒内,控制小球从区域 1 出发,先后进入区域 2、区域 6,停止于区域 9,在区域 9 中停留时间不少于 2 秒。

完成

在 15 秒内,控制小球从区域 1 进入区域 5,在区域 5 停留不少于 2 秒。

较快完成

在 40 秒内,控制小球从区域 A 出发、先后进入区域 B、区域 C,停止于区 域 D;测试现场用键盘依次设置区域编号 A、B、C、D,控制小球完成动作。

完成

控制小球从区域1进入区域4,在 区域4停留不少于2秒;然后再进入区域5, 小球在区域 5 停留不少于 2 秒。完成以上两个动作总时间不超过 20 秒。

较快完成

小球从区域 4 出发,作环绕区域 5 的运动(不进入),运动不少于 3 周后停止 于区域 9,且保持不少于 2 秒。

完成

在 30 秒内,控制小球从区域 1 进入区域 9,且在区域 9 停留不少于 2 秒。

较快完成

其他(绕8字路线滚动)

完成

  1. 创新特色总结
    • 在控制小球快速移动,并且精准定位的过程中,我们首次有了设置“减速带”的概念。由于在调试过程中,我们发现,提高速度微分的比例系数,降低位置微分的比例系数可以使小球较快的静止,但是位置定位不准确;而反之则具有相反的效果,可以较快的定位,但是难以稳定下来。因此我们将目标点附件区域设置为“减速带”,在减速带中,我们提高了速度微分的比例系数,降低了位置微分的比例系数。这样每当小球经过减速带,小球滚动速度就会明显下降。当小球稳定在减速带内时,小球就可以较快的稳定下来,达到预期效果。
    • 我们在参数调试环节采用单维调试的方法,以更高的效率完成对系统参数的调整。我们在调试X轴参数时,锁住Y轴舵机,放置黑胶带代替小球放在平板上做直线运动,以此来调试X轴舵机PID参数,有着十分高效的作用。
    • 我们采用OV7725低数据传输摄像头,虽然传输画面的帧率受到一定限制,但是我们系统在运行时无需连接上位机,在系统在生活中的拓展应用方面可以有着更多的可能。
  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-03 11:22:14  更:2021-08-03 11:23:32 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年12日历 -2024/12/27 9:55:20-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码
数据统计