APP下载

基于LEGOEV3的单摆测量重力加速度实验设计

2017-07-05贺思源

电子技术与软件工程 2017年12期

贺思源

摘 要利用单摆测量重力加速度实验是高中物理一项重要的实验内容。实验中,通常使用秒表测量单摆运动时间,人工计数摆动次数,该方法简单有效,但由于人为因素的影响,往往使单摆的运动周期测量产生较大误差,从而使重力加速度的测量出现较大偏差。为减小该方法所带来的测量误差,本文提出了一种利用LEGO EV3控制模块和颜色传感器,通过RobotC编程进行单摆重力加速度测量的方案,实验证明该方法能够有效降低了测量误差,提高了测量的精度。

【关键词】单摆实验 LEGO EV3 RobotC编程

1 引言

在利用单摆测量重力加速度的实验中,需要测量单摆的运动周期。通常的方法是人工计数摆球运动周期次数,利用秒表计总时间,最后根据公式(1)求出单摆的运动周期。

(1)

式中T为单摆運动周期,N为单摆的运动周期数, 为运动总时间。求出T后,根据公式(2)即可求得重力加速度g。

(2)

在该实验中,由于是人工使用秒表计时,计时的起点位置和终点位置不可能完全重合,会引起T产生较大误差,从而给g的测量带来较大误差。

2 方案设计

为了减小单摆运动周期测不准所引起的误差,就需要改变计时方法,提高摆球运动周期的测量精度。为此,利用LEGO EV3控制器及其颜色传感器设计了一种自动测量单摆运动周期,计算重力加速度的实验方案。

LEGO EV3是一款可编程Lego机器人控制器,有4个传感器输入端口和4个输出端口,支持USB、蓝牙、Wi-Fi与电脑通迅。4个传感器输入端口可以连接超声波传感器(45504)、颜色传感器(45506)、陀螺仪(45505)和触碰传感器(45507),其中颜色传感器不仅可以测量物体的颜色,还可以像光电传感器一样测量光的反射值。

在新的单摆法测量重力加速度实验方案中,保持单摆装置不变,取消了秒表,增加LEGO EV3控制器和颜色传感器等实验器材。实验中,通过LEGO EV3控制器控制颜色传感器,测量单摆的摆球经过颜色传感器时反射光的变化,计数摆球的摆动次数,同时对摆球运动计时,然后根据摆动次数和时间自动计算单摆的运动周期和重力加速度值,并在LEGO EV3控制器上显示出周期T、单摆运动时间t和重力加速度g。

3 程序设计

使用LEGO EV3控制器控制颜色传感器进行单摆重力加速度测量之前,首先需要进行测量程序的设计,对LEGO EV3 进行编程,编写自动完成T和g测量的程序。有多种编程语言支持对LEGO EV3 编程,如基于LabView的图形化编程语言,RobotC,LeJos等。这里采用RobotC进行该实验程序的编写,RobotC是由卡耐基梅隆大学机器人学院开发的基于C语言的一种机器人专用语言,可支持多种机器人平台。

测量程序首先进行初始化,为颜色传感器分配输入端口,并设置计时器;控制颜色传感器测量反射光的变化;根据颜色传感器的测量结果和计时器的值,自动计算T和g,并在LEGO EV3的显示屏上显示出来。测量测序流程如图1所示。

在使用RobotC编写控制程序时,首先需要在RobotC开发环境中选择平台类型(Platform Type),如LEGO Mindstorms EV3和LEGO Mindstrorms NXT。这里采用的是LEGO EV3,所以要将平台类型设为LEGO Mindstorms EV3;然后设置传感器端口,按照颜色传感器连接到的端口进行相应的设置;设置完成后,即可进行程序的编制。程序编写完成后,使用RobotC的编译器(Compile Program)对程序进行编译,编译通过后,通过固件下载(Firmware Download)功能将程序下载到LEGO EV3,按下启动按键,程序开始运行,LEGO EV3自动进行单摆运动周期测量和重力加速度的测量。

4 实验步骤

首先让摆球处于静止状态并保持在M点处(如图1),将颜色传感器通过数据线连接到LEGO EV3的输入端口上,并将其对准摆球中心,使摆球和颜色传感器的处于同一水平面上。为保证颜色传感器能有效探测和识别摆球,摆球与颜色传感器之间的距离应保持在1cm之内。将摆球偏离静止位置一定角度(不大于10°),放开摆球,让摆球在垂直平面上运动,且该平面垂直于M点与颜色传感器的连线。

启动已下载到LEGO EV3中的单摆加速度测量程序,LEGO EV3控制颜色传感器开始测量摆球的运动周期。当摆球没有运动到M点时,由于颜色传感器不能收到足够强的反射光,颜色传感器上报给LEGO EV3的测量值为0。当摆球到达M点时,颜色传感器由于收到摆球的反射光线,其上报给LEGO EV3的测量值要不为0,此时程序就会在摆球的运动次数上加1,同时启动内部定时器计时。此后,摆球每通过M点一次,程序就会自动在运动次数上加1,同时计算摆球运动的周期数和所用的时间,并计算摆球的运动周期和重力加速度值,最后将计算结果显示在LEGO EV3显示屏上。

在该实验中,由于颜色传感器所发出是一定直径的光束,若摆球直径太大,远大于光束直径时,就不能保证每次摆球运动到M点时,颜色传感器的测量位置相同,从而造成摆球运动周期测量误差增大。所以摆球的选取原则是应尽可能小,但是又不能太小,摆球太小时,其反射的光太弱,低于颜色传感器检测能力,造成漏检。因此摆球的选取以摆球经过M点时,颜色传感器测量值发生微小变化为宜。

该实验中,LEGO EV3 的定时精度可以到1个毫秒,远高于秒表的测时精度,大大提高了单摆运动周期测量的准确性。

5 结束语

利用LEGO EV3 及其颜色传感器进行重力加速度测量,减小了测量误差,提高了测量精度,是LEGO EV3 控制模块及其传感器在物理实验中的一次成功应用,为其在其他物理实验和生活中的应用提供了思路。

参考文献

[1]郑剑春著.ROBOTC与机器人程序设计[M].北京:清华大学出版社,2013.

[2]甘辰予,陈劲生.LEGO智能除冰机器人的设计[J].大众科技,2009(10).

[3]李乾华,程立英,张志美等.基于LEGO的“环保卫士”机器人设计[J].硅谷,2013.

作者单位

郑州市第一中学 河南省郑州市 450007