ESP32&Phyphox的電流、電阻以及其他一些物理的測量與表現,其實本質都是電壓的測量,或者說是某一隻引腳相對於地(GND)的電勢的測量。所以只要能讓Phyphox藉助ESP32測量外部待測物理量轉化後所對應的電壓,這個物理實驗就能進入Phyphox的範疇。
對斷電自感及交變電流實驗,電路元件上會出現電勢由「左高右低」到「左低右高」的變換,ESP32要在一個時間裡測量負電壓。但是ESP32(以及Arduino等絕大部分的單片機)是不能直接測量負電壓的,也就是某隻引腳電壓相對地為負,那麼ESP32會將其處理為零。ESP32不主張這種做法——ESP32的一些引腳不允許有大的輸入電流,可能會損壞開發板。
測量負電壓較好的處理辦法是,直接使用ADS1115,精度很高,結構簡單,經濟實惠。另一個辦法是使用加法器,把待測電壓和一個大一些的直流電壓都輸入放大器,之後再減去直流。可以用三極體搭,也可以找這種現成的功放板。這種小板子有很多賣的,可是ADS1115仍顯得方便。
問題是,如果把原理極簡化,只是針對中學生對象講解中學物理實驗,在稍稍提高一點分壓電路的知識原理裡面,是否有方案呢?確實是有的。我們把電壓直接用ESP32的5V電壓引出腳抬升起來就行了。電路圖和在Multisim的仿真情況,如圖1。
圖1 電路圖與仿真R1、R2這兩隻分壓電阻應該不能太大(我沒有嘗試其他值),如果太大可能會使驅動電流過小,而造成在IO33引腳上測量的電壓維持在VCC的5V上不變。
從原理上,有
現在,仍然用以前的Phyphox電壓表來測量IO33上的電壓。測一節乾電池的負電壓,如圖2、圖3。
圖2 反接一節乾電池,負壓被抬升圖3 反接一節乾電池,運算後的數值接下來,直接把輸入端短接,令輸入電壓為零,得到輸出電壓1.96V;用精度高一些的電壓表測量乾電池兩端的電動勢,1.60V,輸入,得到輸出電壓1.10V。因為
以下的事情我沒做,但這必須是要做的。
我們用仿真做的東西,只是看看原理能不能過,而在真實的實驗中,電阻的精度、接觸電阻、電源的性能甚至導線的長短等,都會對測量結果產生一些影響。需要校準。象圖5那樣,直接找個雙蹤示波器,或者多路的數字萬用表,直接把輸入輸出兩個端子夾上,使出來微調偏壓電阻等等手段,調整完畢,標上級別,這個ESP32就儘量別再動了,這樣可以迴避一些麵包板上插孔鬆脫等問題。再到Phyphox Editor裡面把界面整理整理,這個電壓表,要比前面那些電壓表完美一些,因為它能測負電壓了。
圖5 可測負電壓電錶的校準剛接觸ESP32的時候,買過的兩塊板,都是自帶標準+5V輸出的36引腳版本,近期才知道還有一種30引腳版本。本來以後30引腳的3V3引腳只能輸出3.3V,結果測量之下,竟然輸出的是5.0V!也是很有趣的現象。
本實驗研究的電路實物圖,如圖6。
圖6 可測負電壓的ESP32&Phyphox電壓表實物