电赛2024年H题智能小车基于MSPM0G3507主控MCU(利用8路灰度加上MPU6050的解决方式)具体项目报告

news2024/9/22 15:47:35

题目:自动行驶小车(H题)

摘要

本项目由微处理器MSPM0G3507,编码器电机驱动,8路灰度传感器指示线巡线单元,MPU6050六轴传感器无线直行单元,OLED显示人机互动单元,红色LED及蜂鸣器声光提示单元构成。系统运行由两部分组成:自动行驶小车的无指示线直行控制部分和有指示线弯道行驶的实时转向控制部分,小车的无指示线直行控制部分,由MPU6050六轴传感器获得小车姿态的偏航角,通过获得的实时偏航角,编码器的实际值,构成双反馈串行PID实时监控调制小车实际运行轨迹的目的。指示线弯道行驶控制部分,由8路灰度传感器获得小车在指示线上实时运动方位,输出模拟量,通过模拟量和编码器脉冲值构成串行闭环PID实时控制小车投影位于指示线方位的目的。完成所有项目要求。

关键词:MSPM0G3507;MPU6050六轴传感器;8路灰度传感器;自动行驶小车


目  录

一、系统方案

1. 方案比较与选择

2.方案描述

二、理论分析与计算

1. 小车自动行驶误差分析

2. 小车轨迹控制

三、电路与程序设计

1. 电路设计

2. 程序设计

四、测试方案与测试结果

1.测试所用仪器

2.测试方案

3.测试结果分析

五、参考文献

 

一、系统方案

1. 方案比较与选择

(1)电机选取

方案一:采用步进电机能够精准的控制小车的前进、后退、转向,不需要过多的PID调制就可以达到所预期的目标速度和小车的运动轨迹,但对于本项目单个步进电机的体积过大,加上其他基本部件会超过项目要求的最大高度和宽度。

方案二:使用霍尔编码器电机,通过编码器返还的实时脉冲数,通过PID的实时计算修正,达到小车的预期运动轨迹,体积适中,PID调节难度适中,能够满足本项目对电机控制的全部需求。

方案三:使用直流空心杯电机直流空心杯电机具有体积小、质量轻直流空心杯电机并不具备测速功能。由于其小巧的尺寸和轻量化设计,直流空心杯电机在空间受限或对重量要求较高的应用场景中具有优势。

方案四:使用无刷直流电机具有高效率、高转速和低噪音的特点,适用于许多应用领域。BLDC电机需要专门的驱动器和控制算法来实现闭环控制,操作难度大,精度高。

综合以上四种方案,方案二更加切合题目的要求,以及本项目对电机控制精度的基本要求和实时负反馈需求,故选择方案二。

(2)二维角度传感器

方案一:采用L3GD20三轴陀螺仪,得到三轴的角速度,量程大,操作难度小,只能测量角速度,无法测量三维角度,达不到项目对角度值获取的基本需求。

方案二:使用微处理单元MPU6050。芯片包含三轴加速度计及三轴陀螺仪,外围电路设计简单,采用IIC通信协议,具有量程大,精度高,功耗低,满足项目对角度精度的需求。

方案三:采用导电的塑料电位器。高分辨率、平稳转动和低动态噪声优点。根据传输信号的方式,角度传感器可分为模拟角度传感器和数字角度传感器。该传感器的内部电阻值会随着偏转角度的改变而变化,从而可以通过传输模拟信号进行测量,硬件体积以及测量方式受限,无法运用于小车上。

综合以上三种方案,方案二更加切合题目的要求,以及本项目对获取角度精度的基本需求,故选择方案二。

(3)巡线模块

方案一:采用8路灰度传感器,能够获取电位变换的模拟量,输出的变化值足够平滑,利用PID调制时更加顺畅。

方案二:使用8路红外传感器,获得各电平的变换,实现模拟PID调试,精度低,PID调制难度大。

综合以上两种方案,方案一更加切合题目的要求,以及本项目对巡线的基本需求,故选择方案一。

(4)小车结构

方案一:利用前轮舵机舵机转向,后轮双电机提供动力,在小车的长方形底板上构建所需的模块,达到小车的总体稳定的目的。体积较大,灵活性较低。

方案二:利用双电机差速转向和同速直行,两个辅助轮增加小车的稳定性,在圆形底板上构建模块,达到小车的总体稳定的目的。体积较小,小车灵活,易操作。

综合以上两种方案,方案二更加切合题目的要求,以及本项目对小车硬件结构的基本需求,故选择方案二。

2.方案描述

本系统以超低功耗单片机MSPM0G3507为控制核心,小车采用MPU6050六轴传感器,8路灰度传感器,霍尔编码器电机驱动,按键输入,声光提示构成。单片机控制TB6612直流电机驱动控制输出PWM波驱动两个霍尔编码器电机,使小车获得运动动力。MPU6050六轴传感器,得到小车实际的偏航角和其方向的加速度,达到控制小车自动行驶的目的。通过霍尔编码器和8路灰度判断指引线位置得到小车的实时运动情况,利用PID计算实时调整,形成信号反馈回路,组成闭环控制系统,达到实时控制小车沿轨迹行驶的目的。根据以上方案分析与综合考虑,本系统最终确定的系统框图如图1所示:

图1 系统框图

二、理论分析与计算

1. 小车自动行驶误差分析

小车自动AB段直线行驶,在理想状态下只要左右轮电机的转速一致,小车就能够AB段直线行驶。但现实状况两个电机的反应时延是不同的,导致小车是无法在开环的状态下直线行驶的,所以必须借助MPU6050得到小车的实时四元数,与小车双向的编码器组成闭环反馈控制系统,达到双向串行PID反馈控制调节的目的。将MPU6050返还的四元数值进行矩阵变换,求解实时偏航角。

四元数求解偏航角公式如公式1所示

                                                                                        

        由于MPU6050存在温漂和精度误差,电机编码器存在精度误差,最终会随着小车运行距离增加而增加。为了解决这一实际硬件误差,采用实时动态补偿调制,以MPU6050的实时温度进行比例系数计算与上温度与偏航角的动态比例关系,得到MPU6050实际动态误差,将动态误差和偏角进行差分计算,同时A至B,C至D同向点对点实时动态校准调制,达到误差小于±1的目的。

误差补偿公式如公式2所示

        进行位置式PID计算,得到小车预期位置和实际位置的差值。通过编码器记录小车行驶的脉冲值,得到小车的实际速度,进行增量式PID计算,得到小车的预期速度与实际速度的差值。最终通过串级关联,进行实时运算,输出PWM达到小车沿轨迹匀速行驶的目的。

2. 小车轨迹控制

        小车在有指示线的路段行驶,通过8路灰度,得到小车姿数字量,将得到的数字量进行比例换算得到实际角度偏差,将实际角度偏差进行位置式PID计算,得到小车预期位置和实际位置的差值输出对应的PWM达到实时动态调制车身的目的。通过编码器记录小车行驶的脉冲值,得到小车的实际速度,进行增量式PID计算,得到小车的预期速度与实际速度的差值输出对应的PWM达到小车目标状态匀速行驶。最终通过串级关联,进行实时运算,输出PWM达到小车沿轨迹匀速行驶的目的。

实时增量式PID公式如公式3所示。实时位置式PID公式如公式4所示。

每5ms获取一次左右轮的脉冲数,并且每10ms获取一次8路灰度的误差值,将脉冲数和灰度得到的误差分别进行差分,微分,积分计算,调制计算的比例系数达到每10ms改变一次PWM,小车在整个过程中达到动态平衡沿线行驶的目的。

三、电路与程序设计

1. 电路设计

(1)稳压电路模块

为了使微处理器和直流电机以及各模块正常稳定的工作需为其提供稳定的电源,避免因为电压改变而影响各模块正常工作,本设计中采用2200mA航模电池和DC-DC直流可调降压电源模块构成稳压电路模块,保证能为各模块提供稳定的电源。

稳压电路模块如图2所示。

图2稳压电路模块

(2)声光提示部分

为了满足小车到达指定地点时蜂鸣器发出声音的要求,设计以下蜂鸣器电路以及LED指示灯电路。有源蜂鸣器是一种集成结构的电子音响器,采用直流电压供电,具有简单的电路结构,广泛应用于各个领域.。当小车到达并停稳在A,B,C,D时,控制器发送信号使蜂鸣器响起,LED信号灯亮起,表示小车已经到达目标要求。

(3)MPU6050模块

MPU6050模块在小车自动行驶中起着重要作用。MPU6050是一种集成了三轴陀螺仪和三轴加速度计的六轴传感器模块。该模块通过I2C接口与主控器件通信,具有快速响应和高数据传输速率。它内部集成了数字运算单元,能够进行传感器数据的滤波、校准和姿态解算等处理,提供准确的姿态信息。通过获取实时的偏航角信息,MPU6050模块能够提供准确的姿态感知,从而帮助控制系统实现无线自动直行。

声光提示原理图如图3所示。

图3声光提示原理图

(4)TB6612FNG电机驱动模块

TB6612FNG是一种基于MOSFET的H桥集成电路。TB6612FNG具有高效的功率转换能力,其内部的MOSFET技术使得电机驱动效率更高,能够提供更大的输出功率。TB6612FNG集成了多种保护功能,包括过流保护、过温保护和短路保护,有效保护电机和驱动器的安全运行。此外,TB6612FNG还具备低功耗特性,能够降低系统的能耗。TB6612电机驱动模块的外围电路简单,无需外加散热片,只需添加电源滤波电容即可直接驱动电机,这有助于减小整个系统的尺寸,使整个小车硬件结构更加稳定。

MPU6050模块原理图如图4所示。

4 MPU6050原理图

TB6612FNG电机驱动模块原理图如图5所示。

5 TB6612电机驱动模块原理图

2.程序设计

TIMSPM0G3507作为本系统主控芯片,通过MPU6050反馈小车的偏航角,编码器反馈的实时速度,8路灰度反馈实时车身状态,达到对小车自动行驶实时串级PID闭环调制和小车轨迹运动控制的目的。小车自动行驶和轨迹控制之间的相互切换是通过8路灰度反馈实时车身状态来判断小车处于指示线上方还是自动行驶区域,得到判断结果后进行串级PID切换达到自动行驶和轨迹控制切换的目的。通过KEY1,KEY2,KEY3,KEY4调用项目要求1,2,3,4项完成项目要求所需的各种运动指标并且到达A,B,C,D相关点后进行声光提示,完成具体项目要求的目的。

软件整体结构图如图6所示。

6  软件整体结构图

四、测试方案与测试结果

1.测试所用仪器

序号

仪器名称

1

秒表

2

卷尺

2.测试方案

详细测试方案请见附录。测试结果如表1、表2

表1  基本要求测试结果

测量项目

题目指标

完成情况

是否

达标

测试方案简述

与测量仪器

1.1A到B直线行驶

小车在直线的最小投影面积不小于零,完成所需时间不大于15S

4.96S以内完成,最小投影面积300立方厘米

小车开始运动是开始计时,到达目标点后停止计时并在此过程中观测小车投影面积

1.2弧线行驶

小车在直线的最小投影面积不小于零,完成所需时间不大于30S

13.67S以内完成,最小投影面积238立方厘米

小车开始运动是开始计时,到达目标点后停止计时并在此过程中观测小车投影面积

1.3 8字行驶

小车在直线的最小投影面积不小于零,完成所需时间不大于40S

23.67S以内完成,最小投影面积202立方厘米

小车开始运动是开始计时,到达目标点后停止计时并在此过程中观测小车投影面积

表2  发挥部分测试结果

测量项目

题目指标

完成情况

是否

达标

测试方案简述

与测量仪器

2.1四次8字行驶

小车在直线的最小投影面积,完成所需时间

89.73S以内完成,最小投影面积102立方厘米

小车开始运动是开始计时,到达目标点后停止计时并在此过程中观测小车投影面积

3. 测试结果分析

本作品完成了题目的所有基础指标和发挥要求,符合题目所有指标并且。要求(1)6S以内完成,要求(2)15S以内完成,要求(3)25S以内完成指标上超出题目要求并且车上投影面积均大于100立方厘米

本作品采用MSPM0G3507作为主控芯片,控制集成了双串级PID调制PWM。同时,本作品还采用MPU6050动态校准算法。进行实时动态补偿调制实现了减小MPU6050运行时得到的误差该算法可达到MPU6050的误差在±1度

本作品项目要求基本项完成的准确率高达95%所需时间范围远远小于各要求的时间小车基本项、发挥项测试准确度高达96%,在无强光照射,温度恒定在一定范围内的情况下小车运行完成要求的准确率低至83%。满足并远超题目要求。

五、参考文献

[1] 葛鑫,李根望,丁美林 基于AT89C51坡道行驶智能小车[J], 自动化技术, 10.14004/j.cnki.ckt.2023.1623.

[2] 陈杰.物流仓库中小车路径规划算法及实现[D].重庆大学,2021.DOI:10.27670/d.cnki.gcqdu.2021.001644.

[3]  黄倩,于艳艳,王磊,等.基于FPGA的小车自动行驶控制系统的设计与实现[J].云南大学学报(自然科学版),2014,36(02):199-204.

[4]  张贺尧,韦国轩,吴沁芯.基于LiDAR技术的智能寻路小车设计与实现[J].集成电路应用,2022,39(03):1-3.DOI:10.19339/j.issn.1674-2583.2022.03.001.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2100207.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Windows Server 2019 中文版、英文版下载 (updated Aug 2024)

Windows Server 2019 中文版、英文版下载 (updated Aug 2024) Windows Server 2019 Version 1809 请访问原文链接:https://sysin.org/blog/windows-server-2019/,查看最新版。原创作品,转载请保留出处。 本站将不定期发布官方原版风格月度更…

springboot驾校预约管理系统—计算机毕业设计源码25540

摘 要 随着科学技术的飞速发展,各行各业都在努力与现代先进技术接轨,通过科技手段提高自身的优势;对于驾校预约管理系统 当然也不能排除在外,随着网络技术的不断成熟,带动了驾校预约管理系统 ,它彻底改变了…

【C语言从不挂科到高绩点】08-作业练习-循环结构01

Hello!彦祖们,俺又回来了!!!,继续给大家分享 《C语言从不挂科到高绩点》课程,前面课程中给大家讲解了一些常规的知识点,那么本次课,我们一起来练习挑战一下!! 本套课程将会从0基础讲解C语言核心技术,适合人群: 大学中开设了C语言课程的同学想要专升本或者考研的同…

knime安装 OCR识别节点Tess4J

Tess4J Node是一个工具,它把Tesseract OCR库整合到KNIME软件中。Tesseract OCR是一个光学字符识别(Optical Character Recognition, OCR)的库,可以将图片中的文字转换成电脑可以编辑的文本。 安装过程: 1、在knimeh…

免费ppt模板哪里找?AI智能生成指南分享

在忙碌的工作日常中,制作一份精美的ppt模板似乎成了一项艰巨的任务。 但别担心,其实掌握以下这个小技巧,就能让这个过程变得轻松又高效。想要让你的演示文稿在会议中脱颖而出吗?想要知道ppt模板怎么制作的吗?跟我一起…

终极解决 docker 拉取镜像失败的问题,其他类似场景也适用

国内的网络环境,想必大家都是知道的,虽说技术无罪,但奈何政策不允许啊,以下内容我在 CSDN 上发不了,请大家移步我的个人公 * 号:新质程序猿,查看更多原创内容,这里只介绍相关背景和需…

网站建设完成后, 做seo必须知道的专业知识之--蜘蛛陷阱

蜘蛛陷阱(Spider Trap)是指那些阻止搜索引擎蜘蛛程序(即爬虫程序)正常爬行和抓取网站内容的障碍物或策略。这些陷阱通常是由网站设计或技术上的某些特定元素造成的,它们对搜索引擎的友好度较低,不利于蜘蛛程…

Java-数据结构-链表-LinkedList(一) (^_−)☆

文本目录: ✿一、ArrayList的优点和缺陷: ✿二、链表: ❄️1、链表的概念与结构: ❄️2、单向不带头非循环链表的实现: ❄️(1)、操作: ▶display () 方法: ▶size…

5千多道安全生产证考试题库ACCESS\EXCEL数据库

安全生产是保护劳动者的安全、健康和国家财产,促进社会生产力发展的基本保证,也是保证社会主义经济发展,进一步实行改革开放的基本条件。因此,做好安全生产工作具有重要的意义。今天的数据即是安全生产资格证、许可证考试题库。 大…

传统管道,匿名管道

二、传统的进程间通信-管道文件 管道是UNIX系统中最古老的进程间通信技术,古老意味着所有系统都支持,早期的管道是半双工通信,现有的系统管道是全双工通信 管道就是一种特殊的文件,数据在文件中是流动的,读取之…

webshell绕过样本初体验

目录 一:前景 二:样本 样本一: 样本二: 样本三: 样本4: 样本5: 一:前景 在我们日常的网站中百分之一百是存在一些安全设备来拦截我们的webshell的,一般情况…

苹果手机微信恢复聊天记录分享:3个恢复方法,学到就是赚到

Q:我微信里面的聊天记录都不见了怎么办呀? A:问我你就是问对人了,我这里有3个超好用的微信恢复聊天记录的方法,不管你的聊天记录是被误删的,还是由于其他的原因导致丢失,在这3个方法中&#xf…

人工智能 | MetaLlama 大模型

llama 大模型介绍 我们介绍 LLaMA,这是一个基础语言模型的集合,参数范围从 7B 到 65B。我们在数万亿个 Token 上训练我们的模型,并表明可以专门使用公开可用的数据集来训练最先进的模型,而无需诉诸专有的和无法访问的数据集。特别…

车牌数据集车辆数据集,全手工labelimg标注 图片清晰用于训练效果很好

车牌数据集车辆数据集,全手工labelimg标注 图片清晰用于训练效果很好 车牌及车辆检测数据集介绍 数据集概览 本数据集旨在为车牌识别和车辆检测任务提供高质量的训练素材。数据集完全由人工使用LabelImg工具进行标注,确保了标注的准确性与一致性。图…

【容器安全系列Ⅴ】- Linux强制访问控制:AppArmor 和 SELinux

在本系列中,我们介绍了各种安全层,这些安全层不仅可以将容器与主机上的其他进程隔离开来,还可以将容器与其底层主机隔离开来。在这篇文章中,我们将讨论 AppArmor 和 SELinux 如何在我们之前讨论过的其他隔离层之外提供额外的限制。…

PDF的4大限制功能详解:如何保护你的文件?

PDF是我们工作中常用的文件格式之一。有时候,为了保护文件的内容或使用权限,我们需要对PDF文件进行某些限制。通过PDF编辑器,可以对PDF文件设置限制保护,下面介绍4种常见的限制功能,一起来看看吧。 限制功能一&#xf…

推荐大模型面临的严峻挑战

一、技术瓶颈 (一)可靠性与幻觉问题 大模型在运行过程中有时会出现事实性错误,这便是可靠性问题,也被称为 “幻觉”。例如,它可能会弄错诗词作者,给出错误的文学知识。这种错误并非个例,而是在…

面试必备:熟悉Spring MVC工作流程,掌握Spring MVC常见注解

一、SpringMvc 基础知识点 1. Spring MVC概况 1.1 如何理解Spring MVC 大家都知道Spring MVC很强大,胡广问大家一个问题,Spring MVC为什么会出现?一项技术的出现必定是为了解决旧技术考虑不全所积累的软件熵。《程序员修炼之道》在软件的熵…

PTA整数的分类处理

作者 陈越 单位 浙江大学 给定 N 个正整数,要求你从中得到下列三种计算结果: A1 能被 3 整除的最大整数A2 存在整数 K 使之可以表示为 3K1 的整数的个数A3 存在整数 K 使之可以表示为 3K2 的所有整数的平均值(精确到小数点后 1 位&…

0901作业+思维导图梳理

一、作业 1、代码 #include <iostream> #include <string.h> #include <stdio.h> using namespace std; class Mystring { public://无参构造Mystring():size(128),len(0){str new char[size];cout<<"无参构造完成"<<endl;}//有参构…