智能探测小车的设计与实现

2021-12-14 10:29:40李龙邓兆强龚聪金宇健周建华指导老师
电子制作 2021年23期
关键词:循迹直流电机延时

李龙,邓兆强,龚聪,金宇健,周建华(指导老师)

(邵阳学院信息工程学院,湖南邵阳,422000)

0 引言

智能小车集成了多种高新技术,因此在国内外都深受重视。就目前高校来看,智能小车大多采用C51系列作为控制模块,外加红外避障模块、寻迹传感器模块、电源模块、直流电机及其驱动模块构成[1],控制器将传感器模块发出的数据进行处理后发给驱动模块,从而控制整个小车的运动。但传感器受环境影响大,工作不稳定,本文将用STC89C52单片机外加各个模块,提高精度及实时性,设计并实现智能小车循迹避障的优化。

1 智能小车的总体设计

1.1 设计思路

智能探测小车采用前轮驱动,有左转、右转、直行、停止四种状态。利用红外对管对路面信号进行检测,将信号传输到比较器处理之后送给STC89S52控制模块进行实时控制,输出相应的信号驱动直流电机,通过调结两个电机的转速选择不同的状态[2],从而达到循迹避障的目的,模块设计图如图1所示。

图1 模块设计图

1.2 系统硬件设计

1.2.1 控制模块

STC89C52微处理器,工作电压5V、DC电流50mA、晶振频率11.0592MHz,输出电压为5VDC或3.3VDC,接上USB时无须外部供电或外部12VDC输入低电压,高性能,时钟速度稳定,外部接口丰富,可外接各类型的传感器模块[3],非常适合用作本次小车的控制模块。

1.2.2 驱动模块

直流电机是能实现直流电能和机械能互相转换的旋转电机[4]。在智能小车上我们主要的运用其直流电能转换成机械能的作用,来带动轮子的转动。直流电机调速性能好、控制简单、过载能力较强、受电磁干扰影响小。为了小车的平稳行驶,本次设计选择三个轮子,前面两个轮子使用同类型额定电压12V的直流电机接单片机的5V输出驱动,后轮使用的是小滑轮起支撑作用来平稳运行。

1.2.3 红外循迹避障模块

本次采用的红外循迹避障模块(如图2所示)由红外发射与接收管和比较器组成,发射管发射出一定频率的红外线,当前方有物体时,根据物体的颜色不同反射出不同强度的红外线被接收管接收,经过比较器电路处理之后,根据事先调节的判断范围输出接口输出高电平或低电平。可通过调节光敏感度改变检测距离,有效距离范围2~60cm,工作电压为3.3~5V。该模块可调范围广、工作稳定、反应迅速、模块小巧便于安装,适用于小车循迹避障、测量仪器等场所[5]。

1.2.4 电源模块

因为AT89C52处理器的特性,我们只需要对其供电,保证其稳定的工作电压就能运行整辆小车。在初步调试过程中,将单片机的USB口接主机就能正常工作,还能方便检查。在完成拼装,接入程序调试校准时,可以使用充电宝。整个硬件系统的电路图如图3所示。

图3 智能探测小车电路图

1.3 系统软件设计

智能小车的各个模块在连接完成后,还需要软件对单片机进行控制,在即将偏离轨道或前方有障碍物时,传感器将信号发送给单片机,单片机通过循迹避障程序控制驱动模块,从而真正的实现小车循迹避障的功能。本系统由主函数、循迹函数、避障函数及延迟函数构成,以此达到模块化控制[6]。在软件开发环境上使用的是Keil 4,编程语言使用C语言,通过STC-ISP将hex文件下载到单片机来实现对各个模块的控制,逻辑功能如表1所示。

表1 逻辑功能表

1.3.1 延时程序

单片机的延时程序通过执行指令来达到延时效果,这个时间等于执行的指令需要的时间,而一个指令需要的时间叫做指令周期,这个时间等于若干个机器周期。因为我们使用的为C语言,就需要将其转化为等步骤的机器周期[7],而本单片机的机器周期=12*(1/11.0592)。

1.3.2 循迹程序

因为直流电机与单片机接了两个接口:正向供电01和反向供电10,分别对应正转和反转。当一侧的红外对管感应到黑色轨迹时,就会通过循迹避障模块将信号1传输给单片机,此时单片机所对这一侧直流电机的两个接口由01变为10,即对直流电机反向供电,另一侧则保持不变,这样可以让小车在较高速度下能够及时转向,而不会在遇到幅度较大的弯道时因为转向慢而偏离轨道,循迹流程如图4所示。

图4 循迹流程图

1.3.3 避障程序

当中间的红外对管前方检测到障碍物时,就会通过循迹避障模块将信号1传给单片机,控制直流电机转向,避障流程如图5所示。考虑到障碍有不同的大小形状,本次设计遇到障碍时一律右转90°,并且障碍物的颜色也会对反应产生影响。同时,为避免循迹与避障发生冲突导致行驶异常,循迹时轨道上出现障碍时我们将情况1避障程序的优先级设置高于循迹程序,对于优先级我们可以通过改变代码判断顺序或发生条件来实现[9]。

图5 避障流程图

2 系统的调试

首先烧入电机控制小程序,控制电机正反转、停止均无误。接着检测循迹避障模块,检查红外灯是否能正常亮灯,测试灵敏度是否能达到要求,两个用于循迹的红外对管分别位于小车的车头两侧,垂直朝下,便于及时对路面进行判断,之间的间隔应大于轨道宽度,具体位置以对轨迹的敏感度要使遇到黑线立即做出反应,同时又不会使小车凭空行驶为佳;一个用于避障的红外对管位于小车车头并朝向正前方,敏感度根据需要与障碍物相隔距离多远转弯来调节,并且因为转向为90°,就需要我们调用延时函数,不断观测延时在多少时转向会在90°左右。软件调节上,我们利用PWM调速原理[10],两侧电机在相同时间里,短暂时间停止较快的一侧电机,多次校准来达到两边转速近乎一致来达到直行,这样就避免因为速度不匹配而发生不必要的偏转。调试中的小车如图6所示。

图6 循迹中的小车

3 结束语

本文实现了基于AT89S52的智能探测小车硬件和软件的设计及优化,相较于普通的智能小车更加灵活、可靠,功能稳定,精度高,可满足对系统的各项要求,同时使用硬件少,功耗、成本低,绿色环保,达到了预期效果。

猜你喜欢
循迹直流电机延时
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
大电机技术(2022年5期)2022-11-17 08:12:56
基于DFT算法的电力巡检无人机循迹检测系统设计
基于级联步进延时的顺序等效采样方法及实现
基于单片机的智能循迹小车的设计
电子测试(2018年15期)2018-09-26 06:01:14
智能差分循迹小车设计
电子制作(2017年1期)2017-05-17 03:54:20
基于FPGA的双绕组无刷直流电机软件设计
电子制作(2017年1期)2017-05-17 03:54:12
基于MC9S12XS128处理器的智能循迹小车分析研究
电子制作(2016年11期)2016-11-07 08:43:49
Two-dimensional Eulerian-Lagrangian Modeling of Shocks on an Electronic Package Embedded in a Projectile with Ultra-high Acceleration
船舶力学(2015年6期)2015-12-12 08:52:20
基于模糊神经网络PID的无刷直流电机控制系统研究
一种改进的无刷直流电机控制方法