基于51单片机的智能循迹避障小车C源程序文档格式.docx
《基于51单片机的智能循迹避障小车C源程序文档格式.docx》由会员分享,可在线阅读,更多相关《基于51单片机的智能循迹避障小车C源程序文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
![基于51单片机的智能循迹避障小车C源程序文档格式.docx](https://file1.bdocx.com/fileroot1/2022-10/28/d8e57fab-f80c-4a9e-9750-8b6ba6bd879b/d8e57fab-f80c-4a9e-9750-8b6ba6bd879b1.gif)
.................................................................................................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驱动芯片,信号检测模块,循迹避障
绪论
(一)智能小车的作用和意义
自第一台工业机械人诞生以来,机械人的进展已经遍及机械、电子、冶金、交通、宇航、国防等领域。
最近几年来机械人的智能水平不断提高,而且迅速地改变着人们的生活方式。
人们在不断探讨、改造、熟悉自然的进程中,制造能替代人劳动的机械一直是人类的妄图。
随着科学技术的进展,机械人的感系统,关于视觉的各类技术而言图像处置技术已相当发达,而基于图像的明白得技术还很掉队,机械视觉需要通过大量的运算也只能识别一些结构化环境简单的目标。
视觉传感器的核心器件是摄像管或CCD,目前的CCD已能做到自动聚焦。
但CCD传感器的价钱、体积和利用方式上并非占优势,因此在不要求清楚图像只需要粗略感觉的系统中考虑利用接近觉传感器是觉传感器种类愈来愈多,其中视觉传感器成为自动行走和驾驶的重要部件。
视觉的典型应用领域为自主式智能导航一种有效有效的方式。
机械人要实现自动导引循迹功能和避障功能就必需要感知导引线和障碍物,感知导引线相当给机械人一个视觉功能。
避障操纵系统是基于自动导引小车系统,基于它的智能小车实现自动识别线路,判定并自动躲开障碍,选择正确的行进线路。
利用传感器感知线路和障碍并作出判定和相应的执行动作。
该智能小车能够作为机械人的典型代表。
它能够分为三大组成部份:
传感器检测部份、cpu、执行部份。
机械人要实现自动循迹避障功能,感知导引线和障碍物。
能够实现小车自动识别线路,选择正确的行进线路,并检测到障碍物自动躲避。
基于上述要求,传感检测部份考虑到小车一样不需要感知清楚的图像,只要求粗略感知即可,因此能够舍弃昂贵的CCD传感器而考虑利用价廉物美的红外光电传感器来充当。
智能小车的执行部份,是由直流电机来充当的,要紧操纵小车的行进方向。
单片机驱动直流电机一样有两种方案:
第一,勿需占用单片机资源,直接选择有PWM功能的单片机,如此能够实现精准调速;
第二,能够由软件模拟PWM输出调制,需要占用单片机资源,难以精准调速,但单片机型号的选择余地较大。
考虑到实际情形,本文选择第二种方案。
CPU利用STC89C52单片机,配合软件编程实现。
(二)智能小车的现状
现智能小车进展专门快,从智能玩具到其它各行业都有实质功效。
其大体可实现循迹、避障、检测贴片、寻光入库、避崖等大体功能,这几节的电子设计大赛智能小车又在向声控系统进展。
比较出名的飞思卡尔智能小车更是走在前列。
我这次的设计要紧实现循迹避障这两个功能
一、系统设计
本组智能小车的硬件要紧有以STC89C52单片机作为核心的主控器部份、自动循迹+避障
部份、电机驱动部份。
电机驱动部份和其他部份由一个电源通过串联供电。
小车硬件系统示用意如下:
1.一、任务及要求
设计一个基于直流电机的自动循迹避障小车,使小车能够自动检测地面黑色轨迹和道路双侧的挡板(没有黑线时),并沿着黑色轨迹和挡板行驶。
1.二、车体方案认证与选择
方案一:
自己动手制作电动车,一方面材料缺少,另一方面制作进程要花费大量的时刻,而且同窗中手艺也不行,制作出来的小车还可能机械性能不行。
考虑到时刻与性能这两方面,咱们舍弃了这一方案
方案二:
购买小车全套零件,购买的小车全套零件具有组装完整的车架车轮、电机及其驱动电路。
易改装,好操纵。
机械性能有保障。
小车图片如下:
综合考虑,最终选择方案二
二、硬件设计及说明
2.1循迹+避障模块
咱们选择四路红外探测寻迹光电传感器
此模块是为智能小车、机械人等自动化机械装置提供一种多用途的红外线探测系统的解决方案。
利用红外线发射和接收管等分立元器件组成探头,并利用LM339电压比较器(加入了迟滞电路加倍稳固)做为核心器件组成中控电路。
此系统具有的多种探测功能能极大的知足各类自动化、智能化的小型系统的应用。
此模块的特点:
易于安装,利用简便;
4路分别独立工作,工作时不受数量限制;
中控板与探头分开,安装位置不受限制;
模块高度≤10毫米;
平安工作电压范围在3伏特至6伏特之间;
4路全开工作电流30毫安至55毫安之间。
2.2主控模块
咱们采纳宏晶公司的STC89C52单片机作为主操纵器。
STC89C52是一个高速,低功耗,超强抗干扰的8位单片机,片内含32k空间的可反复擦写100,000次Flash只读存储器,具有4K的随机存取数据存储器(RAM),32个I/O
口,2个8位可编程按时计数器,且可在线编程、调试,方便地实现程序的下载与整机的调试。
时钟电路和复位电路(与单片机组成最小系统)
1)采纳外部时钟,晶振频率为12MHZ
2)采纳按键复位
2.3电机驱动模块
电机
电机采纳直流减速电机,直流减速电机转动力矩大,体积小,重量轻,装配简单,利用方便。
由于其内部由高速电动机提供原始动力,带动变速(减速)齿轮组,能够产生较大扭力。
可选用减速比为1:
74的直流电机,减速后电机的转速为100r/min。
假设车轮直径为6cm,那么小车的最大速度能够达到
V=2πr·
v=2*3.14*0.03*100/60=0.314m/s
能够较好的知足系统的要求。
驱动
驱动模块采纳专用芯片L298N作为电机驱动芯片,L298N是一个具有高电压大电流的全桥驱动芯片,其响应频率高,一片L298N能够别离操纵两个直流电机。
以下为L298N的引脚图和输入输出关系表。
图L298N外部引脚表1L298N输入输出关系
驱动电路的设计如图2所示:
图2L298N电机驱动电路
L298N的5、7、10、12四个引脚接到单片机上,通过对单片机的编程就可实现两个直流电机的PWM调速操纵。
2.4电源模块
采纳4节一般1.5V干电池单电源供电,采纳串联方式同时给单片机与电机供电。
三、自动循迹避障小车整体设计
3.1整体电路图
四、软件设计及说明
4.1系统软件流程图
4.2循迹避障程序
#include<
reg51.h>
#defineucharunsignedchar
#defineuintunsignedint
unsignedcharzkb1=0;
//**左侧电机的占空比**//
unsignedcharzkb2=0;
//**右边电机的占空比**//
unsignedchart=0;
//**按时器中断计数器**//
sbitLSEN2=P2^0;
sbitLSEN1=P2^1;
sbitRSEN1=P2^2;
sbitRSEN2=P2^3;
//**传感器***/
sbitIN1=P1^0;
sbitIN2=P1^1;
sbitIN3=P1^2;
sbitIN4=P1^3;
sbitENA=P1^4;
sbitENB=P1^5;
//**********初始化按时器中断***********//
voidinit()
{
TMOD=0x01;
TH0=(65536-100)/256;
TL0=(65536-100)%256;
EA=1;
ET0=1;
TR0=1;
}
//*****