基于单片机控制的智能寻迹小车设计

2023-07-26 03:41杨弼尧
电子制作 2023年12期
关键词:轮子直流电机小车

杨弼尧

(西南民族大学,四川成都,610000)

智能寻迹小车是一种不需要人工参与就能自动沿着轨迹行驶的小车。它集机械、电子、计算机等技术于一体。该技术可应于无人生产线、物流、仓库等领域等各种领域,也可以作为玩具的发展对象,为中国玩具市场技术含量的缺乏进行一定的弥补,实现经济收益,形成商业价值。

本文设计的智能寻迹小车要求能够在白底黑线的跑道上自动行驶,跑道示意图如图1 所示。轨迹由多段直线和圆弧组成,小车在运动过程中需要直线行驶,转直角弯、大弯和小弯,为实现自动行驶,需要对小车的机械结构和控制系统进行设计。

图1 小车寻迹跑到示意图

1 寻迹小车结构组成

寻迹小车为三轮小车,主要由机械系统和控制系统两部分组成。其中机械系统包括底盘、车轮、电机和传感器。由于亚克力材料具有绝缘性能优良,质量轻,便于加工的特点,所以底盘采用亚克力材料。小车共三个轮子,前面两个轮子作为驱动轮加转向轮,后轮为一个万向轮,可实现转向。车轮骨架采用塑料,质量轻,强度合适,轮子外部用橡胶包裹,增大摩擦力。前面两个车轮的转动由电动机驱动,驱动电机可以采用步进电动机也可以采用直流电机。步进电动机为数字量控制,控制精度高,但输出的转矩随转速的升高而下降,且在较高转速时会急剧下降,不适用于小车等有一定速度要求的系统。直流电机具有转动力矩大,响应快速,体积小,质量轻,调速平滑、方便,调速范围广,过载能力强,可实现频繁的无级快速启动、制动和反转,价格便宜的特点,本次设计采用直流双轴减速电机驱动两个驱动轮。传感器是用来识别跑到上的黑线的,所以采用颜色识别传感器,为了使小车能够识别转不同的路径,采用5 个颜色识别传感器,并且按照一定的距离并行安装在小车前面的底盘上,由于控制系统由STC89C52RC 单片机最小系统、电源模块、直流电机驱动模块、传感器模块组成。

寻迹小车的结构组成如图2 所示。

图2 寻迹小车的结构组成

2 小车转向原理

利用差速转向原理实现小车左转、右转、直角弯、转转大弯、转小弯的运动控制。所谓的差速,是指左右两驱动车轮有速度差,差速原理如图3 所示。小车在拐弯时车轮的运动轨迹是圆弧,如果小车向右转弯,圆弧的中心点在右侧,在相同的时间里,左侧轮子走的弧线比右侧轮子长,为了平衡这个差异,就要右边轮子慢一点,左边轮子快一点,用不同的转速来弥补距离的差异。同理,小车左转时,在相同的时间里,右侧轮子走的弧线比左侧轮子长,就要左边轮子慢一点,右边轮子快一点。要实现小车两轮转速的快慢,则需要控制驱动两个车轮转动的直流减速电机的转速和方向。

图3 差速原理

3 循迹原理

要求小车在白色地板上循黑线行走,由于黑线和白色地板对光线的反射系数不同,可以根据接收到的反射光的强弱来判断“道路”。通常采取的方法是红外探测法,即利用红外线在不同颜色的物体表面具有不同的反射强度的特点,实现寻迹。本次设计的智能寻迹小车采用TCRT5000 红外线传感器对黑色轨道进行识别。在小车行驶过程中传感器的红外对管不断向地面发射红外光,当红外光遇到白色地面时发生漫反射,红外对管接收管接收反射光;如果遇到黑线则红外光被吸收,则红外对管接收不到信号。红外对管采集回来的信号通过传感器模块里面的LM339 比较器后输出高或低电平,低电平为白色地面,高电平为黑色跑道,从而实现信号的检测。

4 控制系统设计

■4.1 控制系统的组成

控制系统的结构框图如图4 所示。控制器为单片机,输入信号为TCRT5000 红外传感器,控制对象为直流减速电机,由于需要对电动机的转速和转向进行控制,所以在单片机和电机之间加上电动机的驱动模块L298N。需要电源模块为系统提供电源。

图4 控制系统的结构框图

■4.2 硬件电路设计

(1)电源模块

小车的供电系统分为两部分,一部分为系统给直流减速电机驱动模块供电,另一部分为单片机和红外传感器供电。为使电机不会因电压的变化受影响,使用电压为12V 的可重复充电18650 电池组为电动机供电。单片机和红外传感器需要5V 电压,采用LM2596S 降压电源模块将12V 电压转换5V 的稳压电源,为单片机和红外传感器供电。

(2)红外传感器的接口电路

为了使小车能够实现直行、向左直行、向左转大弯、转小弯,向右直行、向右转大弯、转小弯,该寻迹小车用安装5 个TCRT5000 红外传感器,其中中间的3 个传感器长度相同,两侧的2 个传感器比中间的短,5 个传感器并行安放,传感器之间的距离根据黑色跑道的宽度确定。正常行驶时,只有中间的传感器在黑色跑到上方,当小车需要向左转弯时,左侧的传感器会出现在黑色跑到上方,根据检测是哪个或者哪几个左侧的传感器在黑色跑到上方,来判断小车是转直角弯、小弯还是大弯。同理当小车需要向右转弯时,右侧的传感器会出现在黑色跑到上方,根据检测是哪个或者哪几个右侧的传感器在黑色跑到上方,来判断小车是转直角弯、小弯还是大弯。小车行驶状态与传感器信号之间的关系如表1 所示。根据5 个传感器检测到的不同信号,单片机执行不同的子程序,实现小车按照轨迹行驶。

表1 传感器与小车运动状态

在设计程序时,将小车的每一种运动状态单独编译成一个子程序,当单片机检测到红外传感器输入信号后,调用相应的子程序即可,这样不但可以节省了很大的程序空间,而且提高单片机的运行速度,使小车的运动轨迹更精准。采用TCRT5000 红外传感器进行寻迹,5 个红外传感器的接口电路如图5 所示。每个传感器的输出口分别与单片机的I/O 口相连。

图5 红外传感器的接口电路

(3)电机驱动电路

小车的两个驱动轮采用直流电机驱动,因为单片机自身管脚输出的高电平的电压不能直接驱动直流电机转动,所以需要通过电机驱动芯片来完成小车的驱动。由于L298N 芯片驱动能力强、操作方便、稳定性好,性能优良,能够分时驱动两个直流电机,并能实现电机转向和速度控制,所以采用L298N 直流电机驱动模块,电机的驱动电路如图6 所示。L298N 芯片左侧引脚与单片机的I/O 口相连,右侧引脚与两个直流减速电机的两根控制线相连。

图6 电机驱动电路

L298N 的9、10 引脚与左侧电机相连,11、12 引脚与右侧电机相连,通过设置IN1、IN2、IN3、IN4 引脚的数值,实现小车的转向控制。控制方式与小车运动状态如表2 所示。

表2 控制方式与小车运动状态

小车的转速通过对使能端ENA、ENВ 输出PWM 脉冲实现控制,改变PWM 的占空比即可实现对电机两轮转速进行控制,从而实现小车沿不同轨迹运动。

由于AT89C52RC 单片机没有PWM 输出口,所以利用单片机内部的定时计数器T0 实现PWM 脉冲的输出,为了提高单片机的工作效率,定时计数器采用中断的工作方式。通过改变定时器T0 的初值,可以实现P2.7 和P2.2 引脚输出不同占空比的PWM 脉冲波形。

(4)STC89C52RC 单片机接口电路

STC89C52RC 单片机具有高速、低功耗、超强抗干扰的特点,工作电压为5V,8K 字节的ROM、512 字节的RAM,32 个通用I/O 口,3 个16 位定时器/计数器,4 路外部中断。

单片机的P1.0~P1.4 分别与5 个红外传感器TCRT5000 的输出引脚out1~out5 相连,接收红外传感器发出的信号。单片机的P2.2~P2.7 分别与电动机的驱动芯片L298N 的引脚相连,通过控制各引脚的输出值实现电动机的转速和转向控制,电路接线图如图7 所示。

图7 单片机的接口电路

■4.3 软件设计

小车进入寻迹模式后,即开始不停地扫描与红外传感器连接的单片机I/O 口P1.0~P1.4 的状态,一旦检测到某个I/O 口有信号发生变化,就执行相应的判断程序,把相应的信号发送给电动机从而纠正小车的状态。控制系统程序流程图如图8 所示。

图8 控制系统程序流程图

当所有传感器输出为0 时,说明小车脱离运行轨道,小车将停止运动,当传感器输出不全为零时,则要判断调用哪个应用模块。应用模块共有7 个,当中间的传感器输出为1,其它输出为0 时,调用直行程序模块,当中间和左2传感器输出为1,其它输出为0 时,调用向左转直角弯程序模块;当只有左2 传感器输出为1,其它输出为0 时,调用向左转小弯程序模块;当中间和左侧两个传感器同时输出为1,其它输出为0 时,调用向左转大弯程序模块;右转弯同理。每个应用模块包括定时器T0 初始化函数,定时器T0 中断服务函数,用于生成两路可调的PWM。当小车直行时,两个驱动电机转速相同,P2.7 和P2.2 引脚输出占空比相同的PWM 脉冲波形;当小车转弯时,输出的两路PWM 占空比不同。当转小弯时,两路PWM 占空比的差值小,当转大弯时,两路PWM 占空比差值较大,具体数值需要现场调试得到。

5 结束语

设计的智能寻迹小车通过红外传感器循迹模块判断黑线路径,然后由STC89C52 单片机通过IO 口控制L298N驱动模块改变两个直流电机的工作状态,最后实现小车循迹。小车具有结构简单,质量轻,性能较好的特点。

猜你喜欢
轮子直流电机小车
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
两个轮子“走路”
大车拉小车
自制小车来比赛
没有轮子的挖挖
读北岛:一只轮子,寻找另一只轮子
刘老师想开小车
两轮自平衡小车的设计与实现
基于FPGA的双绕组无刷直流电机软件设计
自由转动