基于51单片机设计智能避障小车

合集下载

基于51单片机的避障小车设计

基于51单片机的避障小车设计

单片机原理及系统课程设计专业:班级:姓名:学号:指导教师:基于单片机的避障小车设计1 引言本课程设计以AT89C51单片机为核心,完成了一辆利用超声波传感器来实现避障功能的小车,使小车对其运动方向受到的阻碍作出躲避动作。

本次设计主要研究小车的避障功能,当距离障碍物大于30cm时,小车前进;当距离障碍物小于20cm时,小车停止,舵机分别旋转到前、左、右三向,从而使超声波模块进行测距,并且小车采取相应的避障措施。

2 整体设计方案及原理2.1 总体设计方案本系统选用AT89C51单片机为主控机。

通过扩展必要的外围接口电路,实现对避障小车的设计,具体设计如下:(1)由于小车要进行测距,为了得到较好的避障效果和较精确的距离信息,经综合分析后,决定采用超声波模块进行非接触型测距。

避障小车与障碍物之间的实际距离通过数码管进行显示。

(2)避障小车采用差速方式控制行进方向,通过四个直流电机控制四轮旋转,并采用L298N双H桥直流电机驱动芯片控制直流电机正反转。

(3)超声波模块分别检测前方、左侧及右侧与障碍物之间的距离,因此需要采用舵机进行旋转完成超声波模块三向测距。

2.2 系统组成框图系统模块图如图1所示。

51单片机驱动模块直流电机超声波、舵机组合测距数码管显示图1 系统模块图3 硬件设计本设计选用AT89C51单片机为主控单元;驱动部分:采用L298N双H桥直流电机驱动模块;测距避障部分:采用US100超声波传感器模块;此外,还采用SG90舵机,实现超声波模块方向的变化。

该系统整体电路原理图如附图1所示。

3.1 电机驱动模块本次课程设计采用L298N双H桥直流电机驱动模块,采用SGS公司原装全新的L298N芯片,内部包含4通道逻辑驱动电路,可以直接驱动两路3-16V直流电机,并提供了5V输出接口(输入最低只要6V),可以给5V单片机电路系统供电(低纹波系数),是智能小车电机驱动的必备利器。

L298N芯片是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。

基于51单片机的超声波避障智能车

基于51单片机的超声波避障智能车

置为 0-180 度,呈线性变化,即舵机控制是需要周期七 20ms 的方波信号,改变脉冲占空比, 即可改变转动角度。
3.4 超声波 超声波测距是借助于超声脉冲回波渡越时间法来实现的。 设超声波脉冲由传感器发出到接收 所经历的时间为 t,超声波在空气中的传播速度为 c,则从传感器到目标物体的距离 D 可用 下式求出: D = ct /2 单 片 机 系 统 超声波发射
控制电路板接受来自信号线的控制信号,控制电机转动,电机带动一系列齿 轮组,减速后传动至输出舵盘。舵机的输出轴和位置反馈电位计是相连的,舵盘 转动的同时,带动位置反馈电位计,电位计将输出一个电压信号到控制电路板, 进行反馈,然后控制电路板根据所在位置决定电机转动的方向和速度,从而达到 目标停止。其工作流程为:控制信号→控制电路板→电机转动→齿轮组减速→舵 盘转动→位置反馈电位计→控制电路板反馈。 舵机的控制信号周期为 20ms 的脉冲调制信号,其中脉冲宽度从 0.5-2.5ms 相对应得舵盘位
3.2 晶振
每个单片机系统都有晶振,全称叫做晶体振荡器,在单片机力作用非常大,他结合单片机内 部的电路, 产生单片机所需的时钟频率, 单片机的一切指令都是建立在晶振频率的基础上的, 晶振提供的频率越高, 则单片机运行的速度越快、 晶振用一种能把一种电能和机械能相互转 化的晶体共振状态下工作,已提供稳定精确的单品震荡。通常情况下,普通的晶振频率绝对 精度可以达到万分之五十。 晶振的作用为系统提供基本的时钟信号, 通常一个系统共用一个晶振, 以便各个部分被保持 同步。
L298N 电路如图所示
程序:
#include <reg52.h> #include <math.h> #define uchar unsigned char #define uint unsigned int sbit TRIG = P0^0 ; sbit ECHO = P0^1 ; sbit pwm = P0^2; sbit in1 = P1^0; sbit in2 = P1^1; sbit in3 = P1^2; sbit in4 = P1^3;

基于51单片机的模块化智能小车(超声波避障)

基于51单片机的模块化智能小车(超声波避障)

基于51单片机的模块化智能小车(有图有真相)!L298N 电机驱动芯片L电机驱动模块背面STC89C52最小系统背面小车底盘(拆自玩具遥控工程车)!5线4相步进电机(512:1)超声波测距模块装配好51最小系统和电机驱动模块的小车步进电机+超声模块装上了步进电机和超声模块连接好线后的造型+步进电机驱动电路ULN2003大功告成!土豆网上传了视频,但程序没有好好写,导致跑起来很不爽,这是很久以前的一个视频链接:/programs/view/q0naSUSlV-Q/欢迎大家多多交流QQ769942445这是源代码:#include "reg51.h"#include "intrins.h"#define uchar unsigned char#define uint unsigned int#define ulong unsigned long#define Moto3 P0/* sbit Moto3_a=P0^0; //5线4相步进电机sbit Moto3_b=P0^1;sbit Moto3_c=P0^2;sbit Moto3_d=P0^3;*/sbit Moto1_l=P2^0; //左电机sbit Moto1_r=P2^1;sbit Moto2_l=P2^2; //右电机sbit Moto2_r=P2^3;sbit TX=P2^4;sbit RX=P2^5;bitflag,flager;ucharhehe,flag_front,flag_left,flag_right;uint time;ulong S;ucharabcd[4]={0x01,0x02,0x04,0x08}; //电机导通相序A-B-C-D uchardcba[4]={0x08,0x04,0x02,0x01}; //电机导通相序D-C-B-Avoid delay1(uchar x){ uchara,b;for(a=0;a<x;a++)for(b=0;b<100;b++);}void Moto3_left(){ uchari,j;for(j=0;j<80;j++){ for(i=0;i<4;i++){ Moto3=abcd[i];delay1(10);}}}void Moto3_right(){ uchari,j;for(j=0;j<80;j++){ for(i=0;i<4;i++){ Moto3=dcba[i];delay1(10);}}}void delay(uchar n) //延时n*1ms{uchara,b,c;for(c=n;c>0;c--)for(b=142;b>0;b--)for(a=2;a>0;a--);}void left(){ Moto1_l=1;Moto1_r=0;Moto2_l=0;Moto2_r=1;}void right(){ Moto1_l=0;Moto1_r=1;Moto2_l=1;Moto2_r=0;}void go(){ Moto1_l=0;Moto1_r=1;Moto2_l=0;Moto2_r=1;}void back(){ Moto1_l=1;Moto1_r=0;Moto2_l=1;Moto2_r=0;}void stop(){ Moto1_l=1;Moto1_r=1;Moto2_l=1;Moto2_r=1;}void TX_10us() //启动一次模块{ TX=1;_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();TX=0;}void count() //计算{ time=TH0*256+TL0;S=(time*1.7)/100; //距离单位:cmTH0=0x00;TL0=0x00;if(S>30||flag==1) //10cm以内有效{ flag=0;}else{ flager=1; //障碍标志}}void test(){ TX_10us();while(!RX); //当RX为零时等待TR0=1; //开启计数while(RX); //当RX为1计数并等待TR0=0; //关闭计数count();}void delayer(uint n){ uinta,b,c;for(c=n;c>0;c--)for(b=100;b>0;b--)for(a=500;a>0;a--);}voidinit(){ TMOD=0x01;TH0=0x00;TL0=0x00;ET0=1;EA=1;}main(){ init();while(1)flag_front=flager;flager=0;Moto3_left();test();flag_left=flager;flager=0;aa: Moto3_right();test();flag_front=flager;flager=0;Moto3_right();test();flag_right=flager;flager=0;hehe=flag_front+(flag_left<<1)+(flag_right<<2);switch(hehe){ case 0x01:back();delayer(3);right();delayer(3);break;case 0x02:right();delayer(1);break;case 0x03:right();delayer(2);break;case 0x04:left();delayer(1);break;case 0x05:left();delayer(2);break;case 0x07:back();delayer(3);right();delayer(3);break;default:break;}go();flag_front=0;flag_left=0;flag_right=0;test();flag_right=flager;flager=0;Moto3_left();test();flag_front=flager;flager=0;Moto3_left();test();flag_left=flager;flager=0;hehe=flag_front+(flag_left<<1)+(flag_right<<2);switch(hehe){ case 0x01:back();delayer(3);right();delayer(3);break;case 0x02:right();delayer(1);break;case 0x03:right();delayer(2);break;case 0x04:left();delayer(1);break;case 0x05:left();delayer(2);break;case 0x07:back();delayer(3);right();delayer(3);break;default:break;}go();flag_front=0;flag_left=0;flag_right=0;gotoaa;}}void time0()interrupt 1{ flag=1;}。

基于51单片机的循迹避障小车的设计

基于51单片机的循迹避障小车的设计

清华大学本科生毕业论文题目: 基于51单片机的循迹避障小车的设计专业班级:电子信息工程2012级02班学号:学生姓名:指导教师:论文完成日期: 年月郑重声明本人的毕业论文是在指导老师的指导下独立撰写并完成的。

毕业论文没有剽窃、抄袭、造假等违反学术道德、学术规范和侵权行为,如果有此现象发生,本人愿意承担由此产生的各种后果,直至法律责任;并可通过网络接受公众的查询。

特此郑重声明。

毕业论文作者(签名):年月日目录1 绪论 (3)1.1 课题研究的背景 (3)1.2 课题研究的意义 (5)1.3 课题研究的主要内容 (6)2 系统方案确定及主要元件的选择 (7)2.1 系统方案确定 (7)2.2 主要模块的选择 (7)3 系统硬件部分设计 (11)3.1 主控器AT89C51 (11)3.2 复位电路 (13)3.3 时钟电路 (13)3.4 寻迹模块 (14)3.5 避障模块 (15)3.6 H桥电机驱动 (16)3.7 电源模块 (17)4 系统软件部分设计 (19)4.1 系统使用的软件简介 (19)4.2 软件调试平台 (19)4.3 系统程序流程设计 (21)5 系统仿真实现 (26)6 调试结果分析 (27)结束语 (28)附录 (29)附录1 元件清单 (29)附录2 程序代码 (29)参考文献 (33)致谢 (34)基于51单片机的循迹避障小车的设计专业:电子信息工程班级:**班作者:*** 指导老师:***摘要智能作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。

本设计通过实时检测各个模块传感器的输入信号,利用红外对管检测黑线实现寻迹,通过光电传感器实现避障,采用存储空间较大的AT89C51作为主控制芯片,小车电机驱动采用L298N芯片,根据内置的程序分别控制小车左右两个直流电机运转,实现小车自动识别路线,能较有效的控制其在碰上障碍物时能转弯角度及寻迹行驶。

基于51单片机的避障小车程序

基于51单片机的避障小车程序

基于51单片机的避障小车程序程序中有我写的注释,看不懂程序的话,可以参考。

#include<reg52.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned intsbit IN1=P2^1;//左电机输入端1sbit IN2=P2^2;//左电机输入端2sbit IN3=P2^3;//右电机输入端1sbit IN4=P2^4;//右电机输入端2sbit ENA=P2^0;//右电机使能控制端sbit ENB=P2^5;//左电机使能控制端sbit TX=P1^0;//超声波发送控制端sbit RX=P1^1;//超声波接收控制端uint time=0,ERROR;//用于存放定时器时间值uint PWM1,PWM2,num1=0,num2=0;uint s=0;//用于存放距离的值uchar tt=0;void Delay20us()//@11.0592MHz 延时20us{unsigned char i;_nop_();_nop_();_nop_();i = 52;while (--i);}void forwardg()//前进函数{IN1=1;IN2=0;IN3=1;IN4=0;PWM1=15;PWM2=18;}void stopg()//停止函数{IN1=1;IN2=1;IN3=1;IN4=1;PWM1=0;PWM2=0;}void count()//测距函数{tt=200;if(tt==200)//20ms超声波发送一次{tt=0;TX=1;//超声波发送端Delay20us();//延时20usTX=0;//超声波发送端ERROR=50000;//while(RX==0&&ERROR>0)//判断是否有接收&&等待时常{ERROR--;//等待时长}if(RX==1)//超声波有接收RX=1{TR0=1;//开始计时while(RX&&!TF0);//接收完毕(RX=0)或者超出量程结束语句TR0=0;//停止计时if(TF0==1)//如果溢出(超出量程){TF0=0;//置溢出标志位为0s=999;//直行控制}else{time=TH0*256+TL0;TH0=0;TL0=0;s=(time*1.7)/100;//距离计算公式}}else{s=999;}}}void time0init()//定时器0初始化{TMOD|=0x01;//设置定时器0为工作方式1TH0=0;TL0=0;//定时器赋初值}void time1init()//定时器1初始化{ET1=1;//开定时器中断TR1=1;//开定时器1中断TH1=0xFF;//定时器赋初值TL1=0xA3;TMOD|=0x10;//设置定时器1为工作方式1}void time1() interrupt 3//定时计数器1中断{TH1=0xFF;TL1=0xA3;//赋初值tt++;num1++;num2++;if(num1>=100) //PWM的周期为100*0.1=10ms num1=0;if(num2>=100)num2=0;if(num1<PWM1)ENA=1;//打开右电机使能控制端if(num2<PWM2)ENB=1;if(num1>=PWM1)ENA=0;//关闭右电机使能控制端if(num2>=PWM2)ENB=0;}void main(){time0init();time1init();EA=1;//开总中断while(1){count();//调用距离计算函数if(s>=6)//大于等于6厘米前进{forwardg();}else{stopg();}}}。

基于51单片机的超声波避障小车设计-毕业论文

基于51单片机的超声波避障小车设计-毕业论文

基于51单片机的超声波避障小车设计-毕业论文内蒙古科技大学本科生毕业设计说明书(毕业论文)题目:基于单片机的超声波避障小车设计学生姓名:祝伟泰学号:1267112115 专业:测控技术与仪器班级:测控2012-1指导教师:燕芳副教授内蒙古科技大学毕业设计说明书(毕业论文)基于单片机的超声波避障小车设计摘要随着科学技术的飞速发展,人们对智能汽车的研究有增无已,智能车已然成为以后科学技术发展的新思路和新方向。

智能车可以按照预先设定的模式在一个环境里自动的运作,不需要人为的操控,可应用于路面检测,科学勘探,智能温度测量等。

本设计中制作的智能小车(又称轮式机器人)是本人在综合应用了本科所学的专业知识后设计出的一台智能小车,它具有超声波测距,自动避障,同步测速等功能。

虽然超声波避障小车只是智能车领域中的冰山一角,但是它却也是智能车中一个典型的代表。

麻雀虽小五脏俱全,本次设计的超声波避障小车,用STC15单片机作为核心控制器,设计出一种可以自动避障,并能同步实现速度和距离的测量以及显示的智能小车。

避障和测距通过超声波测距模块实现,并加入光电码盘测速模块从而实现测速功能,小车驱动由L298N驱动电路完成,数据的显示用LCD1602实现。

关键词:STC15单片机;超声波;避障;测速I内蒙古科技大学毕业设计说明书(毕业论文)Ultrasonic obstacle avoidance car design basedon Micro Computer UnitAbstractWith the development of science and technology, People have increased the research of smart car.Smart car has become the new way of thinking and a new direction for after the development of science and technology . Smart cars can be according to the preset mode automatically in an environment of operation, without the need of human control, can be applied to road testing, scientific exploration, intelligent temperature measurement, etc.This paper discusses the intelligent car (also known as wheeled robot) is I after summarized the major undergraduate course design a smart car, it has the ultrasonic distance measurement, automatic obstacle avoidance, synchronous speed, and other functions. Although ultrasonic obstacle avoidance car is just the tip of the iceberg in the field of smart car, but it is also a typical representative in intelligent vehicles. The sparrow is small all-sided, the design of ultrasonic obstacle avoidance car, use STC51 single-chip microcomputer as the core controller, design a kind of can automatic obstacleavoidance, and can realize the speed and distance measurement simultaneously and the smart car show. Obstacle avoidance and the distance by ultrasonic ranging module, and add light code disc speed measuring module and function of speed of the car drive by L298N drive circuit is completed, through LCD1602 display of measured data.Keywords: STC15;Ultrasonic sensors; avoidance; speedII内蒙古科技大学毕业设计说明书(毕业论文)目录摘要 (I)Abstract (II)1.1课题研究背景和意义 (1)1.2智能汽车的发展概述 (1)1.3 课题研究技术要求与主要内容 ....................................... 2 第二章总体方案设计 (4)2.1总体方案设计 (4)2.1.1具体设计思路 .................................................52.2系统各模块的设计方案 (6)2.2.1控制核心模块的选择方案论证 ...................................62.2.2主电路板的方案论证 ...........................................67 2.2.3测距避障传感器的方案论证 .....................................2.2.4 测速模块的选择方案论证 ......................................89 2.2.5电机驱动选择方案论证 .........................................2.2.6 显示装置的选型方案论证 ......................................92.3 本章小结 ........................................................11 第三章硬件电路设计 (11)3.1 STC15单片机简介 .................................................123.1.1 引脚说明 ...................................................123.1.2 特别管脚说明 ...............................................133.1.3 中断说明 ...................................................133.2 时钟电路和复位电路 (14)3.3电源电路部分 .....................................................143.4超声波传感器 .....................................................143.4.1 超声波测距的物理性质 .......................................153.4.2 超声波测距的原理 ...........................................153.4.3超声波测距过程分析 ..........................................163.5 电机驱动电路 ....................................................17III内蒙古科技大学毕业设计说明书(毕业论文)3.5.1 电机驱动电路分析 ...........................................183.5.2 PWMD调速分析 ...............................................193.6 LCD1602显示电路设计 .............................................193.6.1 LCD1602显示 ................................................193.6.2 LCD1602引脚功能说明 ........................................203.6.3 1602LCD的指令说明及时序: (20)3.7 光电测速模块 (22)3.8 报警电路设计 ..................................................... 23 第四章软件设计部分 (24)4.1 主程序的设计 (24)4.2 超声波测距程序设计 (25)4.3 避障程序设计 (26)4.4 PWM程序设计 .....................................................2728 4.5 显示子程序设计 ...................................................4.7 报警程序设计 (29)系统调试 .........................................................30 第五章5.1概述 .............................................................305.2 各模块的调试 (30)5.2.1 LCD的调试 ..................................................305.2.2光电码盘调试 ................................................315.2.3 蜂鸣器报警调试 .............................................315.2.4 电机及驱动调试 .............................................325.2.5 超声波模块调试 .............................................32 总结 .................................................................... 33 参考文献 (34)附录A 实物图 ............................................................ 36 附录B 源程序 (37)致谢 ....................................................................38IV内蒙古科技大学毕业设计说明书(毕业论文)第一章绪论1.1课题研究背景和意义随着21世纪的到来科学技术的发展步入了一个高速发展的阶段,智能化也普及了各个领域。

51单片机小车循迹避障原理

51单片机小车循迹避障原理

51单片机小车循迹避障原理
51单片机小车循迹避障的原理主要包括以下步骤:
1. 传感器检测:小车通过安装的传感器检测路径和障碍物。

寻迹传感器利用黑色对光线的反射率小这个特点,当检测到黑线时,传感器上的开关指示灯会熄灭,输出的是高电平。

如果没有经过黑线,一直保持低电平。

红外传感器在有障碍物时灯会亮,所以有障碍物代表低电平,没有障碍物高电平。

2. 信息处理:51单片机接收并处理传感器的信号。

根据传感器的信号,单片机判断出小车是否偏离了预定路径,或者前方是否有障碍物。

3. 电机控制:根据信息处理的结果,单片机控制电机转动。

例如,如果检测到小车偏离了预定路径,单片机将发送信号使电机转动,使小车回到正确的路径上。

如果检测到前方有障碍物,单片机将发送信号使电机停止转动,避免小车撞到障碍物。

4. 循环检测:小车在行进过程中不断重复上述步骤,确保能够持续地沿着预定路径行进并避开障碍物。

这就是51单片机小车循迹避障的基本原理。

实际的实现可能会更复杂,可能需要更多的传感器和控制逻辑来确保小车的稳定和安全运行。

基于51单片机的智能避障小车开发

基于51单片机的智能避障小车开发

L298N的详细资料驱动直流电机电机驱动电路;电机转速控制电路(PWM信号)主要采用L298N,通过单片机的I/O输入改变芯片控制端的电平,即可以对电机进行正反转。

驱动原理图L298电机驱动模块实物图我正在用L298N驱动我的小车的两个直流减速电机,其实它很好用,1和15和8引脚直接接地,4管脚VS接2.5到46的电压,它是用来驱动电机的,9引脚是用来接4.5到7V的电压的,它是用来驱动L298芯片的,记住,L298需要从外部接两个电压,一个是给电机的,另一个给L298芯片的6和11引脚是它的使能端,一个使能端控制一个电机,至于那个控制那个你自己焊接,你可以把它理解为总开关,只有当它们都是高电平的时候两个电机才有可能工作,5,7,10,12是298的信号输入端和单片机的IO口相连,2,3,13,14是输出端,输入5和7控制输出2和3, 输入的10,12控制输出的13,14L298N型驱动器的原理及应用L298N是SGS公司的产品,内部包含4通道逻辑驱动电路。

是一种二相和四相电机的专用驱动器,即内含二个H桥的高电压大电流双全桥式驱动器,接收标准TTL逻辑电平信号,可驱动46V、2A以下的电机。

L298N的恒压恒流桥式2A驱动芯片L298N说明及应用L298是SGS公司的产品,比较常见的是15脚Multiwatt封装的L298N,内部同样包含4通道逻辑驱动电路。

可以方便的驱动两个直流电机,或一个两相步进电机。

L298N芯片可以驱动两个二相电机,也可以驱动一个四相电机,输出电压最高可达50V,可以直接通过电源来调节输出电压;可以直接用单片机的IO口提供信号;而且电路简单,使用比较方便。

L298N 可接受标准TTL逻辑电平信号V SS,V SS可接4.5~7 V电压。

4脚VS接电源电压,VS电压范围VIH为+2.5~46 V。

输出电流可达2.5 A,可驱动电感性负载。

1脚和15脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机设计智能避障小车摘要利用红外对管检测黑线与障碍物,并以STC89C51单片机为控制芯片控制电动小汽车的速度及转向,从而实现自动循迹避障的功能。

其中小车驱动由L298N 驱动电路完成,速度由单片机输出的PWM波控制。

本文首先介绍了智能车的发展前景,接着介绍了该课题设计构想,各模块电路的选择及其电路工作原理,最后对该课题的设计过程进行了总结与展望并附带各个模块的电路原理图,和本设计实物图,及完整的C语言程序。

关键词:智能小车;51单片机;L298N;红外避障;寻迹行驶abstractUsing infrared detection black and obstacles to the line and STC89C51 microcontroller as the control chip to control the speed of the electric car and steering, so as to realize the function of automatic tracking and obstacle avoidance. Which the car driven by the L298N driver circuit is completed, the speed of the microcontroller output PWM wave control. This article first introduces the development of the intelligent car prospect, then introduces the design idea, the subject selection of each module circuit and working principle of the circuit, the design process of the subject is summarized and prospect with each module circuit principle diagram, and the real figure design, and complete C language program.Key words: smart car; 51 MCU; L298N; infrared obstacle avoidance; track driving一、绪论1.1智能小车的意义和作用自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。

近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。

随着科学技术的发展,机器人的感觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。

视觉的典型应用领域为自主式智能导航系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。

避障控制系统是基于自动导引小车(AVG—auto-guide vehicle)系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。

使用传感器感知路线和障碍并做出判断和相应的执行动作。

该智能小车可以作为机器人的典型代表。

它可以分为三大组成部分:传感器检测部分、执行部分、CPU。

机器人要实现自动避障功能,还可以扩展循迹等功能,感知导引线和障碍物。

可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。

基于上述要求,传感检测部分考虑使用价廉物美的红外反射式传感器来充当。

智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向和速度。

单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。

考虑到实际情况,本文选择第二种方案。

CPU使用80C51单片机,配合软件编程实现。

二、方案设计与论证现智能小车发展很快,从智能玩具到其它各行业都有实质成果。

其基本可实现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电子设计大赛智能小车又在向声控系统发展。

比较出名的飞思卡尔智能小车更是走在前列。

我此次的设计主要实现循迹避障这两个功能。

根据要求,确定如下方案:在现有玩具电动车的基础上,加装光电检测器,实现对电动车的速度、位置、运行状况的实时测量,并将测量数据传送至单片机进行处理,然后由单片机根据所检测的各种数据实现对电动车的智能控制。

这种方案能实现对电动车的运动状态进行实时控制,控制灵活、可靠,精度高,可满足对系统的各项要求。

2.1 主控系统根据设计要求,我认为此设计属于多输入量的复杂程序控制问题。

据此,拟定了以下两种方案并进行了综合的比较论证,具体如下:方案一:选用一片CPLD(如EPM7128LC84-15)作为系统的核心部件,实现控制与处理的功能。

CPLD具有速度快、编程容易、资源丰富、开发周期短等优点,可利用VHDL语言进行编写开发。

但CPLD在控制上较单片机有较大的劣势。

同时,CPLD的处理速度非常快,而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高,在这一点上,MCU就已经可以胜任了。

若采用该方案,必将在控制上遇到许许多多不必要增加的难题。

为此,我们不采用该种方案,进而提出了第二种设想。

方案二:采用单片机作为整个系统的核心,用其控制行进中的小车,以实现其既定的性能指标。

充分分析我们的系统,其关键在于实现小车的自动控制,而在这一点上,单片机就显现出来它的优势——控制简单、方便、快捷。

这样一来,单片机就可以充分发挥其资源丰富、有较为强大的控制功能及可位寻址操作功能、价格低廉等优点。

因此,这种方案是一种较为理想的方案。

针对本设计特点——多开关量输入的复杂程序控制系统,需要擅长处理多开关量的标准单片机,而不能用精简I/O口和程序存储器的小体积单片机,D/A、A/D功能也不必选用。

根据这些分析,我选定了P89C51RA单片机作为本设计的主控装置,51单片机具有功能强大的位操作指令,I/O口均可按位寻址,程序空间多达8K,对于本设计也绰绰有余,更可贵的是51单片机价格非常低廉。

在综合考虑了传感器、两部电机的驱动等诸多因素后,我们决定采用一片单片机,充分利用STC89C51单片机的资源。

2.2 电机驱动模块方案一:采用继电器对电动机的开或关进行控制,通过开关的切换对小车的速度进行调整.此方案的优点是电路较为简单,缺点是继电器的响应时间慢,易损坏,寿命较短,可靠性不高。

方案二:采用功率三极管作为功率放大器的输出控制直流电机。

线性型驱动的电路结构和原理简单,加速能力强,采用由达林顿管组成的 H型桥式电路(如图2.1)。

用单片机控制达林顿管使之工作在占空比可调的开关状态下,精确调整电动机转速。

这种电路由于工作在管子的饱和截止模式下,效率非常高,H型桥式电路保证了简单的实现转速和方向的控制,电子管的开关速度很快,稳定性也极强,是一种广泛采用的 PWM调速技术。

现市面上有很多此种芯片,我选用了L298N。

这种调速方式有调速特性优良、调整平滑、调速范围广、过载能力大,能承受频繁的负载冲击,还可以实现频繁的无级快速启动、制动和反转等优点。

因此决定采用使用功率三极管作为功率放大器的输出控制直流电机。

图2.1 H桥式电路2.3 循迹模块方案一:采用简易光电传感器结合外围电路探测,但实际效果并不理想,对行驶过程中的稳定性要求很高,且误测几率较大、易受光线环境和路面介质影响。

在使用过程极易出现问题,而且容易因为该部件造成整个系统的不稳定。

故最终未采用该方案。

方案二:采用两只红外对管(如图2.3),分别置于小车车身前轨道的两侧,根据两只光电开关接受到白线与黑线的情况来控制小车转向来调整车向,测试表明,只要合理安装好两只光电开关的位置就可以很好的实现循迹的功能。

方案三:采用三只红外对管,一只置于轨道中间,两只置于轨道外侧,当小车脱离轨道时,即当置于中间的一只光电开关脱离轨道时,等待外面任一只检测到黑线后,做出相应的转向调整,直到中间的光电开关重新检测到黑线(即回到轨道)再恢复正向行驶。

现场实测表明,小车在寻迹过程中有一定的左右摇摆不定,虽然可以正确的循迹但其成本与稳定性都低于第二种方案。

通过比较,我选取第二种方案来实现循迹。

图2.3 红外对管2.4 避障模块方案一:采用一只红外对管置于小车中央。

其安装简易,也可以检测到障碍物的存在,但难以确定小车在水平方向上是否会与障碍物相撞,也不易让小车做出精确的转向反应。

方案二:采用二只红外对管分别置于小车的前端两侧,方向与小车前进方向平行,对小车与障碍物相对距离和方位能作出较为准确的判别和及时反应。

但此方案过于依赖硬件、成本较高、缺乏创造性,而且置于小车左方的红外对管用到的几率很小,所以最终未采用。

方案三:采用一只红外对管置于小车右侧。

通过测试此种方案就能很好的实现小车避开障碍物,且充分的利用资源而不浪费。

(参考文献[3])通过比较我采用方案三。

2.5 机械系统本题目要求小车的机械系统稳定、灵活、简单,而三轮运动系统具备以上特点。

驱动部分:由于玩具汽车的直流电机功率较小,而小车上装有电池、电机、电子器件等,使得电机负担较重。

为使小车能够顺利启动,且运动平稳,在直流电机和轮车轴之间加装了三级减速齿轮。

电池的安装:将电池放置在车体的电机前后位置,降低车体重心,提高稳定性,同时可增加驱动轮的抓地力,减小轮子空转所引起的误差。

简单,而三轮运动系统具备以上特点。

2.6电源模块方案一:采用实验室有线电源通过稳压芯片供电,其优点是可稳定的提供5V 电压,但占用资源过大。

方案二:采用8支1.5V 电池双电源分别给单片机与电机供电。

所以,我选择了方案二来实现供电。

三、硬件设计3.1总体设计设计一个直流电机小车系统,用L298N 驱动电机,可加减速调节;用红外发射和接收传感器控制小车在规定区域行走,用红外传感器实现壁障,用霍尔传感器实现薄铁片的检测,用光敏电阻实现探测光源。

主板设计框图如图3.1。

图3.1 主板设计框图3.2驱动电路电机驱动一般采用H 桥式驱动电路,L298N 内部集成了H 桥式驱动电路,从而Stc89c51 循迹红外对管时钟电路复位电路 报警电路电机驱动避障红外对管可以采用L298N电路来驱动电机。

通过单片机给予L298N电路PWM信号来控制小车的速度,起停。

其引脚图如3.2,驱动原理图如图3.3。

图3.2 L298N引脚图图3.3 电机驱动电路3.3信号检测模块在该模块利用红外探测法。

相关文档
最新文档