ESP32&Phyphox能直接测量负电压吗
ESP32&Phyphox能直接测量负电压吗
ESP32&Phyphox的电流、电阻以及其他一些物理的测量与表现,其实本质都是电压的测量,或者说是某一只引脚相对于地(GND)的电势的测量。所以只要能让Phyphox借助ESP32测量外部待测物理量转化后所对应的电压,这个物理实验就能进入Phyphox的范畴。
对断电自感及交变电流实验,电路元件上会出现电势由“左高右低”到“左低右高”的变换,ESP32要在一个时间里测量负电压。但是ESP32(以及Arduino等绝大部分的单片机)是不能直接测量负电压的,也就是某只引脚电压相对地为负,那么ESP32会将其处理为零。ESP32不主张这种做法——ESP32的一些引脚不允许有大的输入电流,可能会损坏开发板。
测量负电压较好的处理办法是,直接使用ADS1115,精度很高,结构简单,经济实惠。另一个办法是使用加法器,把待测电压和一个大一些的直流电压都输入放大器,之后再减去直流。可以用三极管搭,也可以找这种现成的功放板。这种小板子有很多卖的,可是ADS1115仍显得方便。
问题是,如果把原理极简化,只是针对中学生对象讲解中学物理实验,在稍稍提高一点分压电路的知识原理里面,是否有方案呢?确实是有的。我们把电压直接用ESP32的5V电压引出脚抬升起来就行了。电路图和在Multisim的仿真情况,如图1。
图1 电路图与仿真
R1、R2这两只分压电阻应该不能太大(我没有尝试其他值),如果太大可能会使驱动电流过小,而造成在IO33引脚上测量的电压维持在VCC的5V上不变。
从原理上,有、,得到,显然测量范围可以在正、负5V之间。
现在,仍然用以前的Phyphox电压表来测量IO33上的电压。测一节干电池的负电压,如图2、图3。
图2 反接一节干电池,负压被抬升
图3 反接一节干电池,运算后的数值
接下来,直接把输入端短接,令输入电压为零,得到输出电压1.96V;用精度高一些的电压表测量干电池两端的电动势,1.60V,输入,得到输出电压1.10V。因为、是线性关系,计算得到。如图4。
图4 实测输入输出电压的换算关系
以下的事情我没做,但这必须是要做的。
我们用仿真做的东西,只是看看原理能不能过,而在真实的实验中,电阻的精度、接触电阻、电源的性能甚至导线的长短等,都会对测量结果产生一些影响。需要校准。象图5那样,直接找个双踪示波器,或者多路的数字万用表,直接把输入输出两个端子夹上,使出来微调偏压电阻等等手段,调整完毕,标上级别,这个ESP32就尽量别再动了,这样可以回避一些面包板上插孔松脱等问题。再到Phyphox Editor里面把界面整理整理,这个电压表,要比前面那些电压表完美一些,因为它能测负电压了。
图5 可测负电压电表的校准
刚接触ESP32的时候,买过的两块板,都是自带标准+5V输出的36引脚版本,近期才知道还有一种30引脚版本。本来以后30引脚的3V3引脚只能输出3.3V,结果测量之下,竟然输出的是5.0V!也是很有趣的现象。
本实验研究的电路实物图,如图6。
图6 可测负电压的ESP32&Phyphox电压表实物