黄俊星智控高级组网格迷宫小车 1Word格式.docx
- 文档编号:18420248
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:94
- 大小:1.63MB
黄俊星智控高级组网格迷宫小车 1Word格式.docx
《黄俊星智控高级组网格迷宫小车 1Word格式.docx》由会员分享,可在线阅读,更多相关《黄俊星智控高级组网格迷宫小车 1Word格式.docx(94页珍藏版)》请在冰豆网上搜索。
4.1车体的选择与比较·
4.2电池的选择与论证·
4.3系统供电电压的设计与论证·
9
4.4电机模块设计与论证·
4.5传感器模块选择与论证·
4.690°
和180°
转弯方案的设计与论证·
10
4.7声光报警模块的设计与论证·
11
五、理论分析与计算·
5.1车轮半径·
5.2车轮转过1格走过的距离·
12
5.3两个车轮的距离·
5.4转弯半径·
5.5传感器距离分析计算·
5.6PID参数计算·
14
5.7电机的正反转的控制·
六、电路图及有关设计文件·
15
6.1STM32最小系统模块·
6.2电机驱动、电源、声光报警、拓展接口·
16
6.3传感器模块·
19
6.3.1巡线传感器设计和尺寸安排·
20
6.3.2传感器调试板模块(原理图&
&
PCB)·
21
6.4测速模块·
22
6.5无线模块·
23
6.6上位机·
24
七、算法设计及分析·
26
7.1红外对管判断路况分析·
7.1.1巡线算法·
7.1.2节点判断·
7.2跑全图算法·
28
7.2.1右手定则跑全图框图·
7.3贪心算法求最短路径·
29
7.4测速算法·
30
7.5PID调速算法·
31
7.5.1初始化程序设计·
32
7.6无线通信·
34
7.6.1收发模式·
7.6.2EnhancedShockBurstTM收发模式·
7.6.3EnhancedShockBurstTM发射流程·
35
7.6.4EnhancedShockBurstTM接收流程·
7.7比例遥控器遥控·
八、测试方法、仪器和数据·
36
8.1系统测试的目的·
8.2系统测试的方法·
37
8.3测试仪器·
九、结语·
39
十、附录·
41
一、设计要求:
设计一辆由黑线引导行进路线的智能小车。
要求小车在活动场上能利用传感器判断黑线的位置,并自自动沿黑线前进并走出迷宫。
1.1场地说明:
如图所示,场地的主体是1500*1500mm²
矩形(由5*5块300*300m²
的小正方块组成),其中小车行驶路线由宽30mm的黑胶带按照网格线贴成(注意:
实际比赛场地路线及出入口会有改动),出口贴有一块300*30mm²
正方形。
小车仅允许传感器置于引导线上,由裁判摆放。
1.2车模与传感器要求:
车身加传感器长宽均不得超过300mm,传感器只能安装在小车上,不允许使用场外定位器件。
1.3基本要求:
1.小车自主判断黑线的位置,并自动沿黑线行驶,行驶过程中车身不得离开黑线,到达出口位置能自动停下并自动声光形式示意。
2.搜索环节:
由于路线与出口均为未知,小车在本环节内需自主寻找到出口,并“记忆”所走路线,此过程不允许小车离开黑线。
此过程不得超过10分钟。
(小车到达出口后,可以往回走,以测试其它路线,但最终必须回到出口,并以声光形式示意此环节完成),迷宫所有黑线部分至少要走过一遍。
1.4扩展要求:
3.经过搜索环节后,小车凭借对上一环节的“记忆”,制定最优路径,重新从入口进入迷宫,本环节成绩按所用路线长度排名得分。
4.设计人机界面,小车以无线形式与人机界面通信,并显示当前小车信息(位置,速度等)
5.将第一次搜寻结果画出模拟地图(完整的地图)及第二次走迷宫时显示最优路径通过点阵,液晶屏或电脑显示
6.其它创意
二、简介+创新功能
2.1简介
我们设计的迷宫小车是一辆由黑线引导行进路线的智能小车。
小车在活动场上能利用红外对管光敏传感器判断黑线的位置,并自自动沿黑线前进并走出迷宫。
整个系统由红外对管TCRT5000和自己组装的红外对管进行信号采集,经电压比较器LM339处理后直接传给stm32单片机,单片机对信号按照预定的程序进行处理,将处理的结果通过IO口传给电机,通过与PWM波合成后给L298N(直流电机驱动芯片)信号,通过L298N进行控制小车两轮子,以实现左右微调,左右转弯,前进与原地旋转等动作。
小车每到路口都进行相关的记忆处理,以便最优返回。
具体的系统框图如下:
2.2创新功能
2.2.1无线遥控器遥控
使用了无线遥控器作为小车的遥控手柄,一方面十分有手感,另外一方面在迷宫小车的加上了遥控车的功能。
一车多用。
2.2.2使用无线遥控按钮
我们使用无线按钮去代替小车上的固定按钮,使用小车的时候能够不用直接接触小车就能去控制小车的状态改变。
2.2.3报警的时候能够根据我们的设定响不同的音乐。
目前我们使用的是一种机关枪的报警声音。
这样能够使得这辆小车变得更加有趣味性。
综合了上面这几个创新功能,我们的小车就能够实现跟我们小时候玩的遥控车一样,而且非常有手感。
2.2.4任何地方都可以作为起点跑完全图并且冲向终点。
2.2.5任何地方都可以作为起点跑完全图并且冲向终点后还是可以回到起点用最短路径冲向终点。
2.2.6使用了PID调速的方法
由于电机特性的原因,我们并不能像其他队伍那样直接使用单纯的电平信号控制电机的正反转和停转。
这样就迫使我们,直接自学PID算法,直接利用书本上的知识解决实际问题。
把理论跟实际结合起来,让比赛变成一个学习的平台,在这个平台上我们尝试每一种新的方法,并且巩固好课本知识。
在实现小车能够不抱死地行驶到终点。
2.2.7上位机加入了秒表功能,能够显示小车实际跑了多长时间。
2.2.8上位机能够实时地把小车的在地图上的相对位置动态地显示出来,并使用不同的颜色区分开最短路径和模拟地图。
三、方案比较:
3.1系统硬件结构设计
方案1:
小车使用印刷板制作小车的底板,把所有的模块放置在同一块底板上,减少飞线。
方案2:
小车分模块制作,每一个模块控制一个功能。
小车使用万向轮,由两个电机带动两个轮子走动。
由有机玻璃板构成车的底板,方便各个模块的定位。
比较之后发现方案1虽然能够减少飞线,使得小车的外观更加美观。
不过却存在系统板过大,制板难度大,故障率大的问题。
方案2虽然存在飞线多的缺点,不过由于模块的独立性比较强,可以分模块测试,不至于因为其中一个模块的问题而导致整个板重新制作。
故选择方案2.
3.2总体实现方案与主控制器的选择和论证
小车的总体实现方案中,stm32单片机控制整个系统,其他外设包括电源模块、电机驱动模块、红外检测模块、无线模块、测速模块。
主控制器的选择上:
51单片机,这个控制器虽然相对容易控制,比较简单。
不过存在资源相对较少的缺点。
方案2:
stm32单片机,这个主控制器虽然在控制上相对51更有难度,不过资源上远比51多很多。
能够满足小车加载更多的创新功能。
经过之前多次使用这两种单片机的经验,我们毫不犹豫地选择了stm32作为主控制器。
四、设计与论证
4.1车体的选择与比较
采用4轮小车,前轮由舵机控制转弯,后轮由动力电机控制前进与后退。
方案:
2:
采用三轮小车,前面两轮由两个电机分别控制,用其速度差来实现转弯与调整,后前轮为万向轮,用来维持小车的平衡
由于采用4轮车,小车在转弯时会产生转弯半径,会偏离轨迹,不能按照黑色轨迹前进,而转弯半径无法缩小到满意的程度,由于三轮小车用两个电机来控制两个轮子,故很容易来实现转弯与调整,是理想的车体模型。
4.2、电池的选择与论证
使用普通的干电池给这个系统供电。
这个方案在电池来源上有来源广泛的有点,不过也存在电量消耗大,长时间消耗的成本更高,不适合一个多月的长时间调试。
使用可重复充电的锂电池给整个系统供电。
这个方案在短时间的调试会存在成本过高和来源难的缺点,不过在一个多月的调试中,这种可重复充电的电池能够大大降低成本。
综合上述,我们选择了方案2。
在网上购买了电量比较大的锂电池。
4.3、系统供电电压的设计与论证
直接使用锂电池的电压给这个系统供电(包括电机驱动);
使用稳压芯片7808把锂电池的电压稳压到8V之后再供给整个系统使用。
方案3:
使用稳压芯片7809把锂电池的电压稳压到9V之后再供给整个系统使用。
经过对三个方案的实际调试使用,我们发现方案1中的供给电压会随着调试时间的增长而降低,最后导致整个系统由于供电电压不够而出现各种问题。
方案2中受到程序的限制,这个电压也会出现各种问题。
而在方案三中,跟程序的联调比较完美。
比较之后方案3更优,我们选择了方案三。
4.4、电机模块设计与论证
由于之前我们买的51开发板里面含有一个5V电压输入的步进电机,我们的初想法是想利用这个5V电压输入的步进电机,这个方案中具有的优势是停电能够马上停下来,而且我们不需要再去市场上去买电机,能够通过51单片机直接控制,电压方面十分吻合。
但是由于我们直接使用了stm32做主控芯片,这个芯片的控制电压是3.3V,所以不能为该步进电机提供电压。
使用我们51单片机开发板里面的直流电机,不过由于电机没有传动机构,不能够吧方向改变以缩小占空间面积,所以方案不完善。
使用传动机构把电机的转动方向转向垂直方向。
比较之后,第三种方案更优。
4.5、传感器模块选择与论证
方案1:
采用红外对管和LM339。
当红外对管接收到自己发出去的红外线,会有产生一定的电压,把此电压输入到LM339中,与基准电压比较,便可确定红外对管前时候有反光物体。
通过调整电位器可以改变基准电压,从而改变红外对管的灵敏度,即探测距离。
使用摄像头来识别路况,把道路情况直接拍摄下来由单片机处理得到这个地图的信息减少小车检测的次数。
不过由于摄像头的造价比较高,使用起来相对红外对管更加困难。
而且出实际出发不可能一次性把整幅地图全部拍下来,这样的造价就更加高了。
综合上述:
方案1更加合理,更加适合这种不是十分智能的迷宫小车使用。
我们最后采用了lm339+红外对管的方案来识别路况。
4.6、90°
转弯方案的设计与论证
我们的小车在电机性能上比其他队伍的小车的电机性能都要差很多,因为我们本着的是学习的态度,希望通过在硬件性能跟不上的同时依然能够通过软件调试出比较好的巡线性能和转弯性能。
但是因为这样,我们的小车的转弯性能就稍微弱了点,这样我们就要在算法上下更多的功夫。
小车要走迷宫就不能够像智能车那样一直往前冲,在转角的地方就要适当的地方开始转弯,包括90°
,但是转弯有很多种方案,哪一种才是最适合现在我们这种硬件性能相对智能较低的小车呢?
我们队伍尝试了几种方案:
90°
的时候直接让小车一个轮子停转,一个轮子继续正转,这样就能够直接地去转动90°
,180°
的时候就直接让一个轮子先正转90°
,再让另外一个轮子反转90°
。
这样就能够实现小车的90°
的转动。
直接无论在什么时候都是使用正反转的方案,直接让电机正反转,这样就能够真的做到让小车真的做到在转弯的时候做到90度和180的正常转弯转弯结束之后我们通过红外对管的巡线信息判断这时候的小车是不是已经顺利转弯经过了90°
或者是180°
只有这样我们的转弯方案才能够使得小车在硬件性能相对其他队伍的小车的稍逊的时候做到依然能够正常地巡线。
在实际实践中,我们的小车使用方案1的时候停转的那个轮子实际上会被另外一个轮子带动,做不到停住轮子转弯的效果,但是使用方案2的时候,使用了就能够正常地停住一个反转的轮子,让小车真的做到停住。
经过实际中的比较,我们最后决定在算法上使用方案2作为转弯的算法。
4.7、声光报警模块的设计与论证
虽然说声光报警只是其中一个很小的功能模块,但是我们还是希望能够通过更加有趣的更加创新的方法来让我们的小车来跑得更加人性化让这个比赛更加有趣。
所以我们希望有一个简单易行,但是又很有创意的声光报警。
使用简单的蜂鸣器和led指示灯来指示这时候已经跑完全图了。
不过这样的话,一方面编写蜂鸣器发声要使用一些程序,占用了CPU资源。
另一方面,这样的声光报警模块不能使得小车变得更加趣味。
在这个方案里面,我们使用了一个四音报警音乐芯片,通过很简单的电路图就能够使得小车在中终点的时候使用同一个IO口来控制这个模块,大大节省了IO口和CPU资源。
在这个创意中,我们最后使用了方案2
五、理论分析与计算
5.1、车轮半径
车轮的半径是5.18cm,用周长公式得到这个小车车轮的周长是17.24cm。
这样我们就能够实际通过理论计算出小车跑过的实际路线长度,同时也知道了小车的转弯半径应该怎么处理。
C=2π*r=2*π*5.18=17.24cm
5.2、车轮转过1格走过的距离
车轮转过一圈的格数是20格,经过简单的计算,我们知道转过一格的距离是:
17.24/20=0.862cm
5.3、两个车轮的距离
实际测量值约为12cm。
这个数据受车模实际大小影响,无法改变的,通过其他硬件适应这个大小。
5.4、转弯半径
转弯的时候实际半径是12cm,这个是使用了正反转的时候实现的,这时候一个轮子不动,另外一个轮子进行正转产生的一个半径。
5.5、传感器距离分析计算
1、2之间的距离是3.3cm1、3之间的距离是1.2cm
3、4之间的距离是7.6cm7、8之间的距离是12cm
5、1之间的距离是2.0cm3、7之间的距离是4.0cm
6、8之间的距离是1.5cm1与左边及2与右边传感器之间的为2.7cm
上面的数据是计算得到的:
1)、1与2之间的距离计算:
因为小车所巡的黑线是30mm,受实际的路线不可能准确地为30mm,我们最后使用的误差是3mm,这样就能够保证小车在巡线的时候不会出现两个巡线灯出现同时亮的情况,保证小车的正常巡线。
2)、1与3之间的距离计算:
考虑到1灯与车轮的距离和转弯半径,我们设计的时候为了使得3、4号灯之间的中点能够满足车体的转弯半径与车轮子之间的距离参数比。
我们设计的时候就设计了1.2cm,在这个时候就能够满足车体的顺利转弯。
3)、3与4之间的距离计算:
这两个灯是使用来作为结点灯来使用的,所以只要这两盏灯的实际距离比巡线的线宽大就行,所以最后我们设计的时候使用了7.6cm
4)、7与8之间的距离计算:
理论值应该跟3.4号灯是一样的,我们设计的时候考虑到后来修改的情况。
我们就采用了跟34号灯不一样的设计。
让我们的对管板能够适用于更大范围的地方,也方便这个模块的循环利用。
5)、1与5之间的距离计算:
5号灯主要是使用来作为判断胡同的,但是考虑到下图这种情况也会出现胡同的情况,所以我们设计的时候就要避免这种情况,最后通过理论分析得出这个实际距离应该是2.0cm。
6)、3与7之间的距离计算:
这个主要是用来进行节点的预判断,通过这两个红外对管的使用,我们能够正确地判断出左右结点的位置,实际距离应该大于线宽就行。
考虑到实际情况,我们最后使用的是4cm
7)、6与8之间的距离计算:
8号灯的用途是判断前面的结点。
所以距离应该比6号灯要高出一段,为了正确地判断前结点,我们使用的尺寸是1.5cm
8)、1与左边及2与右边传感器之间的距离设计:
这个是为了防止车体跑飞的情况而设计的。
所以就设计了比线宽小点,考虑到误差,我们设计的时候就采用了2.7cm。
同时这些也是用来判断转弯结束的标志,这样就能够更加充分地利用这些资源。
5.6、PID参数计算:
这个具体见算法分析与设计部分的调速
5.7、电机的正反转的控制:
六、电路图及有关设计文件
6.1、STM32最小系统模块
功能:
作为系统的主控模块和上位机的接收模块,处理信号并发出指令指导各模块的协调运行。
板子总体设计图(原理图&
PCB)
6.2、电机驱动、电源、声光报警、拓展接口
①电机驱动:
采用L298作电机驱动,为电机提供大的电压和大的电流,驱动电机的正反转和转速。
通过控制IN1,IN2,IN3,IN4控制电机的正反转,控制PWM控制电机的旋转速度。
②电源:
我们使用的电池是可充电的锂电电池,通过三个电源模块为电机、无线模块和声光报警模块分别提供9V、3.3V和5V电压,使系统的各个模块协调工作。
③声光报警:
到达出口位置能自动停下并自动声光形式示意。
④拓展接口:
turn模块——为系统提供更多的转接口,方便系统设计时的电路改动;
声光报警接口——提供报警模块跟单片机相连接的接口,单片机控制接口线的高低电平来控制声光报警模块发出不同的声音。
无线按钮模块——通过无线遥控器来遥控按钮的按下,这样能够不接触小车远程控制小车的动静,触发系统模式的改变。
比例遥控器接收机接口——我们使用无线比例遥控器来控制小车的运动,使得小车能够根据人为的信号来跑,更加具有趣味性。
NRF24L01与单片机接口——这个模块主要是为上位机提供连通的通道。
板子总体设计图(原理图&
电机驱动原理图PCB图
电源模块(包括12V转9V,9V转5V;
5V转3.3V):
12V—>
9V
(9V—>
5V)&
(5V—>
3.3V)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 黄俊星智控高级组网格迷宫小车 黄俊星智控 高级 组网 迷宫 小车