基于51单片机的智能避障小车开发
- 格式:doc
- 大小:251.00 KB
- 文档页数:9
单片机设计智能避障小车摘要利用红外对管检测黑线与障碍物,并以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智能小车的意义和作用自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
目录1 引言 (1)2 方案设计与论证 (1)2.1 主控系统 (1)2.2 电机驱动模块 (2)2.3 电源模块 (3)2.4 避障模块 (3)2.5 感光模块 (3)2.6 自动停车模块 (4)3 硬件设计 (4)3.1 总体设计 (4)3.2 驱动电路 (5)3.3 超声波避障模块 (5)3.4 光敏电阻感光模块 (5)3.5 停车模块 (6)4 软件设计 (6)4.1主程序流程图 (6)4.2 避障功能设计 (7)4.3感光功能设计 (11)5 系统的仿真与调试 (14)5.1概述 (14)5.2避障功能的仿真 (16)5.3感光模块的仿真 (17)6 总结 (19)参考文献 (20)致谢 (22)附录A 源程序清单 (23)附录B 电路硬件仿真图 (27)1 引言在科学探险和现实救助中经常会遇到一些人类无法到达的危险地域的探测,这时就需要机器人为我们获取一些数据及情报。
这就需要机器人可以自动定位探测目标向探测目标自动行进并能通过传感器了解周围环境以及自身状态。
在复杂的地形中,机器人的自动避障与自动导航是必须要求的,所以自动避障技术以及自动导航就由此发展起来了。
我的智能小车就是基于这一技术设计出来的。
智能小车是一个集环境感知、规划决策、自动行驶等功能于一体的综合系统, 它集中地运用了计算机、传感、信息、通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体[1]。
智能小车算是简单的机器人,它们经常被用在那些人类无法适应的工作环境中,因此它们在人类生活中得到了广泛的应用。
在很多工作领域中它们可以超越人类工作的质量与效率。
生活中有很多这样的例子如焊接、医疗、喷漆、探测等。
在相对恶劣的工作环境中,机器人不会受到任何影响,并能继续保持良好的工作效率,而人类则不行,时间久了不但会疲惫而且对身体有害。
我此次的设计主要实现自动避障及自动导航功能。
此次设计对于未来智能系统、自动化等方面的发展都有非常重要的作用,所以本设计与实际具有紧密联系,具有重要的现实意义。
单片机原理及系统课程设计专业:班级:姓名:学号:指导教师:基于单片机的避障小车设计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单片机的模块化智能小车(有图有真相)!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单片机的避障小车程序程序中有我写的注释,看不懂程序的话,可以参考。
#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单片机的超声波智能避障小车所在院系:电气与控制工程学院作者:2015.7.7论文题目:基于51单片机的超声波智能避障小车专业:微电子学1201学生:指导老师:刘晓荣柴钰王健摘要随着国内外智能小车的迅速发展,我们在本次课设中进行了超声波智能避障小车的设计,超声波避障小车主要是运用超声波测距进行数据传输,最后通过单片机控制电机进行避障,这次小车设计的意义在于探索智能小车的设计理念及设计方法,有些生活中的实际问题便是由于人的反应时间过长所引起,而智能车实现了自动应急,为生命保障做最后一道壁垒。
关键词:智能小车,单片机,超声波,测距,避障1绪论二十一世纪是计算机技术、科学技术和汽车工业迅猛发展的时代,在此大环境下,汽车与电子信息产业逐渐的一体化,向电子化、多媒体化和智能化方向发展,智能超声波避障小车则是其中的代表,它的研究及应用无疑成为关注的焦点。
1.1概述本小车使用一台STC89C52单片机作为主控芯片,它通过超声波测距来获取小车距离障碍物的距离,在小车与障碍物的距离小于安全距离(用软件设定)时自动拐弯,以避开障碍物。
在避开障碍物后,小车会沿直线前进。
本系统设计的简易智能小车分为几个模块:单片机控制系统、超声波路面检测系统、前进、转弯控制电机。
1.1.1 基于51单片机的超声波智能避障小车的发展随着社会的不断发展和科学技术水平的不断提高,人类渴望创造出一种取代人力的劳动工具解放劳动力,于是出现了“机器人”这个代名词。
1959年诞生世界上第一台机器人,至今已有50多年的历史,机器人技术在科学领域也取得了质的飞跃,目前已发展成一门机械、电子、计算机、自动控制、信号处理,传感器等多学科为一体的尖端技术。
智能超声波避障小车经历了三代技术创新变革。
第一代超声波避障小车可编程的示教再现型,不需要装载任何传感器,只是采用简单的开关控制,通过编程来设置小车的路径与运动参数,在工作过程中不能根据环境的变化而改变自身的运动轨迹。
基于51单片机的自动避障小车的研究与设计徐永杰(西南林学院计算机与信息科学系,云南昆明650224)摘要:本文介绍了利用红外反射式传感器实现小车自动避障的设计与实现,能在有障碍物的情况下判断并自动躲避。
自动避障是基于自动避障小车(AAOV—auto-avoid obstacle -vehicle)的机器人系统。
实验中采用反射式红外传感器采集外界信号,红外反射式传感器采集后的信号经A/D转换器转换为数字信号,再由单片机对数字信号进行处理,控制电机,躲避障碍物。
系统控制核心采用AT89C51单片机,电机驱动芯片采用TA7267BP,利用三相电机来控制避障小车的转向,A/D转换器采用串行的TLC0831芯片,反射式传感器采用QRB1114型。
该技术可以应用于儿童智能玩具开发、隧道或管道检测,无人驾驶机动车、无人工厂、仓库、服务机器人等领域。
关键词:自动避障红外传感器单片机电路设计The research and design of AAOV-auto-avoid abstacle car whichbases on 51 single chipsYongjie Xu(Southwest Forestry University Computer And Information ScienceDepartment Kunming ,Yunnan 650224) [SUMMARY]This article introduces the design and execution of automatically avoiding obstacles by usage of the reflected infrared sensor on smsll cars.It makes the small cars judge and evade the obstacles automatically. Avoiding obstacles automatically is based on the AAOV-auto-avoid obstacle-vehicle of robot system.In the experiment,it adopts reflected infrared sensor to collect the external world signals which is transforms into number signals by the A/D conversion machine later then.After that,the single chip will handle these number signals and control current machine to avoid obstacles.The control core in system adops the AT89C2051 single chip;the current machine driving CMOS chip adops TA726TBP list,making use of 3-phasen current machine to control car’s direction;the A/D conversion machine adops series lines TLC0831CMOS chip;the reflecting type sensor adops QRB1114. This technology could serve to the development of children’s intelligent toys ,the examnation of tunnels and pipes, driverless mobile, robot factory, warehouse, service robot and etc.KEYWORD:AAOV-auto-avoid infraned sensor single chip Microcomputer,current design目录目录 (III)前言 (6)1 避障小车设计思路 (7)1.1设计思路 (7)1.2系统组成 (7)2 控制核心——单片机 (8)2.1单片机的发展历史 (8)2.2单片机的特点 (8)2.3单片机的应用领域 (9)2.3.1 单片机在智能仪表中的应用 (9)2.3.2 单片机在机电一体化中的应用 (9)2.4单片机外部晶振 (9)3 AT89C51单片机 (10)3.1主要性能参数 (10)3.2单片机选择 (10)4 传感器 (11)4.1传感器选择 (11)4.2红外反射式光电传感器特性与工作原理 (11)4.3两种反射式型号的传感器参数比较 (12)4.3.1 QRB1114型反射式传感器 (12)4.3.2 ST178型反射式传感器 (13)4.3.3 自制传感器测试数据及实物图片 (14)4.4具体设计与实现 (17)4.5QRB1114反射式红外传感器与A/D转换器连接电路 (17)5 模/数(A/D)转换器 (19)5.1A/D转换的主要性能指标 (19)5.1.1 分辨率 (19)5.1.2 转换时间 (19)5.1.3 量程 (19)5.1.4 精度 (19)5.2A/D转换的外围电路 (19)5.2.1 采样保持电路 (20)5.2.2 多路转换模拟开关 (20)5.2.3 三态门 (20)5.38位A/D转换器----ADC0809芯片 (20)5.3.1 ADC0809的主要特性 (21)5.3.2 ADC0809内部结构 (21)5.3.3 ADC0809引脚功能 (22)5.3.4 ADC0809的工作过程 (23)5.3.5 ADC0809与8051单片机模拟实验 (23)5.3.6 ADC0809与8051模拟实验程序 (24)5.4TLC0831八位串行A/D转换器 (25)5.4.1 TLC0831的特点 (25)5.4.2 TLC0831引脚功能 (25)5.4.3 TLC0831电气特性 (26)5.4.4 功能方框图及功能说明 (26)5.5TLC0831与8051单片机模拟实验 (27)5.5.1 TLC0851与8051模拟实验电路图 (27)5.5.2 TLC0851与8051模拟实验程序 (28)6 单片机驱动直流小电机 (30)6.1电机驱动电路器件 (30)6.2驱动电路的基本功能 (30)6.3H桥式电路原理 (30)6.4驱动芯片比较 (31)6.4.1 电机驱动芯片 L298 (31)6.4.2 电机驱动专用芯片TA7267BP (32)6.5驱动芯片选择 (34)6.6TA7267BP驱动芯片与AT89C51单片机连接电路 (35)7 单片机控制避障小车方向 (36)7.1步进电机控制系统及各部分功能 (36)7.2步进电机 (37)7.3单片机控制步进电机接口电路 (37)8 避障小车的动力——微型电机 (39)8.1三种类型的电机比较 (39)8.2电机选择 (39)9 电路图及电机驱动程序和万向轮驱动程序 (41)9.1电路全图 (41)9.2程序选择 (41)9.3程序流程图 (41)9.4程序清单 (42)10 结论 (44)参考文献 (45)指导教师简介 ........................................... 错误!未定义书签。
基于单片机的智能小车避障循迹系统设计
随着技术的不断发展,智能小车成为人们生活中不可或缺的一部分。
本文主要介绍一款基于单片机的智能小车避障循迹系统设计。
一、系统的硬件设计
本智能小车的硬件设计包括控制模块、电源模块、驱动模块和传感器模块。
其中,控制模块采用C51单片机,电源模块采
用锂电池,驱动模块通过直流电机实现小车的前进、后退、左右转弯等各项动作,而传感器模块则包括超声波传感器、巡线传感器和红外线传感器。
二、系统的软件设计
本智能小车的软件设计包括控制程序和驱动程序。
控制程序主要实现通过巡线传感器和超声波传感器来检测路面情况,从而确定小车行驶方向和速度,同时通过红外线传感器来检测障碍物,从而进行避障。
驱动程序主要用于实现小车的前进、后退、左右转等动作。
三、系统的操作流程
小车启动时,控制程序首先检测巡线传感器和超声波传感器所处位置,从而确定小车行驶方向和速度。
接着,红外线传感器开始检测障碍物,并且在检测到障碍物时,自动转弯避免碰撞。
当小车行驶过程中检测到黑色线条时,巡线传感器将自动控制
小车前进或后退,从而使小车保持在线条上行驶。
四、系统的优点和应用
基于C51单片机的智能小车避障循迹系统具有高度自动化、低成本、易于维护等优点。
该系统可广泛应用于自动化物流、智能家居、机器人等领域。
总之,随着科技的不断发展,传感器技术和单片机技术等已经得到了广泛的应用和推广。
未来,智能小车必将在各个领域发挥更大的作用,创造更多的价值。
项目名称:智能小车系别:信息工程系专业:11电气工程及其自动化姓名:刘亮、崔占闯、韩康指导教师:王蕾崔占闯联系邮箱:目录摘要: ...............................................................................................3关键词: (3)绪论: (3)一、系统设计 (4)1.一、任务及要求 (4)1.2车体方案认证与选择 (4)二、硬件设计及说明 (5)2.1循迹+避障模块 (5)2.2主控模块 (6)2.3电机驱动模块 (6)2.4机械模块 (7)2.5 电源模块 (7)三、自动循迹避障小车整体设计 (7)四、软件设计及说明 (8)4.1系统软件流程图 (9)4.2系统程序 (9)五、系统测试进程 (12)六、总结 (13)七、附录:系统元器件 (13)摘要本设计要紧有三个模块包括信号检测模块、主控模块、电机驱动模块。
信号检测模块采纳红外光对管,用以对有无障碍与黑线进行检测。
主控电路采纳宏晶公司的8051核心的STC89C52单片机为操纵芯片。
电机驱动模块采纳意法半导体的L298N专用电机驱动芯片,单片操纵与传统分立元件电路相较,使整个系统有专门好的稳固性。
信号检测模块将搜集到的路况信号传入STC89C52单片机,经单片机处置事后对L298N发出指令进行相应的调整。
通过有无光线接收来操纵电动小车的转向,从而实现自动循迹避障的功能。
关键词:智能循迹避障小车,STC89C52单片机,L298N驱动芯片,信号检测模块,循迹避障绪论(一)智能小车的作用和意义自第一台工业机械人诞生以来,机械人的进展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
最近几年来机械人的智能水平不断提高,而且迅速地改变着人们的生活方式。
人们在不断探讨、改造、熟悉自然的进程中,制造能替代人劳动的机械一直是人类的妄图。
随着科学技术的进展,机械人的感系统,关于视觉的各类技术而言图像处置技术已相当发达,而基于图像的明白得技术还很掉队,机械视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。
基于51单片机智能巡线避障小车1系统方案确定及主要元件的选择1.1 系统方案确定本次设计的智能小车实现的基本功能如下:❖实时检测路径,并按照指定路线行驶;❖实时检测障碍物,并躲过继续行驶;❖实时显示当前速度,并显示在lcd1602上为此以AT89C52为主控芯片,主要包括避障模块、电源模块、声控模块、电机驱动模块等,系统框图如图2.3所示。
通过寻迹及避障传感器来采集周围环境信息来反馈给CPU,通过主控的处理,来控制电机的运转,从而实现寻迹与避障,达到智能行驶。
且本设计添加了声控效果,通过声音传感器来对小车发出指令,让其行驶与停止。
为了能够更好地完成本次设计任务,我们采用三轮车,其前轮驱动,前轮左右两边各用一个电机驱动,调制前面两个轮子的转速起停从而达到控制转向的目的,后轮是万象轮,起支撑的作用,并通过软件程序控制,与硬件架构相结合,从而实线自动寻迹、避障的功能。
1.2 主要元件的选择1.2.1 主控器按照题目要求,控制器主要用于控制电机,通过相关传感器对路面的轨迹信息进行处理,并将处理信号传输给控制器,然后控制器做出相应的处理,实现电机的前进和后退,保证在允许范围内实线寻迹避障。
方案一:可以采用ARM为系统的控制器,优点是该系统功能强大,片上外设集成度搞密度高,提高了稳定性,系统的处理速度也很高,适合作为大规模实时系统的控制核心。
而小车的行进速度不可能太高,那么对系统处理信息的要求也就不会太高。
若采用该方案,必将在控制上遇到许许多多不必要增加的难题。
方案二:使用51单片机作为整个智能车系统的核心。
用其控制智能小车,既可以实现预期的性能指标,又能很好的操作改善小车的运行环境,且简单易上手。
对于我们的控制系统,核心主要在于如何实现小车的自动控制,对于这点,单片机就拥有很强的优势——控制简单、方便、快捷,单片机足以应对我们设计需求[5]。
51单片机算术运算功能强,软件编程灵活、自由度大,功耗低、体积小、技术成熟,且价格低廉。
摘要在日常生活中人们,电子产品和人的生活密不可分,我们接触的电子产品有像平常用的手机、电脑、相机等高端的电子产品;也有像平常用的通电器,收音机等低端的电子产品;有智能的电子产品,也有非智能的电子产品。
电子产品的总类是很多的,而在众多电子产品中有些带简单的智能控制的往往用到一些小芯片如单片机和一些传感类的器件如光耦元件、红外避障器等。
本次工程训练我们就将采用51系列的AT89C51单片机和光耦器件RPR220和红外避障器E18-D80NK为主要的器件来制作音乐智能寻迹避障小车的控制电路,通过训练来达到对课本知识的更深认识和运用。
目录第一章音乐智能寻迹避障小车的概述1.1音乐智能寻迹避障小车工作原理 (3)1.2音乐智能寻迹避障小车的目的要求、技术指标及训练任务 (4)第二章设计方案的选择和确定2.1方案的主要组成部分及整体原理图 (5)第三章系统硬件设计3.1传感部分的设计 (10)3.2控制部分的设计 (12)第四章系统的软件设计4.1流程图 (14)4.2程序清单 (15)第五章性能测试与分析5.1传感PCB板传感信号的测量 (20)5.2控制PCB板测量 (20)5.3小车跑道测试 (20)第一章音乐智能寻迹避障小车的概述1.1音乐智能寻迹避障小车工作原理所谓寻迹是在一个白色的塑料泡沫板上的宽25cm左右的有黑色电工胶布做成的椭圆轨道上寻黑线。
避障是在小车在轨道上寻迹是当发现前方有障碍物时采取一定的操作,避免碰撞,在这里是停车。
音乐是只在启动、左转、右转、停车、前方有障碍、倒退时可以放出小车本身有的语音信号,在这里是从过但单片机发送解码来控制。
智能控制也是由单片机来实现的。
寻迹:寻迹是通过红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射性质的特点,在小车行驶过程中不断地向地面发射红外光,当红外光遇到白色纸质地板时发生漫反射,反射光被装在小车上的接收管接收;如果遇到黑线则红外光被吸收,小车上的接收管接收不到红外光。
《基于51单片机的红外避障自动车的实现》技术报告摘要本小组所设计一个带有红外传感器的小车,基本能实现自动避障的功能。
本小车以STC89C52为其主控单元,以俩个直流减速电机为驱动电机提供基本动力,并依据差速原理实现转向,用红外传感器进行探测,使用分离元件组成的电路去驱动电机,使用PWM波实现变速功能。
小车分为五个模块:STC89C52主控模块,传感模块,电源模块,电机驱动模块,测速模块。
关键词:89C52 红外避障自动车题目:《基于51单片机的红外避障自动车的实现》下面是一些基本资料:——————————————小车参数——————————————障碍检测方式红外探测(探测模块功耗7mA)车模几何尺寸(mm)149 x 102 x 59测障精度前方:75 cm 左右:25cm车模轮距(mm)120电源系统 4 x 1.5 v干电池4 x 1.2 v充电电池及其稳压输出电机直流减速电机,1~12V工作电压,传动比:71.2:1主控芯片STC89C52MCU其他芯片LM7806 LM7805 STC11F01等—————————————小组资料———————————————小组成员:姓名班级善长项目负责模块王太杰0804211班擅长于硬件焊接技术强硬件知识充足红外探测部分驱动调试孙学军0904211班擅长于编程C语言功底扎实思路开阔程序驱动部分程序调试李相华0804211班查阅资料能力强善于方案选择和优化电源部分小组优势:硬件与程序搭配协调,每人负责各自模块,只提供最终模块接口,使对方不必关注自己模块内部结构,只需将接口连接完成即可,减少了每人负责的内容,提高了效率。
————————————制作流程与时间—————————————2010年5月1日小组成员对各模块电路进行了选择、优化,并进行了电路搭建、焊接,各模块调试,确定模块交互接口;主控程序思路成型,并编写了测试程序,对软硬件进行了测试。
最后各模块交互,整体调试,主程序确定及细节敲定。
单片机设计智能避障小车摘要利用红外对管检测黑线与障碍物,并以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智能小车的意义和作用自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
《基于51单片机的红外避障自动车的实现》技术报告技术报告:基于51单片机的红外避障自动车的实现引言红外避障技术在自动车领域中具有重要的应用潜力。
本报告旨在介绍一种基于51单片机的红外避障自动车的实现方法。
该自动车能够通过红外遥感技术检测周围环境并避开障碍物,实现自主导航功能。
一、系统硬件设计1.硬件平台选择本系统主要采用51单片机作为主控制器,因其资源丰富、易于编程和低成本等特点。
另外,还需要模块包括红外传感器模块和马达驱动模块。
2.红外传感器模块设计红外传感器模块通过红外发射管和接收管组成。
发射管发出红外光,在遇到障碍物时,被障碍物反射回的红外光通过接收管被接收到。
根据接收到的光线强度和反射时间,可以确定是否有障碍物存在。
3.马达驱动模块设计马达驱动模块通过电路连接到51单片机输出口,用于控制电机的转动。
当检测到有障碍物存在时,系统会发送信号给马达驱动模块,从而控制车辆停止或改变方向。
二、系统软件设计1.硬件初始化在程序的开始部分,需要对51单片机和各个硬件模块进行初始化,包括设置引脚的输入输出方式、红外传感器和马达的初始化等。
2.红外传感器数据采集与处理通过相关的接口和程序代码,可以实现对红外传感器的数据采集和处理。
利用红外传感器模块发射红外光,并通过接收模块接收到反射的光线信号。
通过采集到的信号强度和反射时间,可以判断是否有障碍物存在。
3.障碍物检测与避障根据红外传感器采集到的数据,判断是否有障碍物存在。
如果有障碍物,则需要控制车辆停止或改变方向来避开障碍物。
通过控制马达驱动模块,可以实时改变车辆的行驶方向。
4.车辆导航控制车辆导航控制部分主要是根据红外传感器采集到的数据和障碍物检测结果,实时控制车辆的行驶方向。
通过对数据的处理和逻辑判断,可以决定车辆的下一步行动,例如前进、后退、左转或右转等。
三、实验结果与讨论在实验中,我们成功实现了基于51单片机的红外避障自动车的功能。
通过红外传感器模块,我们可以有效地检测到周围的障碍物,并及时避开,实现了自主导航。
基于51的避障/循迹/重力感应遥控的智能小车设计1 绪论1.1 选题背景随着汽车工业的迅速发展,关于汽车的研究也就越来越受人关注。
全国电子大赛和省内电子大赛几乎每次都有智能小车这方面的题目,全国各高校也都很重视该题目的研究。
可见其研究意义很大。
本设计就是在这样的背景下提出的,指导教师已经有充分的准备。
本题目是结合科研项目而确定的设计类课题。
设计的智能电动小车应该能够实现适应能力,能自动避障,可以智能规划路径。
智能化作为现代社会的新产物,是以后的发展方向,他可以按照预先设定的模式在一个特定的环境里自动的运作,无需人为管理,便可以完成预期所要达到的或是更高的目标。
同遥控小车不同,遥控小车需要人为控制转向、启停和进退,比较先进的遥控车还能控制器速度。
常见的模型小车,都属于这类遥控车;智能小车,则可以通过计算机编程来实现其对行驶方向、启停以及速度的控制,无需人工干预。
操作员可以通过修改智能小车的计算机程序来改变它的行驶方向。
因此,智能小车具有再编程的特性,是机器人的一种。
中国自1978年把“智能模拟”作为国家科学技术发展规划的主要研究课题,开始着力研究智能化。
从概念的引进到实验室研究的实现,再到现在高端领域(航天航空、军事、勘探等)的应用,这一过程为智能化的全面发展奠定基石。
智能化全面的发展是实现其对资源的合理充分利用,以尽可能少的投入得到最大的收益,大大提高工业生产的效率,实现现有工业生产水平从自动化向智能化升级,实现当今智能化发展由高端向大众普及。
从先前的模拟电路设计,到数字电路设计,再到现在的集成芯片的应用,各种能实现同样功能的元件越来越小为智能化产物的生成奠定了良好的物质基础。
智能小车,是一个集环境感知、规划决策,自动行驶等功能于一体的综合系统,它集中地运用了计算机、传感、信息、通信、导航、人工智能及自动控制等技术,是典型的高新技术综合体。
1.2 智能小车研究现状智能车辆作为智能交通系统的关键技术,是许多高新技术综合集成的载体。
毕业论文(设计)题目:基于51单片机的小车循迹避障系统学院:电气工程学院学号:姓名:专业年级:指导老师:基于51单片机的小车循迹避障系统专业:电子信息工程姓名:指导教师:摘要随着社会的发展,智能化越来越受到人们的关注。
本设计通过模拟汽车的自动行驶及避障功能,来实现智能化。
在此设计中,用STC89C52单片机作为主控芯片,处理接收到的各种信号,并作出相应的反馈;用红外对管来进行黑线检测,从而达到循迹的目的;用超声波传感器来感知障碍物,实现避障功能;用L298N芯片来进行驱动,通过编写的程序,保证了电机的左右转动,从而达到小车设计时预定的目标。
在本小车的设计中,有着严格的设计过程,采用了模块结构框图设计、程序流程图设计、程序设计以及电路图设计等多个设计步骤。
这样就可以保证在设计过程中的严密性,不会因为单一设计体系而使整个系统功能出现错误。
由于小车在设计过程中,采用了模块化的设计思路,所以在进行调试时非常方便。
我们可以分别对每一个功能部分来进行调试,驱动部分调试时,只要给电机向前或者向后的信号,就可以调试出其功能。
循迹部分调试时,只要通过检测到黑线,判断是否沿黑线行驶,即可以调试出。
在进行避障调试中,我们可以把障碍物放在小车前方,然后看小车两个轮子的转向。
这种模块化的设计思想不仅简化了设计过程,而且对我们以后的设计也会有一定启发。
关键词智能化,单片机,红外对管,超声波传感器ABSTRACTAlong with the development of society, more and more intelligent attention. This design by simulating a car driving and automatic obstacle avoidance, to achieve intelligent. In this design, with STC89C52 SCM as the master chip, processing various signals received, and make corresponding feedback; using Infrared to tube to detect the black line, so as to achieve the purpose of tracking; using ultrasonic sensors to perceive obstacles thing to realize obstacle avoidance function; using L298N chip to be driven by written procedures to ensure that the motor is rotating around to achieve the desired goal when designing the car.In car design, a rigorous design process, using a block diagram of the module design, program flowchart design, programming and multiple design steps Schematic design. This ensures that the design process rigor, the error does not occur because of a single design system and make the entire system functions.As the car in the design process, using a modular design concept, so very convenient during debugging. We were part of each function for debugging, debugging driving part, as long as the motor forward or backward signal, you can debug the functionality. When debugging tracking part, simply by detecting the black line, to determine whether the black line running along, that you can debug a. Avoidance during commissioning, we can put an obstacle in front of the car, and then look at the car two steering wheels. This modular design not only simplifies the design, but also for our future designs also have some inspiration.Key Words : Intelligent,SCM,Infrared to tube,Ultrasonic sensors目录第1章绪论 (1)1.1 智能小车的研究意义 (1)1.2 智能小车的现状 (1)1.3 论文研究内容与主要结构 (2)第2章方案选型 (3)2.1车体设计 (3)2.2 电机驱动选择 (3)2.3 PWM调速技术 (4)2.4 循迹模块技术 (5)2.5 避障模块技术 (7)2.6 控制系统模块 (8)2.7 电源选择 (9)第3章硬件电路设计 (10)3.1总体设计 (10)3.2电源电路设计 (10)3.3驱动电路设计 (11)3.4 循迹部分电路 (13)3.5 避障部分电路 (14)3.4主控电路设计 (16)第4章程序设计 (17)4.1主程序设计概述 (17)4.2主程序流程图 (17)4.3 驱动程序流程图 (18)4.4 循迹程序流程图 (18)4.5 避障程序流程图 (19)第5章制作安装与调试 (20)5.1 小车的安装 (20)5.2小车运动模式调试 (20)5.3小车循迹调试 (21)5.4小车避障调试 (23)5.3小车的功能 (24)结论 (25)参考文献 (26)致谢 (27)第1章绪论1.1 智能小车的研究意义随着社会的发展,科技的发展日新月异。
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,14
L298N型驱动器的原理及应用
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脚下管的发射极分别单独引出以便接入电流采样电阻,形成电流传感信号。
L298可驱动2个电动机,OUT1,OUT2和OUT3,OUT4之间可分别接电动机,本实验装置我们选用驱动一台电动机。
5,7,10,12脚接输入控制电平,控制电机的正反转。
EnA,EnB接控制使能端,控制电机的停转。
表1是L298N功能逻辑图。
In3,In4的逻辑图与表1相同。
由表1可知EnA为低电平时,输入电平对电机控制起作用,当EnA为高电平,输入电平为一高一低,电机正或反转。
同为低电平电机停止,同为高电平电机刹停。
L298N控制器原理如下:图3是控制器原理图,由3个虚线框图组成。
以下是用51单片机发出的PWM信号来利用L298电机控制模块对直流电机进行驱动的源程序
#include<reg52.h> //用T1计时器中断进行对小车转向的空制
sbit h1=P0^0;//红外线探测模块
sbit h2=P0^1;
sbit h3=P0^2;
sbit IP1=P2^0;//电机1
sbit IP2=P2^1;
sbit IP3=P2^2;//电机2
sbit IP4=P2^3;
void delay1ms(void);
void delaynms(int);
void start(void);
void jiasu(int,int,int);//电机加速
void zhuanxiang(char,char,char);//电机转向
//unsigned char flag1=0,flag2=0,count=0;
//unsigned int time=0;
void main(void)
{
h1=1;
h2=1;
h3=1;//各端口开始时都置一
IP1=1;
IP2=1;
IP3=1;
IP4=1;
TMOD=0X1; //设置T0计时器为TMOD1工作方式TH0=0XFC;
TL0=0X66;
EA=1;
ET0=1; //开启中断总开关,T0中断
delay1ms();
while(1)
{
TR0=1;//启动计时器
start();
delaynms(50);
zhuanxiang(h1,h2,h3);
}
}
void zxzd(void) interrupt 1//转向调节中断子程序{
if((h1=0)&&(h2=1)&&(h3=0)) //直走
{
TH0=0XFC;
TL0=0X66;
IP1=0;IP2=1;
IP3=1;IP4=0;
}
if((h1=1)&&(h2=1)&&(h3=0))//右转
{
TH0=0XFC;
TL0=0X66;
IP1=0;IP2=1;
IP3=1;IP4=1;
}
if((h1=0)&&(h2=1)&&(h3=1)) //左转
{
TH0=0XFC;
TL0=0X66;
IP1=1;IP2=1;
IP3=1;IP4=0;
}
if((h1=1)&&(h2=1)&&(h3=1))//终点停车
{
TH0=0XFC;
TL0=0X66;
IP1=1;IP2=1;
IP3=1;IP4=1;
}
}
void start(void)
{
IP1=0,IP2=1,IP3=1,IP4=0;
}
void zhuanxiang(char h1,char h2,char h3)//小车转向函数{
if((h1=0)&&(h2=1)&&(h3=0))
{
if((h1=1)&&(h2=0)&&(h3=0))
{
if((h1=0)&&(h2=0)&&(h3=1))
{
if((h1=1)&&(h2=1)&&(h3=1))
{
TH0=0XFC;
TL0=0X66;
TR0=1;
}
}
}
}
}
void delay1ms(void)//12M晶振
{
int i;
for(i=0;i<120;i++);
}
void delaynms(unsigned int n)
{
int i,j;
for(j=0;j<n;j++)
for(i=0;i<120;i++);
}。