用温度传感器让水的沸腾实验自动化
一、缘起
在物理教学中,物理实验是重中之重。物理实验是物理学科的特色,是物理之所以称为科学的根本所在。现在的物理课本中,各种实验依然在使用着几十年前的实验器材和方案。但在现实的物理研究中,信息化技术,各种传感器早以是实验必备的工具了。在知网中查询可发现,物理教学中使用信息技术和传感器的探索研究已经达到了数百篇。可见物理实验中应用信息技术和传感器,是一种趋势,是未来物理教学中必然会增加的教学手段。
初中物理“水的沸腾”实验,需要将适量的水用酒精灯加热到沸腾,是一个比较费时的实验。“水的沸腾”实验在八年级物理上册书中,讲到这一节时已经接近冬季,外界温度较低,将水由常温用酒精灯加热到沸腾需要25分钟甚至更长的时间。一节45分钟的课程,几乎无法在课堂上完成这一实验。
“水的沸腾”实验过程不仅要记录时间、温度,还有许多细微的现象需要观察。同时注意多个数据和现象,这时往往会出现顾此失彼,遗漏掉一些应该注意到的事项。
基于以上原因,经过探索研究,设计出了以下的实验改进方案:
1.使用锥形瓶减少水量。
2.使用橡皮塞,并在上面打孔,减少热量的散失。
3.使用80℃左右的热水,减少加热时间。
4.使用温度传感器,并在电脑上实时自动采集温度变化,完成记录表格和折线统计图。
若能将上述设计加以实现,必能解决上面的诸多问题。
在物理实验中使用温度传感器,是本实验的一个亮点。本人也是第一次接触温度传感器,对我来说也是一次挑战。上面的实验设计中不仅包含了硬件上需求,还有编写Arduino程序和Windows程序,这一过程不仅花费了我数十个小时,更是碰到了许多的问题。现在本人将这一摸索过程记录下来,同大家共同交流。
二、系统设计
以前虽然没有使用过开发板,但对开发板的工作原理还是了解一些的。经和信息技术教师讨论,确定自动测温系统结构组成如下:
硬件组成
1.温度传感器
2.Arduino开发板
3.电脑
软件组成
1.Arduino程序
2.PC软件
系统工作过程
PC软件通过串口定时向Arduino开发板请求温度数据,Arduino开发板接到请求后,从温度传感器获取当前温度,并返回给PC软件。PC软件获取数据后,按要求填入表格,并动态绘制折线图。
三、系统实现过程纪实
理想很丰满,现实很骨感。自动测温系统的实现过程也有着几个小波折。
1.温度传感器的购买
有了在教学中使用温度传感器的想法之后,就在淘宝上进行的查询搜索,最终选择了DS18B20这种温度传感器,并且传感器+数据线+转换模拟共8.6元的价格让我松了口气。于是就果断拍下了下来。
在拍下这个传感器后,又向老板问了一些问题。学习到三个引脚的作用:DAT数据引脚、VCC电源引脚、GND接地线。并得到了一个不太好的消息,这款传感器的外包线材质为PVC,PVC在80℃以上就会变形,要想测量沸水的温度,需要使用耐高温的硅胶线,并且老板这里没有这种线。为了保险,我又找了一家,购买了前端探头不锈钢加长到15厘米,线为硅胶材料,并且线长1.5米的DS18B20温度传感器。这次又花费15元。购买温度传感器共花去23.6元,均为自费。
2.Arduino开发板的驱动安装
温度传感器到手后,从学校借到Arduino开发板,并向管理老师简单询问了一下使用方法。提心吊胆的把线路连接了起来,十分担心把板子给弄坏了。最后鼓足勇气,把板子通过USB连到了电脑上。开发板的灯终于亮了起来,但在设备管理器那个地方出现了一个惊叹号,驱动程序没有按管理人员说的那样自动安装好。后又向管理人员询问解决办法,得到的回复是,他那里是正常的,他也不知道如何解决这个问题。经过百度,终于知道原来我的系统中缺少文件。分别将网上找来的mdmcpq.inf和usbser.sys放到正确的位置,并按网上的教程再次安装驱动,终于安装好了。这个过程花了我近3个小时。
3.Arduino程序开发
从网上下载了可拖拽编程的Arduino集成开发环境Mid+。以前没用过个IDE,但用过Scratch。没有看教程,凭借自己多年的编程经验,经过近1个小时的摸索尝试,终于写出了一个10行左右的代码。
编写程序的过程大概如下:先选择DS18B20传感器模块;循环从串口中读取信号;如果读到信号,就从传感器获取温度响应,通过串口发送出去。
如果现在再去写这段程序,估计也就几分钟的事。写完代码,将代码烧录到开发板上,打开串口监视器,可以看到开发板能够按要求返回温度数据。
4.PC软件开发
PC软件开发我较为熟练,一切都轻车熟路。本软件用Visual Studio 2019 C#开发。
首选设计出了程序界面,如下图:
添加一个定时器控件,定时向Arduino发送请求,获取数据。代码如下:
private void timer1_Tick(object sender, EventArgs e)
{
pchReceive.SendData("1");
}
接收到返回数据后,动态添加到折线图中,并每隔30秒将当时的温度数据添加到表格中。代码如下:
/// <summary>
/// 众串口接收的数据
/// </summary>
/// <param name="data"></param>
private void ComReceiveData(string data)
{
this.Invoke(new EventHandler(delegate
{
double wd = double.Parse(data);
if (sec % 30 == 0) // 每30秒向表格添加一次数据
{
ListViewItem item = lv_table.Items[0];
item.SubItems[sec/30+1].Text = wd.ToString();
lv_table.Update();
}
//向折线图添加数据
chart1.Series[SeriesName].Points.AddXY(sj, wd);
}));
}
PC软件虽然轻车熟路,但工作量明显是最大的,前后花费有6个多小时。
四、实验的实施与不足
经过反复调试后,所有设备和程序都能正常稳定的工作了。将设备组装起来,实际进行了一次“水的沸腾”实验,实验很成功。只用了3.5分钟就让水沸腾了。表格中自动记录了温度,折线图也十分明显的表现出了沸腾的温度特点。学生和教师都能腾出更多的时间去观察和解释实验现象,使课堂变得更加轻快。
在实验中也发现了两点不足之处:
1. 程序自动记录的数据显示,在96℃时,水就开始沸腾了。对于这个问题,还需要分析解释出现这一问的原因是因为测温的延迟。
2. 购买的温度传感器的精度不够,误差较大。
五、结论
这是一次充满波折,但又十分有趣的尝试。这是我在一穷二白,从没用过开发板的情况下,第一次将传感器和创客板应用到了物理课堂教学中。在本实验中使用温度传感器,使课堂变得更加轻松,减少了那些机械性的重复工作,可以把学生和教师的精力重点放到更加有趣和重要的实验现象中。然后利用自动记录的数据和图表,对实验中观察到的现象进行分析,使得相关知识的讲授更加轻松自然,简单易行,丰富多彩。实际也表明,在物理课课堂中使用恰当的信息技术手段和传感器,对提高教学效果有着明显的作用。让我们的课堂进一步的面向现代化,面向未来。
| 创客焦作 |
河南创客焦作是焦作市创客教育名师工作室的微信公众平台,以创客教育为主要研究方向,分享创客案例,讲解创新方法,启迪创意设计,开展科学探究,组织社会调查,指导论文写作,参加创客大赛和专利申请,发现、培养和成就一批具有创新潜质的学生。
河南公众号码:chuangkejiaozuo
河南名师博客:http://blog.sina.com.cn/updays