电动小汽车论文

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

电动小汽车的设计系别:自动化系专业名称:自动化学生姓名:陈聪陈永宇蒋海勇学号:指导教师姓名、职称:汪再兴完成日期2010年08月26日摘要本实验是设计一个基于单片机控制的电动小车,小车具有前进,后退,转弯的功能,且在扩展部分具有循迹功能(按路面的黑色轨道行驶)。主要以两个直流电机作为主动力,通过红外对管传感器来采集信息,送入主控单元stc89c51单片机,处理完数据后完成相应动作。电机的驱动部分采取了高电压,高电流的二道驱动集成芯片L298n。关键字:单片机;电机;L298n;红外对管电子技术课程设计正文一、电子设计题目:电动小车设计二、电子设计任务和基本要求:1.设计任务基于单片机设计一台可以控制的电动的小车。2.基本要求(1).用单片机来控制电动小车前进后退。(2).能用单片机来对直流电机进行调速。(3).能控制电动小车进行左右转弯和停止。(4).扩展部分:能用传感器检测路面,使得小车按着地面的黑线循迹走。三、课程设计题目分析:1.设计要点(1).设计一个单片机小系统电路(2).设计电机驱动电路(3).设计传感器检测电路2.工作原理:(1)单片机小系统原理:单片机最小系统由晶振电路,复位电路和电源基本组成。晶振电路在电路上它可以等效成一个电容和一个电阻并联再串联一个电容的二端网络。时钟电路用于产生单片机工作所需要的时钟信号,而时序的所研究的是指令执行中每个信号之间的相互的关系。单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格的按照时序进行工作。复位电路的成功与否,关系到单片机系统能否正常的工作,电路上电时候或电压波动不稳定的时候,当给单片机上电那一瞬间,电压有在几微秒内(有的是几毫秒内)不是直接跳变到5V的而是一个直线上升的阶段,这时候,单片机不能正常工作,需要复位电路给它延时以等到电压稳定。(2)电机驱动电路原理:本实验利用了L298N驱动电路。L298N可接受标准TTL逻辑电平信号VSS,VSS可接4.5~7V电压。4脚VS接电源电压,VS电压范围VIH为+2.5~46V。输出电流可达2.5A,可驱动电感性负载。1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。5,7,10,12脚接输入控制电平,控制电机的正反转。EnA,EnB接控制使能端,控制电机的停转。表1是L298N功能逻辑图(3)传感器检测电路原理:传感器检测电路主要是利用了红外对管传感器,它对地面的黑线有很好的检测作用。由于红外接收管对通过黑线和白线的反射,而自身的阻值变化很大,这样利用这一点再和一个参考电压通过一个比较器LM393,从而输出数字信号再接到单片机的I/O口,以达到检测效果。四、电路原理图:电机驱动整体设计电路图:五、c程序设计部分:电动小汽车程序相对来说还是比较简单,其核心问题就是电机的PWN调速部分和检测路面黑线部分。还利用了中断函数的定时功能。源代码如下:#includereg52.h#defineuintunsignedint#defineucharunsignedcharsbitleft_1=P1^0;sbitleft_0=P1^1;sbitright_0=P1^2;sbitright_1=P1^3;sbitzuo_2=P2^1;//左眼2sbitzuo_1=P2^2;//左眼1sbitzhong=P2^3;//中sbityou_1=P2^4;//右眼1sbityou_2=P2^6;//右眼2ucharspeed=0,sp,num=0;/*voiddelay_1ms(uintt)//中断简易延时t=1,就为1ms{while(num1=t*10);num1=0;}*/voidleftzhengzhuan()//左正转{left_1=0;left_0=1;}voidleftchangshu()//左常速{left_1=0;left_0=sp;}voidleftstop()//左停{left_1=0;left_0=0;}voidrightzhengzhuan()//右正转{right_1=0;right_0=1;}voidrightchangshu()//右常速{right_1=0;right_0=sp;}voidrightstop()//右停{right_1=0;right_0=0;}voidmain(){TMOD=0x01;//选择定时方式1TH0=(65536-90)/256;//11.0592MHzTL0=(65536-90)%256;EA=1;//总中断打开ET0=1;//定时器T0的中断打开TR0=1;//定时器T0启动speed=12;//0-20之间,速度界限while(1){if(zuo_1==0&&you_1!=0){leftstop();rightzhengzhuan();while(zhong!=0);}elseif(zuo_1!=0&&you_1==0){rightstop();leftzhengzhuan();while(zhong!=0);}elseif(zuo_2==0&&you_2!=0){leftstop();rightzhengzhuan();while(zhong!=0);}elseif(zuo_2!=0&&you_2==0){rightstop();leftzhengzhuan();while(zhong!=0);}elseif(zuo_1==0&&you_1==0){rightstop();leftstop();while(1);}else{rightchangshu();leftchangshu();}}}voidT0_timer()interrupt1//中断{num++;TH0=(65536-90)/256;//11.0592MHzTL0=(65536-90)%256;//设定中断定时为100usif(numspeed)sp=1;//speed分num的占空比elsesp=0;if(num==21)num=0;//调速基时间为2ms}六、心得体会:在这次开放性实的制作过程中,我们队员都很用心的去完成。在整个电路都跑通的时候,心里有种说不出的满足感。拿到题目后,首先我们先是设计如何让车跑起来,这个我们想着只要把驱动电路焊好,跑起来不是问题。所以,我花钱在网上买了一个基础车安装后,我们把必要的单片机小系统焊好后再把L298n芯片焊好,这些按着电路图来的,这时调试的时候出现了问题,当我们给L298N电源电压和给单片机供电时,电机没有驱动起来,我们仔细查了L298n芯片的资料后,发现它给的电源是很高的,这时我们马上去实验室借了一个大电池,装上后果然,小车能够跑起来了。小车能跑这还不足以令我们兴奋。关键是调速和循迹部分。我们在网上查了资料,知道直流电机调速一般用PWN来调速的。结果我们通过编程仔细测试,利用占空比的方法来调,结果我们终于调出来了。接下来我们开始考虑检测部分,在网上找了个电路分析了许久,认为可行,就开始焊接了,有发现了问题,红外接收管是需要反着来接的,这个问题我们搞了许久才发现的。检测电路是我们搞的最长的时间,开始我们只焊接了两对红外对管,这样在转弯的时候是来不及的,后来我们就焊接了五对红外对管,结果循迹的稳定行提高了。当然还有控制速度面这个需要后期来慢慢实现了开放性试验是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识的能力,思考和解决问题的能力。它不仅加深了我对电子技术课程的理解,还让我感受到了设计电路的乐趣。在这次设计中,我们不怕麻烦,反复焊接与修改,就是希望能把这次实验做好。因此对我们来说,这次开放性实验是非常有意义的七、参考文献:[1]李华,王思明.单片机原理及运用.兰州大学出版社.[2]吴蓉.数字电子技术.兰州大学出版社.[3]封志宏.模拟电子技术.兰州大学出版社.

1 / 11
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功