基于51单片机的智能寻迹小车- 副本(4)

2018-12-29 21:16

基于单片机的简易寻迹小车设计

路。电路得名于“H 桥驱动电路”是因为它的形状酷似字母H。

如图3.10 所示,H 桥式电机驱动电路包括4个三极管和一个电机。要使电机运转,必须导通对角线上的一对三极管。根据不同三极管对的导通情况,电流可能会从左至右或从右至左流过电机,从而控制电机的转向。由于H 桥电路可以很方便的实现电机正反转的驱动因此应用广泛。

图3.10 典型H 桥驱动电路

要使电机运转,必须使对角线上的一对三极管导通。。当三极管Q1 和Q4 导通时,电流将从左至右流过电机,从而驱动电机按特定方向转动。当另一对三极管Q2 和Q3 导通,电流将从右至左流过电机。当三极管Q2 和Q3 导通时,电流将从右至左流过电机,从而驱动电机沿另一方向转动。

图 3.11 H 桥驱动电机正转 图 3.12 H 桥驱动电机反转

驱动电机时,保证H 桥上两个同侧的三极管不会同时导通非常重要。如果三极管Q1 和Q2 同时导通,可能烧坏三极管。基于上述原因,在实际驱动电路中通常要用硬件电路方便地控制三极管的开关。

图3.13 所示就是基于这种考虑的改进电路,它在基本H 桥电路的基础上增加了4 个与门和2个非门。可以保证任何时候在H 桥的同侧腿上都只有一个三极管能导通。

采用以上方法,电机的运转就只需要用三个信号控制:两个方向信号和一个使能信号。如果IN1信号为0,IN2信号为1,并且使能信号是1,那么三极管Q1 和Q4 导通,电流从左至右流经电机;如果IN1信号变为1,而IN2信号变为0,那么Q2 和Q3 将导通,电流则反向流过电机。

15

基于单片机的简易寻迹小车设计

ENABLE+VSU1Q1NPNANDQ2U4ANDNPNU5NOTU2Q3NPNANDQ4U6U3NOTIN1ANDNPNRSA图 3.13 驱动电机转动时的信号示意图

由于H 桥电路有诸多的优点,但是在实际制作过程中电路又比较麻烦,因此在本设计中采用H 桥集成电机驱动芯片L298N。L298N 的工作原理和以上介绍的H 桥相同,以下图3.15为L298N的引脚图和表3-3为输入输出关系表。

表3-3:L298N输入输出关系

图3.14 L298N外部引脚

图3.15 电机驱动电路图 P2.05P2.17P2.210P2.312P2.46P2.511115+6V9IN1IN2IN3IN4ENAENBVCC4VSOUT1OUT2OUT3OUT4GNDU2左轮231314SENSASENSB右轮8L298单片机P2口控制的电机驱动电路如图3.16所示。 在驱动电路中,主要利用单片机P2.4和P2.5端口输出PWM波形控制电机转速。P2.0~P2.3输出状态值控制电机转向。

16

IN2 基于单片机的简易寻迹小车设计

4.软件设计

根据系统设计原理,单片机需要通过查询与检测电路相接的I/O口状态,以判断行车轨迹状况,然后通过不同占空比的PWM波,实现电机的转速控制。软件设计主要通过程序实现,即包括传感器信号的读取(由单片机查询与检测电路相连的I/O口状态,确定检测信号的来源)和PWM波的产生(由单片机T0定时器实现)。

4.1 系统总体流程图

程序主要的任务是,让单片机查询传感器模块发出的路面检测信号,根据信号作出反应,控制电动机工作实现自动寻迹。在设计中采用两级光电传感器作为路径检测元件,当第一级传感器检测到黑线时小车开始转向,此时若第二级传感器再检测到黑线小车加速转向,直到第二级和第一级传感器都不再检测到黑线为止。其程序流程图4.1所示。

系统初始化 N 第一级ST188是否检测到黑线 直行 Y 转向子程序1 N 第二级ST188是否检测到黑线 Y 转向子程序2 图4.1 系统程序流程图

17

基于单片机的简易寻迹小车设计

4.2 PWM调速简介以及实现

PWM——脉冲宽度调制,即占空比可变的脉冲波形[3]。也就是说用单片机产生一定周期的方波,而且方波中高电平的时间可以已自己调整,这就是PWM 波。

PWM是智能小车设计中一个很重要的应用,首先转向的控制就是给一定占空比的方波来实现不同的转角的,其次后轮电机的调速也是通过不同占空比的方波来实现。

对于PWM波的产生不同的单片机虽然有不同的方式但是大致的原理是一样的,对于51单片机由于没有自带PWM波产生的寄存器因此需要通过软件的方式来实现。本次设计以定时器计数的方式产生PWM 波,如图4.2,D为预设占空比,T为定时周期。

51 单片机也可以采用相同的方式,有所不同的是51 单片机中并没有上面所提到的寄存器,因此需要自己设定一些变量进行计数。在设置定时器时应注意以下两点:

① 合理选择进入中断的时间和计数上限。

② 计数上限和最终的PWM 频率的选择应由外部器件的具体要求决定。

图4.2 PWM 时序图

本系统中通过控制51单片机的定时器T0的初值,从而可以实现P2.4和P2.5输出口输出不同占空比的脉冲波形。定时计数器若干时间(比如0.1ms)中断一次, 就使P2.4或P2.5产生一个高电平或低电平。 将直流电机的速度分为100个等级, 因此一个周期就有个100脉冲, 周期为100个脉冲的时间。速度等级对应一个周期的高电平脉冲的个数。占空比为高电平脉冲个数占一个周期总脉冲个数的百分数。

一个周期加在电机两端的电压为脉冲高电压乘以占空比。占空比越大, 加在电机两端的电压越大, 电机转动越快。电机的平均速度等于在一定的占空比下电机的最大速度乘以占空比。当我们改变占空比时, 就可以得到不同的电机平均速度, 从而达到调速的目的。精确地讲, 平均速度与占空比并不是严格的线性关系, 在一般的应用中,可以将其近似地看成线性关系。

18

基于单片机的简易寻迹小车设计

4.3 程序的模块化设计

为了完成要求设计,在进行软件设计时,通常把整个过程分成若干个部分,每一部分叫做一个模块。所谓“模块”,实质上就是所完成一定功能,相对独立的程序段,这种程序设计方法叫模块程序设计法[13]。

模块程序设计法的主要优点是:

1) 单个模块比起一个完整的程序易编写及调试;

2) 模块可以共存,一个模块可以被多个任务在不同条件下调用; 3) 模块程序允许设计者分割任务和利用已有程序,为设计者提供方便。 本系统软件采用模块化结构,由主程序﹑中断子程序﹑转向子程序构成。 4.3.1 小车循迹原理流程图

小车进入循迹模式后,即开始不停地扫描与探测器连接的单片机I/O口,一旦检测到某个I/O口有信号,即进入判断处理程序循迹流程图如图4.3所示

图4.3 循迹原理流程图

由于第二级方向控制为第一级的后备,则两个等级间的转向力度必须相互配合。第二级通常是在超出第一级的控制范围的情况下发生作用,它也是最后一层保护,所以它必须要保证小车回到正确轨迹上来,则通常使第二级转向力度大于第一级,即Turn_left2 > Turn_left1,Turn_right2 > Turn_right1 (其中Turn_left2,Turn_left1, Turn_right2 , Turn_right1为小车转向力度,其大小通过改变单片机输出的占空比的大小来改变),具体数值在实地实验中得到。

19


基于51单片机的智能寻迹小车- 副本(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:N1文字词汇

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: