画画小车杨尚进 李海泉姚子辉荣誉出品Word下载.docx
- 文档编号:16381382
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:27
- 大小:376.67KB
画画小车杨尚进 李海泉姚子辉荣誉出品Word下载.docx
《画画小车杨尚进 李海泉姚子辉荣誉出品Word下载.docx》由会员分享,可在线阅读,更多相关《画画小车杨尚进 李海泉姚子辉荣誉出品Word下载.docx(27页珍藏版)》请在冰豆网上搜索。
五、电路图及有关设计文件·
8
5.189C52最小系统模块·
5.2电机驱动、电源模块·
9
5.3传感器模块·
11
六、测试方法、仪器和数据·
12
61系统测试的目的·
6.2系统测试的方法·
6.3测试仪器·
七、结语·
14八、附录·
15
一、设计要求:
设计一辆能够自主划线的智能小车。
要求小车在活动场上能利用传感器精确的绘制要求图形。
图形说明:
线段矩形“凹”字形
如上图所示,场地为一张铺在地上的白纸,要求小车携带一只马克笔(安装方式不限)完成对要求图形的精确绘制。
车模与传感器要求:
车模大小不限,传感器只能安装在小车上,不允许使用场外其他定位器件。
基本要求:
1.小车能直线前行,完成40CM,80CM,100CM的线段绘制。
评判时设置起点基准线(黑胶带),小车绘制的线段长度为小车从基准线出发到最终停止绘线的距离。
2.小车能完成90°
转弯,完成40CMX60CM的矩形绘制。
不设起始基准线。
拐点处能实现“┓”“┏“等精确绘制。
扩展要求:
1.小车能完成外三条边均为60CM,凹三条边均为30CM的“凹”字形绘制;
2.小车能完成四个30CMX30CM正方形组成的“田”字形绘制;
3.自行设计趣味图案的绘制;
4.能完成现场提供的图案(仅包括线段和90°
角)绘制。
二、方案比较:
2.1系统硬件结构设计
方案1:
小车所有电路用一块电路板设计完成,即是把所有功能的硬件集成到一块PCB板上,然后腐蚀制造,购买元器件,最终焊接完成。
方案2:
小车分模块制作,每一个模块控制一个功能。
所用模块向专业商家购买,减少自己制版的麻烦及错误。
小车使用万向轮,由两个电机带动两个轮子走动。
由有机玻璃板构成车的底板,方便各个模块的定位和安装。
比较之后发现方案1虽然能够减少杜邦线的使用,使得小车的外观更加美观。
不过却存在系统板过大,制板难度大,故障率大的问题。
方案2虽然存在线多的缺点,不过由于模块的独立性比较强,可以分模块测试,不至于因为其中一个模块的问题而导致整个板重新制作。
故选择方案2.
2.2系统结构介绍
小车的总体实现方案中,89C52单片机控制整个系统,其他外设包括电源模块、电机驱动模块、红外检测模块、测速模块、键盘。
三、设计与论证
3.1车体的选择与比较
采用4轮小车,前轮由舵机控制转弯,后轮由动力电机控制前进与后退。
方案:
2:
采用三轮小车,前面两轮由两个电机分别控制,用其速度差来实现转弯与调整,后前轮为万向轮,用来维持小车的平衡
由于采用4轮车,小车在转弯时会产生转弯半径,会偏离轨迹,不能按照黑色轨迹前进,而转弯半径无法缩小到满意的程度,由于三轮小车用两个电机来控制两个轮子,故很容易来实现转弯与调整,是理想的车体模型。
3.2、电池的选择与论证
使用普通的干电池给这个系统供电。
这个方案在电池来源上有来源广泛的优点,而且电机耗电量不大,调试时间短,能满足要求。
方案2:
使用可重复充电的锂电池给整个系统供电。
这个方案在短时间的调试会存在成本过高和来源难的缺点。
综合上述,我们选择了方案1。
购买普通的干电池。
3.3、系统供电电压的设计与论证
我们使用4个普通干电池并联组成的电池组给驱动模块供电,由于驱动模块(MC78芯片)自身带有5V的稳压输出,因为单片机的供电问题得以解决。
而测速模块、红外测速模块所需的5V电压也可用单片机提供,因此小车所有模块只需6V的电池组供电即可。
由于考虑普通的干电池电量不耐用,我们决定买质量较好但相对较贵的南孚干电池。
3.4、电机模块设计与论证
由于本次智能车任务比较简单,主要任务是让小车走直线和转角90°
,所以我们采用性价比较高的普通直流电机驱动,电机所需电源由驱动模块提供5V,电机的快慢、正反行走通过单片机和驱动模块PWM占空比控制。
3.5、传感器模块选择与论证
方案1:
采用红外对管和LM339。
当红外对管接收到自己发出去的红外线,会有产生一定的电压,把此电压输入到LM339中,与基准电压比较,便可确定红外对管前时候有反光物体。
通过调整电位器可以改变基准电压,从而改变红外对管的灵敏度,即探测距离。
使用摄像头来识别路况,把道路情况直接拍摄下来由单片机处理得到这个地图的信息减少小车检测的次数。
不过由于摄像头的造价比较高,使用起来相对红外对管更加困难。
而且出实际出发不可能一次性把整幅地图全部拍下来,这样的造价就更加高了。
综合上述:
方案1更加合理,更加适合这种不是十分智能的迷宫小车使用。
我们最后采用了lm339+红外对管的方案来识别路况。
3.6、90°
转弯方案的设计与论证
直接让小车一个轮子停转,一个轮子继续正转,这样就能够实现小车的90°
的转动。
让小车一个轮子反转,一个轮子继续正转,这样也能够转动90°
。
通过实际检测发现,我们的小车使用方案1的时候,90°
的转弯可以做到,但是有一定弧度,不满足题目中精确90°
的要求。
但是使用方案2的时候,两轮以相同的速度正反转,把笔装在两轮中点处,发现可以画出精确的90°
经过实际中的比较,我们最后决定在算法上使用方案2作为转弯的算法。
四、理论分析与计算
4.1、车轮半径
车轮的半径是3.25cm,用周长公式得到这个小车车轮的周长是20cm。
这样我们就能够实际通过理论计算出小车跑过的实际路线长度,同时也知道了小车的转弯半径应该怎么处理。
C=2π*r=2*π*3.25=20cm
4.2、车轮转过1格走过的距离
车轮转过一圈的格数是20格,经过简单的计算,我们知道转过一格的距离是:
20/20=1cm。
4.3、两个车轮的距离
实际测量值约为15cm。
这个数据受车模实际大小影响,无法改变的,通过其他硬件适应这个大小。
五、电路图及有关设计文件
5.1、89C52最小系统模块
功能:
作为系统的主控模块,控制整个系统。
板子总体设计图(原理图&
&
仿真图)
5.2、电机驱动、电源
①电机驱动:
采用L298作电机驱动,为电机提供大的电压和大的电流,驱动电机的正反转和转速。
通过控制IN1,IN2,IN3,IN4控制电机的正反转,控制PWM控制电机的旋转速度。
②电源:
我们使用的电池是干电池,通过三个电源模块为电机、测速模块、红外模块分别提供5V、5V和5V电压,使系统的各个模块协调工作。
板子总体设计图(原理图&
电机驱动模块:
LM298芯片原理图:
红外测速模块:
4*4键盘模块:
5.3、传感器模块
通过红外对管来识别各种路况(各种路况在路况说明里面有指出)。
红外对管由红外发射管和红外接收管组成,红外发射管能够发射出人的肉眼看不见的红外线,在巡线的过程中,红外线照在白色的KT板上就会反射,如果照射在黑线上,红外线将会被吸收而没有反射。
接收管接收到红外信号的会导通,等效电阻变得很小,输出低电平,经过LM339电压比较器的比较之后变成高电平,给单片机提供一个高电平。
相反,当接收管接收不到红外信号的时候就不导通,等效电阻无穷大,此时输出高电平,经过电压比较器lm339的电压比较之后输出低电平给单片机。
单片机通过识别相应的红外对管给出的信号来判断是否到达黑线,以决定是否开始计数算距离。
5.4测速模块
用来测量两个轮子的速度,从而得到轮子走过的位移。
车速检测用于检测并记录车体运行的路径,通过车速检测记录车体做迷宫的坐标,同时也起到控制车速和保持左右双轮的速度一致。
检测原理:
在左轮和右轮的内则都贴有的光电码盘,码盘由两种颜色组成白色和黑色。
红外发射管安装在车轮光电检测码盘的检测区域,当红外发射与接收管正对着黑色边时,红外线没有被反射,接收管的电阻很大;
当红外发射与接收管正对着白色边时,红外线被反射,接收管的电阻很小。
检测电路中,红外发射与接收管正对着黑色边时,PULSE输出高电平;
正对着白色边时,PULSE输出低电平;
从黑色边到白色边,PULSE输出一个下降沿信号;
从白色边到黑色边,PULSE则输出一个上升沿信号。
LM3S102单片机可以检测输出脉冲的下降沿信号判断车轮转到的角速度,当检测到20个下降沿信号时,轮子转动了一圈。
六、测试方法、仪器和数据
6.1系统测试的目的:
1、测试模块功能的准确性和稳定性。
2、整体考察系统整体的性能是否达到设计要求,发现问题并找到可行的解决方法。
3、进行系统性能优化。
6.2系统测试的方法:
1、系统各模块测试阶段:
此阶段主要着眼于局部,验证各模块功能是否符合设计要求,检查各电路是否正确连接,是否正常工作。
通过观察现象,找出问题,进行模块就纠错或优化。
2、系统整体性能测试阶段。
此阶段主要考察系统总体是否符合设计要求,每个功能是否能完整实现,检查系统之间的协调性和可靠性。
通过观察小车运行状况,找出不足或错误的地方,进行修改和优化。
3、在软件方面的调试方法主要是使用J-link进行调试,设置断点或者在软件中甚至一些代码实现小车系统的停转来一步步分析小车正在运行的程序从而一步步分析是程序的哪里出现了问题。
4、硬件上主要是使用数字万用表和示波器来测量各参数的正确性,减少断线、虚焊和短路的各种问题。
使用示波器来测量接收信号的强弱,通过这些调试来使得整个硬件能够正确运行。
5、红外对管的调试:
由于这次我们使用红外对管的性能也是不太好的。
我们要不断地调试好这个红外对管的灵敏度。
而且通过改变发射管的电流来改变发射功率,我们就是通过改变发射管的电阻来改变发射功率的。
6.3测试仪器
6.3.1、数字万用表:
主要作用:
A、用来判断电压的大小,从而判断该电路所连元件的工作电压是否正常;
B、用来判断电池电压的大小,并且通过这个来判断电池是否已经过放或者过充;
C、用来判断所焊电路是否已经出现虚焊,并且检查是短路还是断路,防止因为电路问题等硬件问题导致小车系统跑不了,引起胡乱修改程序的无用功;
D、用来判断电阻是不是已经损坏,我们曾经试过因为高温导致贴片电阻的损坏影响影响整个电路,但是因为我们没有直接怀疑电阻的好坏,一直以为是红外对管的原因,换了几个对管去尝试,做了大量的无用功。
6.3.2、J-link调试器;
A、下载程序,减少因为串口擦写导致的错误;
B、调试程序,作为一个运动的系统,我们要不断地试验每一步是否出现误判或者程序跑飞的情况,避免不必要的错误发生,减少时间损耗。
我们曾经出现过因为一个变量使用了两次,但是给的数据类型不一样导致的程序崩溃。
所以我们要避免这些低级错误就需要使用在线调试,及时地知道各参数、各函数是否真的按照我们的意愿去跑了。
6.3.3、Keil软件调试;
A、编译程序
B、观察寄存器、变量、函数的数据是否正常,防止传参错误等低级错误的出现。
七、结语
本文是基于学习小车系统为出发点进行的一个小小的课题。
我们的论文简单介绍了我们小车的基本设计结构,讨论了各方案的优劣和取舍,在核心控制板上进行一系列的操作,实现了小车的基本功能和比赛要求的拓展要求。
这个模型能够实现画画的功能。
但是在研究的过程中,我们发现:
小车系统并不是我们想象中的那么简单,对软硬件的要求都很高,整个控制系统相对较为复杂,调试时遇到很多我们知识上暂时无法解释的问题,明白我们现阶段学习的知识是非常有限的。
不过,在近一个月的奋战中,不管是精力上还是时间上,我们都付出了不少,所以我们得到的也很多,或许这才是我们弄课题项目的真正意图吧,下面是我们队伍在这一个月来的一些简单小结:
在这个过程中,我们首先要面对的是小车模型的搭建,不过由于电机参数的影响,我们无法做到在相同的PWM的控制下两个轮子的车速做到一致,刚开始使用的电机是无法达到我们的要求的。
这给我们的启示是,思考问题要全面,这样才能够从大局出发减低成本。
由于硬件平台上的错误是无法通过编译器来检测的,我们只能一个一个问题地去排除。
在这个过程中,我们大大增强了对硬件进行调试的能力,增大了对学习技术和排除错误的能力。
比赛是我们学习的最好途径,我们在参加比赛时,深入学习了89C52的使用,同时也加深了对keil编译器和AltiumDesigners画板软件的理解。
经过将近一个月的比赛,我们终于把小车模型、硬件、软件都搭建成功,收获甚大,这个经历将给我们下一阶段的学习提供更大的帮助。
8、附录
8.1程序
#include<
reg52.h>
intrins.h>
sbitENA=P2^6;
//接驱动模块ENA使能端,输入PWM信号调节速度Left_moto_pwm
sbitENB=P2^7;
//接驱动模块ENA使能端,输入PWM信号调节速度Right_moto_pwm
sbitOUT1=P1^0;
//四路寻迹模块接口第一路
sbitOUT2=P1^1;
//四路寻迹模块接口第二路
sbitOUT3=P1^2;
//四路寻迹模块接口第三路
sbitOUT4=P1^3;
//四路寻迹模块接口第四路
sbitR1=P3^4;
//右轮电机接口1
sbitR2=P3^5;
//右轮电机接口2
sbitL1=P3^6;
//左轮电机接口1
sbitL2=P3^7;
//左轮电机接口2
unsignedcharm,n,temp,temp1,num,d;
//扫描数码管客值
unsignedchartime=0;
//显示缓存
unsignedshortintcount1=0;
//计左电机码盘脉冲值
unsignedshortintcount2=0;
//计右电机码盘脉冲值
unsignedcharpwm_val_left=0;
//变量定义
unsignedcharpush_val_left=0;
//左电机占空比N/10
unsignedcharpwm_val_right=0;
unsignedcharpush_val_right=0;
//右电机占空比N/10
bitRight_moto_stop=1;
bitLeft_moto_stop=1;
/************************************************************************/
voiddelay(unsignedintk)//延时函数
{
unsignedintx,y;
for(x=0;
x<
k;
x++)
for(y=0;
y<
1000;
y++);
}
voidstraight40(void)//直线前进函数
{push_val_left=44;
//输出速度PWM调节参数1-101为最慢,10是最快改这个值可以改变其速度
push_val_right=44;
for(;
count1<
=40;
)
{L1=0,L2=1;
R1=0,R2=1;
}//电机前进
delay(100);
count1>
40;
{L1=1,L2=1;
R1=1,R2=1;
}//电机停止
delay(100);
voidstraight100(void)//直线前进函数
=100;
100;
voidstraight80(void)//直线前进函数
=80;
80;
voidrectangle(void)//长方形函数
=40&
=51;
R1=1,R2=0;
}//电机转弯
for(;
=51&
=111;
}//电机前进
=111&
=122;
=122&
=162;
delay(1000);
=162&
=173;
=173&
=233;
/************************************************************************/
voidao(void)//凹字函数
//
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 画画小车 杨尚进 李海泉姚子辉荣誉出品 画画 小车 李海泉姚子辉 荣誉 出品