基于 单片机的智能循迹避障小车 C源程序

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
sbit ENB=P1^5;
//**********初始化定时器中断***********//
void init()
{
TMOD=0x01;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
EA=1;
ET0=1;
TR0=1;
}
//***********中断函数+脉宽调制***********//
(二)智能小车的现状?
现智能小车发展很快,从智能玩具到其它各行业都有实质成果。其基本可实现循迹、避障、检测贴片、寻光入库、避崖等基本功能,这几节的电子设计大赛智能小车又在向声控系统发展。比较出名的飞思卡尔智能小车更是走在前列。我此次的设计主要实现循迹避障这两个功能
一、系统设计
本组智能小车的硬件主要有以STC89C52单片机作为核心的主控器部分、自动循迹+避障部分、电机驱动部分。电机驱动部分和其他部分由一个电源通过串联供电。
{
zkb1=50;
zkb2=50;
}
//***************左转函数1***************//
void turn_left1()
{
zkb1=0;
zkb2=50;
}
//***************左转函数2***************//
void turn_left2()
{
zkb1=0;
循迹避障程序
#include<>
#define uchar unsigned char
#define uint unsigned int
unsigned char zkb1=0 ;
//**左边电机的占空比**//
unsigned char zkb2=0 ;
//**右边电机的占空比**//
unsigned char t=0;
机器人要实现自动导引循迹功能和避障功能就必须要感知导引线和障碍物,感知导引线相当给机器人一个视觉功能。避障控制系统是基于自动导引小车系统,基于它的智能小车实现自动识别路线,判断并自动避开障碍,选择正确的行进路线。使用传感器感知路线和障碍并作出判断和相应的执行动作。?
该智能小车可以作为机器人的典型代表。它可以分为三大组成部分:传感器检测部分、cpu、执行部分。机器人要实现自动循迹避障功能,感知导引线和障碍物。可以实现小车自动识别路线,选择正确的行进路线,并检测到障碍物自动躲避。基于上述要求,传感检测部分考虑到小车一般不需要感知清晰的图像,只要求粗略感知即可,所以可以舍弃昂贵的CCD传感器而考虑使用价廉物美的红外光电传感器来充当。智能小车的执行部分,是由直流电机来充当的,主要控制小车的行进方向。单片机驱动直流电机一般有两种方案:第一,勿需占用单片机资源,直接选择有PWM功能的单片机,这样可以实现精确调速;第二,可以由软件模拟PWM输出调制,需要占用单片机资源,难以精确调速,但单片机型号的选择余地较大。考虑到实际情况,本文选择第二种方案。CPU使用STC89C52单片机,配合软件编程实现。?
小车硬件系统示意图如下:
、任务及要求
设计一个基于直流电机的自动循迹避障小车,使小车能够自动检测地面黑色轨迹和道路两侧的挡板(没有黑线时),并沿着黑色轨迹和挡板行驶。
、车体方案认证与选择?
方案一:自己动手制作电动车,一方面材料缺少,另一方面制作过程要花费大量的时间,而且同学中手艺也不好,制作出来的小车还可能机械性能Βιβλιοθήκη Baidu好。考虑到时间与性能这两方面,我们放弃了这一方案?
//**定时器中断计数器**//
sbit LSEN2=P2^0;
sbit LSEN1=P2^1;
sbit RSEN1=P2^2;
sbit RSEN2=P2^3;
//**传感器***/
sbit IN1=P1^0;
sbit IN2=P1^1;
sbit IN3=P1^2;
sbit IN4=P1^3;
sbit ENA=P1^4;
随着科学技术的发展,机器人的感系统,对于视觉的各种技术而言图像处理技术已相当发达,而基于图像的理解技术还很落后,机器视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。但CCD传感器的价格、体积和使用方式上并不占优势,因此在不要求清晰图像只需要粗略感觉的系统中考虑使用接近觉传感器是觉传感器种类越来越多,其中视觉传感器成为自动行走和驾驶的重要部件。视觉的典型应用领域为自主式智能导航一种实用有效的方法。?
方案二:购买小车全套零件,购买的小车全套零件具有组装完整的车架车轮、电机及其驱动电路。易改装,好控制。机械性能有保障。
小车图片如下:
综合考虑,最终选择方案二
二、硬件设计及说明
循迹+避障模块
我们选择四路红外探测 寻迹光电传感器
此模块是为智能小车、机器人等自动化机械装置提供一种多用途的红外线探测系统的解决方案。使用红外线发射和接收管等分立元器件组成探头,并使用LM339 电压比较器(加入了迟滞电路更加稳定)做为核心器件构成中控电路。此系统具有的多种探测功能能极大的满足各种自动化、智能化的小型系统的应用。
void timer0() interrupt 1
{
if(t<zkb1)
ENA=1;
else
ENA=0;
if(t<zkb2)
ENB=1;
else
ENB=0;
t++;
if(t>=50)
{t=0;}
}
//******************直行******************//
void qianjin()
zkb2=50;
}
//***************右转函数1***************//
void turn_right1()
机械模块?........................................................................7
电源模块?.......................................................................7
时钟电路和复位电路(与单片机构成最小系统)
1)采用外部时钟,晶振频率为12MHZ
2)采用按键复位
电机驱动模块
电机
电机采用直流减速电机,直流减速电机转动力矩大,体积小,重量轻,装配简单,使用方便。由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,可以产生较大扭力。
可选用减速比为1:74的直流电机,减速后电机的转速为100r/min。若车轮直径为6cm,则小车的最大速度可以达到
摘要
本设计主要有三个模块包括信号检测模块、主控模块、电机驱动模块。信号检测模块采用红外光对管,用以对有无障碍与黑线进行检测。主控电路采用宏晶公司的8051核心的STC89C52单片机为控制芯片。电机驱动模块采用意法半导体的L298N专用电机驱动芯片,单片控制与传统分立元件电路相比,使整个系统有很好的稳定性。信号检测模块将采集到的路况信号传入STC89C52单片机,经单片机处理过后对L298N发出指令进行相应的调整。通过有无光线接收来控制电动小车的转向,从而实现自动循迹避障的功能。
此模块的特点:
易于安装,使用简便;4 路分别独立工作,工作时不受数量限制;中控板与探头分开,安装位置不受限制;模块高度≤10 毫米;安全工作电压范围在 3伏特至 6 伏特之间;4 路全开工作电流 30 毫安至 55 毫安之间。
主控模块
我们采用宏晶公司的STC89C52单片机作为主控制器。STC89C52是一个高速,低功耗,超强抗干扰的8位单片机,片内含32k空间的可反复擦写100,000次Flash只读存储器,具有4K的随机存取数据存储器(RAM),32个I/O口,2个8位可编程定时计数器,且可在线编程、调试,方便地实现程序的下载与整机的调试。
系统程序........................................................................9
五、系统测试过程?.......................................................................12
绪论:?.................................................................................................3
一、系统设计?.............................................................................4
V=2πr·v=2***100/60=s
能够较好的满足系统的要求。
驱动
驱动模块采用专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N可以分别控制两个直流电机。以下为L298N的引脚图和输入输出关系表。
图L298N外部引脚 表1 L298N输入输出关系
、任务及要求?...................................................................4
车体方案认证与选择?......................................................4
二、硬件设计及说明?....................................................................5
六、总结?.......................................................................................13
七、附录:系统元器件..................................................................13
循迹+避障模块?..............................................................5
主控模块?........................................................................6
电机驱动模块?................................................................6
项目名称:????智能小车
系别: 信息工程系
专业:11电气工程及其自动化
姓名:?刘亮、崔占闯、韩康
指导老师:王蕾
崔占闯联系邮箱:
摘要:?...............................................................................................3关键词:?.............................................................................................3
三、自动循迹避障小车总体设计………………………………..7
四、软件设计及说明?.....................................................................8
系统软件流程图............................................................9
关键词:智能循迹避障小车,STC89C52单片机,L298N驱动芯片,信号检测模块,循迹避障
绪论
(一)智能小车的作用和意义??
自第一台工业机器人诞生以来,机器人的发展已经遍及机械、电子、冶金、交通、宇航、国防等领域。近年来机器人的智能水平不断提高,并且迅速地改变着人们的生活方式。人们在不断探讨、改造、认识自然的过程中,制造能替代人劳动的机器一直是人类的梦想。?
驱动电路的设计如图2所示:
图2 L298N电机驱动电路
L298N的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可实现两个直流电机的PWM调速控制。
电源模块
采用4节普通干电池单电源供电,采用串联方式同时给单片机与电机供电。
三、自动循迹避障小车总体设计
3.1总体电路图
四、软件设计及说明
系统软件流程图
相关文档
最新文档