【选自】人教版高中物理选修3-1
一、实验背景
我们通过电学知识知道,当一个电器被加上额定电压后会正常工作,当加上低于额定电压后也会工作,加上稍高于额定电压的电压也是能工作的。那么,在加上不同的电压后,通过电器的电流又如何呢,它与电压间的关系如何呢?我们可否让电器工作在超负荷状态或者低电压状态呢?本次实验我们将通过探究小灯泡伏安特性曲线来解决这些问题。
在传统的实验方法中,是采用电压表和电流表来测量小灯泡的电压值和电流值,但是本实验直接采用Arduino开发板和I2C数字功率计测量小灯泡的电压值和电流值。
二、实验目的
通过实验描绘小灯泡的伏安特性曲线;根据伏安特性曲线分析电流随电压变化的规律。
三、实验原理
实验电路图如下图所示,通过调节滑动变阻器的滑片位置,利用电流表和电压表测出多组小灯泡的电流和电压值。在Excel表格中以电流I为纵轴,以电压U为横轴画出I-U曲线。
在纯电阻电路里,根据部分电路欧姆定律I=U/R可知:当电阻值恒定时,通过电阻的电流I和电阻两端的电压U呈线性关系,也就是I-U曲线时一条通过原点的直线。
由电阻定律知道,导体的电阻会随着温度的变化而变化,如果温度变化不大,一般导体的电阻变化很小,可以认为导体的电阻时没有改变的。但是,在本实验中,小灯泡由暗逐渐变化到正常发光,温度发生了很大的变化,所以灯丝电阻也就发生了较大的变化。这样,在灯泡两端的电压由小变化到额定电压时,描绘出小灯泡的伏安特性曲线就不是一条直线,而是一条曲线。
为了使曲线画得较准确,实验中读取较为平稳的16组不同的电压值和电流值。同时要求小灯泡两端的电压变化范围尽可能大一些,所以滑动变阻器使用分压式接法。
四、实验准备 ·
材料清单
- Arduino UNO开发板 X1
- I2C数字功率计 X1
- 数字万用表 X1
- 滑动变阻器 X1
- 直流小电机 X1
- 220欧姆定值电阻 X2
- 2.5V小灯泡 X1
- 导线 X1
·数字功率计简介
Gravity:I2C数字功率计是一款可测量26V 8A以内各类电子模块、用电设备的电压、电流和功率,最大相对误差不超过±0.2%的高分辨、高精度、大量程测量模块(使用前需进行一次简单的手动校准)。
·数字功率计校准
实际测量环境中,电流和电压测量误差的来源很多,但电压测量无需校准,而电流测量误差主要来源于采样电阻阻值的误差,其会对电流测量产生较为明显的影响。若不进行校准,电流最大测量相对误差不超过3%,若使用高精度万用表或电子负载进行如下单点线性校准,可有效消除系统线性误差,使模块的最大相对误差
可如上图将Arduino UNO、万用表(调节至电流档)和负载(本试验校准使用小型直流电机)。同样,将下面的样例代码烧录到Arduino UNO中,根据串口打印的电流值修改代码中变量“float ina219Reading_mA = 1000;”的值,根据万用表的电流值修改代码中变量“float extMeterReading_mA = 1000;”的值,即完成模块的单点线性校准。
/*!
file getVoltageCurrentPower.ino
SEN0291 Gravity: I2C Digital Wattmeter
The module is connected in series between the power supply and the load to read the voltage, current and power
The module has four I2C, these addresses are:
INA219_I2C_ADDRESS1 0x40 A0 = 0 A1 = 0
INA219_I2C_ADDRESS2 0x41 A0 = 1 A1 = 0
INA219_I2C_ADDRESS3 0x44 A0 = 0 A1 = 1
INA219_I2C_ADDRESS4 0x45 A0 = 1 A1 = 1
Copyright [DFRobot](http://www.dfrobot.com), 2016
Copyright GNU Lesser General Public License
version V0.1
date 2019-2-27
*/
#include <Wire.h>
#include "DFRobot_INA219.h"
DFRobot_INA219_IIC ina219(&Wire, INA219_I2C_ADDRESS4);
// Revise the following two paramters according to actula reading of the INA219 and the multimeter
// for linearly calibration
float ina219Reading_mA = 1000;
float extMeterReading_mA = 1000;
void setup(void)
{
Serial.begin(115200);
while(!Serial);
Serial.println();
while(ina219.begin() != true) {
Serial.println("INA219 begin faild");
delay(2000);
}
ina219.linearCalibrate(ina219Reading_mA, extMeterReading_mA);
Serial.println();
}
void loop(void)
{
Serial.print("BusVoltage: ");
Serial.print(ina219.getBusVoltage_V(), 2);
Serial.println("V");
Serial.print("ShuntVoltage: ");
Serial.print(ina219.getShuntVoltage_mV(), 3);
Serial.println("mV");
Serial.print("Current: ");
Serial.print(ina219.getCurrent_mA(), 1);
Serial.println("mA");
Serial.print("Power: ");
Serial.print(ina219.getPower_mW(), 1);
Serial.println("mW");
Serial.println("");
delay(1000);
}
经过上述样例代码测试结果如下:数字万用表电流读数:240mA
Arduino串口电流读数:250mA
修改Arduino程序中的ina219Reading_mA =250,extMeterReading_mA=240。再一次刷入程序,这时候,数字功率计校准的数据会自动存储在板子上,接下来的实验不用再校准。
五、实验过程
1. 按照如下电路图连接电路,使滑动变阻器滑片靠近最右端(阻值调到最大,保护电路)。
2. 打开mind+软件,进行编程,其参考代码如下所示:
注意:各个数据之间使用连接符“-”隔开;
3. 刷入并运行mind+程序,打开串口调试窗口。待电路稳定后,逐渐使滑动变阻器的滑片自右往左(数字功率计电压在0-4V的范围内)逐渐移动。
4. 实验完毕后,复制mind+串口调试窗口的数据到Excel表格,去除不稳定对实验影响较大的数据,最终保留13组数据,如下表所示。
注意:
(1) 绘制伏安特性曲线时,电流数据为横坐标,电压数据为纵坐标,数据之间使用平滑曲线连接。
(2) 复制mind+串口调试窗口的数据时,最好先保存到文本文档中,然后再使用Excel软件以连接符“-”分割的方式打开。
(3) 为了减少实验误差,需要重复进行多组实验。
(4) 在Excel表格数据处理时,需要去除不稳定对实验影响较大的数据。
六、实验结论
绘制出的图像是一条曲线,斜率随电压的增大而增大。原因是实验过程中随着小灯泡两端电压升高,灯丝温度升高,导致灯丝电阻变大。
评论