完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
第二章 车模整体设计
2.1系统概述 车模主要分三个部分:控制器、传感器和执行器。控制器采用CH32V103单片机,负责处理由各传感器采集到的赛道信息,并且根据摄像头采集赛道信息并进行处理以后输出控制信号;传感器包括编码器、陀螺仪等,执行器有电机及相应的驱动电路,接收单片机控制信号,对车模运行状态进行控制。 车模运行的整体流程为:摄像头模块对赛道信息进行采集,通过单片机进行处理得到赛道信息,同时编码器采集电机转速并传给单片机,形成速度闭环控制,电机采用增量式PI控制,用PWM波控制电机输出功率;差速采用PD控制;单片机得到的信息,计算出电机的期望速度值,通过速度环控制车模速度。 2.2整车布局及参数 我们组采用H型车模,尺寸为250215295mm,轮胎尺寸为61*24mm,极。驱动电机为RS-380,7.2vRS-380 马达,工作电压范围是5.4V-9V,空载转速15000r左右,空载电流0.55A,最大力矩91.32g.cm,最大输出功率12.6W,车身总体重量1.6kg。 第三章 系统机械系统设计及实现 我们选用的车模是H车模。H车模使用4个380电机,由于H车没有舵机,所以过弯采用电机主动差速的方式。同时,为了获得更好的加减速效果,我们尽量减轻车模质量、尽量将重心降低,在电机输出力矩一定时,轻便的车模将获得更高的加速度,这是我们机械设计的基本原则。 3.1编码器的安装 如果采用普通低转速编码器,在小车高速运转时很容易出现丢步的情况,进而有可能导致跑飞,我们选用龙邱生产的512线mini增量式编码器,该编码器体积小、质量轻、稳定性好、精度高,输出型号类型为CMOS信号,抗干扰能力强。安装时要仔细调节编码器齿轮与电机齿轮的啮合,保证阻尼适中,啮合太紧会增加电机负载,太松又会影响编码器测量精度或者打齿。 3.2舵机的安装 由于在赛道运行时需要车体进行旋转,我们选择了一款GDW7080旋转角270°舵机来控制摄像头的旋转,为使得摄像头无论在横向还是竖向都处于中心位置,我们选择将舵机装在两款核心板之间,架在主控上方,用一个简略3D打印件来固定于车体中心 3.3电池的安装 我们选择的电池为一块4000mAh的航模电池,为使得车体重心比较低,结构比较对称,我们选择将电池放于车底盘最中间的位置,其中一边用3D打印件作为固定。我们车上有3块电路板,分别是主控板和两块驱动板,将主控板放在电池上;驱动板放在电机上方。 第四章 系统硬件设计及实现 本车硬件设计主要分为以下几个模块:电源管理模块,oled模块,单片机处理核心模块,电机驱动模块,舵机模块。稳定性是硬件的基本要求,我们选取线性电源芯片给MCU供电,减少主控的附件,按照车模外形设计电路板的外形,将驱动电路与MCU分开,分成了主控和驱动部分电路。 4.1主控板 主控板每个电源网络均设置LED显示各个供电芯片是否正常工作,减少故障排查时间,根据各个传感器的车身分布位置合理安排接口位置,为减轻质量同时使电路板简洁,电路板多采用FPC排线和防反接接口 4.1.1主控芯片 本车模采用沁恒微电子公司的CH32V103芯片作为主控芯片,单片机及外围电路图4.1.1所示: 4.1.2电源管理模块 电源模块方面采用线性转压芯片,线性转压相比于开关转压更加稳定,更加适用于用多级转压电路中,但是缺点是效率较低,容易发热,最后我们采用TPS76850与TPS76833作为转压芯片为单片机供电,效果较为理想。转压电路原理图如图4.1.2所示: 4.1.3调试模块 在调试时必要的会需要对行进时实时数据进行监测,运用wifi模块可以很方便的实现,OLED对菜单显示可以方便调节参数。wifi和OLED接口原理图如图4.1.3所示: ▲ 图4.1.3 wifi和OLED接口原理图 4.1.4舵机控制模块 由于舵机仅仅需要电、地与占空比型号,故可直接通过单片机控制舵机,原理图如图4.1.4所示: ▲ 图4.1.4 舵机接口原理图 4.2 驱动板 4.2.2全桥驱动 驱动为分立元件制作的直流电机可逆双极型桥式驱动器,其功率元件由N沟道MOSFET管组成,峰值电流可以达到100A以上,大大提高了电动机的工作转矩和转速,电路图如4.2.2所示: ▲ 图4.2.2 全桥驱动电路原理图 4.2.4测速模块 测速模块为了减少车辆负载,采用体积较小的可以兼容正交解码的512线增量式龙邱MINI编码器。 ▲ 图4.2.3 编码器电路原理图 4.3交互模块 为了方便调节参数,在主控板上有拨码开关和五向按键。 ▲ 图4.3 五向按键和拨码开关 第五章 系统软件设计及算法实现 高效稳定的控制程序和高适应性的算法是智能车快速平稳运行的基础。我们设计的智能车采用南京沁恒微电子生产的芯片CH32V103单片机作为控制器,通过摄像头获取赛道信息,我们使用了编码器测速对小车进行速度闭环,为使小车快速平稳运行,使用陀螺仪进行辅助。速度和方向控制算法方面,我们采用工业控制广泛采用的经典PID算法,配合理论计算与实际参数调试过程使程序和小车充分契合,使智能车达到快速平稳运行的目的。 5.1赛道中心线提取及优化处理 5.1.1 原始图像的特点 在单片机采集图像信号后需要对其进行处理以提取主要的赛道信息,同时,由于交叉道、起跑线的存在,光线不均匀、赛道外反光点、赛道远处图像不清楚的干扰,图像效果会大打折扣。因此,在软件上必须排除干扰因素,对赛道进行有效识别,并提供尽可能多的赛道信息供决策使用。 为契合CH32V103单片机的处理性能,我们对摄像头采集到的画面进行了裁切,裁切为128*60的图像大小,且符合普通oled屏幕的显示效果。 在图像信号处理中我们提取的赛道信息主要包括:赛道位于图像的位置、赛道边界点信息,赛道宽度信息,赛道中心线位置,赛道类型识别。 摄像头返回的这个矩阵中,每一个像素点都有一个从0至255的灰度值,值越大表示该像素点越亮,相反,越暗的像素点值就越小。同色间的灰度差很小,而不同色间的灰度差很大,我们使用固定阈值将像素矩阵二值化,得到黑白图像,将赛道与背景区别开来。 5.1.2 赛道搜线算法 单片机在对原始图像进行二值化之后,再通过逆透视变换得到单片机处理的基本赛道图像,然后用搜线算法来对其进行处理,从而确定出赛道两边的黑线在哪儿,并计算出相对应的赛道中线,从而指导舵机转向和电机的加减速。搜线算法的基本思想如下: 1. 对赛道图像进行连通域提取,找出正常赛道对应的连通域位置; 2. 遍历图像,对赛道对应的连通域提取边界信息以及宽度信息,并对边界进行滤波处理,储存在数组中; 3. 搜线完毕后,就得到了处理好的能够进行赛道分析的完整的矩阵。 5.1.3 赛道中心的计算 得到完整的赛道信息矩阵后,即可通过一定的算法计算出赛道的中线,由PID控制算法的思想,我们利用智能车的图像中心与赛道的实际中心的偏移量来控制电机的驱动力度。赛道中线算法: 1. 由图像底部向顶部扫描,将左右边界进行映射,得到一个映射关系,当赛道连通域结束,扫描结束; 2. 通过步骤(1)得到的映射关系,取对应左右边界的中点,求出中点的位置,保存在数组中。 5.2 出入岔路策略 5.2.1 入岔路位置判定 我们小队通过图象识别来判定车库位置,主要通过对岔路顶岔路最低行的判断来限定开始入库时车的位置,经过我们的尝试,这种判断方法在低速时很稳定,对入岔路时机把握良好,速度越快,对应入岔路时机会有所偏差。 5.2.2 出岔路方案 同样采用图像来进行出岔路时机的判别,效果及原理同入岔路。 5.2.3 舵机旋转摄像头方案 我们小队为了实现在岔路内进行变向行驶,采用了舵机旋转摄像头的方案,在图像给出适当的入岔路时机后,舵机进行打角,将摄像头旋转固定角度,实现在车体变向行驶时仍然能够正常寻迹的效果。 5.3控制算法 5.3.1 PID算法介绍 在过程控制中,PID控制器是一直应用最为广泛的一种控制器,也是众多控制算法中应用最为普遍的控制算法当被控对象的结构和参数不能完全掌握,或得不到精确的数学模型时,控制理论的其它威廉希尔官方网站 难以采用时,系统控制器的结构和参数必须依靠经验和现场调试来确 定,这时应用 PID 控制威廉希尔官方网站 最为方便。即当我们不完全了解一个系统和被控对象,或不能通过有效的测量手段来获得系统参数时,最适合用 PID 控制威廉希尔官方网站 。 PID 控制,实际中也有 PI 和 PD 控制。 PID 控制器是一种线性控制器,它根据给定值与实际输出值构成控制偏差。 将偏差的比例§、积分(I)和微分(D)通过线性组合构成控制量,对被控对象进行控制,故称 PID 控制器。 由于单片机控制是采样控制,只能根据采样时刻的偏差控制输出量,不能计算连续输出量,所以要采用离散化的PID算法。离散PID分为位置式和增量式两种。位置式的输出量直接就是控制量,由于全量输出,所以每次输出均与过去的状态有关,计算时要对过去偏差进行累加,计算机工作量大;而且因为计算机输出量对应的是执行机构的实际输出,如计算机出现故障,输出大幅度变化会引起执行机构位置的大幅度变化,这种情况往往是生产实践中不允许的,在某些场合,还可能造成严重的生产事故。因而产生了增量式 PID 控制的控制算法,所谓增量式PID是指数字控制器的输出只是控制量的增量。由于计算机输出增量,所以误动作时影响小算式中不需要累加。控制增量的确定仅与最近k次的采样值有关,所以较容易通过加权处理而获得比较好的控制效果。 5.3.2转向控制 麦轮车利用左右差速实现车模的方向控制,根据采集图像算出的偏差使用串级pid计算出期望的编码器差速,输出给速度环。 5.3.3 PI速度控制 由于增量式PID相对于位置式PID有明显的优势,所以我们选择增量式PI作为速度控制算法,用编码器获取速度作为反馈量,实现闭环控制。 5.3.4 麦轮速度分解 麦轮车的运动可分解为前进、平移、自转三个分量的速度,将三个分量的期望速度算出,并把期望编码器读数叠加到电机的速度环上,便实现了全向底盘的控制。 第六章 系统开发和调试工具 6.1开发环境:MounRiver Studio MounRiver Studio 是一款面向 RISC-V 内核单片机的集成开发环境,为用户提供专业嵌入式项目所需的开发、调试环境、烧录工具及完善的项目管理功能开发工具包括代码编辑,工程模板导入、导出,单步调试,代码烧录等功能,基于EclipseGNU 版本开发,在保留原平台强大代码编辑功能、便捷组件框架的同时,针对嵌入式 C/C++开发,进行了一系列界面、功能、操作方面的修改与优化,以及工具链的指令增添、定制工作,能够为单片机开发提供完整的解决方案。 ▲ 图 6.1 MounRiver Studio界面 6.2上位机调试 为了获取车模在行驶时的运行数据,我们在车上装了蓝牙,可以将关键参数实时发送到上位机查看,上位机我们使用山外的多功能调试助手,它支持查看图像、虚拟示波器、串口助手等功能,使用方便。 另外,我们社团还自己编写了可以在安卓手机上使用的APP紫丁香调试助手,同样支持虚拟示波器、图像监听、调试遥控等智能车调试常用的功能。 |
|
|
|
只有小组成员才能发言,加入小组>>
imx6ull 和 lan8742 工作起来不正常, ping 老是丢包
2407 浏览 0 评论
3341 浏览 9 评论
3019 浏览 16 评论
3514 浏览 1 评论
9116 浏览 16 评论
1242浏览 3评论
635浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
627浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2372浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1936浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-22 21:57 , Processed in 0.979115 second(s), Total 48, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号