“用单摆测量重力加速度”是人教版(2019)高中物理选择性必修第一册第二章第5节的内容。
本节课将通过利用DIS实验技术与传统的实验方法相结合进行“单摆法测重力加速度”。
在日常的中学物理教学中,引导学生建立物理概念和掌握物理规律是教师的主要工作,而以学生分组实验的形式进行教学是一种很好的手段。但是对于一些传统的学生分组实验,实验存在无法克服的系统误差,其实验的数据往往和理论值相差较大。这样,实验的说服力就较弱了,往往让授课教师的处境非常尴尬。
在“单摆法测重力加速度”这个学生分组实验中,我们在结合传统的实验基础上,再利用DIS实验技术进行“单摆法测重力加速度”,这样可以取得更明显的实验效果。
"DIS" 是英文"DigitalInformation System"的缩写,又称“数字化信息系统”。是由“传感器+数据采集器+实验软件包(教材专用软件、通用扩展软件)+计算机”构成的新型实验系统。在物理学中有很多物理量,如距离、位移、力、速度、温度、压强、电压、电流、等,都可以用DIS进行测量。该系统成功地克服了传统物理实验仪器的诸多弊端,有力地支持了信息技术与物理教学的全面整合。
教师准备:本节课使用国产开源硬件“行空板”,在传统学生分组实验中,“行空板”做为秒表,学生利用此“秒表”手动记录单摆周期。在DIS实验中,采用行空板、光电传感器实验器材,使小球摆动时在最低点通过光电传感器,由行空板直接显示单摆周期,计算重力加速度,并可以将每个周期记录在电子表格中。
了解光电传感器的使用,学习用行空板数字化信息系统获得数据并处理数据的方法。
当摆角较小时(小于5°),单摆做简谐运动,单摆周期跟单摆的摆线长度和当地的重力加速度有关。
根据单摆的周期公式:
可得:
实验架台、刻度尺、行空板、光电传感器、按钮、数据线、计算机、摆线、小球、量角器。
让线的一端系在小球上,把线的上端结点与量角器中心对齐(用来测量摆角),让摆球自由下垂,在单摆平衡位置处安装光电传感器。
1. 实物图
2. 电路图
光电传感器接行空板引脚22,按钮1、按钮2分别接引脚21、引脚23。
方法一:用刻度尺直接侧量小球球心与悬挂点之间的距离作为摆长l。
方法二:用游标卡尺测量小球的直径d,用刻度尺测量悬挂点与小球上端之间的距离l′,则摆长l=l′+d/2。
方法三:用刻度尺先测量悬挂点与小球上端之间的距离l1,再测量悬挂点与小球下端之间的距离l2,则可得摆长l=( l1+l2)/2。
测量本次实验摆线的长度L为0.5361米)。
1. 传统实验方法
学生分组实验,用行空板秒表测量单摆的周期。将单摆从平衡位置拉开一个角度,且满足偏角小于5°,然后释放摆球,当单摆摆动稳定后,用行空板秒表测量单摆完成30次(或50次)全振动的时间t。计算出平均摆动一次的时间T=t/n,即为单摆的振动周期T。改变摆长,重复实验多次。将每次实验得到的T代入公式g=4π²L/T²,计算重力加速度。
有关行空板秒表图形化程序,具体如下图所示:
利用行空板实时显示秒表时间,点击引脚23上按钮记录周期时间,并将周期时间保存到列表中。点击引脚21上按钮,可回看保存的周期时间。
from pinpong.extension.unihiker import *from pinpong.board import Board,Pinfrom unihiker import GUIimport timeimport math
def JieMianChuShiHua(): global 时钟,分,秒,毫秒,序号 时钟=u_gui.fill_clock(x=120,y=200,r=100,color="#FF0000",fill="#FFFF00") 分=u_gui.draw_digit(text="00",x=10,y=20,font_size=40, color="#0000FF") 标签1=u_gui.draw_digit(text=":",x=50,y=20,font_size=40, color="#0000FF") 秒=u_gui.draw_digit(text="00",x=90,y=20,font_size=40, color="#0000FF") 标签2=u_gui.draw_digit(text=":",x=130,y=20,font_size=40, color="#0000FF") 毫秒=u_gui.draw_digit(text="00",x=170,y=20,font_size=40, color="#0000FF") 时钟.config(h=0,m=0,s=0) 序号=u_gui.draw_text(text="",x=190,y=70,font_size=20, color="#000000")def ShiJianXianShiFuWei(): 时钟.config(h=0,m=0,s=0) 分.config(text="00") 秒.config(text="00") 毫秒.config(text="00")def ShiJianXianShi(): global YunXingShiJian,HaoMiao,Miao,FenZhong HaoMiao = ((time.time() - YunXingShiJian) * 100) 毫秒.config(text=(math.floor(HaoMiao))) if (HaoMiao > 99): YunXingShiJian = time.time() Miao = (Miao + 1) if (Miao < 10): 秒.config(text=(str("0") + str(Miao))) else: 秒.config(text=Miao) 时钟.config(h=0,m=FenZhong,s=Miao) if (Miao == 60): Miao = 0 FenZhong = (FenZhong + 1) if (FenZhong < 10): 分.config(text=(str("0") + str(FenZhong))) else: 分.config(text=FenZhong) 时钟.config(h=0,m=FenZhong,s=Miao)def HuiXianShiJian(): global JiLuXuHao if (JiLuXuHao > (len(LieBiaoFenZhong) - 1)): JiLuXuHao = 0 序号.config(text=(JiLuXuHao + 1)) LinShiFenZhong = (int(float((LieBiaoFenZhong[JiLuXuHao])))) LinShiMiao = (int(float((LieBiaoMiao[JiLuXuHao])))) LinShiHaoMiao = (LieBiaoHaoMiao[JiLuXuHao]) 毫秒.config(text=LinShiHaoMiao) if (LinShiMiao < 10): 秒.config(text=(str("0") + str(LinShiMiao))) else: 秒.config(text=LinShiMiao) if (LinShiFenZhong < 10): 分.config(text=(str("0") + str(LinShiFenZhong))) else: 分.config(text=LinShiFenZhong) 时钟.config(h=0,m=LinShiFenZhong,s=LinShiMiao) JiLuXuHao = (JiLuXuHao + 1)
Board().begin()u_gui=GUI()p_p23_in=Pin(Pin.P23, Pin.IN)p_p21_in=Pin(Pin.P21, Pin.IN)QiDongBiaoShi = 0HuiKanBiaoShi = 0JiLuXuHao = 0HaoMiao = 0Miao = 0FenZhong = 0LieBiaoFenZhong = []LieBiaoMiao = []LieBiaoHaoMiao = []JieMianChuShiHua()
while True: if (p_p23_in.read_digital()==True): if (QiDongBiaoShi == 0): ShiJianXianShiFuWei() QiDongBiaoShi = 1 YunXingShiJian = time.time() else: ShiJianXianShi() else: if (QiDongBiaoShi == 1): LieBiaoFenZhong.append(FenZhong) LieBiaoMiao.append(Miao) LieBiaoHaoMiao.append((math.floor(HaoMiao))) 序号.config(text=(JiLuXuHao + 1)) JiLuXuHao = (JiLuXuHao + 1) QiDongBiaoShi = 0 HaoMiao = 0 Miao = 0 if (p_p21_in.read_digital()==True): if (HuiKanBiaoShi == 0): HuiKanBiaoShi = 1 HuiXianShiJian() else: if (HuiKanBiaoShi == 1): HuiKanBiaoShi = 0 HuiXianShiJian()
2. DIS实验过程
1)将光电门传感器固定在单摆的平衡位置处并将其接入行空板22引脚。
2)在行空板主菜单使用“切换运行程序”,点击“单摆测重力加速度”程序。
3)逐步调整传感器的位置和单摆摆长,使摆球通过传感器并能够顺利挡光。
4)用手使摆球摆动,点击连接行空板引脚23的按钮,屏幕显示“已启动”,此时,行空板将会自动记录单摆的周期,每一组记录20个周期。
再次点击“按钮”,行空板会在完成记录当前组的20个周期后,停止记录数据。

显示平均周期及重力加速度,并将数据保存到电子表格文件“单摆测重力加速度.xls”。
5)比较实验中测得的重力加速度与当地实际重力加速度值的差别。(实验地:河北张家口,9.800)
有关,具体如下图所示:
通过光电传感器,判断小球经过最低点,记录单摆周期。并通过扩展xlwt将周期时间记录在电子表格中。
from pinpong.extension.unihiker import *from pinpong.board import Board,Pinfrom unihiker import GUIimport timeimport math
def ZhouQiBaoCun(): global XingHao global LieHao global JiShu global QiDongBiaoShi global ChuanGanQiBiaoShi global ZhouQiLeiJi if ((QiDongBiaoShi == 1) or ((LieHao > 0) and (LieHao < 20))): if (p_p22_in.read_digital()==True): if (ChuanGanQiBiaoShi == 0): ChuanGanQiBiaoShi = 1 JiShu = (JiShu + 1) if (JiShu == 2): JiShu = 0 ZhouQiJiSuan() else: ChuanGanQiBiaoShi = 0 else: if (QiDongBiaoShi == 2): 启动.config(text="已完成") 组别.config(text="") 次数.config(text="") ZuiZhongZhouQi = round((ZhouQiLeiJi / (XingHao * 20)),2) 最终周期=u_gui.draw_digit(text=ZuiZhongZhouQi,x=10,y=200,font_size=30, color="#0000FF") ZhongLiJiaSuDu = round((((4 * (math.pi**2)) * 0.5361) / (ZuiZhongZhouQi**2)),4) 重力加速度=u_gui.draw_digit(text=ZhongLiJiaSuDu,x=120,y=240,font_size=30, color="#FF0000") fp.save("重力加速度.xls")def QiDongPanDuan(): global QiDongBiaoShi if (p_p23_in.read_digital()==True): if (QiDongBiaoShi == 0): 启动.config(text="已启动") 组别.config(text="第1组") QiDongBiaoShi = 1 else: if (QiDongBiaoShi == 1): QiDongBiaoShi = 2def ZhouQiJiSuan(): global YunXingShiJian,ZhouQiShiJian,ZhouQiLeiJi,XingHao,LieHao if (YunXingShiJian == 0): YunXingShiJian = time.time() else: ZhouQiShiJian = (time.time() - YunXingShiJian) ZhouQiLeiJi = (ZhouQiLeiJi + ZhouQiShiJian) 周期.config(text=round(ZhouQiShiJian,2)) YunXingShiJian = time.time() table.write(XingHao, LieHao, ZhouQiShiJian, style=mindStyle) LieHao = (LieHao + 1) 次数.config(text=(str("第") + str((str(LieHao) + str("个"))))) if (LieHao > 19): XingHao = (XingHao + 1) LieHao = 0 组别.config(text=(str("第") + str((str((XingHao + 1)) + str("组")))))
u_gui=GUI()Board().begin()import xlwtp_p22_in=Pin(Pin.P22, Pin.IN)p_p23_in=Pin(Pin.P23, Pin.IN)YangShi = "font: name Times New Roman, color-index red, bold on"fp = xlwt.Workbook(encoding="ascii")mindStyle = xlwt.easyxf(strg_to_parse=YangShi, num_format_str="0.0000")table = fp.add_sheet(sheetname="重力加速度", cell_overwrite_ok=True)YunXingShiJian = 0JiShu = 0ZhouQiLeiJi = 0ChuanGanQiBiaoShi = 0QiDongBiaoShi = 0XingHao = 0LieHao = 0标签1=u_gui.draw_text(text="实时周期:",x=5,y=20,font_size=20, color="#0000FF")周期=u_gui.draw_text(text="",x=140,y=20,font_size=20, color="#0000FF")启动=u_gui.draw_text(text="未启动",x=80,y=280,font_size=20, color="#0000FF")标签2=u_gui.draw_text(text="当前组别:",x=5,y=80,font_size=20, color="#0000FF")组别=u_gui.draw_text(text="",x=140,y=80,font_size=20, color="#0000FF")标签3=u_gui.draw_text(text="当前次数:",x=5,y=120,font_size=20, color="#0000FF")次数=u_gui.draw_text(text="",x=140,y=120,font_size=20, color="#0000FF")
while True: QiDongPanDuan() ZhouQiBaoCun()
摆线应选择细、轻而且不易伸长的,长度为1m左右的,不要过长或过短,太长测量不方便,太短摆动太快,不易计数。小球应选体积小、密度大的金属球,这样可以减小空气阻力的影响。
单摆摆线的上端应夹紧,不能卷在铁夹的杆上,以免造成悬点不固定,摆长变化的现象。
摆长要悬挂好摆球后再测,不要先测摆长再系小球,因为悬挂摆球后细绳会发生形变。测量摆长时应注意是悬点到球心的距离,等于摆线长加上小球半径。注意摆线长与摆长的区别。
要使单摆在竖直平面内摆动,不要形成圆锥摆。摆角要小于5°(中学阶段实验时不要超过15°),不要过大,因为摆角过大,单摆的振动不再是简谐运动,公式就不再适用。
计算单摆的振动次数时,应从小球通过最低位置(平衡位置)时开始计时,同方向再次通过最低位置时累加计数。
同学们分组合作讨论,自己设计一个测重力加速度的DIS实验。
根据自由落体公式:h=1/2gt²,得g=2h/t²。在铁架台顶固定电磁铁吸引金属小球,行空板控制电磁铁断电记时,当小球撞击地面,利用行空板声音传感器接收信号,并停止记时,得自由落体时间t,再结合已测量的下落高度h,根据公式计算重力加速度g。
结合打点记时器测重力加速度的方法,利用行空板连接USB摄像头,以相同的时间间隔拍摄小球下落过程(背景放置刻度尺),利用图处理技术,将所有照片叠加在一起。根据打点计时器加速度的公式△x=aT²,计算重力加速度。
DIS实验技术可以准确地描述各个物理量之间的关系,体现现代科学技术准确性高的特点,是以后中学物理教学的常见模式。同时,我们也不可以全盘否定传统的物理实验,本节课就是尝试着将二者相互结合,使二者互相补充。既使学生加深了对实验原理的理解,也提高了实验数据处理的准确性。
点击 “阅读原文” 了解更多!