基于LabVIEW的智能WiFi小车控制系统设计

2021-01-11 10:12曾泽辉张安莉石卓勇
自动化与仪表 2020年12期
关键词:舵机障碍物小车

谢 檬,曾泽辉,张安莉,石卓勇

(西安交通大学城市学院 电气与信息工程系,西安710018)

在智能化应用设备越来越普及的现代社会,智能车无异于是未来人们日常生活中必不可缺的一部分[1-3]。智能车的普及应用,可以有效降低道路事故风险,提高行车效率,方便人们的生活[4-8];在未来与交管系统的大数据库连接后,可以有效地避免交通拥堵,降低交通管理的成本,提升道路利用率[9-11]。在智能汽车领域内的无线智能小车,在一些较为复杂和危险的地方有着非常广泛的应用[12]。无线小车具有机动性强、重复利用率高、环境适应能力强等特点[13-14],然而小车控制距离较短,无法自动避障等问题,导致其功能单一,应用局限。在此所设计的智能WiFi 小车虚拟控制系统,通过虚拟平台控制智能小车的运行轨迹,实时显示小车遇到障碍物的次数,历史数据记录小车与障碍物之间的距离。实时控制系统直观、便捷地控制小车运行轨迹,可有效降低道路事故风险,提高行车效率,方便人们的生活。

1 总体方案设计

智能WiFi 小车控制系统结构如图1 所示。该系统主要包括LabVIEW 控制系统、WiFi 通信模块、STM32F105 主控芯片、超声波测距模块、电机驱动模块、云台舵机控制模块和车灯控制模块。

图1 控制系统结构框图Fig.1 Structure block diagram of control system

1)LabVIEW 控制系统 上机位采用LabVIEW软件搭建的控制平台主要用于向智能小车发送控制指令,并显示实时运动轨迹和记录历史数据。

2)WiFi 通信模块 采用TCP 传输协议,完成上机位和下位机数据的实时通信。

3)STM32F105 主控芯片 STM32 单片机将控制指令发送到智能小车的各个工作模块,同时采集超声波测距的实时数据。

4)超声波测距模块 根据单片机的控制指令,完成障碍物和小车之间距离数据的测量。

5)电机驱动模块 在单片机输出信号的控制下,拉高输出电压值,驱动直流电机工作。

6)云台舵机控制模块 通过单片机发出的2路PWM 控制信号,分别对水平、垂直舵机进行旋转角度的控制。

7)车灯控制模块 保障小车在光线较暗的情况下安全工作。

2 硬件电路设计

智能WiFi 小车主要硬件电路包括STM32 最小系统控制电路、L298N 电机驱动电路和超声波接口电路。

1)STM32 最小系统控制电路 由STM32 主控芯片、电源电路、复位电路和时钟电路等组成。其中电源电路通过低压差线性稳压器LDO(low dropout regulator),将7.4 V 锂电池的输入电压转化为3.3 V,为STM32 单片机供电。

2)L298N 电机驱动电路 可以承载较大的电流和电压,最高电压可达46 V,最大峰值电流可达3 A。内置的2 个高电压、大电流全桥式驱动器,可用于驱动直流电动机、步进电机等设备的运行。

3)超声波接口电路 采用HC-SR04 超声波模块,将接收到的超声波信号转换成电信号,进行测距、避障、检测等功能的处理。HC-SR04 超声波模块测量范围为2 cm~4 m,芯片稳定、体积小、测度距离精确、盲区小。

4)硬件电路模块 包括单片机系统模块、WiFi模块、云台舵机模块、电源模块、电机驱动模块和超声波模块。小车行进方式为4 个直流电机驱动的履带行进,满足多种险峻地形的工作环境。

3 软件程序设计

3.1 控制系统总程序

控制系统总程序流程如图2 所示。打开程序后,会进入系统的控制界面。WiFi 连接并初始化后,在上位机前面板上选择控制模式。在控制模式下,为手动控制小车运行状态,在未接收到停止指令前,通过上位机软件界面发送指令来控制改变小车的运动状态;接收到停止指令后,小车立即停止运行并判断是否终止程序。在避障模式下,通过超声波检测前方障碍物,前方无障碍物情况下手动控制小车动作;若障碍物检测响应,则立即停车并等待下一次动作指令。

图2 控制系统总程序流程Fig.2 Overall program flow chart of control system

3.2 控制系统前面板设计

控制系统前面板分为2 个控制子面板:手动控制模式子面板和超声波避障模式子面板。手动控制模式子面板用于手动控制小车的行进轨迹;超声波避障模式子面板用于控制小车自动行进并完成避障功能,同时显示小车遇到障碍物的实时数据波形和历史记录数据。

1)手动控制模式子面板 如图3 所示,包括运动控制模块、舵机角度控制模块和车灯控制模块。

图3 手动控制模式子面板Fig.3 Manual control mode subpanel

①运动控制模块 运动控制模块通过4 个布尔按钮完成向下位机发送前、后、左、右的控制指令。当持续按下按钮时,小车持续进行运动,松开后小车停止运动。

②舵机角度控制模块 该模块由2 个旋钮控件组成,水平舵机的角度量程为0°~180°,每个小格的精度为2°;垂直舵机的角度量程为0°~90°,每个小格的精度为2°,转动旋钮即改变小车运行的角度值。

③车灯控制模块 通过垂直摇杆开关控制LED 灯的开关,保障小车在光线较暗的情况下安全工作。

2)超声波避障模式子面板 如图4 所示。通过布尔按钮控制开启和关闭超声波避障模式,包括实时数据模块和历史数据模块。

图4 超声波避障模式子面板Fig.4 Subpanel of ultrasonic obstacle avoidance pattern

①实时数据模块 小车工作在超声波避障模式下,正常行驶状态下为连续的直线;当遇到障碍物时,出现方波信号随后恢复直线,直至下一次遇到障碍物时再次出现方波。波形信号的纵轴高度表示小车与障碍物之间的距离,单位为cm,每一个小格表示0.5 cm。

②历史数据模块 主要记录小车遇到障碍物的次数、时间及小车与障碍物之间的距离,距离的单位为cm,精度为0.5 cm。

4 智能小车系统的测试

完成STM32 单片机和各模块的连线后,调整WiFi模块的天线位置,使天线保持垂直状态,保证热点信号稳定不受干扰。打开下位机的电源指示灯,等待约15 s 使WiFi 模块完成初始化,模块的LED 灯由闪烁变为常亮时,表示成功建立热电信号。打开上位机控制系统界面,测试软件程序是否可以正常运行,将电脑连上WiFi 模块发出的热点信号。运行上位机程序成功后,此时下位机云台舵机的水平舵机角度会轻微转动,表示上位机和硬件电路连接成功,即可对小车进行操控。

4.1 手动控制模式测试

点击手动控制界面的前进按钮,小车则根据前面板的操作,对应向前运动,如图3 所示。当松开按钮时,小车立停止运动。按下左转按钮时小车向左进行原地旋转;按下右转按钮时小车向右进行旋转;按下后退按钮时小车向后运动。

点击照明垂直遥感开关,下位机小车的LED 灯点亮,如图5 所示。再次点击前面板开关则关闭小车的LED 灯,可循环往复。

图5 下位机车灯测试Fig.5 Lower locomotive lamp test

调节水平舵机角度和垂直舵机角度分别为90°和180°,此时下位机的云台舵机进行相应角度的旋转,其实物如图6 所示。

图6 小车云台翻转的实物Fig.6 Car head flip physical object

4.2 超声波避障模式测试

点击超声波避障按钮,下位机启动超声波传感器,进入小车避障模式,如图7 所示。实时数据模块显示小车遇到障碍物的距离,历史数据模块记录了小车遇到7 次不同类型障碍物的时刻和距离。

图7 超声波避障模式Fig.7 Ultrasonic obstacle avoidance pattern

4.3 系统的误差分析

在超声波避障模式下,测得小车与障碍物之间的距离为实测值;采用红外测距仪测得的距离为标准值,红外测距仪的精度为0.05 mm,其测量范围为0.05~40 m。

超声波距离测量系统的误差分析见表1。由表可知,系统测量智能小车与障碍物之间距离的测量值x,标准值S及误差E。根据误差分析的计算公式:

表1 系统误差分析Tab.1 System error analysis

得到误差范围为0.00%~0.06%。

5 结语

所设计的基于LabVIEW 的智能WiFi 小车控制系统,下位机选用STM32F105 单片机作为主控芯片,包括减速电动机、L298N 驱动模块、AR9331 无线模块、水平垂直舵机、超声波传感器等主要模块。上位机采用LabVIEW 搭建控制平台,通过WiFi 模块完成数据的实时通信。系统经过测试,可以控制智能小车完成前后左右行进轨迹;云台舵机水平和垂直旋转角度范围分别为0°~180°,35°~90°;超声波测距范围为0~15 cm;实时控制系统直观、便捷的控制小车运行轨迹,显示小车与障碍物之间的距离;有效降低了道路事故风险,提高了行车效率,方便了人们的生活。

猜你喜欢
舵机障碍物小车
大车拉小车
自制小车来比赛
高低翻越
SelTrac®CBTC系统中非通信障碍物的设计和处理
赶飞机
刘老师想开小车
两轮自平衡小车的设计与实现
基于dsPIC单片机的飞艇舵机控制实现
超音速舵机保护器
菜鸟看模型