大学生创新课程实例—智能小车平台实现
2018-04-12郝雯娟任严炜
郝雯娟, 任严炜
(南京航空航天大学 金城学院, 江苏 南京 211156)
0 引言
大学生创新实践能力培养是以本科生为主体,调动学生的主动性、积极性和创造性,激发学生的创新思维,让学生逐渐掌握思考问题、解决问题的方法,从而提高创新实践能力[1,2]。
在大学生创新实践课教学中,不再采用传统的灌输模式,而是以关注学生感兴趣的课题来设计教学内容。此类课程中示教实例的设计和制作可以提高学生的自主性、创新性和协作性,教学质量也会明显得到提高[3,4]。
随着当下智能控制、无线网络、无人驾驶等热点领域的兴起,PC机与硬件结合的无线控制系统已成为科学技术发展的主流。本文针对我院电气工程及其自动化专业“大学生创新实训”课程,设计和实现了一个无线控制智能小车测试平台作为示教实例。通过该示教实例,教师可以将一个完整的大学生创新实训项目的实现流程呈现给学生。此外,由于LabVIEW虚拟仪器用在高校实验室里可以节省设备资源,丰富实验内容,增加教学过程的灵活性,本示教实例设计采用基于LabVIEW的系统监控平台[5,6]实现。
1 测试平台整体设计方案
图1所示为智能小车测试平台结构示意图,包括下位机智能小车部分和上位机系统LabVIEW监控部分。
1.1 智能小车部分
STM32作为一种新兴的微控制器芯片,其突出的优点是芯片内部的高度集成、内置较大的存储容量、高速的运算能力以及提供了高质量的固体库,使得开发设计过程十分轻松便捷,以STM32微处理器为核心的控制系统也显得更加稳定与可靠。基于STM32的最小系统极大的简化了整个系统的设计降低了项目开发成本。因此,本示教实例的智能小车采用以STM32单片机为核心控制芯片[3]。
智能小车包括7个模块,其中,电源模块,用于为智能小车供电;STM32单片机,用于处理数据信息,控制每个模块正常工作,实现模块与模块之间的通信;超声波测距模块,用来测运行过程中可测范围内是否存在体积较大不可逾越的障碍物;光电测速模块,用于检测小车的速度;摄像头模块,用于传送智能小车所处的环境情况;无线串口模块,用于接收监控系统传输过来的指令或位置信息;电机驱动模块,用于驱动智能小车按照规划的路径行驶到目的地位置。
1.2 系统监控部分
系统监控部分系统由LabVIEW虚拟仪器控制平台实现,LabVIEW的编程方式直观、简便,虚拟仪器的表现形式和功能类似于实际的仪器,但通过编程很容易改变其设置和功能[8]。控制平台由欢迎界面、安全登陆界面、选择控制界面、智能小车自动控制界面以及手动控制界面组成。
图1 智能小车测试平台结构
2 智能小车硬件设计
智能小车的控制核心使用STM32F103RCT6芯片, STM32单片机最小系统与个各检测模块通过引脚连接,实现核心芯片的控制和模块数据的传输,减小了系统设计的工作量。根据图1中智能小车的结构,考虑到降低成本以及让学生使用方便,各模块器件选型尽量选择成熟的且相对简单的器件,见表1。
表1 智能小车硬件选型
2.1 STM32单片机控制核心
本文中设计使用的是STM32F103RCT6芯片的最小系统,该最小系统包含了F103RCT6核心芯片、电源供电接口、复位电路、JTAG调试接口、系统时钟晶振、无线通信接口、OLED液晶接口、用户按键以及LED状态指示灯等模块,板载内容较为完善,基本符合本次设计需求。其芯片引脚图如图2所示。
图2 STM32F103RCT6引脚图
通过对STM32F103RCT6芯片与各模块对应引脚的电平控制,并且配合芯片内置定时器、中断以及时钟等,实现多模块的同时工作运行,增强了系统的信息采集能力[8]。需要说明的是,该芯片的编程和调试比较简单,使用的库函数程序开发方式,较大程度上缩短了智能小车设计开发的时间周期,特别适合本科生进行科创研究。
2.2 无线通信模块
上述STM32单片机最小系统参照各模块工作原理进行编程,上电后对相应模块进行初始化、通过总线通信、串并口传输数据以及板载电源供电等,将各模块相互连接组合使用,实现整个系统的运作,完成数据采集工作。
下位机智能小车部分和上位机系统监控部分运行时离不开硬件与软件控制平台之间的信号交互,同步运行使得此系统最终得以完备与实现。设计时使用HC-12模块,其无线工作频段为 433.4~473.0MHz,可设置多个通信频道。通信模块分由两个部分组成,实际分成两个模块,一块是HC-12-USB模块直插电脑的433无线串口模块兼顾收发功能,另外一块则是HC-12远距离433无线串口模块。HC-12-USB模块通过USB接口接与PC端连接,HC-12模块通过引脚与STM32控制引脚相连[9]。图3所示为无线模块与软硬件部分的连线图,中间通过天线传输数据。
图3 无线传输连线图
3 系统监控实现
本文根据本科生实验教学平台的特点,在LabVIEW前面板设计了智能小车系统监控平台。根据图1,系统监控由四部分组成。其中欢迎界面与安全登陆界面无数据传输部分,为单纯的LabVIEW工程VI运行调用。控制界面包含设定小车的运行时速,测距传感器监测障碍物连接距离以及串口数据等参数的设置,通过串口发送给初始等待运行的智能小车,为LabVIEW向智能小车发送数据的单向通信。自动控制界面与手动控制界面采用的是LabVIEW与智能下车之间的双向通信,自动控制界面包含小车电源开关、运行速度的设定、智能小车实际运行速度以及电源电压余量数据的获取等,手动控制界面则有手动智能小车运行方向的控制以及摄像头图像的采集[10,11]。系统监控各部分设计如下。
3.1 登录部分
登陆系统分为两个部分,一个是整个系统的欢迎界面,另一个则是系统的安全登陆部分。其中,学生登录和教师管理部分主要是针对批量教学时,方便不同的教师管理不同批次的学生实验[12]。此外,采用事件结构来设置登陆、注销以及退出。登录系统界面如图4(a)所示,程序框图如图4(b)所示。
(a)安全登录界面
(b)安全登录部分程序框图图4 登录平台
3.2 控制界面
根据示教实例的特点,控制面板在设计时考虑到了各种因素,如主要参数的统一设定、通信串口的设置、智能车自动控制和手动控制的选择、返回登录以及整个系统的退出等,所以在LaVIEW里利用容器控件将控制界面分成三个子平台,如图5所示。
图5 控制界面
图5中,教师可通过点击容器选项卡的表头来切换所需要显示的子平台。三个子平台分别为:“运行参数”、“界面控制”(含端口配置)以及“其他操作”。每个选卡对应了许多不同的设置与操作,以“界面控制”子平台为例,“界面控制”子平台中有两个按钮分别是“自动控制”以及“手动控制”,点击相应的按钮就能从当前选择控制面板VI跳转到自动控制或者手动控制VI界面,教师操作起来十分便利,同时教师也可在“其他操作”子平台中点击“返回登录”或者“退出系统”的按钮,来实现所需要的功能。
“界面控制”子平台里的自动控制界面和手动控制界面如图6所示。
自动控制界面主要操作有开启或者关闭小车运行状态、调整小车的运行速度、实时显示小车运行状态以及显示小车实际速度和小车电源电量等。自动控制界面VI由上层选择控制面板VI调用打开,由此进入如图6(a)所示的用户界面,用户可以通过电源开关以及速度旋钮,向智能小车发送指令操作,同时可以在车速仪表盘以及电池电量参数中看到智能小车传回的相关信息数据。
手动控制界面包括两个主要部分,分别是智能车手动控制方向键盘和实时视频显示。如图6(b)所示,图中左下部分为智能车控制键盘,由四个方向键组成,在VI运行时通过PC键盘上的W、A、S及D键,可实现对LabVIEW平台上显示的键盘进行控制,其分别对应为W-前进、A-左转、D-右转和S-后退。控制面板右边部分则是智能小车采集到的视频图像的实时显示,这样用户就可以很方便的看到远程图像,对方向键进行操作来控制小车的行进。此界面实现了用户对智能小车远程控制的同时,还能够实时的看到小车监测到的实时画面,使得整个系统的利用价值得到大大提高,使本系统在多领域的监测控制成为可能。
(a)自动控制界面
(b)手动控制界面图6 智能车控制
本示教实例制作的智能小车实物如图7所示。智能小车作为LabVIEW平台的操作对象,肩负着所有的数据采集反馈工作,体现了其在这个监测系统中不可或缺的地位。智能小车稳定运行,各模块之间无干扰的执行各种操作、采集数据的命令,使得LabVIEW平台采集的数据更加精确,教师教学操作更加得心应手。
图7 智能小车模型
4 结语
本文通过设计和实现无线控制智能小车测试平台,来尝试一种利用示教实例来进行“大学生创新实训”课的实验教学方法。
本示教实例是以智能小车为载体,让学生能够了解和掌握以下知识:
(1)单片机类控制芯片以及其最小系统的硬件设计方法;
(2)单片机类控制芯片的软件编程方法;
(3)单片机类控制芯片与其他传感器及硬件之前的连接以及数据传输方式;
(4)下位机与上位机之间通信方式的设计和实现,利用LabVIEW虚拟仪器来控制下位机并显示传输来的数据;
(5)LabVIEW虚拟仪器编程及面板设计方法。
由于智能小车的开发和应用涉及到传感技术、单片机技术、控制技术、智能控制以及上位机通信等知识,目前,该智能小车测试平台已经在大学生创新实践类课程中作为示教实例多次使用,提高了学生对多种知识的综合利用和实践,教学效果明显,很多学生以该示教实例为模板,构造相似结构的开发系统,如“智能家居监控系统”、“智能教室”“搜救机器人”等项目,并申请了学生创新实训项目。
参考文献:
[1]杜新强,冶雪艳.从大学生创新实验项目谈学生创新能力的培养[J].黑龙江:黑龙江教育 (高教研究与评估),2013,1:47-48.
[2]刘长宏,李晓辉等.大学生创新创业训练计划项目的实践与探索[J].上海:实验室研究与探索,2014,33(5):163-166.
[3]李丽洁,施 瑞,陈树森.大学生创新实验项目中的实验教学[J].北京:实验技术与管理,2011,28( 3) : 162-164.
[4]张友琴,王 萍,朱昌平,朱 晖.以大学生创新性实验计划为契机培养创新型人才[J].北京:实验技术与管理,2011,28( 7) : 167-170.
[5]张建宏. 虚拟仪器技术及其应用前景[J]. 太原:电力学报,2007,22(3):354-355.
[6]王超,李可,杜奔新.虚拟仪器技术在实验室的应用与研究[J]. 北京:实验技术与管理,2013,30(12):105-107.
[7]武奇生,白璘,惠萌,巨永锋.基于ARM的单片机应用及实践:STM32案例式教学[M]. 北京: 机械工业出版社,2014.
[8]张金.LabVIEW程序设计与应用[M].北京: 电子工业出版社,2015.263-268.
[9]胡杰.基于16位单片机MC9S12DG128智能模型车系统开发研究[D].武汉:武汉理工大学,2008.
[10]范君乐,王竹林. 基于LabVIEW的远程测控系统[J]. 北京:科学技术与工程,2006,6(20):3362-3364.
[11]栗美艳. 采用虚拟测控软件LabVIEW实现控制系统的监控功能[D]. 大连:大连交通大学,2005.
[12]郝雯娟,张祺.教学用风力发电系统虚拟实验台的设计与实现[J].北京:实验技术与管理,2016,33(2):97-99.