51单片机控制智能小车设计报告.doc

上传人:marr****208 文档编号:132272981 上传时间:2020-05-14 格式:DOC 页数:18 大小:1.87MB
返回 下载 相关 举报
51单片机控制智能小车设计报告.doc_第1页
第1页 / 共18页
51单片机控制智能小车设计报告.doc_第2页
第2页 / 共18页
51单片机控制智能小车设计报告.doc_第3页
第3页 / 共18页
51单片机控制智能小车设计报告.doc_第4页
第4页 / 共18页
51单片机控制智能小车设计报告.doc_第5页
第5页 / 共18页
点击查看更多>>
资源描述

《51单片机控制智能小车设计报告.doc》由会员分享,可在线阅读,更多相关《51单片机控制智能小车设计报告.doc(18页珍藏版)》请在金锄头文库上搜索。

1、单片机项目实验报告工程设计报告 单片机控制智能小车 班级:07104班,07103班姓名:张云磊 杜奇茸 薛艺 张亚珍学号:0710407107104023071030210710411307104113目录一、 前言二、 方案设计与论证1) 控制器模块选取2) 电机模块选取3) 电机驱动器模块选取4) 电源模块选取三、 硬件设计1) 主控系统2) 电机模块3) 电机驱动模块4) 电源模块5) 按键模块四、 软件设计1) 直行设计2) 转弯设计五、 调试中存在的问题六、 参考文献一、前言:随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。全国电子大赛和省内电子大赛几乎每次都有智能小车这

2、方面的题目,全国各高校也都很重视该题目的研究。可见其研究意义很大。本设计就是在这样的背景下提出的,指导教师已经有充分的准备。本题目是结合科研项目而确定的设计类课题。我们设计的智能电动小车该具有圆形运行、三角形运行、矩形运行和三者一起运行的功能。都是运行一循环自动停车。根据题目的要求,确定如下方案:在现有玩具电动车的基础上,加了四个按键,实现对电动车的运行轨迹的启动,并将按键的状态传送至单片机进行处理,然后由单片机根据所检测的各种按键状态实现对电动车的智能控制。这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。本设计采用STC89C52单片机。以STC

3、89C52为控制核心,利用按键的动作,控制电动小汽车的轨迹。实现四种运行轨迹。STC89C52是一款八位单片机,它的易用性和多功能性受到了广大使用者的好评。二、方案设计与论证1) 控制器模块选取我们采用STC公司的STC89S52单片机作为主控制器,STC公司的单片机内部资源比起ATMEL公司的单片机来要丰富的多,它在5V供电情况下,最多支持80M晶振、且内部有512B的RAM数据存储器、片内含8k空间的可反复擦些1000次的Flash只读存储器、1K的EEPROM、8个中断源、4个优先级、3个定时器、32个IO口、片机自带看门狗、双数据指针等。但是不兼容Atmel。从方便使用的角度考虑,我们

4、选择了此方案2) 电机模块选取采用普通直流电机。直流电机运转平稳,精度有一定的保证。直流电机控制的精确度虽然没有步进电机那样高,但完全可以满足本题目的要求。通过单片机的PWM输出同样可以控制直流电机的旋转速度,实现电动车的速度控制。并且直流电机相对于步进电机价格经济。3) 电机驱动器模块选取采用电机驱动芯片L298N。L298N为单块集成电路,高电压,高电流,四通道驱动,可直接的对电机进行控制,无须隔离电路。通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转,停止的操作,非常方便,亦能满足直流减速电机的大电流要求。调试时在依照芯片手册,用程序输入对应的码值,能够实现对应的动作。

5、4) 电源模块选取在本系统中,需要用到的电源有单片机的5V,L298N芯片的电源5V和电机的电源7-15V。所以需要对电源的提供必须正确和稳定可靠。用9V的锌电源给前、后轮电机供电,然后使用7805稳压管来把高电压稳成5V分别给单片机和电机驱动芯片供电。因此为了方便,这里我们采用12V电源给电机供电,再用7805转换成5V电源给单片机使用。三、硬件设计小车采用四轮驱动,一侧的前后两个车轮共用一个电机驱动,另外两个前后轮共用一个驱动,调节左右车轮转速从而达到控制转向的目的。按键模块单片机最小系统L298N电源模块电机模块系统结构框图 3.2、电机驱动模块L298N驱动直流电机,它靠两个引脚控制一

6、个电机的运动。小车采用四轮驱动,小车两侧的电机短接起来各接到L298N的一个输出端。通过调制两边轮子的转速或正反转来达到控制小车转向的目的。芯片引脚和功能如图1,驱动电路如图2。EN A(B)IN1(IN3)IN2(IN4)电机运行情况HHL正转HLH反转H同IN2(IN4)同IN2(IN4)快速停止LXX停止将L298N的IN0、1、2、3,接到P2.5到P2.2上,ENA、ENB接到P2.1、P2.0.四个按键接到P1.0P1.3.3.3、电机模块电机模块采用2块电机同时驱动,分别接到L298N的两个输出端。3.4、电源模块采用一片HT7550电压稳压5V后给单片机系统和其他芯片供电。该电

7、源模块的功能是把6伏锌锰干电池通过HT7550转换为5伏电压,向单片机、逻辑芯片供电。考虑到如果用电池组同时向电机和芯片供电时,由于驱动电机所需电流较大,容易影响对芯片的供电,因此我们决定电池组单独对驱动电机供电,四节1.5V的南孚电池对其供电。3.5、 按键模块本系统添加4个按键,用来选择控制小车。并接于P2.0到P2.3口上。 四、软件设计是否有键按下?开始 检测按下哪个键?运行圆形运行矩形运行三角形NY总体流程图打转S1按下S2按下S3按下S4按下4.1、小车直行设计:若要求小车直走,这需要给4个电机正转命令。根据L298N芯片手册EN A(B)IN1(IN3)IN2(IN4)电机运行情

8、况HHL正转HLH反转H同IN2(IN4)同IN2(IN4)快速停止LXX停止4.2、小车转弯设计:若要求小车转弯,需要给一侧电机正转,一侧电机反转或者不旋转。4.3、小车调速设计:若要求车调速,只需用PWM来控制L298N的ENA和ENB就可以对小车进行调速。这里我使用定时器T0的工作模式2自动重装。并赋初值TH0=0xf6;TL0=0xf6;U产生高频脉冲。TC语言源代码实现:#include sbit IN1=P25; sbit IN2=P24; sbit IN3=P23; sbit IN4=P22; sbit ENA=P21; sbit ENB=P20; sbit key1=P10;s

9、bit key2=P11;sbit key3=P12;sbit key4=P13;void delay(unsigned int z); void delay_us(unsigned int aa); void delay2s(void) /误差 0us unsigned char a,b,c,n; for(c=167;c0;c-) for(b=39;b0;b-) for(a=152;a0;a-); for(n=1;n0;n-);void yuan() while(1) unsigned int i;IN1=1; IN2=0; IN3=1;IN4=0;for(i=0;i400;i+) dela

10、y(3);ENA=ENA; void juxing() while(1) unsigned int i;IN1=1; IN2=0; IN3=1;IN4=0;for(i=0;i200;i+) delay(1); ENA=ENA;ENB=ENB;delay2s();IN1=1; IN2=0;IN3=0;IN4=0; for(i=0;i40;i+) delay(10);ENA=ENA; IN1=1; IN2=0; IN3=1;IN4=0;for(i=0;i200;i+) delay(1); ENA=ENA;ENB=ENB;delay2s();IN1=1; IN2=0;IN3=0;IN4=0; for

11、(i=0;i40;i+) delay(10);ENA=ENA; IN1=1; IN2=0; IN3=1;IN4=0; for(i=0;i200;i+) delay(1); ENA=ENA;ENB=ENB;delay2s();IN1=1; IN2=0;IN3=0;IN4=0; for(i=0;i40;i+) delay(10);ENA=ENA; IN1=1; IN2=0; IN3=1;IN4=0;for(i=0;i200;i+) delay(1); ENA=ENA;ENB=ENB; delay2s(); IN1=1; IN2=0;IN3=0;IN4=0; for(i=0;i40;i+) dela

12、y(10);ENA=ENA; IN1=0; IN2=0;IN3=0;IN4=0; void sanjiao() while(1)unsigned int i;IN1=1; IN2=0; IN3=1;IN4=0;for(i=0;i200;i+) delay(1); ENA=ENA;ENB=ENB;delay2s();IN1=1; IN2=0;IN3=0;IN4=0; for(i=0;i70;i+) delay(10);ENA=ENA; IN1=1; IN2=0; IN3=1;IN4=0;for(i=0;i200;i+) delay(1); ENA=ENA;ENB=ENB;delay2s();IN1=1; IN2=0;IN3=0;IN4=0; for(i=0;i70;i+) delay(10);ENA=ENA; IN1=1; IN2=0; IN3=1;IN4=0;for(i=0;i200;i+) delay(1); ENA=ENA;ENB=ENB;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号