UEAL第2届电子设计大赛第三轮——自动往返小汽车

  • cztqwan
  • LV5工程师
  • |      2016-05-10 23:52:25
  • 浏览量 994
  • 回复:0

UEAL2届电子设计大赛第三轮——自动往返小汽车

中国地质大学(武汉)

 cztqwan

 2016-05-10

一、简介

       本作品采用STC89C52单片机来控制小车的前进、后退与调速,通过PWM来控制直流电机的转速,从而达到改变速度的效果。使用ST188传感器检测路面的黑线,从而判断小车是处于正常区还是在限速区,控制小车的速度。采用LCD1602来显示小车自动往返的时间以及行驶的总路程。因为直流电机存在一定的差异性,很难做到让两轮驱动的小车严格沿直线行驶,所以另外采用了三个ST188红外传感器来判断小车是否偏向,并且做出适当的调整保证小车尽量沿直线行驶。本作品基本实现了题目的要求,在满足限速区域的限速条件下,小车的往返时间比较短,并且在停止的时候,停车位置离起跑线和终点线偏差也比较小。

二、方案设计

2.1 主控芯片

       以前做过一块主控是51的小车的PCB,当时用的是STC89C52单片机,这次为了省事就直接用它了,虽然STC89C52硬件资源和性能比较一般,但也基本能满足本题目的要求了。

 

2.2 显示模块

       STC89C52的资源和性能比较有限,所以只能选择LCD1602了,只需要显示时间和路程LCD1602也足够了。

 

2.3 电机

选择直流减速电机。直流减速电机具有很好的调速特性,过载能力强,更可以实现频繁的无级快速启动、制动和反转,价格较步进电机便宜,适合一般小车应用的要求。

 

2.4 电机驱动电路

L298N是一种高电压、大电流电机驱动芯片,可以驱动一个两相步进电机或四相步进电机,也可以驱动两个直流电机,可以根据单片机输出的 pwm 波输出平滑的电压,控制直流电机的转速。

 

2.5检测传感器

需要对小车经过的黑线进行检测,以便在不同的区域进行不同的控制。由于小车采用直流电机,因为电机的差异性,很难保证小车的直线行驶,需要检测小车和墙的距离保证小车的姿态没有偏向,及时调整小车的姿态。本作品对这两种检测都采用了反射式红外光电传感器ST188ST188采用高发射功率红外光电二极管和高灵敏度光电晶体管组成,检测距离可调整范围比较大,2-10mm均可适用,而且采用非接触检测方式,便于控制。本作品在小车底部采用一个ST188用来检测地面的黑线,采用三个ST188组成弧状用来检测小车的姿态。

 

三、总体结构

UEAL第2届电子设计大赛第三轮——自动往返小汽车

1 总体结构图

单片机控制电路主要由一片STC89C52组成,通过P1口连接L298N控制小车正转、反转、加速、减速等,使用一块LCD1602液晶显示使用的时间和总里程,通过一个ST188传感器检测地面黑线,三个呈弧状放置ST188传感器检测小车的姿态。小车采用紧贴右边挡板前进的方法,通过三个传感器可以得出小车的姿态,在程序中进行恰当的调整,使小车能保持直线前进或后退。

UEAL第2届电子设计大赛第三轮——自动往返小汽车

2 姿态检测传感器分布图

       小车直线行驶的时候,只有ST188(2)能够检测到挡板存在,ST188(1)ST188(3)都因为距离比较远而没有检测到,当ST188(1)ST188(3)检测到挡板的时候表明小车姿态已经不是直线。当三个传感器都没有检测到挡板也表明小车姿态不是直线状态。

四、部分电路图

4.1 单片机最小系统金和液晶模块电路

UEAL第2届电子设计大赛第三轮——自动往返小汽车

3 最小系统电路

       4.2 L298N电机驱动电路

       L298N和电机的电路如下图。通过STC89C52单片机的I/O中的P1.0~P1.5L298N模块连接。

UEAL第2届电子设计大赛第三轮——自动往返小汽车

4 L298驱动电机电路

STC89C52单片机通过和L298N模块的EN脚连接的P1.1P1.4输出PWM波以控制电机的转速,而IN引脚可以控制电机的转动方向,输入引脚与电机转向的逻辑关系如下表。

ENAB

IN1IN3

IN2IN4

电机运行情况

H

H

L

正转

H

L

H

反转

H

L

L

停止

 

       4.3 ST188红外光电传感器电路

       下图是红外传感器ST188的内部电路,ST188一共有三个引脚,电源、地和输出引脚,输出的信号经过运放放大整形后再输入到单片机。

UEAL第2届电子设计大赛第三轮——自动往返小汽车

5 ST188内部电路

       下图是运放电路,选用的型号为LM324,红外传感器ST188检测到的信号经放大器放大整形后送入单片机,单片机根据收到的信号进行就可以判断是否检测到黑线或者姿态是否偏向了。

UEAL第2届电子设计大赛第三轮——自动往返小汽车

6 运放电路

       4.4 整体PCB三维图

       下图为小车主控制板的PCB三维图,标明了各个模块的位置。

UEAL第2届电子设计大赛第三轮——自动往返小汽车

7 小车主控板PCB三维图

五、程序流程图

UEAL第2届电子设计大赛第三轮——自动往返小汽车

8 程序流程图

程序首先成对LCD1602、定时器0和定时器1的初始化工作,设定小车的初始运行状态。然后不断检测黑线和不断地循环调用小车姿态调整函数调整小车的运行状态保证小车直线行驶。使用定时器1实现计时的功能,根据检测到的黑线让小车按照不同的方式前进或后退,比如在减速去慢速行驶。PWM由定时器0产生,单片机通过PWM来改变电机的转速,从而达到改变速度的效果。最后当小车回到起点时关闭总中断,让小车停止,在液晶上显示总时间和行驶路程。

六、实体照片

9 实体照片1

 

10 实体照片2

七、测试结果

       返回起点后,使用的时间和总里程在LCD1602上显示,如下图所示。(由于LCD1602显示区域有限,就不显示队名Logo了)

11 时间和里程结果显示图

UEAL第2届电子设计大赛第三轮——自动往返小汽车

12 停止位置结果图

八、结果分析

本作品实现了题目的全部基本要求,完成的效果还是不错的。总结主要有以下的优缺点:

优点: 基本实现了题目的全部要求, 在限速区的时间不少于8秒,在正常的区域内保持稳定的同时尽量提高速度。

缺点:由于ST188传感器安装在小车的头部,返回时检测到黑线时,黑线无法处于小车中心的,故本作品把小车的停止标签定为轮子后沿。



视频:

  • 0
  • 收藏
  • 举报
  • 分享
我来回复

登录后可评论,请 登录注册

所有回答 数量:0
x
收藏成功!点击 我的收藏 查看收藏的全部帖子