基于STC89C52单片机与LabVIEW控制的智能小车设计 下载本文

龙源期刊网 http://www.qikan.com.cn

基于STC89C52单片机与LabVIEW控制的智能小车设计

作者:沈壮壮 贾瑞士 彭洪博 刘亚洲 来源:《电子技术与软件工程》2016年第04期

摘 要 设计了一个以单片机与LabVIEW结合来控制小车的系统。采用无线串口通信方式实现单片机与LabVIEW的信息传输。通过LabVIEW软件编程设置小车操纵模式为自动和手动模式,可实现自动模式下的超声避障,人体红外感应功能和手动模式下的无线遥控小车行进。通过LabVIEW与摄像头的WIFI连接,实现图像的拍照和存储功能。整个系统的功能实现所需时间短,精度高,可靠性能高。小车可代替人进入地震、废墟等危险地带,应用于灾害之后小范围区域内的搜索与救援以及对环境的监测与记录。 【关键词】智能小车 STC89C52 LabVIEW 摄像头

当前智能小车发展快速,可实现循迹、避障等基本功能,随着科技的快速发展智能小车逐渐趋于精准化与实用化。以往智能小车功能单一,无法自动操控与人为操控相结合,摄像头固定,存在死角,与以往智能小车不同的是此智能小车分为自动模式和手动模式,手动模式下小车以STC89C52单片机为控制模块,通过对驱动模块,超声避障模块,人体红外感应模块等的控制可以在一定范围内实现超声避障,测速测距,生命探测功能。手动模式下利用LabVIEW软件编程,通过无线串口模块实现对小车电机和舵机的双重控制和小车行进速度、障碍物距离的数据显示。此外,利用WIFI连接实现LabVIEW与云平台摄像头的通信,从而实现图像的实时传输与拍照存储功能。摄像头采用云平台设计可360度无死角拍摄。可广泛应用于地形勘探,复杂环境下的救援等。 1 硬件设计思路

基于STC89C52单片机和LabVIEW控制的智能小车涉及到多个传感器模块以及无线传输模块等,整体设计思路如下:

主要分为单片机控制模块,电源模块,驱动模块,通信模块,超声避障模块,人体红外感应模块,光控小灯模块等,各模块由单片机统一控制。小车工作分为两种模式,自动模式和手动模式。利用LabVIEW编程可实现两种模式的自由切换,自动模式下小车可实现超声避障,红外生命探测,测速测距以及光敏感应等功能;手动模式下利用LabVIEW界面实现对运动方向的控制,运动路径、路程速度的实时显示,以及实现拍照存储等功能。硬件整体设计如图1所示。

2 硬件电路设计

龙源期刊网 http://www.qikan.com.cn

2.1 单片机控制模块

小车控制模块我们选用了STC89C52单片机作为核心,通过I/O口与小车其他模块连接。本设计以P1.0-P1.3为驱动口,P3.0-P3.1为LabVIEW与单片机的通信口,P2.4-P2.7为双舵机与超声波接口。此次设计共需I/O口 11个完全可以实现控制小车各个模块运行的功能。单片机最小系统仿真如图2所示。 2.2 电机驱动模块

电机驱动采用 L298N 芯片,L298N 是一种双H桥电机驱动芯片,其中每个H桥可以提供2A的电流,功率部分的供电电压范围是2.5-48v,逻辑部分5v供电。可以直接驱动两路 3-16V 直流电机,并提供了 5V 输出接口可以直接给 5V 单片机电路系统供电,电机驱动模块驱动左右四个电机,使左边两个电机同步运行,右边两个电机同步运行。L298N原理图仿真如图3所示。

2.3 电源模块

采用7.4V可充电锂电池,经驱动模块电压变换后使得输出得到一个稳定的逻辑数字5V的直流电压给伺服舵机、单片机以及各传感器供电。 2.4 超声避障测距模块

超声波模块可实现 0~4.5m 的非接触测距功能,拥有 2.4~5.5V 的宽电压输入范围,静态功耗低于 2mA。由于超声避障感应角度较小(15度左右),本次设计选择与舵机云台配合使用。

测距原理:测量时单片机系统先给发射电路提供脉冲信号,单片机计数器处于等待状态,不计数;当信号发射一段时间后,由单片机发出信号使系统关闭发射信号,计数器开始计数,实现起始时的同步;当接收信号的最后一个脉冲到来后,计数器停止计数。 设避障距离为l(m),时间为t(s),则:

避障原理:单片机系统先给发射电路提供脉冲信号,由反馈信号计算出的障碍物距离和避障条件相比较,若满足条件则控制小车转向(转向距障碍物更远的方向)若不满足避障条件则说明小车不需避障小车继续直行,最远避障距离设置为30cm。 2.5 人体红外感应模块

人体红外感应模块配合以单片机使用,编程实现为探测到有人时会使蜂鸣器响同时彩灯闪烁。由于人体感应模块感应角度较大(100度左右)所以本次设计采用固定式设计。

龙源期刊网 http://www.qikan.com.cn

2.6 测速模块

测速模块我们采用光码盘测速。

测速原理:由一个中心有轴的光电码盘,其上有环形通、暗的刻线,有光电发射和接收器件读取,获得四组正弦波信号组合成A、B、C、D,每个正弦波相差90度相位差(相对于一个周波为360度),将C、D信号反向,叠加在A、B两相上,可增强稳定信号;另每转输出一个Z相脉冲以代表零位参考位。由于A、B两相相差90度,可通过比较A相在前还是B相在前,以判别编码器的正转与反转,通过零位脉冲,可获得编码器的零位参考位。 2.7 图像传输模块

图像传输模块通过wifi实现LabVIEW的连接。图像传输模块具有录像和拍照的功能,可实现图像实时传输和图片的定时储存,从而实现对环境的实时监控,具有传输距离远,延时低,功耗低的优点。此外我们采用双舵机组成的云平台设计,可实现360度无死角录像与拍照。LabVIEW图像显示界面与小车运动控制界面结合使用,提高了小车采集信息与运动控制的效率。 3 软件设计

采用C语言编程。主程序先从启动LabVIEW控制界面开始,人体红外感应模块一直处于开启状态,通过flag变量来判断运行自动避障程序还是运行LabVIEW人为控制的程序。自动避障程序通过定时器来计算障碍物的距离并使小车进行相应的动作。LabVIEW控制通过上位机发送串口协议,与下位机的控制电机、舵机程序相结合从而实现对小车的行进以及摄像头角度的控制。主程序流程图如图4所示。 4 结论

基于STC89C52单片机和LabVIEW控制的智能小车,通过模块化的硬件设计以及软件编程,已经实现了超声避障,生命探测以及图像在LabVIEW界面的显示与存储功能。此外本设计的LabVIEW界面还实现了速度,距离的显示功能。 参考文献

[1]沙占友等.单片机外围电路设计[M].电子工业出版社,2003. [2]李春茂等.电子技术基础[M].北京:机械工业出版社,2008. [3]郭速学等.图解单片机编程与应用[M].北京:中国电力出版社,2012. [4]李广弟.单片机基础[M].北京:北京航空航天大学出版社,2001.