- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本人保证自写文档,文档不足之处请谅解目录设计的目的------------------1设计的模块------------------1程序的流程------------------6元器件清单------------------8成品的制作------------------8注意事项--------------------9设计的总结------------------9设计的目的智能遥控车地目的主要突出在智能与遥控上,遥控意思明显就是通过某种控制手段使得小车能够实现由控制者控制前进后退等操作;智能可以体现为功能上的智能化。本作的目的是实现控制小车移动时对前方所存在的威胁进行报警提醒。设计的模块此次设计的硬件电路模块大致为五大类,分别是51单片机最小系统模块、电源模块、电机工作驱动模块、超声波报警系统模块、无线控制发射接收模块。下图为硬件电路框图:单片机最小系统此模块式是本设计的控制核心模块,单片机最小系统由三部分组成:STC89C52芯片部分、复位部分(由按键开关、极性电容、10K电阻组成)、晶振部分(由12M石英晶振、两个30PF的瓷片电容组成)。主要起程序的输入与控制、程序的复位、时间频率控制的作用。无线控制模块本设计的无线控制模块是由编码芯片PT2262和解码芯片PT2272组成的电路模块组成,工作方式是编码芯片PT2262 发出的编码信号由:地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272 接收到信号后,其地址码经过两次比较核对后,VT 脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。电机驱动模块本设计是采用了L298N电机驱动模块来驱动减速电机工作;L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。超声波测距报警模块超声波是一种频率比较高的声音,指向性强.超声波测距的原理是利用超声波在空气中的传播速度为已知,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离。由此可见,超声波测距原理与雷达原理是一样的。本设计的超声波测距模块是专为智能小车设计的,适合小范围,小空间,封闭空间的场合。电源模块本设计的电源供给需要三组电源,无线遥控需要一组5V左右的电源供给;小车分两组供电,一为单片机供电所需5V电源(与无线遥控器的电源值一致),二为L298N电机驱动模块供电所需9V电源。单片机有正负极排针,左负右正,单片机供电线在小车后方红线,接右边排针接通5V电源;9V供电开关在小车左边下板。程序的流程上图为单片机程序的流程图PWM电机脉冲程序:PWM脉冲程序是驱动电动机工作的程序,PWM程序的编写方式有多种,主要有以定时器控制时间的方式和以占空比产生频率的方式,因为使用定时器的方式不利于后续发展,故而使用占空比的方式来编写PWM程序;以下是部分PWM程序控制电机的示例:IN1=1;IN2=0;for(i=0;i200;i++)//PWM程序{delay(10);IN1=~IN1;}超声波测距距离计算程序:超声波测距模块只是起到超声波的发射与接收,对于反射信号的距离并不能检测,这时就需要给系统设定一个计算距离的时间值;下面的程序就是为了用来计算距离而设定的程序:void Conut(void){time=TH0*256+TL0; //读出T0的计时数值TH0=0;TL0=0; //清空计时器S=(time*1.7)/100; //算出来是CMif(Mode==0) //非设置状态时{if((S=700)||flag==1) //超出测量范围显示“-”{Feng=0; //蜂鸣器报警flag=0;disbuff[0]=10; //“-”disbuff[1]=10; //“-”disbuff[2]=10; //“-”}else{//距离小于报警距if(S=BJS){Feng=0;//报警}else //大于{Feng=1;//关闭报警}disbuff[0]=S%1000/100; //将距离数据拆成单个位赋值disbuff[1]=S%1000%100/10;disbuff[2]=S%1000%10 %10;}}else{Feng=1;disbuff_BJ[0]=BJS%
文档评论(0)