电子设计大赛智能小车步进电机控制_第1页
电子设计大赛智能小车步进电机控制_第2页
电子设计大赛智能小车步进电机控制_第3页
电子设计大赛智能小车步进电机控制_第4页
电子设计大赛智能小车步进电机控制_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

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

文档简介

第五届合肥学院电子设计大赛设计报告竞赛题目:智能电动车(I 题) 参赛队伍:电子信息与电气工程系队员姓名:翁同玖 严旭东 汤川队员学号: 0 7 0 5 0 7 6 0 1 8 0 7 0 5 0 7 6 0 0 5 0 7 0 5 0 7 6 0 1 7 【摘 要】 : 本设计以单片机作为主控芯片,控制两个步进电机的正反转,实现了小车的不同方向运动。利用红外对管做成的红外传感器来检测路面信息,完成了小车的巡线功能。避障与寻光均采用红外对管来实现。采用LCD1602液晶显示屏来显示时间与路程等信息。【关键词】: 巡线 避障 寻光 显示 Abstract: This design uses single slice of machine as the lord controls chip and control two steps to enter electrical engineering of positive and negative turn, carried out different direction sport of small car.Make use of a red outside to examine a road noodles information to the red unauthorized biography machine that the tube makes into, completed the cruising of small car line function.Avoid Zhang with look for the light all adopt red outside to tube to carry out.Adopt LCD1602 the LCDs show to hold to show informations, such as time and road.etcKeyword: Search online Avoid object Search light Show Information目 录1.总体概 括 .12.方案的论证与比较 .12.1 主控芯片的选择 .12.2 智能巡线设备的选择 .12.3 显示设备的选择 .22.4 声光信号设备的选择 .23 电路设计 33.1 单元电路设计 33.1.1 寻光电路的设计 33.1.2 红外检测电路设计 33.1.3 金属探测电路的设计 43.2 电机驱动电路设计 .54.软件设计 .74.1 主程序流程图 .74.2 程序清单 .85.调试结果 86 总结与体会 .87.参考文献: .8合肥学院第五届电子设计大赛1.总体概括具体的系统方框图如下所示:图1 系统框图2.方案的论证与比较2.1 主控芯片的选择方案一:采用单个单片机作为主控芯片。由于AT89S52具有32个I/O口,能满足小车各部分对I/O口的需求,另外只用一个单片机可以很好的控制小车。方案二:采用双单片机作为主控芯片。利用两块AT89S52分别对小车的各部分进行监测和控制,虽然减轻了单个单片机的负担,提高了系统的工作效率,但是存在很多的I/O的资源浪费,并且两个单片机不容易控制,所以不采用该方案。使用方案一2.2 智能巡线设备的选择方案一:采用普通发光二极管及光敏电阻组成的发射接收方案。该方案在实际使用时,容易受到外界光源的干扰,有时甚至检测不到。主要是因为可见合肥学院第五届电子设计大赛光的反射效果跟地表的平坦程度、地表材料的反射情况都有直接关系。虽然可采取超高亮度发光二极管降低一定的干扰,但这又增加额外的功率损耗。方案二:采用反射式红外对管,虽然易受环境的影响,识别的可靠程度不高,但是由于其结构简单,体积小巧,易于安装,完全能用多个该传感器构成高精度的控制辐射网络提高识别的可靠性、准确性,考虑到实际应用环境,因此我们采用方案二。2.3 显示设备的选择方案一:采用传统数码管作为显示设备。传统数码管具有低能耗、低损耗、低压、长寿命、耐老化、防晒、防潮、防火、防高(低)温的特点;对外界环境要求低,易于维护;同时其精度比较高,精确可靠,操作简单,程序编写容易,资源占用少。本设计要求显示的内容较多,如果利用传统数码管来显示,则需要好几块数码管,这样占用单片机很多的 I/O 口,并且不够美观,也不易区分各块数码管显示的是什么内容。所以,该方案不被采用。方案二:采用液晶显示屏(LCD)显示时间和路程。液晶显示器具有功耗低、无辐射危险、平面直角显示以及影像稳定等,可视面积大,画面效果好,也可以显示汉字,分辨率高,抗干扰能力强,显示内容多等特点。因此,只要用一块液晶显示器就可以显示设计要求的全部内容。此外,液晶显示器与单片机连接电路较简单,且占用的 I/O 口较少。基于以上分析,我们采用该方案,用LCD1602 进行显示。2.4 声光信号设备的选择本设计要求小车在直道上检测到金属时发出声光指示信息,在发声方面,我们使用蜂鸣器代替扬声器,因为扬声器功耗比较大,体积也较大,而本设计对声音信号要求不高,所以我们使用功耗与体积都较小的蜂鸣器。在发光方面,我们选择普通的发光二极管。合肥学院第五届电子设计大赛3 电路设计3.1 单元电路设计3.1.1 寻光电路的设计该单元电路主要是实现小车寻光入库,考虑到光源是放在车库里,而且光源离地面有一定的高度,为了使小车能够精确驶入库中,我们采用三个光敏传感器。用金属支架将三个光敏传感器固定在车的中间部分,并使光敏传感器尽可能与光源保持水平,这三个传感器组成一个 120 度的扇形,相邻两个之间的角度为 60 度。其中一路如图所示:图 2 寻光电路图其他两个电路与此电路相同。接收管未接收到光源发出的红外光时,接收管不导通,正向输入的电压大于基准电压,通过电压比较器进行比较输出高电平,接收管接收到光源发出的红外光后,接收管导通,正向输入的电压将会小于基准电压,通过电压比较器进行比较输出低电平。单片机可直接对接收到的信号进行判断是否检测到光源,并通过对检测到的信号进行处理来决定小车的运动方向。合肥学院第五届电子设计大赛3.1.2 红外检测电路设计该设计采用红外对管构成的红外传感器,具体电路如图所示:图3 红外对管电路我们在小车的前端底部安装三对相同的红外对管,用来检测地面信号,每个红外对管都有一个发射管和一个接收管,发射管发射红外线到地面,如果遇到黑线则光信号会被吸收,否则会被反射回来。检测到黑线接收管不导通,输出高电平,否则输出低电平。单片机根据接收到的高低电平来决定小车如何行驶。另外在小车的正前端安装一对红外对管,用来检测前方是否有障碍物。探测原理与检测地面的原理相同,当小车前端的红外对管发射出的红外光线被反射回来时,说明前方有障碍物,此时小车会进行相应的反应。3.1.3 金属探测电路的设计此部分电路的功能是检测轨道上的铝钱币,在此我们使用的金属传感器是电感接近式开关。该传感器由 LC 高频振荡器和放大处理电路组成,利用金属物体在接近这个能产生电磁场的振荡感应头时,使物体内部产生涡流。这个涡流反作用于接近开关,使接近开关振荡能力衰减,内部电路的参数发生变化,由此识别出有无金属物体接近,进而控制开关的通或断。其工作原理图如下所示:合肥学院第五届电子设计大赛图 4 接近式开关原理图当小车遇到铝钱币时,控制开关将会发生变化,输出电压为零伏,否则输出的是 1.12V。由于两者都属于低电平,在此我们再次使用电压比较器,使两种不同情况下,分别输出高低电平,并将其传给单片机。单片机根据接收到的信号判断是否有铝钱币。3.2 电机驱动电路设计本设计使用的步进电机是四项六线式,用L297和L298N驱动芯片驱动,其中一个的驱动电路如图所示(另外一个于此相同):图5 .步进电机驱动电路合肥学院第五届电子设计大赛单片机AT89S52通过I/O口向L297的17和18脚发送驱动控制信号,从而控制步进电机的速度及正反转。4.软件设计4.1 主程序流程图合肥学院第五届电子设计大赛4.2 程序清单#include “xiaoche.h“#include “lcd1602.h“/unsigned int s=10;/unsigned int s2,i2=1,j2=1,k2=1;unsigned int jj=0;unsigned int kk=0;unsigned int d5=0;void Delay(unsigned int t) /延时 1while(t-);void go(void) /直行 cwright=1;cwleft=1;m=2;step_mode=0;void back() /后直行m=2;cwright=0;cwleft=0;step_mode=0;void tleft() /左拐 /cwleft=0;/cwright=1;m=0;step_mode=0;void tleft_1(void)m=4;cwleft=0;cwright=1;step_mode=0;void tright() /右拐 /cwleft=1;/cwright=0;合肥学院第五届电子设计大赛m=1;step_mode=0;void tright_1(void)m=5;cwleft=1;cwright=0;step_mode=0;void searchline (void) /巡线+金属探测unsigned int s=10; unsigned int i,j,k,z;kk=1;while(1)i=s_L;j=s_M;k=s_R;z=js;s=z*8+i*4+j*2+k;switch(s) case 7:shengguang();break;case 5:shengguang();break;case 2:go();shengguang();break;case 4:tright();shengguang();break;case 6:tright();shengguang();break;case 1:tleft();shengguang();break;case 3:tleft(); shengguang();break;/case 0:go();shengguang();break;case 15:case 13:case 10:go();break;case 12:tright();break;case 14:tright();break;case 9:tleft();break;case 11:tleft(); break;case 8:go();break;if(s=0)Stop_0(5); break; / go();shengguang();/ if(s=8)break;合肥学院第五届电子设计大赛Display();/if(ii=1)a=d0;/if(ii=2)d2=a;/if(ii=3)d3=a;/if(ii=4)/Stop_0(10);/Display();/stop(); shengguang();/Delay1ms(1000);/break;void searchlight () unsigned int s1,i1=1,j1=1,k1=1;unsigned int s2,i2=0,j2=0,k2=0;while(1)i1=left2 ;j1=forest3;k1=right1;s1=i1*4+j1*2+k1;i2=s_L;j2=s_M;k2=s_R;s2=4*i2+2*j2+k2;switch(s1) case 7:go();break;case 5:go();break;case 2:case 4:tleft();break;case 6:tleft();break;case 1:tright();break;case 3:tright(); break;/case 0:go();break;Display();if(s1=0)break; /go();合肥学院第五届电子设计大赛if(s2=7)break; /金属探测void shengguang() unsigned int i=0;ii+;dii=a;light=1;alrm=1;for(i=0;i0;n-)for(a=0;a1000)step_time-=200;/c+;b+;合肥学院第五届电子设计大赛if(c=37)a+=1;c=0;void Display1() Lcd_Init();Lcd_DisplayString(0,0,“Time:“);Lcd_DisplayOneChar(7,0,s);Lcd_DisplayString(9,0,“Num:“);Lcd_DisplayString(0,1,“D1 :“);Lcd_DisplayString(7,1,“cm“);Lcd_DisplayOneChar(13,0,ii+0x30);Lcd_DisplayOneChar(6,0,second%10+0x30);Lcd_DisplayOneChar(5,0,second/10+0x30);Lcd_DisplayOneChar(4,1,d1/100+0x30);Lcd_DisplayOneChar(5,1,d1%100/10+0x30);Lcd_DisplayOneChar(6,1,d1%10+0x30);void Display2() Lcd_Init();Lcd_DisplayString(0,0,“Time:“);Lcd_DisplayOneChar(7,0,s);Lcd_DisplayString(9,0,“Num:“);Lcd_DisplayString(0,1,“D2 :“);Lcd_DisplayString(7,1,“cm“);Lcd_DisplayOneChar(13,0,ii+0x30);Lcd_DisplayOneChar(6,0,second%10+0x30);Lcd_DisplayOneChar(5,0,second/10+0x30);Lcd_DisplayOneChar(4,1,d2/100+0x30);Lcd_DisplayOneChar(5,1,d2%100/10+0x30);Lcd_DisplayOneChar(6,1,d2%10+0x30);void Display3() Lcd_Init();Lcd_DisplayString(0,0,“Time:“);Lcd_DisplayOneChar(7,0,s);Lcd_DisplayString(9,0,“Num:“);Lcd_DisplayString(0,1,“D3 :“);Lcd_DisplayString(7,1,“cm“);Lcd_DisplayOneChar(13,0,ii+0x30);Lcd_DisplayOneChar(6,0,second%10+0x30);Lcd_DisplayOneChar(5,0,second/10+0x30);合肥学院第五届电子设计大赛Lcd_DisplayOneChar(4,1,d3/100+0x30);Lcd_DisplayOneChar(5,1,d3%100/10+0x30);Lcd_DisplayOneChar(6,1,d3%10+0x30);void Display4()Lcd_Init();Lcd_DisplayString(0,0,“ Over! Thank you!“);void Display() /init();Lcd_DisplayOneChar(13,0,ii+0x30);Lcd_DisplayOneChar(6,0,second%10+0x30);Lcd_DisplayOneChar(5,0,second/10+0x30);Lcd_DisplayOneChar(4,1,a/100+0x30);Lcd_DisplayOneChar(5,1,a%100/10+0x30);Lcd_DisplayOneChar(6,1,a%10+0x30);main()/ unsigned int s2,i2=1,j2=1,k2=1;/step_intset();Lcd_Init();Lcd_DisplayString(0,0,“Time:“);Lcd_DisplayOneChar(7,0,s);Lcd_DisplayString(9,0,“Num:“);Lcd_DisplayString(0,1,“Dis:“);Lcd_DisplayString(7,1,“cm“);/unsigned int s2=1,i2=1,j2=1,k2=1; init();searchline();go();Display();kk=0;while(forest);jj=1;stop();Display();Delay1ms(500);back();Display();Delay1ms(60);合肥学院第五届电子设计大赛tleft_1();Display();Delay1ms(390);stop();Display();Delay1ms(200);go();Display();Delay1ms(2000);tright_1();Display();Delay1ms(370);go();Display();Delay1ms(1000);go();Display();/Delay1ms(2000);/ Delay1ms(1500);while(!forest);go();Display();while(forest);/stop();Display();/Delay1ms(300);tright_1();Display();Delay1ms(360);jj=0;/go();Display();/Delay1ms(100);go();Display();while(right);jj=1;stop();Delay1ms(500);go();Display();Delay1ms(900);tleft_1();Display();Delay1ms(390);go();Display();Delay1ms(1000);/tleft_1();Display();/Delay1ms(340);/go();Display();/ Delay1ms(300);searchlight ();/ go();/ i2=s_L;合肥学院第五届电子设计大赛/ j2=s_M;/ k2=s_R;/ s2=4*i2+2*j2+k2;/ while (s2=7);/ jj=0;/ stop();Display();/ Delay1ms(1000);/go();Display();/if(s2=7)/stop();Display();Delay1ms(100);back(); Display();Delay1ms(1000);tleft_1();Display();Delay1ms(750);back(); Display();Delay1ms(2200);/go();Display();/Delay1ms(200);/stop();Display();EA=0;Delay1ms(1000);Display1();Delay1ms(3000);Display2();Delay1ms(3000);Display3();Delay1ms(3000);Display4();/Delay1ms(3000);while(1); 5.调试结果1)小车利用红外对管能够成功进行巡线、避障。合肥学院第五届电子设计大赛:小车的电机驱动脉冲在 1500 左右,小车可以在躲避障碍物时候,准确的转外实现延时并且寻光

温馨提示

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

评论

0/150

提交评论