智能车实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
智能车实验报告
一.设计目标:
小车能自己识别道路,自主导航跑过指定道路。二.总体方案设计:
自动循迹智能汽车系统结构框图
单片机控制器
主板电源结构框图
2.1道路识别
根据麦克斯韦电磁场理论,交变电流会在周围产生交变的电磁场。
2.2原理流程图
2.3信号滤波过程
由于系统中存在噪声或干扰,进行算法滤波抑制和防止干扰是一项重要措施。可以选择“加权递推平均滤波法”。
2.4赛道检测方式
赛道路径几何特点:
由直线和圆弧组成。
2.5赛道路径检测内容:确定路径中心位置。
确定路径方向。
确定路径曲率。
需要在赛道垂直方向上
3-5点便可确定道路参数。
2.6赛道路径检测方法
最简单的方法:查表法
根据检测到的电压值,算出左右差值,每一个范围内的值,对应一个舵机转角。
缺点:速度快时,动态响应性不太好
PD控制方法:根据检测到的电压值,算出左右差值∆U1,并记录上次检测的左右差值∆U0,
PWM∆
-
VAL
∆
=
P
+
∆
D
U
1
)2
1
(*
U
_U
*
特点:P和D的参数调整合适会使转向比较平稳。
需要队员根据自己车的参数调整
舵机及电机驱动
利用占空比的变化,改变舵机的位置。方波脉冲信号的周期
为20ms,当方波脉冲宽度改变时,舵机转轴的角度发生变化,角度变化与脉冲宽度的变化成正比
电路连接好后,用一个逻辑输出的信号来控制马达。高电平(逻辑1)让继电器导通,马达转动;低电平(逻辑0)让继电器断开,马达停止。
在电路相同的情况下,把马达的“极性”反过来接,可以控制马
达的反转,断开继电器就能控制停止。
想要同时控制正反向的话,就需要更多的电路——最简单的就是H桥电路。H桥电路的“H”的意思是它实际电路在电路图上是一个字母H的样式。
马达速度。如果在其中一种状态下,频繁的切换开关状态,马达的转速就不再是匀速,而是变化的了,相应的扭矩也会改变。通常反应出来的是马达速度的变化。
电机驱动板
2.7电机速度控制
一、低速恒速控制
二、根据赛道状态进行变速控制
分段控制
将赛道分为直道,小半径弯道,大半径弯道,丢失路线。
不同的赛道对应不同的速度。
这些速度可以根据赛道的具体情况通过按键在比赛准备时设定。PID控制
测速反馈构成的闭环控制
三.硬件电路设计
核心板
母版
四.软件设计
编程方法概述
控制系统软件组成]:
系统软件:各种操作系统、编译软件等通用软件
应用软件:用户设计的处理特定任务的专用软件
程序设计的基本方法
明确任务:MCU在控制系统中的作用、采用的控制算法、输入/输出
信号的类型和频率、系统干扰类型、软件和硬件的功能划分等。编程方法:模块化与结构化程序设计。
1.模块化程序设计
模块化程序设计,其思想就是把整个程序分解为若干个具有
单入口单出口结构的子任务或功能模块,每个模块执行单一的功能,各个模块分别设计、调试成功之后再装配在一起,成为一个完整的程序。
(1)自底向上模块化设计。首先对最低层模块进行设计、编码、测试和调试。这些模块正常工作后,就可以用它来开发高层的模块。这种方法是汇编语言设计常用的方法。
(2)自顶向下模块化设计。首先对最高层模块进行编码、测试和调试。为了测试这些最高层模块,可以用“结点”来代替还未编码的较低层模块,但这些“结点”的输入和输出应满足程序说明部分的要求,但功能少得多。该方法一般适合用高级语言来设计程序。
2.结构化程序设计
结构化程序设计的基本思想是:任何程序都可用三种基本结构
表示,即顺序结构、选择结构和循环结构。由这三种基本结构经过反复嵌套构成的程序称为结构化程序。
三种结构形式
对应用程序的基本要求
实时性:指在被控制对象允许的时间范围内对系统进行采样、计算、处理、控制。采用汇编语言设计的应用程序的实时性最好。针对性:根据系统的具体需要设计应用程序。
灵活通用性:应用程序应具有一定的可移植性,可采用模块结构,将通用功能程序设计成与具体任务无关的子程序。
可靠性:应用程序应采用自检、软件陷阱、WATCHDOG等软件措施防止程序死机或失控。
应用程序的分类
过程监视程序:为监视和控制生产过程提供的人机界面(HMI),如各种键盘输入和CRT、LED、LCD显示输出等。
数据处理程序:A/D、D/A、数字滤波、线性化处理、工程转换等。控制算法程序:实现特定的控制要求,如PID、FUZZY等。
输出控制程序:将控制算法的结果转换成对执行机构的输出,如步
进电机的启停和加、减速,直流电机的速度调节等。
故障自诊断程序:检测控制系统各部分的工作状态,如RAM、ROM的
校验和检验,A/D和D/A的自检、显示装置自检等。
3.数字滤波程序设计
数字滤波是一种程序滤波,通过程序运算对采样信号进行平滑处理,消除或减少噪声的影响。与模拟滤波器比较,数字滤波具有以下优点:
(1)不需要增加硬件设备,且多通道可用一个滤波程序。(2)无阻抗匹配问题,可靠性高。
(3)可以对极低频率(0.01Hz)的干扰信号进行滤波。
(4)滤波器的参数调整方便灵活。
1.限幅滤波
限幅滤波是根据经验,确定连续两次采样信号的最大偏差。如果超过此偏差,则采样信号为干扰信号,放弃不用;否则采样信号有效。
设Y(K)、Y(K-1)、Y分别为本次采样、上次采样和最大偏差。当|Y(K)-Y(K-1)| Y时,Y(K)有效,保留为本次采样信号;
当|Y(K)-Y(K-1)| > Y时,Y(K)无效,以Y(K-1)为本次采样信号。
当信号幅度变化比较缓慢时,限幅滤波对于冲击性脉冲干扰的滤波效果较好。
2.中值滤波