简易自动控制小车

时间:2022-08-26 06:54:33

简易自动控制小车

摘要:本系统设计如何使小车稳定地跟踪黑线,并行驶至预先设置的里程值。该系统以AT89C51为主控核心,依照要求,充分利用小车的机械结构,巧妙构思改造,使小车的整体架构达到最佳性能。采用LED显示和语音播报相关数据,系统测试性能优异、稳定。

关键词:PWM 红外检测 霍尔开关 AT89C51 里程显示 语音播报 黑线跟踪

一、方案论证与选择

根据要求的功能及指标,我们将整个系统划分为七个基本模块,如图1-1所示。为了使各个模块具有较好的性能,分别提出以下不同设计方案:

1、驱动模块

方案一:如图1-2所示,本设计方案较为简单,即通过大功率电阻消耗功率来实现,通过对R1、R2的选择能提供八种速度,可根据路面摩擦力大小来调节R1、R2的大小,使小车处于最佳行驶状态。

方案二:采用数控电位器X9313集合NE555多谐振荡器输出PWM信号。通过单片机控制数控电位器来调整NE555多谐振荡器的输出方波的占空比,达到对电机速度的控制。这个方案的优点是控制比较方便、软件资源消耗少。

方案三:可采用具有防止单边短路保护设计。并由单片机直接产生PWM信号,控制H型桥式PWM电机驱动电路。通过单片机可精确调整电动机的转速。由于此电路中管子工作在饱和截止的状态下,所以效率非常高,电子开关的响应时间很短,稳定性极,驱动能力强。

方案一中采用电阻降压来控制电机的速度,虽然电路简单,但R1、R2的参数难以确定,速度无法细微调整,不能达到赛题要求的精度。方案二与方案三比较,软件控制量相当,但方案二的硬件电路较为复杂,驱动能力不如方案三。综合考虑三种方案的优缺点,我们选择方案三来实现本系统。

2、黑线检测模块

方案一:使用发光二极管和光敏二极管。此方案缺点在于环境的其他光源对光敏二极管的工作产生很大的干扰,一旦外界光强改变,很可能造成误判和漏判,即使采用超高亮发光管可以降低一定的干扰,但这又增加额外的功耗。

方案二:采用红外一体化传感器。此方案可以降低可见光的干扰,灵敏度高,同时其尺寸小、质量轻、价格也低廉。电路简单,安装起来方便,电源要求不高,用它作为近距离传感器是最理想的。

方案三:利用激光。此方案虽然抗干扰性强、可靠性高,但其缺点在于体积大、功耗大、价格高。一般用在要求场合非常高的场合,本系统采用方案二已经能够胜任,无须采用此方案。

3、测速测距模块

方案一:采用断续式光电开关。由于该开关是沟槽结构,可以将其置于固定轴上,再在电机轴上安装圆片,均匀地固定多个遮光片,让其恰好通过沟槽,产生一个个脉冲。通过脉冲的计数实现对速度的检测。

方案二:采用霍尔器件。该器件内部由三片霍尔金属板组成,当磁钢正对金属片时,由于霍尔效应,金属板发生横向导通,因此可在电机轴上安装固定有磁片的圆片,而将霍尔器件固定在距圆片上方1cm3的范围,通过对脉冲的记数实现对速度的检测。

两种方案都是可行的转速检测方案。考虑到光电开关有可能受外界光线影响且硬件结构较复杂,而霍尔器件使用方便、脉冲准确。故拟采用方案二。

4、其他部分

电源采用7.2V和9.6V两组共地的电源分别通过5V和8V的三端稳压器给系统和电机驱动电路供电,这种方法可以有效的隔离电机开关时对系统所产生的冲击干扰,并且稳定的电压提高了系统的稳定性。

LED显示模块采用8位静态串行显示和8位动态显示均可,但根据赛题的要求,为防止因程序冲突导致显示不正常,故采用8位静态串行显示。并且我们降低了显示模块的电压,既使数码管的亮度没有明显的变化又有效地解决了静态显示耗电量大的问题。

采用11个发光二级管分别用来做红外指示、开机起步指示和能源指示。

采用语音芯片1420P做语音播报模块,用来做起步提示和里程及速度播报。

二、系统模块设计及参数计算

1.硬件组成

(1)电机PWM驱动模块的设计与实现

电机的控制采用了脉宽调制技术(PWM),单片机输出一个频率不变的方波,利用调制它的脉宽来改变电机转动的速度,其输出电压就是方波的平均值,当输出为低电平时,电机停转,当输出高电平时,电机最高速。在软件实现上,为了使电机速度的控制不受其他影响,方波的产生采用定时器中断来实现,当定时器定时到固定的时间便产生中断,将输出电平取反,不断循环计时便能产生稳定的方波,不会因为其他程序的延时而改变输出频率。

该电路采用772、882做为驱动管,以保证电动机启动瞬间的大电流要求。各参数计算如图2-1中所示。

当控制端1为高电平,控制端2为低电平时Q1、Q2、Q4、Q8、Q10管导通,Q3、Q5、Q6、Q7、Q9管截止,电机正转。当控制端1为低电平,控制端2为高电平时Q1、Q2、Q4、Q8、Q10管截止,Q3、Q5、Q6、Q7、Q9管导通,电机反转。另外四个二极管在电机转向翻转时形成感应电压回路,起到了保护电机的作用。由此也可看出,本电路有效地防止了单边直接短路的可能。

运用4N25光电耦合器将控制部分与电动机的驱动部分隔离开来,这样不仅增加了各模块之间的隔离度,也使驱动能力大大增强。

我们采用频率为30Hz的周期信号都两个控制端进行控制,通过对其占空比的调节,实现对电机转速的调节。通过两个控制端的高低切换来实现电机的正反转。

(2)测速测距模块的设计

霍尔器件的使用如图2-2示,在小车后轮一周均匀固定有12个磁钢,后轮每转一周,霍尔器件产生十二个脉冲送入单片机的外部中断INT1进行记数。再由单片机完成从脉冲数到距离的转换。

(3)黑线检测模块的电路设计与实现

为了检测路面黑线,在车底的前部安装了5个反射式红外传感器。为减少环境光源干扰,增加信噪比,采用脉冲调制的发射与接收电路。

发射、接收的具体电路如图2-3、图2-4所示。发射部分采用NE555产生35K、占空比为1:10的方形脉冲信号,通过两级三级管放大来驱动红外发射管,实现黑线检测系统信号的调制。

2.系统的软件设计:

单片机控制电路主要以一片89C51为控制核心,主要实现对路面黑线的软件检测和纠错,负责控制电机转速,数据显示,语音播报等功能。

接收部分的红外接收管在不同的光照强度下,电阻值会有大幅改变。因此可以通过改变RW1的大小,来调整红外传感器对赛道黑线的敏感程度。根据赛题要求,将电路参数设置为只对黑线敏感,发射部分的高发射功率使得红外传感器抗干扰能力大大增强,甚至可以忽略赛道上的脚印。当传感器检测到黑线时,后级LM567锁向环将频率锁定在发射频率上,同时输出一个低电频,送入单片机处理进行相应的控制。

(1)单片机路面检测程序

当检测到黑线信号后便发中断给89C51到达黑线,89C51立即控制小车进行转向。

(2)单片机的中断子程序

①定时器服务程序(图2-5、图2-7)

为了保证程序的实时性,中断服务程序要尽量简洁,由T0定时器负责计算时间,其中断子程序仅仅累加计时变量,而T1定时器负责计时输出方波信号。

②INT0中断子程序(图2-6)

由于单片机中断口有限,所以必须进行中断扩展,接口电路如图2-4中的A点(中断查询)和INT0点(中断入口)。任何一路的红外信号都会触发单片机的INT0中断,在中断服务子程序中查询所有红外信号,根据检测到的信号来控制小车的转向。累加小车车轮的圈数,并与设置值比较,以此来判断小车是否达到设定的距离。

(3)软件的特色

①为了提高小车行驶的速度,又要保证行驶距离的精度,在离终点一定距离时,便开始减速,在到达终点时便立即刹车,为了能够在终点立即停住,单片机控制车轮加一瞬间反转来减低小车因为惯性的冲力。

②在小车前部的中间加一红外传感,当检测到中间传感信号时,小车前轮的控制电机不转动,小车的弹簧会将前轮拉回中间,小车可以重新直线行驶,而不会因为左右摆动的幅度太大而冲出跑道。

(4)主程序框图(图2-9)

软件调试参数:起跑的加速时间;从离终点多少距离开始减速;速度减到多低;加反转刹车的时间。

三、系统测试及结果分析

1.测试方法

开启电源开关,将小车放于起跑线,设定所要行驶的距离,按下确定键后,等待语音播报完时立即开始计时,等小车到达终点停车时,停止计时,记录行驶时间。小车行驶到终点后,测量停车位置离起点的距离和设定距离的误差。

记录显示路程的数据。

2.测试数据

测量一:

设定距离(m)5678910实际距离(m)4.986.026.977.988.9710.01行驶时间(s)6.257.507.788.858.159.11平均速度(m/s)0.80.80.90.91.11.1相对误差(%)0.40.330.40.250.330.1

测量二:

设定距离(m)5678910实际距离(m)4.985.997.038.028.9910.04行驶时间(s)6.467.487.458.018.999.10平均速度(m/s)0.70.80.91.01.01.1相对误差(%)0.40.170.420.250.110.4

3.结果分析

从测试结果来看,本系统的精度已能基本满足要求,但短距离的速度还不能满足发挥部分的最高要求。经过误差分析,系统采用霍尔传感器测距,通过单片机计数脉冲数,车轮的周长是16.8cm,车轮装有12个磁钢,那么单片机每计数一次便行驶了1.4cm,因为发挥部分对精度的要求是0.5%,所以在距离是5米的时候,如果误计超过2个脉冲其误差就超出要求的范围,为了防止车轮打滑,因此在起始阶段不能立即全速启动,必须有一个加速的过程,但是相应的平均速度下降了,另一方面到达终点时,因为行驶的速度很快,小车惯性很大,所以在到达终点前的一段距离必须要减速行驶,因为电压电量的不断变化,减速值也要相应不断调整,造成不同距离精度和速度的矛盾。为了克服这点不足,电机驱动电路的电压可由电池电压经过稳压后提供(考虑到时间不足,本系统未采用),这样驱动电路的电流便不会随电池电压的变化而变化,只要针对一定的电池电压范围调整参数便可达到要求。

上一篇:秦飞:5G研究已经5年 下一篇:自媒体舆论与司法审判关系刍议