基于虚实结合的智能小车设计

2023-06-07 05:47吴蓬勃张金燕王拓孙会泽南陪钧于逸龙刘慧刘涛
电子制作 2023年9期
关键词:黑线循迹直流电机

吴蓬勃,张金燕,王拓,孙会泽,南陪钧,于逸龙,刘慧,刘涛

(1.石家庄邮电职业技术学院,河北石家庄,050021;2.河北工程技术学院,河北石家庄,050091)

0 引言

随着疫情的常态化[1],许多高校的实践课程无法正常在线下开展,需要在线上进行或者线上、线下同步进行。另一方面,在实践过程中,经常存在物品损坏的情况,影响了正常教学开展。

本文以单片机课程为例,以智能小车为载体,论述了如何通过Proteus 虚拟仿真和实物相结合的方式进行单片机课程教学的过程[2~4]。

1 智能小车总体设计

智能小车组成,如图1 所示。智能小车主要面向单片机的初级入门人员,所以选择了较为简单、经典、可进行软件仿真的STC89C52。智能小车的外部设备主要包括:黑线循迹、红外避障和超声波测距传感器;LCD 显示单元;直流电机驱动模块和4 路直流电机;同时,采用串口连接蓝牙模块,实现与手机或者PC 的通信。

图1 智能小车组成

2 硬件电路的虚实设计

■2.1 单片机与运动控制单元

单片机最小系统与电机驱动单元硬件电路图,如图2所示。单片机最小系统,包括:复位、时钟电路、P0 口上拉电阻、用户按键和串口选择端子;其中,通过串口选择端子实现了串口的复用,计算机可通过CH340(USB 转串口芯片)与单片机实现串口通信、串口程序烧写以及蓝牙模块调试。

图2 单片机最小系统与电机驱动单元硬件电路图

电机驱动部分,通过L293D 实现四路电机的驱动。L293D 为推挽四通道驱动器,工作电压4.5V ~36V,电流最大600mA,内部有2 路H 桥,可以同时驱动2 路电机运动。通过1 脚EN1 可开启第一路H 桥,通过2脚IN1、7 脚IN2 可控制3 脚OUT1、6 脚OUT2 的高低电平,OUT1 和OUT2 控制左侧的两路并联直流电机运动;通过9 脚EN2 可以开启第2 路H 桥,通过OUT3和OUT4 控制右侧两路并联直流电机运动。

图3为单片机最小系统与电机驱动单元的Proteus仿真图,除了单片机与L293D 驱动电路外,还增加了四路直流电机(需设置为6V 电压)。在编写好单片机电机驱动程序后,可以通过Proteus 仿真电路验证程序的逻辑功能,为程序在实车上的正常运行奠定基础,有利于进行软硬件故障排查和降低车辆的电机损耗。

图3 单片机最小系统与电机驱动单元仿真图

■2.2 黑线循迹单元

黑线循迹单元硬件电路图,如图4 所示。智能小车包括左右2 路黑线循迹单元,主要采用反射型光电探测器RPR220 实现黑线和白色地面的识别。RPR220 通过砷化镓发光二极管向外发射红外光,通过高灵敏度硅平面光电三极管接收反射光,如遇到黑色物体,则光电三极管将接收到很少的反射光,其自身的电阻值将增加;如遇到白色或者浅色物体,则有更多的红外光被接收到,其自身的阻值将减小。RPR220 的光电三极管与电阻R6(以左循迹为例,见图4)对5V 进行分压,地面黑白颜色的变化,将导致R6 上端电压发生变化,R6 上端电压与电位器R1 电压送入LM358AD 进行电压比较,从而向外输出高低电平,单片机通过IO 口读取该信号,从而判断小车循迹传感器下面是黑线还是白色地面。实际中,可通过电位器R1 和R9 调节黑线探测距离。

图4 黑线循迹单元硬件电路图

左右两路黑线循迹单元的Proteus 仿真电路,如图5所示。仿真图中,采用了与实物RPR220 功能相近的仿真元件ALS-PT19 来模拟光的变化,在右侧的输出端,通过直流电压表可观察输出信号的电压值。通过图5 可知,左循迹单元设置的光线较强,循迹电路输出电压为0.02V;右侧循迹单元设置的光线较弱,循迹电路输出电压为5.00V。需要注意一点,仿真中LM358 输出端信号较弱,需要添加2个非门增加信号强度,才可以被单片机正常识别。

图5 黑线循迹单元仿真图

■2.3 红外避障单元

红外避障单元硬件电路与黑线循迹(如图4)类似,区别在于传感器从RPR220 更换为红外发射管和红外解码器,在此不再赘述。红外避障单元Proteus 仿真电路,如图6所示,基本原理与黑线循迹相同,红外传感器采用了光敏电阻TORCH_LDR。在图6 中,左侧避障传感器前方没有障碍物,反射回来的光线较少,红外避障电路输出5.00V 电压;右侧避障传感器前方有障碍物,红外避障电路输出0.00V电压。

图6 红外避障单元仿真图

■2.4 超声波测距与LCD 显示单元

超声波测距与LCD 显示单元仿真电路,如图7 所示,主要包括:HCSR04 超声波测距模块和LM016L 液晶显示模块。通过HCSR04 的距离(单位为cm)调节按钮,可模拟超声波模块到物体的距离,通过单片机的程序处理后,在LM016L 液晶模块上显示实际测量距离。实际中距离的测量值是存在误差的,这一现象在仿真中也得到了体现;通过不断优化程序,使得仿真中距离的测量值接近实际值,从而提高了在真实小车上超声波测距的准确率。

图7 超声波测距与LCD 显示仿真图

3 软件设计

智能小车的软件部分包括:直流电机调速和运动控制、黑线循迹、红外避障、超声波测距与LCD 显示。其中,直流电机调速通过定时器产生PWM 波实现,直流电机运动控制、黑线循迹、红外避障和LCD 显示主要通过IO 口的控制与检测实现。本部分重点对超声波测距进行介绍。

超声波测距的时序图,如图8 所示。单片机通过IO 口向超声波测距模块的触发引脚TR 发送最少10μs 的高电平脉冲,然后,超声波测距模块内部的单片机会通过升压电路向外发射8 个40kHz 的脉冲信号;超声波遇到前方障碍物会产生反射回波,回波经超声波测距模块处理后,通过ECHO 引脚向外输出一定宽度的高电平脉冲。单片机通过测量ECHO 引脚输出脉冲信号的宽度,即可计算出小车到前方障碍物的实际距离。

图8 超声波测距时序图

超声波测距软件流程图,如图9 所示。首先初始化用于脉冲测量的定时器,向超声波测距模块的TR引脚发送15μs 的高电平脉冲;然后,判断回波引脚ECHO 是否为高电平,如果为高电平,则证明回波脉冲开始出现,此时开启定时器;当ECHO 引脚变低时,说明回波脉冲已经结束,此时关闭定时器。根据定时器的计数值Count,结合晶振频率Fosc 和声波在空气中的传播速度,即可计算出相应的距离。

图9 超声波测距软件流程图

4 测试

图10为智能小车黑线循迹和超声波测距的实际效果。

图10 智能小车测试效果

5 总结

本文基于虚拟仿真与实物相结合的方法,设计了一套智能小车系统,实现了虚拟仿真与实物硬件电路的映射;通过虚拟仿真验证了软件功能,有利于线上教学的开展,有利于实车验证时的故障排查和降低车辆的硬件损耗。为当前疫情常态化下单片机课程的实践教学,提出了一套切实可行的方案。

猜你喜欢
黑线循迹直流电机
基于模糊PID的无刷直流电机速度控制系统的设计与仿真
基于DFT算法的电力巡检无人机循迹检测系统设计
黑线
基于单片机的智能循迹小车的设计
虾背黑线真的特别“脏”吗
智能差分循迹小车设计
基于FPGA的双绕组无刷直流电机软件设计
基于MC9S12XS128处理器的智能循迹小车分析研究
七巧数独
基于模糊神经网络PID的无刷直流电机控制系统研究