• 优质范文
  • 工作总结
  • 工作计划
  • 作文大全
  • 心得体会
  • 述职报告
  • 实习报告
  • 写作方案
  • 教案反思
  • 演讲稿
  • 发言稿
  • 读书笔记
  • 精美散文
  • 读观后感
  • 范文大全
  • 当前位置: 博通范文网 > 工作计划 > 正文

    智能循迹小车实验报告

    时间:2021-10-10 来源:博通范文网 本文已影响 博通范文网手机站

    摘要

    本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹得功能。本次设计采用 STC 公司得 89C52 单片机作为控制芯片,传感器模块采用红外光电对管与比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由 L298N 芯片与两个直流电机构成,组成了智能车得动力系统,电源采用 7、2V 得直流电池,经过系统组装,从而实现了小车得自动循迹得功能.

    关键词

    智能小车

    STC89C52 单片机

    L298N

    红外光对管 1 1 绪论

    随着科学技术得发展,机器人得设计越来越精细,功能越来越复杂,智能小车作为其得一个分支,也在不断发展.在近几年得电子设计大赛中,关于小车得智能化功能得实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计得道路自行寻迹。

    2 2 设计任务与要求

    采用 MCS-51单片机为控制芯片(也可采用其她得芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度 10mm左右得黑色胶带制作得不规则得封闭曲线为引导轨迹并能沿该轨迹行进得智能寻迹机器小车。

    3 3 方案设计与方案选择

    3.1 硬件部分

    可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。

    3.1.1 单片机模块

    为小车运行得核心部件,起控制小车得所有运行状态得作用。由于以前自己开发板使用得就是ATMEL 公司得 STC89C52,所以让然选择这个芯片作为控制核心部件。STC89C52 就是一种低损耗、高性能、CMOS 八位微处理器,片内有 4k字节得在线可重复编程、快速擦除快速写入程序得存储器,能重复写入/擦除 1000次,数据保存时间为十年.其程序与数据存储就是分开得.3.1.2 传感器模块

    方案一:使用光敏电阻组成光敏探测器采集路面信息。阻值经过比较器输出高低电平进行分析,但就是光照影响很大,不能稳定工作。

    方案二:使用光电传感器来采集路面信息。使用红外光电对管,其结构简明,实现方便,成本低廉,没有复杂得图像处理工作,因此反应灵敏,响应时间少。但也存在不足,它能获取得信息就是不完全得,容易受很多扰动(如背景光源,高度等)得影响,抗干扰能力较差。

    方案三:使用 CCD 传感器来采集路面信息。使用 CCD 可以获取大量得图像信息,掌握全面得路径信息,抗干扰能力强,为以后功能得扩展提供方便。但使用CCD 需要大量得图像处理工作,进行大量数据得存储与计算,因此电路复杂,实现起来工作量大。

    方案四:使用光电对管采集路面信息。RPR220结构紧凑,体积小,调整电路简单工作性能稳定。

    可见方案四最适宜,但仅从此项目考虑,方案二成本低,也能完成设计,故选用方案二.3.1.3 电机控制模块

    3 3 、1 1 、3 3 、1 1 电机得选择 方案一:采用步进电机,其转过得角度可以精确定位,可实现小车行进过程得精确定位.但步进电机得输出力矩低,随转速得升高而降低,且转速越快下降得越快。

    方案二:采用直流电机,其转动力矩大,体积小,重量轻,装配简单,操作方便。速度得调节可以改变电压也可以调节 PWM。

    基于以上,我们选择了方案二,使用直流电机作为驱动电机。

    3 、1、3 3 、2电机得驱动 采用专用芯片 L298N 作为电机驱动芯片,其操作方便,稳定性好,性能优良.一片L298N 就可以分别控制两个直流电机。

    3.1.4 电源模块

    给整个系统稳定供电以保持其正常工作,包括7、2V得电源以及转5V 部分,其中 7、2V 得就是给电机与其驱动供电,5V 得用来驱动单片机及其她芯片。

    以上单元连接如下图所示:

    3.2 软件部分

    3、2、1 1 程序流程图

    此系统采用 89C52 单片机,再根据硬件连接,通过相应得软件来完成对信号得采集与数据得分析,再控制小车得运行状态,以下为主程序流程图:

    3 3 、2 2 、2 2 程序设计思 路

    3 3 、2 2 、2 2 、1 1 寻迹模块程序 通过传感器获得路面信息然后反馈给单片机,再通过单片机来实现相应得功能。

    3 3 、2、2 2 、2 电机驱动模块程序 控制两个直流电机,实现前进、后退、前左转、前右转、停车等功能.

    4 4 各部分电路得作用及电路工作原理分析

    4.1 信号采集模块

    4.1.1 TC RT T 50 00 结构与工作原理

    TCRT5000(L)具有紧凑得结构发光灯与检测器安排在同一方向上,利用红外光谱反射对象存在另一个对象上,操作得波长大约就是 950 毫米。探测器由光电晶体三极管组成得,它由高发射功率红外光电二极管与高度灵敏光电晶体管组成。通过测试,其检测距离在 2mm—10mm。TCRT5000 得发射管与接收管就是一起封装在矩形塑料壳中,为了使检测更加准确,我们用了 5 只 TCRT5000检测黑线,实物见图4—1。

    4.1.2 信号采集电路图及原理

    小车在白色地面行驶时,红外发射管发出得红外信号被反射,接收管收到信号后,输出端为低电平,经过比较器比较后输出为低电平。而当红外信号遇到黑色导轨时,红外信号被吸收,接收管不能接收信号,输出端为高电平,经过比较器比较后输出高电平。单片机通过采集每个比较器得输出端电压,便可以检测出黑线得相对位置得位置,从而控制小车得行驶方向。

    4.2 信息处理模块

    4.2.1 原理

    检测到白色路面得红外接收头处理后送出得就是低电平,而检测到黑色路线得检测头送出得就是高电平,由此可根据这 5 个红外接收头得高低电平判断路线情况而调整小车前进方向。具体情况有如下几种:

    检测到

    1

    1

    1

    1

    1 或 0

    0

    0

    0 小车应该停止.b

    检测到

    1

    0

    0

    0 或 0

    1

    0

    0

    0 或 1

    1

    0

    0 说明路线向左偏,小车向左转.c

    检测到

    0

    0

    0

    0

    1 或

    0

    0

    0

    1

    0 或 0

    0

    1

    1 说明路线向右偏,小车向左转。

    d

    检测到

    x

    x

    x

    x(x 不全为 1)

    说明线路就是直得,小车直走。

    4.3 电机驱动模块

    4、3 3 、1 1 直流电机

    给两个电刷 A 与 B 加上直流电源,如上图(a)所示,则有直流电流从电刷 A 流入,经过线圈 abcd,从电刷 B 流出,根据电磁力定律,载流导体 ab与 cd收到电磁力得作用,其方向可由左手定则判定,两段导体受到得力形成了一个转矩,使得转子逆时针转动.如果转子转到如上图(b)所示得位置,电刷 A 与换向片2接触,电刷 B 与换向片 1 接触,直流电流从电刷 A 流入,在线圈中得流动方向就是 dcba,从电刷 B 流出.此时载流导体 ab 与 cd受到电磁力得作用方向同样可由左手定则判定,它们产生得转矩仍然使得转子逆时针转动。这就就是直流电动机得工作原理。外加得电源就是直流得,但由于电刷与换向片得作用,在线圈中流过得电流就是交流得,其产生得转矩得方向却就是不变得。实用中得直流电动机转子上得绕组也不就是由一个线圈构成,同样就是由多个线圈连接而成,以减少电动机电磁转矩得波动,绕组形式同发电机。

    4、3 3 、2 2 电路图

    我们采用成品L298N 电机驱动模块,采用光电耦合器件隔离单片机与L298N得控制电路,工艺精度高,性能可靠。L298N 模块内部通过 H 桥电路实现直流电机得正转,反转,其原理如下:

    如图 4-3 所示,全桥式驱动电路得 4 只开关管都工作在斩波状态,S1、S2为一组,S3、S4 为另一组,两组得状态互补,一组导通则 另一组必须关断.当S1、S2 导通时,S3、S4 关断,电机两端加正向电压,可以实 现电机得正转或反转制动;当 S3、S4 导 通时,S1、S2 关断,电机两端为反向电 压,电机反转或正转制动。

    桥驱动电路

    4 4 、3 3 、3原理

    L298N就是 ST 公司生产得一种高电压、大电流电机驱动芯片。该芯片采用 15 脚封装。主要特点就是:工作电压高,最高工作电压可达 46V;输出电流大,瞬间峰值电流可达 3A,持续工作电流为2A;额定功率25W。内含两个 H 桥得高电压大电流全桥式驱动器,可以用来驱动直流电动机与步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响得情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用 L298N 芯片驱动电机,该芯片可以驱动两台直流电机。

    5 5 系统调试

    5 5 、1 1 硬件部分

    焊接完成后,首先进行得调试就是用数字万用表测量各个电路就是否焊接正常,就是否有虚焊漏焊等现象得出现,以及各个电容就是否就是正常得未被击穿状态、电阻得阻值就是否与设计得原理图上得一致.接通电源,用数字万用表测量当有+5V 得各引脚就是否有+5V 得电压,测量电路中就是否出现了不该有得短路现象。接入光电传感器模块,使各个光电检测器得光电对管靠近白纸,观察对应得发光二极管就是否发光,不发光表示正常。

    然后再使各个光电对管靠近黑线,观察对应得发光二级管就是否发光,发光表示正常.5、2 2 软件部分

    我们先测试了小车得前进,停止,左转与右转。组装信号采集模块后,实现小车得自动循迹功能.具体实现程序见附录一

    6 6 总结

    实验结果如符合实验要求,小车按照黑胶布轨迹前进,并能够及时正确显示小车得行进状态以及行进距离。具体现象如下:

    左边传感器检测到黑线,小车左转; 右边传感器检测到黑线,小车右转; 中间传感器检测到黑线,小车直行。

    从而就可以完成对黑胶布得循迹功能。

    7 7 参考文献

    [1]电子信息专业实验教程

    赵刚 李佐儒

    四川大学出版社 [2]单片机C语言教程

    郭天祥

    电子工业出版社 [3]模拟电子技术

    童诗白

    清华大学出版社 附录一

    程序:

    #include〈reg52、h> sbit DJ_left_s = P1^0;

    //直流电机控制 sbit DJ_left_n = P1^1; sbit DJ_right_s = P1^2; sbit DJ_right_n = P1^3; //左转函数 void Turn_right()

    DJ_left_s

    = 0;

    ;1 =

    n_tfel_JDﻩ DJ_right_s

    = 1;

    ;0 =

    n_thgir_JDﻩ}

    //右转函数 void Turn_left()

    {

    DJ_left_s

    = 1;

    DJ_left_n

    = 0;

    ;0 =

    s_thgir_JDﻩ ;1 =

    n_thgir_JDﻩ} //前进函数 void Go_ahead() {

    ;1 =

    s_tfel_JDﻩ DJ_left_n

    = 0;

    DJ_right_s

    = 1;

    DJ_right_n

    = 0; } //停止函数 void Stop()

    {

    DJ_left_s

    = 0;

    DJ_left_n

    = 0;

    DJ_right_s

    = 0;

    ;0 =

    n_thgir_JDﻩ} //循迹函数 void xunji(unsigned int m) {

    ﻩ if(m==0x7c)

    ;)(thgir_nruTﻩ

    ;nruterﻩﻩ

    }ﻩ )01x0&m(fiﻩﻩ

    {

    ﻩ Go_ahead();

    ;nruterﻩ ﻩ }ﻩﻩ

    if(m&0x0c)

    ﻩ {

    ;)(thgir_nruTﻩﻩ

    ﻩ return;

    }

    ﻩ if(m&0x60)

    ﻩ {

    ﻩ;)(tfel_nruTﻩ ﻩ

    return;

    ﻩ } } //主函数 void main()

    while(1)

    { ﻩ xunji(P2&0x7c);

    } ﻩ} 附录二

    实物图:

    文章语言生动,可读性强。

    实在是一篇高水准的文章!

    摘要

    本设计主要有单片机模块、传感器模块、电机驱动模块以及电源模块组成,小车具有自主寻迹的功能。本次设计采用STC公司的89C52单片机作为控制芯片,传感器模块采用红外光电对管和比较器实现,能够轻松识别黑白两色路面,同时具有抗环境干扰能力,电机模块由L298N芯片和两个直流电机构成,组成了智能车的动力系统,电源采用7.2V的直流电池,经过系统组装,从而实现了小车的自动循迹的功能。

    关键词 智能小车

    单片机红外光对管

    1 STC89C52 L298N 1 绪论

    随着科学技术的发展,机器人的设计越来越精细,功能越来越复杂,智能小车作为其的一个分支,也在不断发展。在近几年的电子设计大赛中,关于小车的智能化功能的实现也多种多样,因此本次我们也打算设计一智能小车,使其能自动识别预制道路,按照设计的道路自行寻迹。

    2 设计任务与要求

    采用MCS-51单片机为控制芯片(也可采用其他的芯片),红外对管为识别器件、步进电机为行进部件,设计出一个能够识别以白底为道路色,宽度10mm左右的黑色胶带制作的不规则的封闭曲线为引导轨迹并能沿该轨迹行进的智能寻迹机器小车。

    3 方案设计与方案选择

    3.1 硬件部分

    可分为四个模块:单片机模块、传感器模块、电机驱动模块以及电源模块。

    3.1.1 单片机模块

    为小车运行的核心部件,起控制小车的所有运行状态的作用。由于以前自己开发板使用的是ATMEL公司的STC89C52,所以让然选择这个芯片作为控制核心部件。STC89C52是一种低损耗、高性能、CMOS八位微处理器,片内有4k字节的在线可重复编程、快速擦除快速写入程序的存储器,能重复写入/擦除1000次,数据保存时间为十年。其程序和数据存储是分开的。

    3.1.2 传感器模块

    方案一:使用光敏电阻组成光敏探测器采集路面信息。阻值经过比较器输出高低电平进行分析,但是光照影响很大,不能稳定工作。

    方案二:使用光电传感器来采集路面信息。使用红外光电对管,其结构简明,实现方便,成本低廉,没有复杂的图像处理工作,因此反应灵敏,响应时间少。但也存在不足,它能获取的信息是不完全的,容易受很多扰动(如背景光源,高度等)的影响,抗干扰能力较差。

    方案三:使用CCD传感器来采集路面信息。使用CCD可以获取大量的图像信息,掌握全面的路径信息,抗干扰能力强,为以后功能的扩展提供方便。但使用CCD需要大量的图像处理工作,进行大量数据的存储和计算,因此电路复杂,实现起来工作量大。

    方案四:使用光电对管采集路面信息。RPR220结构紧凑,体积小,调整电路简单工作性能稳定。

    可见方案四最适宜,但仅从此项目考虑,方案二成本低,也能完成设计,故选用方案二。

    2 3.1.3 电机控制模块

    3.1.3.1电机的选择

    方案一:采用步进电机,其转过的角度可以精确定位,可实现小车行进过程的精确定位。但步进电机的输出力矩低,随转速的升高而降低,且转速越快下降得越快。

    方案二:采用直流电机,其转动力矩大,体积小,重量轻,装配简单,操作方便。速度的调节可以改变电压也可以调节PWM。

    基于以上,我们选择了方案二,使用直流电机作为驱动电机。

    3.1.3.2电机的驱动

    采用专用芯片L298N作为电机驱动芯片,其操作方便,稳定性好,性能优良。一片L298N就可以分别控制两个直流电机。

    3.1.4 电源模块

    给整个系统稳定供电以保持其正常工作,包括7.2V的电源以及转5V部分,其中7.2V的是给电机和其驱动供电,5V的用来驱动单片机及其他芯片。

    以上单元连接如下图所示:

    3 3.2 软件部分

    3.2.1程序流程图

    此系统采用89C52单片机,再根据硬件连接,通过相应的软件来完成对信号的采集和数据的分析,再控制小车的运行状态,以下为主程序流程图:

    3.2.2程序设计思路

    3.2.2.1寻迹模块程序

    通过传感器获得路面信息然后反馈给单片机,再通过单片机来实现相应的功能。

    3.2.2.2电机驱动模块程序

    控制两个直流电机,实现前进、后退、前左转、前右转、停车等功能。

    4

    4 各部分电路的作用及电路工作原理分析

    4.1 信号采集模块

    4.1.1 TCRT500结构与工作原理

    TCRT5000(L)具有紧凑的结构发光灯和检测器安排在同一方向上,利用红外光谱反射对象存在另一个对象上,操作的波长大约是950毫米。探测器由光电晶体三极管组成的,它由高发射功率红外光电二极管和高度灵敏光电晶体管组成。通过测试,其检测距离在2mm-10mm。TCRT5000的发射管和接收管是一起封装在矩形塑料壳中,为了使检测更加准确,我们用了5只TCRT5000检测黑线,实物见图4-1。

    4.1.2 信号采集电路图及原理

    小车在白色地面行驶时,红外发射管发出的红外信号被反射,接收管收到信号后,输出端为低电平,经过比较器比较后输出为低电平。而当红外信号遇到黑色导轨时,红外信号被吸收,接收管不能接收信号,输出端为高电平,经过比较器比较后输出高电平。单片机通过采集每个比较器的输出端电压,便可以检测出黑线的相对位置的位置,从而控制小车的行驶方向。

    5

    4.2 信息处理模块

    4.2.1 原理

    检测到白色路面的红外接收头处理后送出的是低电平,而检测到黑色路线的检测头送出的是高电平,由此可根据这5个红外接收头的高低电平判断路线情况而调整小车前进方向。具体情况有如下几种: a 检测到

    1 1 1 1 1 或

    0 0 0 0 0小车应该停止。

    b 检测到

    1 0 0 0 0 或

    0 1 0 0 0 或

    1 1 0 0 0 说明路线向左偏,小车向左转。

    c 检测到

    0 0 0 0 1 或

    0 0 0 1 0 或

    0 0 0 1 1说明路线向右偏,小车向左转。

    d 检测到

    x x 1 x x(x不全为1) 说明线路是直的,小车直走。

    6 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只开关管都工作在斩波状态,S

    1、S2为一组,S

    3、S4 为另一组,两组的状态互补,一组导通则 另一组必须关断。当S

    1、S2导通时,S

    3、S4关断,电机两端加正向电压,可以实 现电机的正转或反转制动;当S

    3、S4导 通时,S

    1、S2关断,电机两端为反向电 压,电机反转或正转制动。

    桥驱动电路

    7

    4.3.3原理

    L298N是ST公司生产的一种高电压、大电流电机驱动芯片。该芯片采用15脚封装。主要特点是:工作电压高,最高工作电压可达46V;输出电流大,瞬间峰值电流可达3A,持续工作电流为2A;额定功率25W。内含两个H桥的高电压大电流全桥式驱动器,可以用来驱动直流电动机和步进电动机、继电器线圈等感性负载;采用标准逻辑电平信号控制;具有两个使能控制端,在不受输入信号影响的情况下允许或禁止器件工作有一个逻辑电源输入端,使内部逻辑电路部分在低电压下工作;可以外接检测电阻,将变化量反馈给控制电路。使用L298N芯片驱动电机,该芯片可以驱动两台直流电机。

    8

    5 系统调试

    5.1硬件部分

    焊接完成后,首先进行的调试是用数字万用表测量各个电路是否焊接正常,是否有虚焊漏焊等现象的出现,以及各个电容是否是正常的未被击穿状态、电阻的阻值是否与设计的原理图上的一致。接通电源,用数字万用表测量当有+5V的各引脚是否有+5V的电压,测量电路中是否出现了不该有的短路现象。接入光电传感器模块,使各个光电检测器的光电对管靠近白纸,观察对应的发光二极管是否发光,不发光表示正常。 然后再使各个光电对管靠近黑线,观察对应的发光二级管是否发光,发光表示正常。

    5.2软件部分

    我们先测试了小车的前进,停止,左转和右转。组装信号采集模块后,实现小车的自动循迹功能。

    具体实现程序见附录一

    6 总结

    实验结果如符合实验要求,小车按照黑胶布轨迹前进,并能够及时正确显示小车的行进状态以及行进距离。具体现象如下:

    左边传感器检测到黑线,小车左转; 右边传感器检测到黑线,小车右转; 中间传感器检测到黑线,小车直行。 从而就可以完成对黑胶布的循迹功能。

    7 参考文献

    [1]电子信息专业实验教程 赵刚 李佐儒 四川大学出版社 [2]单片机C语言教程 郭天祥 电子工业出版社 [3]模拟电子技术 童诗白 清华大学出版社

    9 附录一 程序:

    #include

    sbit DJ_left_s = P1^0; //直流电机控制 sbit DJ_left_n = P1^1;

    sbit DJ_right_s = P1^2; sbit DJ_right_n = P1^3;

    //左转函数

    void Turn_right() { DJ_left_s = 0; DJ_left_n = 1; DJ_right_s = 1; DJ_right_n = 0; }

    //右转函数

    void Turn_left() { DJ_left_s = 1; DJ_left_n = 0; DJ_right_s = 0; DJ_right_n = 1; }

    //前进函数

    void Go_ahead() { DJ_left_s = 1; DJ_left_n = 0; DJ_right_s = 1; DJ_right_n = 0; }

    //停止函数 void Stop() { DJ_left_s = 0; DJ_left_n = 0; DJ_right_s = 0;

    10 DJ_right_n = 0; }

    //循迹函数

    void xunji(unsigned int m) {

    if(m==0x7c)

    {

    Turn_right();

    return;

    }

    if(m&0x10)

    {

    Go_ahead();

    return;

    }

    if(m&0x0c)

    {

    Turn_right();

    return;

    }

    if(m&0x60)

    {

    Turn_left();

    return;

    } } //主函数 void main() { while(1) {

    xunji(P2&0x7c);

    }

    }

    11 附录二 实物图:

    12

    推荐访问:小车 实验 智能

    • 读/观后感
    • 精美散文
    • 读书笔记
    • 演讲
    • 反思
    • 方案
    • 心得体会