智能循迹小车实验报告.docx
《智能循迹小车实验报告.docx》由会员分享,可在线阅读,更多相关《智能循迹小车实验报告.docx(11页珍藏版)》请在冰豆网上搜索。
![智能循迹小车实验报告.docx](https://file1.bdocx.com/fileroot1/2023-3/31/ca3492fe-07b4-43a4-bec4-4d87540fcf73/ca3492fe-07b4-43a4-bec4-4d87540fcf731.gif)
智能循迹小车实验报告
智能循迹小车实验报告
摘要
本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。
本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。
关键词智能小车STC89C52单片机L298N红外光对管
1.1软件部分
3.2.1程序流程图
此系统采用89C52单片机,再根据硬件连接,通过相应的软件来完成对信号的采集和数据的分析,再控制小车的运行状态,以下为主程序流程图:
3.2.2程序设计思路
3.2.2.1寻迹模块程序
通过传感器获得路面信息然后反馈给单片机,再通过单片机来实现相应的功能。
3.2.2.2电机驱动模块程序
控制两个直流电机,实现前进、后退、前左转、前右转、停车等功能。
2各部分电路的作用及电路工作原理分析
4.1信号采集模块
4.1.1TCRT500结构与工作原理
TCRT5000(L)具有紧凑的结构发光灯和检测器安排在同一方向上,利用红外光谱反射对象存在另一个对象上,操作的波长大约是950毫米。
探测器由光电晶体三极管组成的,它由高发射功率红外光电二极管和高度灵敏光电晶体管组成。
通过测试,其检测距离在2mm-10mm。
TCRT5000的发射管和接收管是一起封装在矩形塑料壳中,为了使检测更加准确,我们用了5只TCRT5000检测黑线,实物见图4-1。
4.1.2信号采集电路图及原理
小车在白色地面行驶时,红外发射管发出的红外信号被反射,接收管收到信号后,输出端为低电平,经过比较器比较后输出为低电平。
而当红外信号遇到黑色导轨时,红外信号被吸收,接收管不能接收信号,输出端为高电平,经过比较器比较后输出高电平。
单片机通过采集每个比较器的输出端电压,便可以检测出黑线的相对位置的位置,从而控制小车的行驶方向。
4.2信息处理模块
4.2.1原理
检测到白色路面的红外接收头处理后送出的是低电平,而检测到黑色路线的检测头送出的是高电平,由此可根据这5个红外接收头的高低电平判断路线情况而调整小车前进方向。
具体情况有如下几种:
a检测到11111或
00000小车应该停止。
b检测到10000或
01000或
11000说明路线向左偏,小车向左转。
c检测到00001或
10010或
00011说明路线向右偏,小车向左转。
d检测到xx1xx(x不全为1)说明线路是直的,小车直走。
4.3电机驱动模块
4.3.1直流电机
给两个电刷A和B加上直流电源,如上图(a)所示,则有直流电流从电刷A流入,经过线圈abcd,从电刷B流出,根据电磁力定律,载流导体ab和cd收到电磁力的作用,其方向可由左手定则判定,两段导体受到的力形成了一个转矩,使得转子逆时针转动。
如果转子转到如上图(b)所示的位置,电刷A和换向片2接触,电刷B和换向片1接触,直流电流从电刷A流入,在线圈中的流动方向是dcba,从电刷B流出。
此时载流导体ab和cd受到电磁力的作用方向同样可由左手定则判定,它们产生的转矩仍然使得转子逆时针转动。
这就是直流电动机的工作原理。
外加的电源是直流的,但由于电刷和换向片的作用,在线圈中流过的电流是交流的,其产生的转矩的方向却是不变的。
实用中的直流电动机转子上的绕组也不是由一个线圈构成,同样是由多个线圈连接而成,以减少电动机电磁转矩的波动,绕组形式同发电机。
4.3.2电路图
我们采用成品L298N电机驱动模块,采用光电耦合器件隔离单片机与L298N的控制电路,工艺精度高,性能可靠。
L298N模块内部通过H桥电路实现直流电机的正转,反转,其原理如下:
如图4-3所示,全桥式驱动电路的4只开关管都工作在斩波状态,S1、S2为一组,S3、S4为另一组,两组的状态互补,一组导通则另一组必须关断。
当S1、S2导通时,S3、S4关断,电机两端加正向电压,可以实现电机的正转或反转制动;当S3、S4导通时,S1、S2关断,电机两端为反向电压,电机反转或正转制动。
桥驱动电路
4.3.3原理
L298N是ST公司生产的一种高电压、大电流电机驱动芯片。
该芯片采用15脚封装。
主要特点是:
工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。
内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。
使用L298N芯片驱动电机,该芯片可以驱动两台直流电机。
3系统调试
5.1硬件部分
焊接完成后,首先进行的调试是用数字万用表测量各个电路是否焊接正常,是否有虚焊漏焊等现象的出现,以及各个电容是否是正常的未被击穿状态、电阻的阻值是否与设计的原理图上的一致。
接通电源,用数字万用表测量当有+5V的各引脚是否有+5V的电压,测量电路中是否出现了不该有的短路现象。
接入光电传感器模块,使各个光电检测器的光电对管靠近白纸,观察对应的发光二极管是否发光,不发光表示正常。
然后再使各个光电对管靠近黑线,观察对应的发光二级管是否发光,发光表示正常。
5.2软件部分
我们先测试了小车的前进,停止,左转和右转。
组装信号采集模块后,实现小车的自动循迹功能。
具体实现程序见附录一
4总结
实验结果如符合实验要求,小车按照黑胶布轨迹前进,并能够及时正确显示小车的行进状态以及行进距离。
具体现象如下:
左边传感器检测到黑线,小车左转;
右边传感器检测到黑线,小车右转;
中间传感器检测到黑线,小车直行。
从而就可以完成对黑胶布的循迹功能。
5参考文献
[1]电子信息专业实验教程赵刚李佐儒四川大学出版社
[2]单片机C语言教程郭天祥电子工业出版社
[3]模拟电子技术童诗白清华大学出版社
附录一
程序:
#include
sbitDJ_left_s=P1^0;//直流电机控制
sbitDJ_left_n=P1^1;
sbitDJ_right_s=P1^2;
sbitDJ_right_n=P1^3;
//左转函数
voidTurn_right()
{
DJ_left_s=0;
DJ_left_n=1;
DJ_right_s=1;
DJ_right_n=0;
}
//右转函数
voidTurn_left()
{
DJ_left_s=1;
DJ_left_n=0;
DJ_right_s=0;
DJ_right_n=1;
}
//前进函数
voidGo_ahead()
{
DJ_left_s=1;
DJ_left_n=0;
DJ_right_s=1;
DJ_right_n=0;
}
//停止函数
voidStop()
{
DJ_left_s=0;
DJ_left_n=0;
DJ_right_s=0;
DJ_right_n=0;
}
//循迹函数
voidxunji(unsignedintm)
{
if(m==0x7c)
{
Turn_right();
return;
}
if(m&0x10)
{
Go_ahead();
return;
}
if(m&0x0c)
{
Turn_right();
return;
}
if(m&0x60)
{
Turn_left();
return;
}
}
//主函数
voidmain()
{
while
(1)
{
xunji(P2&0x7c);
}
}
附录二
实物图: