东自动往返电动小汽车_第1页
东自动往返电动小汽车_第2页
东自动往返电动小汽车_第3页
东自动往返电动小汽车_第4页
东自动往返电动小汽车_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

自动往返电动小汽项目成员:东,,成钢自动化科学与20064方案选择与论 小 二系统的具体实 驱动模块的电路设计与实 控制脉冲产生定时中断程 三实际测 测试设 最大刹车距 总时间和距 路面杂质干 限速去行驶情 压线定位情 结束 附 程 二参考文 AT89S52单片机做为自动往返小车的检测和控制测使用反射式传感器,利用技术动态控制电动机的转速MC33886的H控制电路电源和电动机电源通过一块L7805稳压电路和三个电容滤波,提高控制电路电源和电动机电源的稳定LCD速度,路程,时间同时精确显示。方案选择与论1-1路面黑线检测模于直接而来的信号是一个带反射式红外发射-开关迟的模拟量无法做为精确的控制信号可能会产生误操作。方案三:带有触发器整波的反射式红外发射-。考虑到直接由反射式红外发射-检测而来的模拟信号无法做为精确地数字信号采用触发器可以将其整波为完美的信号,避免了系统的误操作。电机驱动调速模方案三:采用基于MC33886组成的H型 片机的定时中断产生占空比可调的作为的控制精下效率非常高H型电路保证了可以实现电动机的四象限控制;电子开关速度很快,稳定性也极强,是一种广泛采用的直车轮检速及路程计算模方案一:采用霍尔集成片。该器件内部由三片霍尔金属板组因此可以再车轮上安装磁片,而将霍尔集成片安装在固定的轴上,通过对脉冲计数进行车速的测量。方案二:采用反射式红外发射-。在车轮上贴上黑白相间的纸条,把反射式红外发射-安装固定在地盘上,通电源方案一:采用7.2伏特电池组直接通过稳压供电给控制动瞬间电流很大,而且驱动的电动机电流波动较大,会造L7805路和三个电容滤波这样可以最大程度消除电动机的启小路面黑线检测模块:带有触发器整波的反射式红外发射-电机调速驱动模块采用基于MC33886组成的H型 车轮检速及路程计算模块:采用反射式红外发射-构成的和三个电容滤波,用7.2伏电池供电。1-2统的具体设计与实系统硬件设电动机驱动模块的电路设计与实具体硬件电路如2-1。本电路采用的是基于原理的H型驱动电路。该电路采用MC33886驱动可以保证电动机启动瞬间的5A2-1MC33886H对于驱动电平控制Ug,我们采用了单片机定时中断产生的周期信号控制,通过调节定时初值来调节控制信号的占空比,对车速进行调整。最小脉宽为0.2ms,速度分为200档(根路面黑线检测模块的电路设计与实现为了检测路面黑线查的多级信号和压线位置调整。为了减少环境光源的干扰,增加信号的灵敏度和可靠性采用由555定时器组成的触发器对传感器而来的模拟信号整波使其为完美的控制2-2。图2-2带触发器的红外对管硬件电路红外传感器原理传感器的红外发射二极管不断发射红外传感器的参数整定接收部分的光敏三极管在不同的光照的脚印。输出的模拟信号通过触发器的整形后输出。采样信号处理对于信号处理方面我们把经过触发器整形的输入到单片机的外部中断口上当检测到路面黑线bc-2-3小车行驶状态运行检测时,我们以b传感器而来的信号为段距离,故而我们采用a传感器的信号触发停车,使得小车1cm左右(实验选定)b转速,路程检测模块的电路设计与实现为了实现高精度速接收传感器安装在车的底盘之2-4器之下,使传感器得以相中断,系统对车轮的转角进行计数,在通过一定的函数关系实现路程检测计算。

2-4在物理结构上转速测量装置安装在小车的从动轮上,系统的软件设单片机控制电路主要是以一块AT89S52为组成的单片机路程检测,电动机驱动,LCD数据显示,语音模块驱动。单片机具体电路如图2-5所示。2-5路面检测程序程序流2-6所示。该检测测到a,b,c三个传感器物体的干扰 图2-6路面黑线检测流车速,路程检测如前文所叙述,当车轮转动时,车胎上粘DS1302品中,车轮周长15.2cm,轮胎上粘贴的纸条有的路程为0.76cm,即路程精度为0.76cm。2-7车速,路程检测流控制脉冲产生定时中断程序中断子程序流如图2-8所示。我们设置控制周期为T,其占空比为 控制通过改变t1的设定值来控制小车 控制产生定时中断子程经过多次实验证明,当 周期达0.2ms T=0.2ms/(12/12MHZ)=200时电动机可以得到比较稳定的输出电压通过改变t1(0<=t1<=200)的大小可以实现200档的调速范围,限速子程序在限速区中为了实现低速行驶的要求,我们采用了调整控制的占空比的方法实现调速;其中,最简调整电动机的驱动力,具体流如图2-9。2-9限速算法流过线返回算法题目要求在到达终点及起点时压线。当车速返的死循环。算法流如图2-10所示。小车黑线检测调速总逻辑根据题目要求,小车必须根据响2-10过线返回算法流1.7欧姆。假如小车全压启动时,Imax=7.2V/1.7欧姆=4.24A,这个电流峰值可能烧坏电机绕组。因此,我们通过调节控制的占我们也必须在检测到黑线是提前。调速总流见图2-11。其他功能的设计及实LCD显示为了实现路程,时间,速度的实时显示,我们采用了比LEDLCD显示模块。小车多级速度指示灯为了能直观地观察到小车的速度变12停车十秒计时指示蜂鸣器为了能直观地观察到小车停车语音数据指示模块小车跑完之后,为了方便地知道小车走过的路程和时间我们采用了一块基于ISD2560的语音模2-11调速总流际测测试设模拟跑道:总长8m,CD,EF1.5m最高速度测试过软件将最大速度保存显示。测试长度m。测试数据如表3-

1234最大刹车距离3-21234总时间和距测量往返一次的时间和路程(全逻辑算法3-3123路面杂质干扰如表3-4所示1cm由上面显示,性能优越通过时间123限速去行驶情况如表3-5通过时间1233-6通过时间123压线定位情况见表3-7所示定位误差1否2否3否结束大程度上使得性能得到改善而由基于mc33886组成的H桥式驱动解决了电机驱动调速的效率问题电源的滤波理使得系统的电源更加稳定。软件方面,充分利用了AT89S52附1.主程序#include"REG52.H"#include"lcd.h"#include"DS1302.h" // sbitsbitsbitsbit//sbitsbitsbitunsignedcharcharlight[7]={0xFE,0xFC,0xF8,0xF0,0xE0,0xC0,0x80}; chartime[5]={0,0,2,2,2};unsignedintunsignedintdistance[5]={0,0,0,0,0}; unsignedintspeed=0; voiddelays(){while(l- //停止的时{}voidout1()interrupt{{{case1:t1=100;break;case2:t1=ht1;case3:t1=lt1;time[4]=time[0];break;case4:t1=ht1;break;case5:t1=30;break;case6:t1=0;break;case8:t1=ht1;break;case9:t1=lt1;time[4]=time[0];break;case10:t1=ht1;break;case}}}void interrupt{if(cas<=6&&n!=1)//正转{ //高电平定时置初值定时时间为{} //底电平定时置初值定时时间为{} //反转{ {} //底电平定时置初值定时时间为{}}/**********0中断服务函数*********/voidut1()interrupt2{}voiddisplay_lcm(){}/**********1中断服务函数*********/voidtt()interrupt3{ //{ // }display_lcd_string("CMS="); //{}}void //{if(cas==5)while(before==0);}void display_lcd_string("Press //提示按开 //0 //设定扫描 //run //DS1302 // //0{ //测黑线相{}{} } //停 // // 中} } //}显示部分头文件/*lcd TwoLine_8bit// 1// //0b //0b CURSOR_RIGHT6 //0b //0b //0b CURSOR_BLINK15 //0b /*lcdcontrollinesevoidinit_lcd(void);voidclear_lcd(void);voiddisplay_lcd_string(char*);voidgotoxy(unsigned,unsigned);voiddisplay_lcd_number(char);voiddisplay_lcd_int(unsignedint显示程序#include<REGX52.H>#include<lcd.h>charcodeint2charLCD[]=" voidcheck_lcd_busy(){} mand(unsigned }voidwrite_lcd_data(unsigned }void{}void{}

mand(TwoLine_8bit);//0x38mand(CURSOR_OFF);//0x0Cvoiddisplay_lcd_string(char{{}}voiddisplay_lcd_number(char{unsignedcharx,y;}voiddisplay_lcd_int(unsignedint{unsignedintua,ub;}voidgotoxy(unsignedx,unsigned{}

时钟程序头文件sbitsbit //时钟的控制脚定sbitvoidvoidwrite1302time(unsignedchar*Ds); voidds1302_reset(void); voidds1302_wr_byte(unsignedcharm_wrByte);//写入字节unsignedchards1302_rd_byte(void); voidwriteDS1302(unsignedchardsRamAdr,unsignedchards1302data); unsignedcharread(unsignedchards1302addr);时钟程序#include<REGX52.H>#include<DS1302.h>unsignedchar //unsignedchar voidds1302_reset(void){TIMERCLK=TIMERRST=TIMERRST=}/*****************DS1302写入一个字节*************************/voidds1302_wr_byte(unsignedcharm_wrByte){unsignedcharfor(i=0;i<8;{TIMERIO //IOif(m_wrByte& //取最{TIMERIO=}TIMERCLK=0; TIMERCLK=1;m_wrByte //输入的字节左移一}}/*********************DS1302读出一个字节***************/unsignedchards1302_rd_byte(void){unsignedcharunsignedcharunsignedchar //定义中介字节,暂时存放的一位数m_rd_byte= TIMERIO=for(i=0;i<8;{TIMERCLK=1; TIMERCLK=0;m_tmpByte=(unsignedchar)TI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论