利用Phyphox和ESP32蓝牙描绘电源路端电压与外电阻的关系曲线
1 引言
在做了“描绘电源的P-R特性曲线”实验之后,利用原有电路,仅仅对实验源代码进行了些许修改,微主又做了“描绘电源输出电压与外电阻的关系曲线”的实验,非常成功。
2 闭合电路实验搭建
将阻值为10欧姆的定值电阻与总阻值为200欧姆的电位计构成串联回路两端分别与ESP32开发板上的5伏电源脚和GND脚相连,参考图示搭建好实验电路。
3 代码编写与烧录
利用IO33脚采集电位计两端的电压,作为路端电压;用5伏电压与电位计两端电压的差值得到定值电阻r两端的电压,利用欧姆定律得到定值电阻r内部的电流,即电源电流;利用路端电压和电流,可以计算出电源输出功率和外电阻。
将下列Phyphox手机实验源代码烧录到ESP32中。
/*
描绘等效电源的U-R特性曲线。
*/
#include <phyphoxBle.h>
int Pin1 = 33;//读入等效电源路端电压
float It = 0;//待测等效电源内部电流
float Vt = 0;//待测路端电压
float R = 0;//待测外电阻
float r = 10.0; //等效电源内阻
void setup()
{
PhyphoxBLE::start("Phyphox蓝牙实验");
PhyphoxBleExperiment plotPhotoResistor;
plotPhotoResistor.setTitle("描绘电源U-R特性曲线");
plotPhotoResistor.setCategory("Phyphox蓝牙实验");
plotPhotoResistor.setDescription("本实验用定值电阻r与ESP32的5伏电源串联构成等效电源,测量等效电源的外电阻和路端电压,描绘出电源路端电压的U-R特性曲线。");
//View
PhyphoxBleExperiment::View firstView;
firstView.setLabel("MyView"); //Create a "view"
//Graph
PhyphoxBleExperiment::Graph firstGraph;
firstGraph.setLabel("电源U-R特性曲线");
firstGraph.setUnitX("R");
firstGraph.setUnitY("U");
firstGraph.setLabelX("Ω");
firstGraph.setLabelY("V");
firstGraph.setChannel(1, 2);//启用第1,第2两个蓝牙信道
firstView.addElement(firstGraph);
plotPhotoResistor.addView(firstView);
PhyphoxBLE::addExperiment(plotPhotoResistor);
}
void loop()
{
float iVe = analogRead(Pin1) * 5.0 / 1024.0 / 4.0;//读取等效电源路端电压
if (iVe != 0.0)
{
Vt = iVe;//计算等效电源路端电压
It = (5 - iVe) / r ;//计算电源内部电流
R = Vt / It ;//测量等效电源外电阻
PhyphoxBLE::write(R,Vt);//蓝牙发送
};
delay(50);
PhyphoxBLE::poll();
}
4 实验数据采集与分析
将智能手机的蓝牙与ESP32连接,将实验加载到Phyphox系统内,运行程序,用螺丝刀小心第调节电位计的阻值,手机屏幕上就自动绘制出了等效电源的路端电压随外电阻的变化曲线。
实验图像
展成全屏
非常明显:电源路端电压随着外电阻的增大而增大,并最终趋近于电源电动势。